Skip to content

Do not suppress duplicate algs in conf2toConfigurable sequence conversion

The CA-to-legacy configurable conversion of sequences was dropping algorithms that existed anywhere in the legacy ConfigurableDB, which would edit the structure of well formed nested sequences extracted from a CA. This duplicate suppression should not be necessary; Athena will not permit the same alg to be added to the same sequence more than once.

This addresses ATR-28027 and ATR-28048 as follows:

  • Ensures that the MET calo end-of-event sequence will run all its (and the MET track) prerequisite algs in particular HLT topoclustering, rather than getting topoclusters by the backdoor from (unnecessarily) scheduling the topoclustering in LAr noiseburst config
  • Restores all of the MET FEX algorithms to the end-of-event sequence

As this touches core SW behaviour, setting full unit & integration tests.

Exceptional treatment is needed in the legacy conversion for SGInputLoader, mainly because it is difficult to situate it correctly in the full sequence structure when extracting it from a CA. I went for a few options (may be redundant...):

  • In LegacySupport._mergeSequences(), called from LegacySupport.conf2toConfigurable(), we avoid adding SGInputLoader to any sequence other than TopAlg.
  • In both MenuComponents.extractAlgorithmsAndAppendCA() and MenuComponents.appendMenuSequenceCAToAthena(), we do something similar: omit SGInputLoader from any scheduled sequence or returned list of algs, but also call conf2toConfigurable() explicitly on the SGInputLoader instance so that its configuration is merged with the global instance, if it exists.

Not exactly in scope, but to try to get the ART failures under control, this also always configures SGInputLoader to provide Pixel, SCT and/or TRT RDOs where needed, regardless of whether the ID trigger configuration is called for a view sequence or an event scope sequence. We rely on the mechanism described above to avoid (problematically) putting the alg into any view sequence.

Edited by Teng Jian Khoo

Merge request reports