Skip to content

Draft: TriggerMenuMT: centralize AccumulatorCache for steps and disable deepcopy

Frank Winklmeier requested to merge fwinkl/athena:tmmt_seqcache2 into 24.0

This is a (for the moment) experimental change to the menu generation that should be discussed amongst experts and in a trigger core SW meeting.

Move the AccumulatorCache to the getStep method and remove it from the signature-specific files. The actual change to review is in ChainConfigurationBase.py .

In addition, do not deepcopy the result of the sequence configuration (ChainStep) as it is not being re-used or modified afterwards. This was also the behavior of the original RecoFragmentsPool before it was migrated to AccumulatorCache. The deepcopy can be enabled again by setting Trigger.fastMenuGeneration=False.

Reduces the menu generation time of Dev_pp_run3_v1 by a factor 2. It does however introduce (harmless) changes in the order of some of the HypoTools and InputMakerInputDecisions properties. In case we decide to move forward with this we would definitely want to add an ART test that checks the configuration is equivalent with/without fastMenuGeneration (see this recent confTool improvement).

E.g. in the HI menu, the following properties change order (many more in the pp menu):

IM_EFMuMSReco_RoI.InputMakerInputDecisions
IM_L2MuCombReco.InputMakerInputDecisions
SPCountHypoAlg.HypoTools
TrigHIFwdGapHypoAlg.HypoTools
TrigL2MuCBHypoAlg.HypoTools
TrigL2MufastHypoAlg.HypoTools
TrigMuonEFCombinerHypoAlg.HypoTools
TrigMuonEFMSonlyHypo_RoI.HypoTools

cc @tbold @fpastore @tamartin

Relates to ATR-26996.

Edited by Frank Winklmeier

Merge request reports