support electron SFs in multi-leg trigger configurations (ANALYSISTO-767)
AnalysisTop didn't initialize the electron trigger SF tools correctly when using multi-leg triggers, leading to a crash. It created one tool per trigger instead of trigger leg. This merge request addresses the issue, using TrigGlobalEfficiencyCorrection
's ImportData
to find the legs for the given triggers.
Triggers should now be configured through the GlobalTriggers
option; the ElectronTriggers
and MuonTriggers
options have been deprecated, and now act as an alias for GlobalTriggers
.
Also, a couple of sanity checks were added, e.g. unsupported trigger configurations (jet triggers, typos, duplicates, ...) are now caught explicitly.
Caveats:
- It's still experimental; feedback from analysers is welcome.
- Example configuration files still need to be updated.
- The remaining legacy trigger code (i.e. the code that we used before the adoption of
TrigGlobalEfficiencyCorrection
) is likely to misbehave when AnalysisTop is configured to use multi-leg triggers, especially in instances where the legacy code tries to distinguish between electron and muon triggers. The trigger-matching flags it provides cannot be relied upon. Users should use theGTRIGMATCH
selector for trigger matching, or use custom code that interfaces withTrigGlobalEfficiencyCorrection
.