[Trigger] Control end-of-event sequences execution with prescales
Implement the feature discussed in ATR-21216. Namely, introduce the EndOfEventPrescaleCheckAlg
to allow controlling the execution of end-of-event sequences (i.e. special reco sequences which run for accepted events, so called "rerun") with a standard HLT chain prescaling mechanism. This implies that each such sequence has a corresponding chain defined in the menu, in the form HLT_acceptedevts_...
.
As listed in Jira, the advantages are:
- The configuration looks more like regular chains and the system reuses all the existing framework (seeding, prescaling, decisions).
- Can control rate of execution of each "rerun" sequence individually and directly.
- Can use prescales other than -1 or 1. Can e.g. run randomly on 50% all accepted events (PS=2).
- Can use other seed than L1All and run on all HLT-accepted events where a given L1 item passes.
- Can use CPS to run on a fraction of accepted events where another chain runs (if same L1 seed).
Additionally, remove a related block of dead code from newJO config in TriggerConfig.py
. There is no "rerun" implementation for newJO yet and it will come later.
Tagging @tamartin for a cross-check and @dzanzi, @khoo for info