ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TriggerCommon
TriggerMenuMT
python
HLT
Photon
Photon/PrecisionCaloRecoSequences.py
Go to the documentation of this file.
1
#
2
# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
#
4
5
from
AthenaCommon.Logging
import
logging
6
from
TriggerMenuMT.HLT.Egamma.TrigEgammaKeys
import
getTrigEgammaKeys
7
from
TriggerMenuMT.HLT.Egamma.TrigEgammaFactoriesCfg
import
TrigEgammaRecCfg, TrigEgammaSuperClusterBuilderCfg
8
from
AthenaConfiguration.ComponentFactory
import
CompFactory
9
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
10
11
log = logging.getLogger(__name__)
12
13
14
def
precisionCaloPhotonVDVCfg
(flags, name, InViewRoIs, ion=False):
15
acc = ComponentAccumulator()
16
TrigEgammaKeys = getTrigEgammaKeys(flags, ion=ion)
17
dataObjects= [(
'TrigRoiDescriptorCollection'
,
'StoreGateSvc+%s'
%InViewRoIs ),
18
(
'CaloBCIDAverage'
,
'StoreGateSvc+CaloBCIDAverage'
),
19
(
'SG::AuxElement'
,
'StoreGateSvc+EventInfo.averageInteractionsPerCrossing'
)]
20
if
ion:
21
dataObjects += [(
'xAOD::HIEventShapeContainer'
,
'StoreGateSvc+'
+ TrigEgammaKeys.egEventShape ),
22
(
'CaloBCIDAverage'
,
'StoreGateSvc+CaloBCIDAverage'
),
23
(
'SG::AuxElement'
,
'StoreGateSvc+EventInfo.averageInteractionsPerCrossing'
)]
24
if
(
not
flags.Input.isMC ):
25
dataObjects += [(
'LArDeadOTXFromSC'
,
'StoreGateSvc+DeadOTXFromSC'
)]
26
27
precisionCaloPhotonVDV = CompFactory.AthViews.ViewDataVerifier(name)
28
precisionCaloPhotonVDV.DataObjects = dataObjects
29
acc.addEventAlgo(precisionCaloPhotonVDV)
30
return
acc
31
32
def
precisionCaloRecoSequence
(flags, RoIs, name = None, ion=False):
33
34
acc = ComponentAccumulator()
35
36
TrigEgammaKeys = getTrigEgammaKeys(flags, ion = ion)
37
log.debug(
'flags = %s'
,flags)
38
log.debug(
'RoIs = %s'
,RoIs)
39
40
acc.merge(
precisionCaloPhotonVDVCfg
(flags,name+
'VDV'
,RoIs,ion))
41
42
from
TrigCaloRec.TrigCaloRecConfig
import
egammaTopoClusteringCfg, hltCaloTopoClusteringHICfg
43
44
if
ion:
45
topoCluster = hltCaloTopoClusteringHICfg(flags,
46
CellsName =
"CaloCells"
,
47
roisKey=RoIs)
48
else
:
49
topoCluster = egammaTopoClusteringCfg(flags, RoIs)
50
acc.merge(topoCluster)
51
tag =
'HI'
if
ion
is
True
else
''
52
53
copier = CompFactory.egammaTopoClusterCopier(
'gTrigEgammaTopoClusterCopier'
+ tag + RoIs,
54
InputTopoCollection=TrigEgammaKeys.precisionTopoClusterContainer,
55
OutputTopoCollection= TrigEgammaKeys.precisionCaloTopoCollection)
56
acc.addEventAlgo(copier)
57
58
trigEgammaRec = TrigEgammaRecCfg(flags, name =
'gTrigEgammaRec'
+tag + RoIs)
59
60
acc.merge(trigEgammaRec)
61
62
trigEgammaSuperClusterBuilder = TrigEgammaSuperClusterBuilderCfg(flags,
63
'gTrigEgammaSuperClusterBuilder'
+ tag + RoIs,
64
'photon'
,
65
TrigEgammaKeys.precisionPhotonCaloClusterContainer,
66
TrigEgammaKeys.precisionPhotonSuperClusterCollection)
67
acc.merge(trigEgammaSuperClusterBuilder)
68
69
return
acc
70
71
72
PrecisionCaloRecoSequences.precisionCaloRecoSequence
precisionCaloRecoSequence(flags, RoIs, name=None, ion=False)
Definition
Photon/PrecisionCaloRecoSequences.py:32
PrecisionCaloRecoSequences.precisionCaloPhotonVDVCfg
precisionCaloPhotonVDVCfg(flags, name, InViewRoIs, ion=False)
Definition
Photon/PrecisionCaloRecoSequences.py:14
Generated on
for ATLAS Offline Software by
1.17.0