[PileupMT] Fix reproducibility issues with skipping events
Individual events are now reproducible (in terms of which pileup events are overlaid on a given hard scatter) regardless of how many are skipped, so long as the number actually run remains the same. Fixing that second part would require a breaking change to the run / lumi override configuration.
Verified by tracing the event numbers of the pileup events overlaid on each hard scatter. The traces are attached.
pileup_trace_skipping-130_2023-08-16T1519.txt
pileup_trace_skipping-120_2023-08-16T1408.txt
Pinging @jchapman @tadej @tsulaia. This MR also contains the change to EvtIdModifierSvc
that should (could) fix ATLASSIM-6372. EvtIdModifierSvc
now repeats the list of modifications it's given rather than just running through them once. It now needs to be given the event index of the event it's modifying explicitly instead of keeping its own running counter, and configurations will need to be modified to set its SkippedEvents
property to the number of events skipped in the event selector (since these events aren't accounted for in the event index). These changes are in this commit.