diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py b/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py deleted file mode 100755 index 17b3469e2e681b9cf29b9114c6cb5be07ab71030..0000000000000000000000000000000000000000 --- a/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python -"""Run tests on BCM_DigitizationConfigNew.py - -Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -""" -import os -from AthenaCommon.Logging import log -from AthenaCommon.Constants import DEBUG -from AthenaCommon.Configurable import Configurable -from AthenaConfiguration.AllConfigFlags import ConfigFlags -from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg -from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg -from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg -from BCM_Digitization.BCM_DigitizationConfigFlags import createBCMCfgFlags -from BCM_Digitization.BCM_DigitizationConfigNew import BCM_DigitizationCfg -from TrigUpgradeTest.InDetConfig import InDetGMConfig # FIXME This module would ideally be located somewhere else -# Set up logging and new style config -log.setLevel(DEBUG) -Configurable.configurableRun3Behavior = True -# Provide input -dataDir = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art" -inputDir = os.environ.get("ATLAS_REFERENCE_DATA", dataDir) -fileDir = "/Tier0ChainTests/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.simul.HITS.e4993_s3091/HITS.10504490._000425.pool.root.1" -ConfigFlags.Input.Files = [inputDir + fileDir] -# Specify output -ConfigFlags.Output.RDOFileName = "myRDO.pool.root" -ConfigFlags.lock() -# Construct ComponentAccumulator -cfg = MainServicesSerialCfg() -cfg.merge(PoolReadCfg(ConfigFlags)) -cfg.merge(InDetGMConfig(ConfigFlags)) # FIXME This sets up the whole ID geometry would be nicer just to set up min required for BCM -# Use BCM tools -BCMflags = createBCMCfgFlags() -acc = BCM_DigitizationCfg(BCMflags) -cfg.merge(acc) -# Add configuration to write HITS pool file -outConfig = OutputStreamCfg(ConfigFlags, "RDO", - ItemList=["InDetSimDataCollection#*", "BCM_RDO_Container#*"]) -cfg.merge(outConfig) -cfg.getService("StoreGateSvc").Dump=True -cfg.printConfig(withDetails=True) -ConfigFlags.dump() -# Execute and finish -cfg.run(maxEvents=3) - diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py b/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py index d291d5c2cde2c7a250eab123222df175ac8a22f6..e3306f1bb7805a1f64cfa538d716793983cc82ba 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py @@ -4,8 +4,8 @@ from TrigUpgradeTest.TrigUpgradeTestConf import HLTTest__TestHypoTool from TrigUpgradeTest.TrigUpgradeTestConf import HLTTest__TestComboHypoAlg from AthenaCommon.Constants import VERBOSE,DEBUG from TrigUpgradeTest.HLTSignatureHypoTools import * - - +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import RecoFragmentsPool, MenuSequence +from AthenaCommon.CFElements import parOR, seqAND, stepSeq UseThisLinkName="initialRoI" @@ -24,9 +24,7 @@ def InputMakerForFeatureAlg(name): # - declare all the RecoAlg and the HypoAlg -> create the Sequence # - creates the InputMaker, without the inputs -from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence -from AthenaCommon.CFElements import parOR, seqAND, stepSeq - +flags = "" #### muon signatures ##################### @@ -41,40 +39,43 @@ def MuHypo(name): return HLTTest__TestHypoAlg(name=name, LinkName=UseThisLinkName, OutputLevel = DEBUG) +#class EmuStepTestNaming(): + -muIM= InputMakerForInitialRoIAlg(name="Step1MuInputMaker") -muIM.Output='muIM_out' - -#print muIM -muAlg = muMSRecAlg(name="muMSRecAlg", FileName="msmu.dat") -muAlg.Output='muAlg_out' - -muHypo = MuHypo(name="Step1MuHypo") -muAlg.Input = muIM.Output -muHypo.Input = muAlg.Output - -mustep1_sequence = seqAND("muSeqStep1", [muIM, muAlg]) - - - -def muStep1Sequence(): +def muStep1Sequence(flags): + muIM= InputMakerForInitialRoIAlg(name="Step1MuInputMaker") + muIM.Output='muIM_out' + + #print muIM + muAlg = muMSRecAlg(name="muMSRecAlg", FileName="msmu.dat") + muAlg.Output='muAlg_out' + muAlg.Input = muIM.Output + mustep1_sequence = seqAND("muSeqStep1", [muIM, muAlg]) + return (mustep1_sequence, muIM, muAlg.Output) + +def muStep1MenuSequence(): + (mustep1_sequence, muIM, seqOut) = RecoFragmentsPool.retrieve(muStep1Sequence, flags) + muHypo = MuHypo(name="Step1MuHypo") + muHypo.Input = seqOut return MenuSequence(Sequence=mustep1_sequence, Maker=muIM, Hypo=muHypo, HypoToolGen=MuTestHypoTool) # mu step2 -muIM2= InputMakerForFeatureAlg(name="Step2MuInputMaker") -muIM2.Output='muIM2_out' - -muAlg2 = muMSRecAlg(name="muMSRecAlg2", FileName="msmu.dat") -muAlg2.Output='muAlg2_out' +def muStep2Sequence(flags): + muIM2= InputMakerForFeatureAlg(name="Step2MuInputMaker") + muIM2.Output='muIM2_out' -muHypo2 = MuHypo(name="Step2MuHypo") -muAlg2.Input = muIM2.Output -muHypo2.Input = muAlg2.Output + muAlg2 = muMSRecAlg(name="muMSRecAlg2", FileName="msmu.dat") + muAlg2.Output='muAlg2_out' -mustep2_sequence = seqAND("muSeqStep2", [muIM2, muAlg2]) - -def muStep2Sequence(): + muAlg2.Input = muIM2.Output + mustep2_sequence = seqAND("muSeqStep2", [muIM2, muAlg2]) + return (mustep2_sequence, muIM2, muAlg2.Output) + +def muStep2MenuSequence(): + (mustep2_sequence, muIM2, seqOut) = RecoFragmentsPool.retrieve(muStep2Sequence, flags) + muHypo2 = MuHypo(name="Step2MuHypo") + muHypo2.Input =seqOut return MenuSequence( Sequence=mustep2_sequence, Maker=muIM2, Hypo=muHypo2, HypoToolGen=MuTest2HypoTool) @@ -84,6 +85,7 @@ def muStep2Sequence(): + def CaloClustering(name, FileName="noreco.dat"): return HLTTest__TestRecoAlg(name=name, FileName=FileName, OutputLevel = DEBUG) @@ -92,44 +94,46 @@ def ElGamHypo(name): +def elStep1Sequence(flags): + elIM= InputMakerForInitialRoIAlg(name="Step1ElInputMaker") + elIM.Output='elIM_out' -elIM= InputMakerForInitialRoIAlg(name="Step1ElInputMaker") -elIM.Output='elIM_out' - -elAlg = CaloClustering(name="CaloClustering", FileName="emclusters.dat") -elAlg.Output='elAlg_out' - -elHypo = ElGamHypo(name="Step1ElHypo") -elAlg.Input = elIM.Output -elHypo.Input = elAlg.Output - -elstep1_sequence = seqAND("elSeqStep1", [elIM, elAlg]) - + elAlg = CaloClustering(name="CaloClustering", FileName="emclusters.dat") + elAlg.Output='elAlg_out' + elAlg.Input = elIM.Output + elstep1_sequence = seqAND("elSeqStep1", [elIM, elAlg]) + return (elstep1_sequence, elIM, elAlg.Output) -def elStep1Sequence(): +def elStep1MenuSequence(): +# l2CaloReco = RecoFragmentsPool.retrieve(l2CaloRecoCfg, flags) + (elstep1_sequence, elIM, seqOut) = RecoFragmentsPool.retrieve(elStep1Sequence, flags) + elHypo = ElGamHypo(name="Step1ElHypo") + elHypo.Input = seqOut return MenuSequence( Maker=elIM, Sequence=elstep1_sequence, Hypo=elHypo, HypoToolGen=ElTestHypoTool) -gammHypo = ElGamHypo(name="Step1GamHypo") -gammHypo.Input = elAlg.Output - -def gammStep1Sequence(): +def gammStep1MenuSequence(): + (elstep1_sequence, elIM, seqOut) = RecoFragmentsPool.retrieve(elStep1Sequence, flags) + #(recoSeq, seqOut) = elStep1Sequence() + gammHypo = ElGamHypo(name="Step1GamHypo") + gammHypo.Input = seqOut return MenuSequence( Maker=elIM, Sequence=elstep1_sequence, Hypo=gammHypo, HypoToolGen=GammTestHypoTool) #step2 -elIM2= InputMakerForFeatureAlg(name="Step2ElInputMaker") -elIM2.Output='elIM2_out' - -elAlg2 = CaloClustering(name="CaloClustering2", FileName="emclusters.dat") -elAlg2.Output='elAlg2_out' - -elHypo2 = ElGamHypo(name="Step2ElHypo") -elAlg2.Input = elIM2.Output -elHypo2.Input = elAlg2.Output - -elstep2_sequence = seqAND("elSeqStep2", [elIM2, elAlg2]) - -def elStep2Sequence(): +def elStep2Sequence(flags): + elIM2= InputMakerForFeatureAlg(name="Step2ElInputMaker") + elIM2.Output='elIM2_out' + + elAlg2 = CaloClustering(name="CaloClustering2", FileName="emclusters.dat") + elAlg2.Output='elAlg2_out' + elAlg2.Input = elIM2.Output + elstep2_sequence = seqAND("elSeqStep2", [elIM2, elAlg2]) + return (elstep2_sequence, elIM2,elAlg2.Output) + +def elStep2MenuSequence(): + (elstep2_sequence, elIM2, seqOut) = RecoFragmentsPool.retrieve(elStep2Sequence,flags) + elHypo2 = ElGamHypo(name="Step2ElHypo") + elHypo2.Input = seqOut return MenuSequence( Maker=elIM2, Sequence=elstep2_sequence, Hypo=elHypo2, HypoToolGen=ElTestHypoTool) diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/EmuStepProcessingTest.py b/Trigger/TrigValidation/TrigUpgradeTest/share/EmuStepProcessingTest.py index ba648d860f1ae9c45264f5426866cbbb94dd24b7..d5fc886a21f09167f7db1537259ace61a1005bcb 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/EmuStepProcessingTest.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/EmuStepProcessingTest.py @@ -93,15 +93,15 @@ EnabledElComboChains = [] # muon chains if doMuon: - from TrigUpgradeTest.HLTSignatureConfig import muStep1Sequence, muStep2Sequence - muStep1 = muStep1Sequence() - muStep2 = muStep2Sequence() + from TrigUpgradeTest.HLTSignatureConfig import muStep1MenuSequence, muStep2MenuSequence + muStep1 = muStep1MenuSequence() + muStep2 = muStep2MenuSequence() MuChains = [ - Chain(name='HLT_mu20', Seed="L1_MU10", ChainSteps=[ChainStep("Step1_mu", [muStep1]) , ChainStep("Step2_mu", [muStep2] )]) , + Chain(name='HLT_mu20', Seed="L1_MU10", ChainSteps=[ChainStep("Step1_mu", [muStep1]) , ChainStep("Step2_mu", [muStep2] )]) , Chain(name='HLT_mu81step', Seed="L1_MU6", ChainSteps=[ChainStep("Step1_mu", [muStep1]) ]) , - Chain(name='HLT_mu8', Seed="L1_MU6", ChainSteps=[ChainStep("Step1_mu", [muStep1]) , ChainStep("Step2_mu", [muStep2] ) ] ) + Chain(name='HLT_mu8', Seed="L1_MU6", ChainSteps=[ChainStep("Step1_mu", [muStep1]) , ChainStep("Step2_mu", [muStep2] ) ] ) ] HLTChains += MuChains @@ -112,11 +112,11 @@ if doMuon: ## #electron chains if doElectron: - from TrigUpgradeTest.HLTSignatureConfig import elStep1Sequence, elStep2Sequence, gammStep1Sequence - elStep1 = elStep1Sequence() - elStep2 = elStep2Sequence() + from TrigUpgradeTest.HLTSignatureConfig import elStep1MenuSequence, elStep2MenuSequence, gammStep1MenuSequence + elStep1 = elStep1MenuSequence() + elStep2 = elStep2MenuSequence() - gammStep1 = gammStep1Sequence() + gammStep1 = gammStep1MenuSequence() ElChains = [ Chain(name='HLT_e5' , Seed="L1_EM7", ChainSteps=[ ChainStep("Step1_em", [elStep1]), ChainStep("Step2_em", [elStep2]) ] ), @@ -131,11 +131,11 @@ if doElectron: # combined chain if doCombo: - from TrigUpgradeTest.HLTSignatureConfig import elStep1Sequence, muStep1Sequence, elStep2Sequence, muStep2Sequence - elStep1 = elStep1Sequence() - muStep1 = muStep1Sequence() - elStep2 = elStep2Sequence() - muStep2 = muStep2Sequence() + from TrigUpgradeTest.HLTSignatureConfig import elStep1MenuSequence, muStep1MenuSequence, elStep2MenuSequence, muStep2MenuSequence + elStep1 = elStep1MenuSequence() + muStep1 = muStep1MenuSequence() + elStep2 = elStep2MenuSequence() + muStep2 = muStep2MenuSequence() CombChains =[ diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py index e08a219c419c020d0c6f78b94a6c38ef59b55a69..4fc953c823abf3be3c3dab9c67a081586a34d13f 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py @@ -242,13 +242,19 @@ def decisionTree_From_Chains(HLTNode, chains): else: prev = chain.steps[nstep-1].sequences # previous filter name - pre_filter_name = CFNaming.filterName(chain.steps[nstep-1]) - for seq in prev: + pre_filter_name = CFNaming.filterName(chain.steps[nstep-1].name) + print "Searching %s in %d sequences: "%(pre_filter_name, len(prev)) + for seq in prev: + print seq.name for out in seq.outputs: + print out if pre_filter_name in out: newinput = out - filter_input.extend(newinput) + filter_input.append(newinput) + #filter_input.extend(newinput) log.debug("Connect to previous sequence through these filter inputs: %s" %str( filter_input) ) + if len(filter_input) == 0: + log.error("") # get the filter: filter_name = CFNaming.filterName(chain_step.name)