ATLAS Offline Software
CaloSequences.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 #
4 
5 from TriggerMenuMT.HLT.Config.MenuComponents import MenuSequence, SelectionCA, InViewRecoCA
6 from AthenaConfiguration.AccumulatorCache import AccumulatorCache
7 
9  """Static Class to collect all string manipulations in Calo sequences """
10  from TrigEDMConfig.TriggerEDM import recordable
11  L2CaloClusters= recordable("HLT_FastCaloEMClusters")
12 
13 
14 #
15 # central or forward fast calo sequence
16 #
17 
18 @AccumulatorCache
19 def fastCaloSequenceGenCfg(flags, name, doRinger=True, is_probe_leg=False):
20  """ Creates Egamma Fast Calo MENU sequence
21  The Hypo name changes depending on name, so for different implementations (Electron, Gamma,....)
22  """
23 
24  from TrigT2CaloCommon.CaloDef import fastCaloVDVCfg
25  from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Calo
26  from TrigT2CaloCommon.CaloDef import fastCaloRecoSequenceCfg
27  nameselAcc = "fastCaloSequence"+name
28  output = "HLT_FastCaloEMClusters"
29  selAcc = SelectionCA(nameselAcc,isProbe=is_probe_leg)
30  InViewRoIs="EMCaloRoIs"
31  reco = InViewRecoCA("EMCalo",InViewRoIs=InViewRoIs,isProbe=is_probe_leg)
32  reco.mergeReco(fastCaloVDVCfg(InViewRoIs=InViewRoIs))
33  robPrefetchAlg = ROBPrefetchingAlgCfg_Calo( flags, nameSuffix=InViewRoIs+'_probe' if is_probe_leg else InViewRoIs)
34  reco.mergeReco(fastCaloRecoSequenceCfg(flags, inputEDM=InViewRoIs,ClustersName=output))
35  selAcc.mergeReco(reco, robPrefetchCA=robPrefetchAlg)
36 
37  # hypo # The Alg will ALWAYS configure photons and electrons for ringer
38  # The tool is what will use that or not
39  from TrigEgammaHypo.TrigEgammaFastCaloHypoTool import createTrigEgammaFastCaloHypoAlg
40 
41  theFastCaloHypo = createTrigEgammaFastCaloHypoAlg(flags, name+"FastCaloHypo", sequenceOut=output)
42  selAcc.addHypoAlgo(theFastCaloHypo)
43 
44  from TrigEgammaHypo.TrigEgammaFastCaloHypoTool import TrigEgammaFastCaloHypoToolFromDict
45  return MenuSequence(flags,selAcc,HypoToolGen=TrigEgammaFastCaloHypoToolFromDict)
CaloDef.fastCaloRecoSequenceCfg
def fastCaloRecoSequenceCfg(flags, inputEDM="", ClustersName="HLT_FastCaloEMClusters", RingerKey="HLT_FastCaloRinger", doForward=False, doAllEm=False, doAll=False)
Definition: CaloDef.py:14
python.TrigGenericAlgsConfig.ROBPrefetchingAlgCfg_Calo
def ROBPrefetchingAlgCfg_Calo(flags, nameSuffix, **kwargs)
Definition: TrigGenericAlgsConfig.py:60
CaloDef.fastCaloVDVCfg
def fastCaloVDVCfg(name="fastCaloVDV", InViewRoIs="EMCaloRoIs")
Definition: CaloDef.py:39
python.TrigEgammaFastCaloHypoTool.createTrigEgammaFastCaloHypoAlg
def createTrigEgammaFastCaloHypoAlg(flags, name, sequenceOut)
Definition: TrigEgammaFastCaloHypoTool.py:52
python.HLT.CommonSequences.CaloSequences.CaloMenuDefs
Definition: CaloSequences.py:8
python.HLT.CommonSequences.CaloSequences.fastCaloSequenceGenCfg
def fastCaloSequenceGenCfg(flags, name, doRinger=True, is_probe_leg=False)
Definition: CaloSequences.py:19
python.TriggerEDM.recordable
def recordable(arg, runVersion=3)
Definition: TriggerEDM.py:34
pickleTool.object
object
Definition: pickleTool.py:30