ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
egamma
egammaConfig
python
egammaOutputConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3
""" Prepare EGamma output list
4
"""
5
6
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
7
8
9
def
egammaOutputCfg
(flags, name="EGOutputList"):
10
11
acc = ComponentAccumulator()
12
outFlags = flags.Egamma.Keys.Output
13
14
toESD = []
15
toAOD = []
16
17
if
flags.Egamma.doCentral:
18
toESD += [
19
f
"xAOD::ElectronContainer#{outFlags.Electrons}"
,
20
f
"xAOD::ElectronAuxContainer#{outFlags.Electrons}"
21
f
"Aux.{outFlags.ElectronsSuppESD}"
]
22
toESD += [
23
f
"xAOD::PhotonContainer#{outFlags.Photons}"
,
24
f
"xAOD::PhotonAuxContainer#{outFlags.Photons}"
25
f
"Aux.{outFlags.PhotonsSuppESD}"
]
26
toESD += [
27
f
"xAOD::CaloClusterContainer#{outFlags.CaloClusters}"
,
28
f
"xAOD::CaloClusterAuxContainer#{outFlags.CaloClusters}"
29
f
"Aux.{outFlags.CaloClustersSuppESD}"
]
30
toESD += [
31
f
"xAOD::CaloClusterContainer#{outFlags.EgammaLargeClusters}"
,
32
f
"xAOD::CaloClusterAuxContainer#{outFlags.EgammaLargeClusters}"
33
f
"Aux.{outFlags.EgammaLargeClustersSuppESD}"
]
34
toESD += [
35
f
"CaloClusterCellLinkContainer#{outFlags.CaloClusters}"
36
"_links"
]
37
toESD += [
38
f
"CaloClusterCellLinkContainer#{outFlags.EgammaLargeClusters}"
39
"_links"
]
40
41
toAOD += [
42
f
"xAOD::ElectronContainer#{outFlags.Electrons}"
,
43
f
"xAOD::ElectronAuxContainer#{outFlags.Electrons}"
44
f
"Aux.{outFlags.ElectronsSuppAOD}"
]
45
toAOD += [
46
f
"xAOD::PhotonContainer#{outFlags.Photons}"
,
47
f
"xAOD::PhotonAuxContainer#{outFlags.Photons}"
48
f
"Aux.{outFlags.PhotonsSuppAOD}"
]
49
toAOD += [
50
f
"xAOD::CaloClusterContainer#{outFlags.CaloClusters}"
,
51
f
"xAOD::CaloClusterAuxContainer#{outFlags.CaloClusters}"
52
f
"Aux.{outFlags.CaloClustersSuppAOD}"
]
53
toAOD += [
54
f
"CaloClusterCellLinkContainer#{outFlags.CaloClusters}_links"
]
55
56
if
flags.Egamma.doForward:
57
toESD += [
58
f
"xAOD::ElectronContainer#{outFlags.ForwardElectrons}"
,
59
f
"xAOD::ElectronAuxContainer#{outFlags.ForwardElectrons}"
60
f
"Aux.{outFlags.ForwardElectronsSuppESD}"
]
61
toESD += [
62
f
"xAOD::CaloClusterContainer#{outFlags.ForwardClusters}"
,
63
f
"xAOD::CaloClusterAuxContainer#{outFlags.ForwardClusters}"
64
f
"Aux.{outFlags.ForwardClustersSuppESD}"
]
65
toESD += [
66
f
"xAOD::CaloClusterContainer#{outFlags.EgammaLargeFWDClusters}"
,
67
f
"xAOD::CaloClusterAuxContainer#{outFlags.EgammaLargeFWDClusters}"
68
f
"Aux.{outFlags.EgammaLargeFWDClustersSuppESD}"
]
69
toESD += [
70
f
"CaloClusterCellLinkContainer#{outFlags.ForwardClusters}"
71
"_links"
]
72
toESD += [
73
f
"CaloClusterCellLinkContainer#{outFlags.EgammaLargeFWDClusters}"
74
"_links"
]
75
76
toAOD += [
77
f
"xAOD::ElectronContainer#{outFlags.ForwardElectrons}"
,
78
f
"xAOD::ElectronAuxContainer#{outFlags.ForwardElectrons}"
79
f
"Aux.{outFlags.ForwardElectronsSuppAOD}"
]
80
toAOD += [
81
f
"xAOD::CaloClusterContainer#{outFlags.ForwardClusters}"
,
82
f
"xAOD::CaloClusterAuxContainer#{outFlags.ForwardClusters}"
83
f
"Aux.{outFlags.ForwardClustersSuppAOD}"
]
84
toAOD += [
85
f
"CaloClusterCellLinkContainer#{outFlags.ForwardClusters}"
86
"_links"
]
87
88
if
flags.Egamma.doTracking:
89
toESD += [
90
f
"xAOD::TrackParticleContainer#{outFlags.GSFTrackParticles}"
,
91
f
"xAOD::TrackParticleAuxContainer#{outFlags.GSFTrackParticles}"
92
f
"Aux.{outFlags.GSFTrackParticlesSuppESD}"
]
93
toESD += [
94
f
"TrackCollection#{outFlags.GSFTracks}"
]
95
96
toAOD += [
97
f
"xAOD::TrackParticleContainer#{outFlags.GSFTrackParticles}"
,
98
f
"xAOD::TrackParticleAuxContainer#{outFlags.GSFTrackParticles}"
99
f
"Aux.{outFlags.GSFTrackParticlesSuppAOD}"
]
100
101
if
(flags.Tracking.writeExtendedSi_PRDInfo
or
102
flags.Tracking.writeExtendedTRT_PRDInfo):
103
extension =
"GSF_"
104
if
flags.Detector.GeometryITk:
105
toAOD += [
106
f
"xAOD::TrackStateValidationContainer#{extension}ITkPixel_MSOSs"
,
107
f
"xAOD::TrackStateValidationAuxContainer#{extension}ITkPixel_MSOSsAux."
,
108
f
"xAOD::TrackStateValidationContainer#{extension}ITkStrip_MSOSs"
,
109
f
"xAOD::TrackStateValidationAuxContainer#{extension}ITkStrip_MSOSsAux."
110
]
111
else
:
112
toAOD += [
113
f
"xAOD::TrackStateValidationContainer#{extension}Pixel_MSOSs"
,
114
f
"xAOD::TrackStateValidationAuxContainer#{extension}Pixel_MSOSsAux."
,
115
f
"xAOD::TrackStateValidationContainer#{extension}SCT_MSOSs"
,
116
f
"xAOD::TrackStateValidationAuxContainer#{extension}SCT_MSOSsAux."
,
117
f
"xAOD::TrackStateValidationContainer#{extension}TRT_MSOSs"
,
118
f
"xAOD::TrackStateValidationAuxContainer#{extension}TRT_MSOSsAux."
119
]
120
121
if
flags.Egamma.doConversionBuilding:
122
toESD += [
123
f
"xAOD::VertexContainer#{outFlags.ConversionVertices}"
,
124
f
"xAOD::VertexAuxContainer#{outFlags.ConversionVertices}"
125
f
"Aux.{outFlags.ConversionVerticesSuppESD}"
]
126
127
toAOD += [
128
f
"xAOD::VertexContainer#{outFlags.ConversionVertices}"
,
129
f
"xAOD::VertexAuxContainer#{outFlags.ConversionVertices}"
130
f
"Aux.{outFlags.ConversionVerticesSuppAOD}"
]
131
132
if
flags.Egamma.doTruthAssociation:
133
toESD += [
134
f
"xAOD::TruthParticleContainer#{outFlags.TruthParticles}"
,
135
f
"xAOD::TruthParticleAuxContainer#{outFlags.TruthParticles}"
136
f
"Aux.{outFlags.TruthParticlesSuppESD}"
]
137
138
toAOD += [f
"xAOD::TruthParticleContainer#{outFlags.TruthParticles}"
,
139
f
"xAOD::TruthParticleAuxContainer#{outFlags.TruthParticles}"
140
f
"Aux.{outFlags.TruthParticlesSuppAOD}"
]
141
142
if
flags.Output.doWriteESD:
143
from
OutputStreamAthenaPool.OutputStreamConfig
import
addToESD
144
acc.merge(addToESD(flags, toESD))
145
146
if
flags.Output.doWriteAOD:
147
from
OutputStreamAthenaPool.OutputStreamConfig
import
addToAOD
148
acc.merge(addToAOD(flags, toAOD))
149
150
return
acc
python.egammaOutputConfig.egammaOutputCfg
egammaOutputCfg(flags, name="EGOutputList")
Definition
egammaOutputConfig.py:9
Generated on
for ATLAS Offline Software by
1.17.0