This guide is intended for Run-3 trigger algorithm developers. Information relevant for older releases (LHC Run 1&2) and other general topics can be found in the Trigger Developer TWiki pages. Details on meetings and mailing lists can be found in the Trigger Core Software TWiki.
For a general introduction to Athena software the Athena Development Tutorial is strongly recommended.
The trigger (HLT reconstruction and optionally L1 simulation) is run by the TriggerJobOpts.runHLT ComponentAccumulator (CA) module (see Athena configuration for an introduction to the python configuration system).
A minimal athena command to run the HLT on an input FILE
(see TrigValInputs for commonly used inputs) would be:
athena.py --threads=1 --filesInput=FILE TriggerJobOpts/runHLT.py [FLAGS]
The HLT can only be run in multi-threaded (as opposed to the legacy serial) mode, so the --threads >= 1
argument is mandatory. This will use a default trigger menu, but usually you would select one specifically by setting e.g. Trigger.triggerMenuSetup="Dev_pp_run3_v1_TriggerValidation_prescale"
in FLAGS
.
For a full list of TriggerConfigFlags execute:
python -m TriggerJobOpts.runHLT --help Trigger
with the most relevant ones being:
Trigger.triggerMenuSetup : name of the trigger menu
Trigger.doLVL1 : enable L1 simulation
See the Trigger Validation section for more details on how to run a subset of the trigger menu.
The above runs the trigger using regular athena, which in almost all cases is good enough for trigger
development and validation. To run the trigger in an online-type environment, use athenaHLT
.
The main differences are related to event input/output, reading of the trigger configuration
from the database and the ability to run multiple independent processes (forks) in addition to threads.
See athenaHLT --help
for all command line options.
athenaHLT.py --threads=1 --filesInput=FILE TriggerJobOpts.runHLT [FLAGS]
Note the slight change in syntax for specifying the CA module name. The most common use-case for this would be to reproduce a problem seen online. See the Trigger Debugging section for more detailed instructions.
Please see all details in the Trigger Validation section of this guide. A short summary of the information described there:
runTrigART.py -m -j4
ctest -j4
in the build directory.