support electron SFs in multi-leg trigger configurations (ANALYSISTO-767)

Merged Sebastian Mergelmeyer requested to merge smergelm/athena:at-767 into 21.2

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.


  • 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 the GTRIGMATCH selector for trigger matching, or use custom code that interfaces with TrigGlobalEfficiencyCorrection.

Merge request reports