The Trigger API provides an interface for querying which triggers were defined and (for the case of a Good Runs List) were active at Point 1. It can run over:
RDO_TRIG
, ESD
, AOD
or DAOD
containing menu JSONs as in-file metadata.--save
option).The Trigger API has chains
and runs
modes to list information on all or selected chains and to list available runs for GRL based queries.
The Trigger API contains logic to classify each chain by type and to parse the lowest unprescaled chain for each trigger type (and for combinations of trigger types for multi-leg chains). For a GRL query the unprescaled requirement is based on the prescale-weighted live fraction of the chain being above a lower cut off, whereas for a Menu JSON or AOD
(etc.) driven query it is based on the chain being part of either a Primary
or a TagAndProbe
chain group.
For example, in 2023 all of HLT_e26_lhtight_ivarloose_L1eEM26M
, HLT_e60_lhmedium_L1eEM26M
, HLT_e140_lhloose_noringer_L1eEM26M
and HLT_e300_etcut_L1eEM26M
are classified as lowest unprescaled for the el_single
trigger type for an all-year GRL due to their differing (loosening) electron identification requirements.
Two-leg chains are also supported, for the combined el_single|mu_single
trigger type over an all-year 2023 GRL the Trigger API will return both HLT_e17_lhloose_mu14_L1eEM18L_MU8F
and HLT_e26_lhmedium_mu8noL1_L1eEM26M
.
Available commands are getLowestUnprescaled
, getLowestUnprescaledByRun
, and getLowerUnprescaled
to locate a looser unprescaled variant of a given chain.
Please see the class help pages for details on how to use the API. It is suggested to use a recent nightly or release of Athena from the main branch.
from TriggerMenuMT.TriggerAPI import TriggerAPISession,TriggerType
help(TriggerAPISession)
A command line interface exists as well
tapis --help