diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py index 7d8f4898cc337d6a0045fcea3d908d9ba58f4f09..f3403daec0d939de342000a0032a49d7b89b47b2 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py +++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py @@ -1,33 +1,13 @@ -# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration -from AthenaCommon.CFElements import parOR from AthenaConfiguration.ComponentFactory import CompFactory -from TriggerMenuMT.HLT.Config.MenuComponents import algorithmCAToGlobalWrapper from TriggerMenuMT.HLT.CommonSequences.FullScanDefs import caloFSRoI from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.AccumulatorCache import AccumulatorCache from TrigT2CaloCommon.TrigCaloDataAccessConfig import trigCaloDataAccessSvcCfg, CaloDataAccessSvcDependencies -######################## -## ALGORITHMS -# defined as private within this module, so that they can be configured only in functions in this module -######################## - -def _algoHLTCaloCell(flags, name="HLTCaloCellMaker", inputEDM='', outputEDM='CellsClusters', RoIMode=True) : - if not inputEDM: - from HLTSeeding.HLTSeedingConfig import mapThresholdToL1RoICollection - inputEDM = mapThresholdToL1RoICollection("FSNOSEED") - - from AthenaCommon.AppMgr import ServiceMgr as svcMgr - from TrigCaloRec.TrigCaloRecConfig import HLTCaloCellMaker - algo=HLTCaloCellMaker(flags, name, roisKey=inputEDM) - #"HLTCaloCellMaker" - algo.RoIs=inputEDM - algo.TrigDataAccessMT=svcMgr.TrigCaloDataAccessSvc - algo.CellsName=outputEDM - algo.ExtraInputs |= { ( 'LArBadChannelCont', 'ConditionStore+LArBadChannel'), ( 'LArMCSym', 'ConditionStore+LArMCSym'), ('LArOnOffIdMapping' , 'ConditionStore+LArOnOffIdMap' ), ('LArFebRodMapping' , 'ConditionStore+LArFebRodMap' ), ('CaloDetDescrManager', 'ConditionStore+CaloDetDescrManager') } - return algo +# TODO: delete once HI is migrated to CA def _algoHLTHIEventShape(flags,name='HLTEventShapeMaker', inputEDM='CellsClusters', outputEDM='HIEventShape'): algo = CompFactory.HIEventShapeMaker(name = name, InputCellKey = inputEDM, @@ -37,35 +17,6 @@ def _algoHLTHIEventShape(flags,name='HLTEventShapeMaker', inputEDM='CellsCluster HIEventShapeFillerTool = CompFactory.HIEventShapeFillerTool()) return algo -def _algoHLTCaloCellCorrector(name='HLTCaloCellCorrector', inputEDM='CellsClusters', outputEDM='CorrectedCellsClusters', eventShape='HIEventShape'): - from TrigCaloRec.TrigCaloRecConf import HLTCaloCellCorrector - - algo = HLTCaloCellCorrector(name) - algo.EventShapeCollection = eventShape - algo.InputCellKey = inputEDM - algo.OutputCellKey = outputEDM - - return algo - -def _algoHLTTopoCluster(flags, inputEDM="CellsClusters", algSuffix="") : - from TrigCaloRec.TrigCaloRecConfig import hltTopoClusterMakerCfg - algo = algorithmCAToGlobalWrapper(hltTopoClusterMakerCfg, flags, - name="TrigCaloClusterMaker_topo"+algSuffix, - doLC=False, - clustersKey="HLT_TopoCaloClusters"+algSuffix, - cellsKey=inputEDM)[0] - return algo - -def _algoHLTTopoClusterLC(flags, inputEDM="CellsClusters", algSuffix="") : - from TrigCaloRec.TrigCaloRecConfig import hltTopoClusterMakerCfg - algo = algorithmCAToGlobalWrapper(hltTopoClusterMakerCfg, flags, - name="TrigCaloClusterMaker_topo"+algSuffix, - doLC=True, - clustersKey="HLT_TopoCaloClusters"+algSuffix, - cellsKey=inputEDM)[0] - return algo - - # # fast calo algorithm (central or forward regions) # @@ -96,7 +47,6 @@ def fastCaloRecoSequenceCfg(flags, inputEDM="", ClustersName="HLT_FastCaloEMClus return acc def fastCaloVDVCfg(name="fastCaloVDV",InViewRoIs="EMCaloRoIs") : - from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator reco = ComponentAccumulator() fastCaloVDV = CompFactory.AthViews.ViewDataVerifier(name) fastCaloVDV.DataObjects = {( 'CaloBCIDAverage' , 'StoreGateSvc+CaloBCIDAverage' ), @@ -104,10 +54,6 @@ def fastCaloVDVCfg(name="fastCaloVDV",InViewRoIs="EMCaloRoIs") : reco.addEventAlgo(fastCaloVDV) return reco -#################################### -##### SEQUENCES -#################################### - ################################## # cluster maker functions ################################### @@ -115,73 +61,7 @@ def fastCaloVDVCfg(name="fastCaloVDV",InViewRoIs="EMCaloRoIs") : def clusterFSInputMaker( ): """Creates the inputMaker for FS in menu""" RoIs = caloFSRoI - from AthenaConfiguration.ComponentFactory import CompFactory InputMakerAlg = CompFactory.InputMakerForRoI("IMclusterFS", RoIsLink="initialRoI") InputMakerAlg.RoITool = CompFactory.ViewCreatorInitialROITool() InputMakerAlg.RoIs=RoIs return InputMakerAlg - - -def HLTCellMaker(flags,RoIs=caloFSRoI, outputName="CaloCells", algSuffix=""): - cellMakerAlgo = _algoHLTCaloCell(flags, name="HLTCaloCellMaker"+algSuffix, inputEDM=RoIs, outputEDM=outputName, RoIMode=True) - return cellMakerAlgo - - -def HLTFSCellMakerRecoSequence(flags,RoIs=caloFSRoI): - cellMaker = HLTCellMaker(flags, RoIs, outputName="CaloCellsFS", algSuffix="FS") - RecoSequence = parOR("ClusterRecoSequenceFS", [cellMaker]) - return (RecoSequence, cellMaker.CellsName) - - -def HLTFSTopoRecoSequence(flags,RoIs): - cellMaker = HLTCellMaker(flags, RoIs, outputName="CaloCellsFS", algSuffix="FS") - topoClusterMaker = _algoHLTTopoCluster(flags, inputEDM = cellMaker.CellsName, algSuffix="FS") - RecoSequence = parOR("TopoClusterRecoSequenceFS", [cellMaker, topoClusterMaker]) - return (RecoSequence, topoClusterMaker.CaloClusters) - - -def HLTRoITopoRecoSequence(flags, RoIs, algSuffix=''): - import AthenaCommon.CfgMgr as CfgMgr - HLTRoITopoRecoSequenceVDV = CfgMgr.AthViews__ViewDataVerifier("HLTRoITopoRecoSequenceVDV%s"%algSuffix) - HLTRoITopoRecoSequenceVDV.DataObjects = {( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+PrecisionCaloRoIs%s'%algSuffix ), - ( 'CaloBCIDAverage' , 'StoreGateSvc+CaloBCIDAverage' ), - ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing' )} - - cellMaker = HLTCellMaker(flags, RoIs, algSuffix="RoI%s"%algSuffix) - topoClusterMaker = _algoHLTTopoCluster(flags, inputEDM = cellMaker.CellsName, algSuffix="RoI%s"%algSuffix) - RecoSequence = parOR("RoITopoClusterRecoSequence%s"%algSuffix, [HLTRoITopoRecoSequenceVDV, cellMaker, topoClusterMaker]) - return (RecoSequence, topoClusterMaker.CaloClusters) - - -def HLTHIRoITopoRecoSequence(flags, RoIs, algSuffix=''): - - from TriggerMenuMT.HLT.Egamma.TrigEgammaKeys import getTrigEgammaKeys - TrigEgammaKeys = getTrigEgammaKeys() - eventShape = TrigEgammaKeys.egEventShape - - import AthenaCommon.CfgMgr as CfgMgr - HLTRoITopoRecoSequenceVDV = CfgMgr.AthViews__ViewDataVerifier("HLTHIRoITopoRecoSequenceVDV") - HLTRoITopoRecoSequenceVDV.DataObjects = {( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+PrecisionCaloRoIs' ), - ( 'xAOD::HIEventShapeContainer' , 'StoreGateSvc+' + eventShape ), - ( 'CaloBCIDAverage' , 'StoreGateSvc+CaloBCIDAverage' ), - ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing' )} - - cellMaker = HLTCellMaker(flags, RoIs, algSuffix="HIRoI") - cellCorrector = _algoHLTCaloCellCorrector( - name='HLTRoICaloCellCorrector', - inputEDM=cellMaker.CellsName, - outputEDM='CorrectedRoICaloCells', - eventShape=eventShape) - - topoClusterMaker = _algoHLTTopoCluster(flags, inputEDM = cellCorrector.OutputCellKey, algSuffix="HIRoI") - RecoSequence = parOR("HIRoITopoClusterRecoSequence", [HLTRoITopoRecoSequenceVDV, cellMaker, cellCorrector, topoClusterMaker]) - return (RecoSequence, topoClusterMaker.CaloClusters) - - -def HLTLCTopoRecoSequence(flags, RoIs='InViewRoIs'): - cellMaker = HLTCellMaker(flags, RoIs, outputName="CaloCellsLC", algSuffix="LC") - cellMaker.TileCellsInROI = True - topoClusterMaker = _algoHLTTopoClusterLC(flags, inputEDM = cellMaker.CellsName, algSuffix="LC") - RecoSequence = parOR("TopoClusterRecoSequenceLC",[cellMaker,topoClusterMaker]) - return (RecoSequence, topoClusterMaker.CaloClusters) -