In Run 3 menu-aware monitoring is facilitated through “monitoring groups”, monGroups for short. MonGroups are properties that can be assigned to an HLT chain in the Trigger Menu defining the signature group which monitors the HLT chain via a signature flag and the monitoring level at which the HLT chain is monitored.
Signature tags:
Tag | Monitoring signature/group |
---|---|
bJetMon |
b-jet signature group |
bphysMon |
B-physics and Light States signature group |
caloMon |
HLT Calorimeter software group |
egammaMon |
e/gamma signature group |
idMon |
HLT Inner Detector software group |
jetMon |
jet signature group |
metMon |
MET signature group |
mbMon |
MinBias and forward signature group |
muonMon |
muon signature group |
tauMon |
tau signature group |
tlaMon |
TLA group |
Monitoring levels:
shifter
: highest level; chain is always monitored and is used to fill the histograms shown in the SHIFTER folder, chain is monitored both in T0 and validation jobst0
: second-highest level, includes shifter level; chain is always monitored at T0 and can be used to fill histograms in the EXPERT folder, chain is monitored in both T0 and validation jobsonline
: chain is monitored onlineAdditional signature tags and monitoring levels can be added depending on necessity.
In the following a brief introduction to monGroups will be provided which should be sufficient for most developers, for more detailed information see HLT Monitoring Groups for Run 3.
MonGroups can be added as ChainProp
to individual chains in the respective menu where the chain is defined.
The syntax is as follows:
monGroups=['<signature tag>:<monitoring level>']
Several monGroups, for both different signatures and monitoring levels, can be appended:
monGroups=['<signature tag 1>:<monitoring level A>', '<signature tag 1>:<monitoring level B>', '<signature tag 2>:<monitoring level A>']
Example:
ChainProp(name='HLT_j45_pf_ftf_preselj20_L1jJ40', l1SeedThresholds=['FSNOSEED'], stream=[PhysicsStream,'express'], groups=SingleJetGroup+SupportPhIGroup, monGroups=['idMon:shifter','jetMon:t0','jetMon:online']),
In this example the HLT chain HLT_j45_pf_ftf_preselj20_L1jJ40
is marked as being used for monitoring by the HLT ID software group, idMon
, at online
level, and the jet signature group, jetMon
, at t0
and online
level.
If a chain is used for monitoring at both shifter
and t0
level, only the first shall be added as chain property.
Adding monGroups to the chain properties of an HLT chain does not automatically mean that monitoring histograms are created and available for online and offline monitoring. The actual monitoring logic still needs to be implemented in the respective signature code, see next section.
For more information about how HLT chains, see Individual Chain Construction in this guide.
Information about monGroups for each HLT chains are stored as dictionary in a json file, HLTMonitoring.json, when the HLT menu is created. The HLTMonitoring.json can be inserted in the Trigger database when a new SMK is created, but can also be uploaded separately and linked to an existing SMK. Thus, multiple HLTMonitoring.json files can be attached to a single SMK. It is important to note only one of them will be used
This information can be accessed via two functions:
monitoringDict()
: returns full dictionary of for all monGroupsmonitoredChains(signatures="", monLevels="", wildcard="")
: returns chains for given signatures, monitoring levels and matched to the wildcardExample 1: will return full dictionary
from TrigConfigSvc.TriggerConfigAccess import getHLTMonitoringAccess
moniAccess=getHLTMonitoringAccess(ConfigFlags)
moniAccess.monitoringDict()
Example 2: will return only chains with the selected signature group and/or monitoring levels and/or matching to the wildcard
from TrigConfigSvc.TriggerConfigAccess import getHLTMonitoringAccess
moniAccess=getHLTMonitoringAccess(ConfigFlags)
moniAccess.monitoredChains(signature="idMon", monLevels="t0", wildcard="msonly")
Implementations like the above examples can be used in the respective signature monitoring code to create and fill histograms only for the selected subset of chains. Regarding information about how to create monitoring histograms, see Online Monitoring in this guide.
The HLTMonitoring.json files stored in the Trigger database can be viewed and downloaded via TriggerToolWeb.
or more information on TriggerToolWeb, see TriggerToolWeb Documentation.