Skip to content

TriggerTest+TriggerMenuMT: Add new slice reproducibility test with prescales

Rafal Bielski requested to merge rbielski/athena:slice-prescale-out-test into master

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 to slice_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:

  1. Run a config-only full-menu job to generate the menu and configuration pickle file.
  2. Save a copy of the default prescales file.
  3. 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)
  4. Compare each slice counts file to the full menu counts with chainComp.py

Closes ATR-22923

Merge request reports