diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/EmuNewJO.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/EmuNewJO.ref index e94238cc340040a4dd8c37abb0a1d344c369158f..4b9adbc6363b95194800f2eae3317791a922600e 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/EmuNewJO.ref +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/EmuNewJO.ref @@ -1,7 +1,7 @@ TrigSignatureMo... INFO HLT_e5 2 2 1 1 1 TrigSignatureMo... INFO HLT_e5 decisions 2 2 TrigSignatureMo... INFO HLT_e5_e8 2 2 1 0 1 -TrigSignatureMo... INFO HLT_e5_e8 decisions 4 0 +TrigSignatureMo... INFO HLT_e5_e8 decisions 6 0 TrigSignatureMo... INFO HLT_e5_v2 0 0 0 0 0 TrigSignatureMo... INFO HLT_e5_v2 decisions 0 0 TrigSignatureMo... INFO HLT_e5_v3 1 1 1 1 1 @@ -17,4 +17,4 @@ TrigSignatureMo... INFO HLT_mu8 decisions 2 TrigSignatureMo... INFO HLT_mu8_1step 2 2 2 0 2 TrigSignatureMo... INFO HLT_mu8_1step decisions 2 0 TrigSignatureMo... INFO HLT_mu8_e8 1 1 1 1 1 -TrigSignatureMo... INFO HLT_mu8_e8 decisions 3 3 +TrigSignatureMo... INFO HLT_mu8_e8 decisions 4 4 diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig_newJO.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig_newJO.py index d010d2962e24d5b46a558236bc58afa9e35b331e..23b63195b7a6e2741d9631f8605ec2803195a088 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig_newJO.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig_newJO.py @@ -1,5 +1,7 @@ # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +from collections import defaultdict +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponentsNaming import CFNaming from TriggerMenuMT.HLTMenuConfig.Menu.HLTCFConfig import buildFilter, makeSummary from AthenaCommon.CFElements import parOR, seqAND @@ -10,23 +12,6 @@ log = logging.getLogger('HLTCFConfig_newJO') log.setLevel( VERBOSE ) -def connectStepToFilter(chainStep, filterNode): - filter_output = filterNode.getOutputList() - if len(filter_output) == 0: - raise ValueError('ERROR: no filter outputs are set') - - if len(filter_output) != len(chainStep.sequences): - msg = 'ERROR: found {} filter outputs and {} MenuSequences in step {}'.format(len(filter_output), - len(chainStep.sequences), chainStep.name) - raise ValueError(msg) - - for nseq, sequence in enumerate(chainStep.sequences): - output = filter_output[nseq] - log.debug("Found input %s to sequence::%s from Filter::%s (from seed %s)", output, - sequence.name, filterNode.Alg.name(), sequence.seed) - sequence.connectToFilter(output) - - def printStepsMatrix(matrix): print('----- Steps matrix ------') for nstep in matrix: @@ -38,9 +23,6 @@ def printStepsMatrix(matrix): def generateDecisionTree(chains): - from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator - from collections import defaultdict - acc = ComponentAccumulator() mainSequenceName = 'HLTAllSteps' acc.addSequence( seqAND(mainSequenceName) ) @@ -98,12 +80,15 @@ def generateDecisionTree(chains): stepsAcc = ComponentAccumulator() for chain in chainsInCell: - connectStepToFilter(chain.steps[nstep], sfilter) - for seq in chain.steps[nstep].sequences: + step = chain.steps[nstep] + CFSequence(step, sfilter) + for seq in step.sequences: if seq.ca is None: raise ValueError('ComponentAccumulator missing in sequence {} in chain {}'.format(seq.name, chain.name)) stepsAcc.merge( seq.ca ) recoAcc.addEventAlgo( seq.hypo.Alg, sequenceName = stepView.getName() ) + if step.isCombo: + recoAcc.addEventAlgo( step.combo.Alg, sequenceName = stepView.getName() ) sfilter.setChains(chain.name) recoAcc.merge(stepsAcc, sequenceName = stepReco.getName())