Skip to content

Auto-config various HI-Rec modes (HI, HIP, UPC)

Walter Lampl requested to merge wlampl/athena:HIAutoConfig into 23.0

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.

Merge request reports