ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TriggerCommon
TriggerMenuMT
python
HLT
Photon
PrecisionPhotonRecoSequences.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
from
TriggerMenuMT.HLT.Egamma.TrigEgammaKeys
import
getTrigEgammaKeys
6
#logging
7
from
AthenaCommon.Logging
import
logging
8
log = logging.getLogger(__name__)
9
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
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
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
PrecisionPhotonRecoSequences.precisionPhotonVDVCfg
precisionPhotonVDVCfg(flags, name, InViewRoIs, ion=False)
Definition
PrecisionPhotonRecoSequences.py:10
PrecisionPhotonRecoSequences.precisionPhotonRecoSequence
precisionPhotonRecoSequence(flags, RoIs, name=None, ion=False)
Definition
PrecisionPhotonRecoSequences.py:29
Generated on
for ATLAS Offline Software by
1.17.0