diff --git a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py index de44b7f9143ca2463b142b824a866d020410ec03..cc56305d7343063bcf88f23b847058d74404e1dd 100644 --- a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py +++ b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py @@ -12,7 +12,7 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ): """ acc = ComponentAccumulator() - + ByteStreamCnvSvc, ByteStreamEventStorageInputSvc, EventSelectorByteStream=CompFactory.getComps("ByteStreamCnvSvc","ByteStreamEventStorageInputSvc","EventSelectorByteStream",) if inputFlags.Input.SecondaryFiles: @@ -22,6 +22,7 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ): acc.addService( eventSelector ) else: filenames = inputFlags.Input.Files + xAODMaker__EventInfoSelectorTool = CompFactory.xAODMaker.EventInfoSelectorTool xconv = xAODMaker__EventInfoSelectorTool() eventSelector = EventSelectorByteStream("EventSelector") @@ -47,7 +48,7 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ): ROBDataProviderSvc=CompFactory.ROBDataProviderSvc robDPSvc = ROBDataProviderSvc() - acc.addService( robDPSvc ) + acc.addService( robDPSvc ) ByteStreamAddressProviderSvc=CompFactory.ByteStreamAddressProviderSvc bsAddressProviderSvc = ByteStreamAddressProviderSvc(TypeNames=typeNames) diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py index b7d902ebeabceb13cc0d0c3b5c5a68621123d4aa..d0251cde511cb9fbe9b630715f74995a3410ef8a 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py @@ -50,7 +50,7 @@ def fastL2EgammaClusteringAlg( flags, roisKey="EMCaloRoIs", doRinger=False): if doRinger: from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import RingerReFexConfig ringer = RingerReFexConfig('FaAlgoRingerFexConfig') - ringer.RingsKey= recordable("HLT_FastCaloRinger") + ringer.RingerKey = recordable("HLT_FastCaloRinger") ringer.ClustersName = alg.ClustersName acc.addPublicTool( ringer ) __fex_tools.append(ringer) diff --git a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py index 95240ef8f7bc03946c2746a1d6dfc9083abd08b4..408a5bef8f00696b5ed9e43ca8c5d828c226cd33 100644 --- a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py +++ b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py @@ -190,6 +190,20 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ): from RegionSelector.RegSelToolConfig import regSelTool_SCT_Cfg RegSelTool_SCT = acc.popToolsAndMerge(regSelTool_SCT_Cfg(flags)) + verifier = CompFactory.AthViews.ViewDataVerifier( name = 'VDVInDet'+signature, + DataObjects= [('InDet::PixelClusterContainerCache', 'PixelTrigClustersCache'), + ('PixelRDO_Cache', 'PixRDOCache'), + ('InDet::SCT_ClusterContainerCache', 'SCT_ClustersCache'), + ('SCT_RDO_Cache', 'SctRDOCache'), + ('SpacePointCache', 'PixelSpacePointCache'), + ('SpacePointCache', 'SctSpacePointCache'), + ('IDCInDetBSErrContainer_Cache', 'SctBSErrCache'), + ('xAOD::EventInfo', 'StoreGateSvc+EventInfo'), + # ('xAOD::TrigEMClusterContainer', 'StoreGateSvc+HLT_L2CaloEMClusters'), + ('TrigRoiDescriptorCollection', 'StoreGateSvc+'+roisKey), + ( 'TagInfo' , 'DetectorStore+ProcessingTags' )] ) + + acc.addEventAlgo(verifier) #Only add raw data decoders if we're running over raw data isMC = flags.Input.isMC if not isMC: @@ -351,6 +365,8 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ): InDetSiSpacePointMakerTool = InDet__SiSpacePointMakerTool(name = "InDetSiSpacePointMakerTool"+ signature) acc.addPublicTool(InDetSiSpacePointMakerTool) + acc.addCondAlgo( CompFactory.InDet.SiElementPropertiesTableCondAlg(name = "InDetSiElementPropertiesTableCondAlg") ) + from AthenaCommon.DetFlags import DetFlags InDet__SiTrackerSpacePointFinder=CompFactory.InDet.SiTrackerSpacePointFinder InDetSiTrackerSpacePointFinder = InDet__SiTrackerSpacePointFinder(name = "InDetSiTrackerSpacePointFinder"+ signature, diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py b/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py index e0032fc5bb7da246615cfb6e7dae8de385e8cffd..dfaba5c82cb7eaf4ada409655befa753e26c2c81 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py @@ -3,6 +3,7 @@ # from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.ComponentAccumulator import CompFactory from AthenaConfiguration.MainServicesConfig import MainServicesCfg from AthenaConfiguration.AllConfigFlags import ConfigFlags as flags from AthenaCommon.CFElements import parOR, seqOR, seqAND, stepSeq, findAlgorithm, findOwningSequence @@ -53,6 +54,12 @@ flags.lock() from AthenaCommon.Constants import INFO,DEBUG,WARNING acc = MainServicesCfg( flags ) +acc.getService('AvalancheSchedulerSvc').VerboseSubSlots = True + +# this delcares to the scheduer that EventInfo object is produced +acc.addEventAlgo( CompFactory.SGInputLoader( Load = [( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' )] ), + "AthAlgSeq" ) + from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg acc.merge(ByteStreamReadCfg( flags )) @@ -86,12 +93,16 @@ acc.foreach_component("*HLTTop/RoRSeqFilter/*").OutputLevel = DEBUG # filters acc.foreach_component("*HLTTop/*Input*").OutputLevel = DEBUG # input makers acc.foreach_component("*HLTTop/*HLTEDMCreator*").OutputLevel = DEBUG # messaging from the EDM creators acc.foreach_component("*HLTTop/*GenericMonitoringTool*").OutputLevel = WARNING # silcence mon tools (addressing by type) - -acc.printConfig() +acc.foreach_component("*/L1Decoder").OutputLevel = DEBUG +acc.foreach_component("*FastEMCaloAlgo*").OutputLevel = DEBUG +acc.foreach_component("VDVFastEgammaCalo").OutputLevel =DEBUG fname = "newJOtest.pkl" print( "Storing config in the file {}".format( fname ) ) with open(fname, "wb") as p: acc.store( p ) p.close() -acc.run() +status = acc.run() +if status.isFailure(): + import sys + sys.exit(1) diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py index 986c5afa265c57d195b9bf3731f4721a30f7f24e..d42131d6d2e45f91a8be712418b90d88edd9b893 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py @@ -4,7 +4,7 @@ from collections import OrderedDict from builtins import str from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator,conf2toConfigurable from AthenaConfiguration.ComponentFactory import CompFactory -from AthenaCommon.CFElements import seqAND, seqOR, flatAlgorithmSequences, getSequenceChildren, isSequence, hasProp, getProp +from AthenaCommon.CFElements import seqAND, seqOR, parOR, flatAlgorithmSequences, getSequenceChildren, isSequence, hasProp, getProp from AthenaCommon.Logging import logging __log = logging.getLogger('TriggerConfig') import six @@ -518,11 +518,18 @@ def triggerRunCfg( flags, seqName = None, menu=None ): acc.merge( L1ConfigSvcCfg(flags) ) - acc.merge( triggerIDCCacheCreatorsCfg( flags, seqName ) ) + acc.addSequence( seqOR( "HLTTop") ) + + acc.addSequence( parOR("HLTBeginSeq"), parentName="HLTTop" ) + # bit of a hack as for "legacy" type JO a seq name for cache creators has to be given, + # in newJO realm the seqName will be removed as a comp fragment shoudl be unaware of where it will be attached + acc.merge( triggerIDCCacheCreatorsCfg( flags, seqName="AthAlgSeq" ), sequenceName="HLTBeginSeq" ) from L1Decoder.L1DecoderConfig import L1DecoderCfg l1DecoderAcc, l1DecoderAlg = L1DecoderCfg( flags ) - acc.merge( l1DecoderAcc ) + # TODO, once moved to newJO the algorithm can be added to l1DecoderAcc and merging will be sufficient here + acc.merge( l1DecoderAcc, sequenceName="HLTBeginSeq" ) + acc.addEventAlgo( l1DecoderAlg, sequenceName="HLTBeginSeq") # detour to the menu here, (missing now, instead a temporary hack) @@ -530,22 +537,26 @@ def triggerRunCfg( flags, seqName = None, menu=None ): menuAcc = menu( flags ) HLTSteps = menuAcc.getSequence( "HLTAllSteps" ) __log.info( "Configured menu with "+ str( len(HLTSteps.Members) ) +" steps" ) - + acc.merge( menuAcc, sequenceName="HLTTop") # collect hypothesis algorithms from all sequence hypos = collectHypos( HLTSteps ) filters = collectFilters( HLTSteps ) - + acc.addSequence( parOR("HLTEndSeq"), parentName="HLTTop" ) + acc.addSequence( seqAND("HLTFinalizeSeq"), parentName="HLTEndSeq" ) + summaryAcc, summaryAlg = triggerSummaryCfg( flags, hypos ) - acc.merge( summaryAcc ) + acc.merge( summaryAcc, sequenceName="HLTFinalizeSeq" ) + acc.addEventAlgo( summaryAlg, sequenceName="HLTFinalizeSeq" ) #once menu is included we should configure monitoring here as below monitoringAcc, monitoringAlg = triggerMonitoringCfg( flags, hypos, filters, l1DecoderAlg ) - acc.merge( monitoringAcc ) + acc.merge( monitoringAcc, sequenceName="HLTEndSeq" ) + acc.addEventAlgo( monitoringAlg, sequenceName="HLTEndSeq" ) from TrigCostMonitorMT.TrigCostMonitorMTConfig import TrigCostMonitorMTCfg - acc.merge( TrigCostMonitorMTCfg( flags ) ) + acc.merge( TrigCostMonitorMTCfg( flags ), sequenceName="HLTEndSeq" ) decObj = collectDecisionObjects( hypos, filters, l1DecoderAlg, summaryAlg ) decObjHypoOut = collectHypoDecisionObjects(hypos, inputs=False, outputs=True) @@ -553,10 +564,6 @@ def triggerRunCfg( flags, seqName = None, menu=None ): __log.info( "Of which, %d are the outputs of hypos", len( decObjHypoOut ) ) __log.info( str( decObj ) ) - HLTTop = seqOR( "HLTTop", [ l1DecoderAlg, HLTSteps, summaryAlg, monitoringAlg ] ) - acc.addSequence( HLTTop ) - - acc.merge( menuAcc ) # configure components need to normalise output before writing out @@ -567,7 +574,7 @@ def triggerRunCfg( flags, seqName = None, menu=None ): if edmSet: mergingAlg = triggerMergeViewsAndAddMissingEDMCfg( [edmSet] , hypos, viewMakers, decObj, decObjHypoOut ) - acc.addEventAlgo( mergingAlg, sequenceName="HLTTop" ) + acc.addEventAlgo( mergingAlg, sequenceName="HLTFinalizeSeq" ) return acc diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py index 58f41575ca5ed854629d109ca3e7aae46f6b91bb..fe7decdc9385acfa6c4b76c83fcb5716812c75ca 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py @@ -1,19 +1,25 @@ # -# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2010 CERN for the benefit of the ATLAS collaboration # +from AthenaConfiguration.ComponentFactory import CompFactory +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator + def l2CaloRecoCfg( flags ): from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import InViewReco - reco = InViewReco("FastCaloEMReco") + reco = InViewReco('FastCaloEMReco', roisKey='EMCaloRoIs') # algAcc, alg = l2CaloAlgCfg( flags, roisKey = reco.name+'RoIs' ) from TrigT2CaloEgamma.TrigT2CaloEgammaMTConfig import fastL2EgammaClusteringAlg - algAcc = fastL2EgammaClusteringAlg( flags, roisKey=reco.name+'RoIs') - reco.mergeReco( algAcc ) + ca = ComponentAccumulator() + ca.addEventAlgo( CompFactory.AthViews.ViewDataVerifier(name='VDVFastEgammaCalo', + DataObjects = [('TrigRoiDescriptorCollection', 'StoreGateSvc+EMCaloRoIs'), + ('CaloBCIDAverage', 'StoreGateSvc+CaloBCIDAverage') ]) ) + ca.merge( fastL2EgammaClusteringAlg( flags, roisKey='EMCaloRoIs', doRinger=True) ) + reco.mergeReco( ca ) return reco -def l2CaloHypoCfg( flags, name="UNSPECIFIED", CaloClusters="UNSPECIFIED" ): - from AthenaConfiguration.ComponentFactory import CompFactory +def l2CaloHypoCfg( flags, name='UNSPECIFIED', CaloClusters='UNSPECIFIED' ): l2CaloHypo = CompFactory.TrigEgammaFastCaloHypoAlgMT( name ) l2CaloHypo.CaloClusters = CaloClusters return l2CaloHypo diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py index 7bbf1df01a3651d3e5f7d550f7ce95fc71b33264..d07c0346fe6b9ef843efb11b4c4443fedbb635e4 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py @@ -27,9 +27,14 @@ def generateChains( flags, chainDict ): l2CaloReco = l2CaloRecoCfg(flags) accCalo.merge(l2CaloReco, sequenceName=stepReco.getName()) + # this alg needs EventInfo decorated with the pileup info + from LumiBlockComps.LumiBlockMuWriterConfig import LumiBlockMuWriterCfg + accCalo.merge( LumiBlockMuWriterCfg(flags) ) + l2CaloHypo = l2CaloHypoCfg( flags, name = 'L2ElectronCaloHypo', CaloClusters = recordable('HLT_L2CaloEMClusters')) + accCalo.addEventAlgo(l2CaloHypo, sequenceName=stepView.getName()) fastCaloSequence = CAMenuSequence( Sequence = l2CaloReco.sequence(), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py index 2ea955bb789f464074bcc20239ddda1edb111166..613bde8fab3bd9e5366404f090eb765951c2d438 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py @@ -2,19 +2,23 @@ from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import CAMenuSequence, ChainStep, Chain, InEventReco, getChainStepName, createStepView from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator - +from AthenaConfiguration.ComponentFactory import CompFactory import pprint from AthenaCommon.Logging import logging log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Jet.generateJet' ) def HLTCaloCellMakerCfg( cellsname, cdaSvc ): - from AthenaConfiguration.ComponentFactory import CompFactory + result = ComponentAccumulator() + verifier = CompFactory.AthViews.ViewDataVerifier( name = 'VDVFSCaloJet', + DataObjects = [('TrigRoiDescriptorCollection', 'StoreGateSvc+FSJETRoI'), + ('CaloBCIDAverage', 'StoreGateSvc+CaloBCIDAverage') ]) + result.addEventAlgo( verifier ) cellmaker = CompFactory.HLTCaloCellMaker("HLTCaloCellMaker_FS") cellmaker.RoIs = "FSJETRoI" cellmaker.TrigDataAccessMT = cdaSvc cellmaker.CellsName = cellsname - result = ComponentAccumulator() + result.addEventAlgo(cellmaker) return result @@ -73,7 +77,6 @@ def generateChains( flags, chainDict ): #hypo from TrigHLTJetHypo.TrigJetHypoToolConfig import trigJetHypoToolFromDict - from AthenaConfiguration.ComponentFactory import CompFactory hypo = CompFactory.TrigJetHypoAlgMT("TrigJetHypoAlgMT_a4tcem_subjesIS") jetsfullname = jetprefix+TrigAntiKt4EMTopoSubJES.basename+jetsuffix+"Jets" hypo.Jets = jetsfullname diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1_newJO.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1_newJO.py index 27d0fdda4fbc0f3c3f86b732113bc13b4df6cef9..a729b66262cf3bca0108d729ae90d29d2b9d8ced 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1_newJO.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1_newJO.py @@ -61,8 +61,8 @@ def setupMenu(flags): ] flags.Trigger.menu.combined = [ - ChainProp(name='HLT_e7_mu10_L1EM7_MU10', groups=SingleElectronGroup), - ChainProp(name='HLT_e5_mu5_L1EM7_MU10', groups=SingleElectronGroup), +# ChainProp(name='HLT_e7_mu10_L1EM7_MU10', groups=SingleElectronGroup), +# ChainProp(name='HLT_e5_mu5_L1EM7_MU10', groups=SingleElectronGroup), ] if __name__ == "__main__": diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py index 40bd6f7126ee751957a0b9ce0d80ffc6cb659572..f2255c33a509e1ae5590c5d5feece20b57cb10c4 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py @@ -928,7 +928,7 @@ class InEventReco( ComponentAccumulator ): class InViewReco( ComponentAccumulator ): """ Class to handle in-view reco, sets up the View maker if not provided and exposes InputMaker so that more inputs to it can be added in the process of assembling the menu """ - def __init__(self, name, viewMaker=None): + def __init__(self, name, viewMaker=None, roisKey=None): super( InViewReco, self ).__init__() self.name = name self.mainSeq = seqAND( name ) @@ -943,7 +943,7 @@ class InViewReco( ComponentAccumulator ): ViewFallThrough = True, RoIsLink = 'initialRoI', RoITool = ViewCreatorInitialROITool(), - InViewRoIs = name+'RoIs', + InViewRoIs = roisKey if roisKey else name+'RoIs', Views = name+'Views', ViewNodeName = name+"InView") diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py index 1567e8b6f8b32850abb74270767167758638272d..9434ac72914f8b71e0aecab4ea1bcce5051e5ad8 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py @@ -19,8 +19,9 @@ def fakeHypoAlgCfg(flags, name="FakeHypoForMuon"): return HLTTest__TestHypoAlg( name, Input="" ) def EFMuonViewDataVerifierCfg(): - EFMuonViewDataVerifier = CompFactory.getComp("AthViews::ViewDataVerifier")("EFMuonViewDataVerifier") - EFMuonViewDataVerifier.DataObjects = [( 'Muon::MdtPrepDataContainer' , 'StoreGateSvc+MDT_DriftCircles' ), + EFMuonViewDataVerifier = CompFactory.AthViews.ViewDataVerifier("VDVEFMuon") + EFMuonViewDataVerifier.DataObjects = [( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ), + ( 'Muon::MdtPrepDataContainer' , 'StoreGateSvc+MDT_DriftCircles' ), ( 'Muon::TgcPrepDataContainer' , 'StoreGateSvc+TGC_Measurements' ), ( 'Muon::RpcPrepDataContainer' , 'StoreGateSvc+RPC_Measurements' ), ( 'Muon::CscStripPrepDataContainer' , 'StoreGateSvc+CSC_Measurements' ), @@ -29,6 +30,28 @@ def EFMuonViewDataVerifierCfg(): result.addEventAlgo(EFMuonViewDataVerifier) return result +def MuFastViewDataVerifier(): + result = ComponentAccumulator() + alg = CompFactory.AthViews.ViewDataVerifier( name = "VDVMuFast", + DataObjects = [( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ), + ( 'RpcPad_Cache' , 'StoreGateSvc+RpcRdoCache' ), + ( 'RpcPadContainer' , 'StoreGateSvc+RPCPAD' ), + ( 'RpcCoinDataCollection_Cache' , 'StoreGateSvc+RpcCoinCache' ), + ( 'RpcPrepDataCollection_Cache' , 'StoreGateSvc+RpcPrdCache' ), + ( 'TgcRdo_Cache' , 'StoreGateSvc+TgcRdoCache' ), + ( 'TgcRdoContainer' , 'StoreGateSvc+TGCRDO' ), + ( 'MdtCsm_Cache' , 'StoreGateSvc+MdtCsmRdoCache' ), + ( 'MdtCsmContainer' , 'StoreGateSvc+MDTCSM' ), + ( 'CscRawDataCollection_Cache' , 'StoreGateSvc+CscRdoCache' ), + ( 'CscRawDataContainer' , 'StoreGateSvc+CSCRDO' ), + ( 'Muon::CscStripPrepDataContainer' , 'StoreGateSvc+CSC_Measurements' ), + ( 'Muon::MdtPrepDataContainer' , 'StoreGateSvc+MDT_DriftCircles' ), + ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+L2MuFastRecoRoIs' ), + ( 'DataVector< LVL1::RecMuonRoI >' , 'StoreGateSvc+HLT_RecMURoIs' ) + ] ) + result.addEventAlgo(alg) + return result + def generateChains( flags, chainDict ): chainDict = splitChainDict(chainDict)[0] @@ -43,6 +66,8 @@ def generateChains( flags, chainDict ): from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import InViewReco reco = InViewReco("L2MuFastReco") + #external data loading to view + reco.mergeReco( MuFastViewDataVerifier() ) # decoding diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py index edf03f50c8c74df97a627f59f7d2756f3d03f6b7..434dc6e1e500cdbedb979a7cd5c7675bb8bd89b4 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py @@ -93,8 +93,9 @@ def l2PhotonAlgCfg( flags ): def photonViewDataVerifierCfg(): from AthenaConfiguration.ComponentFactory import CompFactory - moveClusters = CompFactory.getComp("AthViews::ViewDataVerifier")("photonViewDataVerifier") - moveClusters.DataObjects = [ ('xAOD::TrigEMClusterContainer','StoreGateSvc+HLT_L2CaloEMClusters') ] + moveClusters = CompFactory.AthViews.ViewDataVerifier("VDVFastPhoton") + moveClusters.DataObjects = [ ('xAOD::TrigEMClusterContainer','StoreGateSvc+HLT_L2CaloEMClusters'), + ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+L2PhotonRecoRoIs' )] result = ComponentAccumulator() result.addEventAlgo(moveClusters) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py index 398c8b14b457218c1c5a262345d1c5d8a4852a79..dcc6728f660e63934fec76cb793dc37c672ac043 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py @@ -25,6 +25,10 @@ def generateChains(flags, chainDict): l2CaloReco = l2CaloRecoCfg(flags) accCalo.merge(l2CaloReco, sequenceName=stepReco.getName()) + # this alg needs EventInfo decorated with the pileup info + from LumiBlockComps.LumiBlockMuWriterConfig import LumiBlockMuWriterCfg + accCalo.merge( LumiBlockMuWriterCfg(flags) ) + l2CaloHypo = l2CaloHypoCfg( flags, name = 'L2PhotonCaloHypo', CaloClusters = recordable('HLT_L2CaloEMClusters') )