Skip to content

Legacy jet slice with MenuSequenceCA wrapped

Teng Jian Khoo requested to merge khoo/athena:master-trigjet-WrapMenuSeq into 23.0

Tagging @cantel, @lbeemste, @jburr

Populates jet trigger configuration in legacy JO by converting MenuSequenceCA and appending to Athena with globals. To avoid conflicts, it was also necessary to wrap the MET menu sequences, in part due to PFAlgorithm_(HLT)ftf naming -- have now made these consistent in order to verify configuration.

FYI @tbold, since I mentioned it, and modified some of your code, this is ultimately how I did the checks to avoid reconfiguring sequences inside appendMenuSequenceCAToAthena. A bit crude but it seems to suffice as an interim solution until the CA config can be used fully. It wasn't possible to use RecoFragmentsPool here because the caching is based on the GaudiConfig2 hash, which differs for each instance of the sequence to be converted.

Another point to be noted: In the MET conversion, a workaround is needed to avoid filling the ComboHypo cache with a GaudiConfig2 instance when the ChainStep constructor calls makeCombo. The problem here is that MET's code builds the whole list of ChainSteps at once, with the MenuSequence(CA) internally, so the minimal code addition has to avoid this behaviour in ChainStep. Otherwise the changes would have to be more invasive. However it'd be better to remove this workaround when the legacy JO can be fully removed.

I have not been able to ensure identical sequence naming in all places. However, all consequential configuration differences have been resolved. N.B. I made a fix to the confTool.py code to permit diffing of HLTJobOptions.json, as the script was previously operating one level too high in the json hierarchy.

The full menu runs with this setup. Unconventional tracking also used parts that overlapped with the jet CA, so I have done a selective migration of just the tracking configuration for that signature.

Jet and MET legacy MenuSequence configurations are not yet removed -- perhaps keep these until the configuration is fully validated.

Incidentally fixes ATR-27997, as there were questionable feature count changes associated with j0_perf chains. As of this MR, j0_perf chains will correctly pass all events and not assign jets as passing features, because a streaming hypo is used.

Edited by Teng Jian Khoo

Merge request reports