Adding Triggers » History » Version 4
Andrew Norman, 11/21/2014 10:01 AM
h1. Adding/Updating Triggers
Adding new triggers to the DAQ systems is easy but can have dire consequences if done improperly and can impact the ability of the experiment to collect data. The following procedures are the MINIMUM set of requirements that need to be met before a trigger is added to the system. In many cases, authors of triggers will be asked to perform additional studies and provide additional supporting documentation.
h2. All Trigger Changes
All trigger changes are required to be accompanied by the following supporting information and documentation.
# Technical Note stored in Nova-DocDB describing in detail the trigger. This should include the physics motivation for the trigger, description of the algorithms and flow of the trigger logic, plots detailing the performance of the selection.
# Projected rates (decisions issued and bandwidth) for the trigger determined by using recent zero-bias 5 ms readout data from the detector/detectors on which the trigger will run.
## Rates must be presented as a function of tunable parameters in the algorithms
## Rates must be presented in Hertz
## Rates must include the data bandwidth (i.e. rate * event size)
# Efficiency projects for the trigger determined by using recent Monte Carlo simulations of the detector/detectors on which the trigger will run and based off of the processes the trigger is designed to detect.
## Efficiencies must be presented as a function of tunable parameters in the algorithms
# Purity projections for the trigger determined by using recent Monte Carlo background simulation or (as appropriate) zero bias data from the detector/detectors that the trigger will run on.
## Purities must be presented as a function of tunable parameters in the algorithms
h2. New Triggers
New triggers require additional infrastructure/configurations to be added to the DAQ. The following are the steps that need to be taken to enable a new trigger:
# An entry/entries must be allocated in the trigger tables for the trigger
## Contact A.Norman (email@example.com) for trigger allocations and assignments
## The @daqdataformats@ library within the DAQ must be updated and rebuilt
### Entries must be made in @TriggerDefines.h@
### Entries must be made in @TriggerDefines.cpp@
## The Global trigger must be made aware of the new trigger
### Entries in the @GtDataTrig.cpp@ for @TrigNameMap@ and @ValidTrigTypes@
h2. Existing Triggers
Adding triggers to the DAQ involves a number of things. Follow the outline of steps below when adding a new trigger:
# Have a place in the trigger tables allocated for your trigger
# Have the daqdataformats library updated to reflect the allocation (TriggerDefines.h and TriggerDefines.cpp updated)
# Add your trigger to the Global Trigger configuration
# If your trigger is a DDT then make sure there is a handler in the GTData module that supports your trigger
# Add an entry in the TriggerScalars configuration file for your trigger