Auto-config various HI-Rec modes (HI, HIP, UPC)
The MR is meant to auto-configure HI-modes, replacing the preInclude methods in HIRecConfig/HIModeFlags.py
To deal with the various flavors of HeavyIon processing, this MR introduces a new FlagEnum HIMode
with the entries pp, HI, HIP and UPC. The flag Reco.HIMode
is auto-configured based on project ("dataNN_hi", "dataNN_hip") and on the trigger stream ("physics_upc"). The flag can be forced via a preExec like --preExec="flags.Reco.HIMode=HIMode.HI"
Note that this MR contains also a small change to PyUtils/TransformUtils to import this (and other potentially-useful) FlagEnum before executing preExecs. So no need to call from AthenaConfiguration.Enums import HIMode
as part of the preExec.
Warning: The final configuration is not identical to one obtained by the preInclude methods in HiReCConfig/HIModeFlags.py but I believe my version is more correct. HeavyIon experts (@steinber, @stapiaar) should have the final word.
Here are the differences:
HIMode.pp: identical
HIMode.HI:
- With preInclude: BTagging, JetMon and JetTagMon are enabled but seem to have no inputs.
- With AutoConfig, these three domains are disabled.
HIMode.UPC: identical
HIMode.HIP: identical
I tested the changes by dumping the flag-values and comparing them and by comparing the pickled ComponentAccumulator using the confTool.py utility. Leaving as draft for now while running more tests and waiting for experts to comment.