ATLAS Offline Software
Functions | Variables
PrecisionPhotonRecoSequences Namespace Reference

Functions

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

Variables

 log
 

Function Documentation

◆ precisionPhotonRecoSequence()

def 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.

29 def 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 
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()

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

Definition at line 10 of file PrecisionPhotonRecoSequences.py.

10 def 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

Definition at line 8 of file PrecisionPhotonRecoSequences.py.

python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
PrecisionPhotonRecoSequences.precisionPhotonVDVCfg
def precisionPhotonVDVCfg(flags, name, InViewRoIs, ion=False)
Definition: PrecisionPhotonRecoSequences.py:10
TrigPhotonFactoriesCfg.PrecisionPhotonTopoMonitorCfg
def PrecisionPhotonTopoMonitorCfg(flags, ion=False, name='PrecisionPhotonTopoMonitoring')
Definition: TrigPhotonFactoriesCfg.py:78
PrecisionPhotonRecoSequences.precisionPhotonRecoSequence
def precisionPhotonRecoSequence(flags, RoIs, name=None, ion=False)
Definition: PrecisionPhotonRecoSequences.py:29
TrigPhotonFactoriesCfg.TrigTopoEgammaPhotonCfg_HI
def TrigTopoEgammaPhotonCfg_HI(flags)
Definition: TrigPhotonFactoriesCfg.py:58
TrigPhotonFactoriesCfg.TrigTopoEgammaPhotonCfg
def TrigTopoEgammaPhotonCfg(flags)
Definition: TrigPhotonFactoriesCfg.py:38
TrigPhotonFactoriesCfg.PrecisionPhotonSuperClusterMonitorCfg
def PrecisionPhotonSuperClusterMonitorCfg(flags, ion=False, name='PrecisionPhotonSuperClusterMonitoring')
Definition: TrigPhotonFactoriesCfg.py:95
python.HLT.Egamma.TrigEgammaKeys.getTrigEgammaKeys
def getTrigEgammaKeys(AthConfigFlags flags, name='', ion=False)
Definition: TrigEgammaKeys.py:138