ATLAS Offline Software
Loading...
Searching...
No Matches
PrecisionPhotonCaloIsoRecoSequences.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from TriggerMenuMT.HLT.Egamma.TrigEgammaKeys import getTrigEgammaKeys
6from TriggerMenuMT.HLT.CommonSequences.FullScanDefs import em_clusters
7#logging
8from AthenaCommon.Logging import logging
9log = logging.getLogger(__name__)
10
11def precisionPhotonCaloIsoVDVCfg(flags, name, InViewRoIs, ion=False):
12 acc = ComponentAccumulator()
13 TrigEgammaKeys = getTrigEgammaKeys(flags, ion=ion)
14 caloClusters = TrigEgammaKeys.precisionPhotonCaloClusterContainer
15 dataObjects = [( 'xAOD::CaloClusterContainer' , 'StoreGateSvc+%s' % caloClusters ),
16 ( 'xAOD::CaloClusterContainer' , 'StoreGateSvc+%s' % em_clusters), # this is for the calo isolation tool
17 ( 'xAOD::PhotonContainer' , 'StoreGateSvc+%s' % TrigEgammaKeys.precisionPhotonContainer), # This is the Photon input container with non-isolated photons
18 ( 'CaloCellContainer' , 'StoreGateSvc+CaloCells' ),
19 ( 'CaloCellContainer' , 'StoreGateSvc+CaloCellsFS' ),
20 ( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ),
21 ( 'xAOD::EventShape' , 'StoreGateSvc+TrigIsoEventShape' ),
22 ( 'xAOD::IParticleContainer' , 'StoreGateSvc+HLT_TopoCaloClustersFS'),
23 ( 'PseudoJetContainer' , 'StoreGateSvc+PseudoJetTrigEMTopo' )]
24 if ion:
25 dataObjects += [( 'CaloCellContainer' , 'StoreGateSvc+CorrectedRoICaloCells' )]
26
27 precisionPhotonCaloIsoVDV = CompFactory.AthViews.ViewDataVerifier(name)
28 precisionPhotonCaloIsoVDV.DataObjects = dataObjects
29 acc.addEventAlgo(precisionPhotonCaloIsoVDV)
30 return acc
31
32def precisionPhotonCaloIsoRecoSequence(flags, RoIs, name = None, ion=False):
33 """ With this function we will setup the sequence of Calo isolation to be executed after PrecisionPhoton in TrigEgamma
34
35 """
36 acc= ComponentAccumulator()
37
38 log.debug('precisionPhotonCaloIsoRecoSequence(RoIs = %s)',RoIs)
39
40 log.debug('retrieve(precisionPhotonCaloIsoRecoSequence,None,RoIs = %s)',RoIs)
41
42 acc.merge(precisionPhotonCaloIsoVDVCfg(flags, name+'VDV',RoIs,ion))
43
44 # Add CaloIsolationTool
45 from TriggerMenuMT.HLT.Egamma.TrigEgammaFactoriesCfg import TrigPhotonIsoBuilderCfg
46 TrigPhotonIsoBuilder = TrigPhotonIsoBuilderCfg(flags,
47 ion =ion)
48
49 acc.merge(TrigPhotonIsoBuilder)
50
51 #online monitoring for xAODEgammaBuilder
52 from TriggerMenuMT.HLT.Photon.TrigPhotonFactoriesCfg import PrecisionPhotonCaloIsoMonitorCfg
53 PrecisionPhotonCaloIsoRecoMonAlgo = PrecisionPhotonCaloIsoMonitorCfg(flags)
54 acc.merge(PrecisionPhotonCaloIsoRecoMonAlgo)
55
56 return acc
57
58
59
60
61
precisionPhotonCaloIsoVDVCfg(flags, name, InViewRoIs, ion=False)
precisionPhotonCaloIsoRecoSequence(flags, RoIs, name=None, ion=False)