From c5713d7a4a132166a0d91ee39ea1d17d13548a06 Mon Sep 17 00:00:00 2001 From: Krzysztof Jamrog <krzysztof.piotr.jamrog@cern.ch> Date: Thu, 14 Mar 2019 16:55:23 +0100 Subject: [PATCH] Added combo steps handling in newJO --- .../TrigUpgradeTest/share/EmuNewJO.ref | 4 +-- .../HLTMenuConfig/Menu/HLTCFConfig_newJO.py | 29 +++++-------------- 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/EmuNewJO.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/EmuNewJO.ref index e94238cc340..4b9adbc6363 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 d010d2962e2..23b63195b7a 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()) -- GitLab