ATLAS Offline Software
Loading...
Searching...
No Matches
PrecisionPhotonRecoSequences Namespace Reference

Functions

 precisionPhotonVDVCfg (flags, name, InViewRoIs, ion=False)
 precisionPhotonRecoSequence (flags, RoIs, name=None, ion=False)

Variables

 log = logging.getLogger(__name__)

Function Documentation

◆ precisionPhotonRecoSequence()

PrecisionPhotonRecoSequences.precisionPhotonRecoSequence ( flags,
RoIs,
name = None,
ion = False )
 With this function we will setup the sequence of offline EgammaAlgorithms so to make a photon for TrigEgamma 

Sequence of algorithms is the following:
  - egammaRecBuilder/TrigEgammaRecPhoton creates egammaObjects out of clusters and tracks. Here, at HLT photons we will only use clusters. 
  - photonSuperClusterBuilder algorithm will create superclusters out of the toposlusters and tracks in egammaRec under the photon hypothesis
      https://gitlab.cern.ch/atlas/athena/blob/master/Reconstruction/egamma/egammaAlgs/python/egammaSuperClusterBuilder.py#L26 
  - TopoEgammBuilder will create photons and electrons out of trakcs and SuperClusters. Here at HLT photons the aim is to ignore electrons and not use tracks at all.
      https://gitlab.cern.ch/atlas/athena/blob/master/Reconstruction/egamma/egammaAlgs/src/xAODEgammaBuilder.cxx

Definition at line 29 of file PrecisionPhotonRecoSequences.py.

29def precisionPhotonRecoSequence(flags, RoIs, name = None, ion=False):
30 """ With this function we will setup the sequence of offline EgammaAlgorithms so to make a photon for TrigEgamma
31
32 Sequence of algorithms is the following:
33 - egammaRecBuilder/TrigEgammaRecPhoton creates egammaObjects out of clusters and tracks. Here, at HLT photons we will only use clusters.
34 - photonSuperClusterBuilder algorithm will create superclusters out of the toposlusters and tracks in egammaRec under the photon hypothesis
35 https://gitlab.cern.ch/atlas/athena/blob/master/Reconstruction/egamma/egammaAlgs/python/egammaSuperClusterBuilder.py#L26
36 - TopoEgammBuilder will create photons and electrons out of trakcs and SuperClusters. Here at HLT photons the aim is to ignore electrons and not use tracks at all.
37 https://gitlab.cern.ch/atlas/athena/blob/master/Reconstruction/egamma/egammaAlgs/src/xAODEgammaBuilder.cxx
38 """
39
40 log.debug('precisionPhotonRecoSequence(RoIs = %s)',RoIs)
41
42 acc= ComponentAccumulator()
43
44 # Retrieve the factories now
45 from TriggerMenuMT.HLT.Photon.TrigPhotonFactoriesCfg import TrigTopoEgammaPhotonCfg, TrigTopoEgammaPhotonCfg_HI
46
47 log.debug('retrieve(precisionPhotonRecoSequence,None,RoIs = %s)',RoIs)
48
49 acc.merge(precisionPhotonVDVCfg(flags, name+'VDV',RoIs,ion))
50
51 if ion:
52 TrigTopoEgammaPhoton = TrigTopoEgammaPhotonCfg_HI(flags)
53 else:
54 TrigTopoEgammaPhoton = TrigTopoEgammaPhotonCfg(flags)
55
56 acc.merge(TrigTopoEgammaPhoton)
57
58 #online monitoring for xAODEgammaBuilder
59 from TriggerMenuMT.HLT.Photon.TrigPhotonFactoriesCfg import PrecisionPhotonTopoMonitorCfg
60 PrecisionPhotonTopoRecoMonAlgo = PrecisionPhotonTopoMonitorCfg(flags,ion=ion)
61 acc.merge(PrecisionPhotonTopoRecoMonAlgo)
62
63 #online monitoring for TrigPhotonSuperClusterBuilder
64 from TriggerMenuMT.HLT.Photon.TrigPhotonFactoriesCfg import PrecisionPhotonSuperClusterMonitorCfg
65 PrecisionPhotonSuperClusterMonAlgo = PrecisionPhotonSuperClusterMonitorCfg(flags, ion=ion)
66 acc.merge(PrecisionPhotonSuperClusterMonAlgo)
67
68 return acc
69
70

◆ precisionPhotonVDVCfg()

PrecisionPhotonRecoSequences.precisionPhotonVDVCfg ( flags,
name,
InViewRoIs,
ion = False )

Definition at line 10 of file PrecisionPhotonRecoSequences.py.

10def precisionPhotonVDVCfg(flags, name, InViewRoIs, ion=False):
11 acc = ComponentAccumulator()
12 TrigEgammaKeys = getTrigEgammaKeys(flags, ion=ion)
13 caloClusters = TrigEgammaKeys.precisionPhotonCaloClusterContainer
14 dataObjects = [( 'xAOD::CaloClusterContainer' , 'StoreGateSvc+%s' % caloClusters ),
15 ( 'EgammaRecContainer', 'StoreGateSvc+%s' % TrigEgammaKeys.precisionPhotonSuperClusterCollection),
16 ( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ),
17 ]
18 if ion:
19 dataObjects += [( 'CaloCellContainer' , 'StoreGateSvc+CorrectedRoICaloCells' )]
20 else:
21 dataObjects += [( 'CaloCellContainer' , 'StoreGateSvc+CaloCells' )]
22
23 precisionPhotonVDV = CompFactory.AthViews.ViewDataVerifier(name)
24 precisionPhotonVDV.DataObjects = dataObjects
25 acc.addEventAlgo(precisionPhotonVDV)
26 return acc
27
28

Variable Documentation

◆ log

PrecisionPhotonRecoSequences.log = logging.getLogger(__name__)

Definition at line 8 of file PrecisionPhotonRecoSequences.py.