TriggerTest+TriggerMenuMT: Add new slice reproducibility test with prescales
Fulfill request from ATR-22923 by adding a new slice reproducibility test using prescales to disable other slices (rather than flags as in the existing test).
Detailed changes (including new features required for the new test):
- rename the existing test from
slice_reproducibility
toslice_reprodWithFlags
- two minor configuration fixes in the old test
- add new test
slice_reprodWithPS
- fix typo in the name of the script trigmenu_modify_prescale_json.py
- extend the
trigmenu_modify_prescale_json.py
script to accept multiple groups rather than just one - allow
PyStep
to pass function arguments - add ART-grid version of the two tests with 100 events (and additional "Other" slice for the PS test)
The new test is somewhat complicated because it has a lot of steps, but it is very useful. I works like this:
- Run a config-only full-menu job to generate the menu and configuration pickle file.
- Save a copy of the default prescales file.
- For full menu and each slice:
- Reset prescales file to the default and modify to keep only the slice enabled.
- Run the job from the pickle file from step 1.
- Extract counts to yaml with
chainDump.py
- Modify the yaml counts file to remove all counts for disabled chains (otherwise they would show up as difference wrt full menu)
- Compare each slice counts file to the full menu counts with
chainComp.py
Closes ATR-22923