Skip to content

refactoring menu sequence items for Trigger HLT (ATR-19824)

development for serial merging in the HLT menu has three steps:

  • clean up usage of MenuSequence objects such that all interactions between Hypo,Alg,Sequence etc all occur internally (eg for menuseq in CFseq.step.sequences: doConfigure(menuseq.hypo) becomes for menuseq in CFseq.step.sequences: menuseq.doConfigure())
  • create EmptyMenuSequence class, which ensures connections between filters in steps (see MenuComponents.py)
  • test one chain in the emulation test having one ChainStep, containing one EmptyMenuSequence see Trigger/TrigValidation/TrigUpgradeTest/python/EmuStepProcessingConfig.py by running test_emu_step_processing.sh

this MR should address this first task.

The typical menu sequence permits the access to HypoNodes, and trigger algs and through this interfaces with Athena sequences. This MR refactors the menu sequence to ensure that HypoNodes and Algs are protected (to ensure that data packet and control flow scheduling is not overloaded). In turn all interaction with the menu sequence is moved to internal methods. This avoids several instances of code duplication and avoids the necessity for complex control statements to regulate differences between regular menu sequences and empty sequences.

Tagging @fpastore @markowen

Edited by Vincent Alexander Croft

Merge request reports