6def createEgammaConfigFlags():
7 egcf = AthConfigFlags()
8
9
10 egcf.addFlag("Egamma.doCentral",
11 lambda prevFlags: prevFlags.Detector.EnableCalo)
12
13 egcf.addFlag("Egamma.doForward",
14 lambda prevFlags: prevFlags.Detector.EnableCalo
15 and prevFlags.Reco.HIMode is not HIMode.HI)
16
17
18 egcf.addFlag("Egamma.doForwardCalib",False)
19
20
21 egcf.addFlag("Egamma.doTracking",
22 lambda prevFlags: (
23 prevFlags.Detector.EnableID
24 or prevFlags.Detector.EnableITk)
25 and prevFlags.Detector.EnableCalo)
26
27
28 egcf.addFlag("Egamma.doConversionBuilding",
29 lambda prevFlags: prevFlags.Egamma.doTracking)
30
31 from egammaConfig.egammaPhotonConvFlags import (
32 createEGammaPhotonConvFlags)
33 egcf.addFlagsCategory("Egamma.PhotonConv",
34 createEGammaPhotonConvFlags, prefix=True)
35
36
37 egcf.addFlag("Egamma.doTruthAssociation",
38 lambda prevFlags: prevFlags.Input.isMC or
39 prevFlags.Overlay.DataOverlay)
40
41
42 egcf.addFlag("Egamma.doTrackThinning",
43 lambda prevFlags: prevFlags.Output.doWriteAOD and
44 prevFlags.Egamma.doTracking)
45
46
47
48 egcf.addFlag("Egamma.keepCaloCellsAOD",
49 lambda prevFlags: prevFlags.Egamma.doCentral or
50 prevFlags.Egamma.doForward)
51
52 egcf.addFlag("Egamma.slimGSFTrkTracks",
53 lambda prevFlags: prevFlags.Egamma.doTracking)
54
55
56 egcf.addFlag("Egamma.doLowMu",
57 lambda prevFlags: prevFlags.Reco.HIMode is HIMode.UPC)
58
59
60 egcf.addFlag("Egamma.Calib.ClusterCorrectionVersion",
61 'v12phiflip_noecorrnogap')
62 egcf.addFlag("Egamma.Calib.SuperClusterCorrectionVersion",
63 'v12phiflip_supercluster')
64 egcf.addFlag("Egamma.Calib.MVAVersion", 'egammaMVACalib/offline/v7')
65 egcf.addFlag("Egamma.Calib.TransformerVersion", 'egammaMVACalib/offline/v11/')
66
67
68 egcf.addFlag("Egamma.Keys.Input.CaloCells",
69 lambda prevFlags: prevFlags.HeavyIon.Egamma.SubtractedCells
70 if prevFlags.HeavyIon.Egamma.doSubtractedClusters
71 else 'AllCalo')
72 egcf.addFlag("Egamma.Keys.Input.TopoClusters",
73 lambda prevFlags: prevFlags.HeavyIon.Egamma.UncalibCaloTopoCluster
74 if prevFlags.HeavyIon.Egamma.doSubtractedClusters
75 else 'CaloTopoClusters')
76 egcf.addFlag("Egamma.Keys.Input.TruthParticles", 'TruthParticles')
77 egcf.addFlag("Egamma.Keys.Input.TruthEvents", 'TruthEvents')
78 egcf.addFlag("Egamma.Keys.Input.TrackParticles", 'InDetTrackParticles')
79
80
81 egcf.addFlag("Egamma.Keys.Internal.EgammaTopoClusters",
82 lambda prevFlags: prevFlags.HeavyIon.Egamma.EgammaTopoCluster
83 if prevFlags.HeavyIon.Egamma.doSubtractedClusters
84 else 'egammaTopoClusters')
85 egcf.addFlag("Egamma.Keys.Internal.ForwardTopoClusters",
86 lambda prevFlags: (
87 prevFlags.Egamma.Keys.Internal.EgammaTopoClusters + 'Fwd'))
88 egcf.addFlag("Egamma.Keys.Internal.EgammaRecs", 'egammaRecCollection')
89 egcf.addFlag("Egamma.Keys.Internal.PhotonSuperRecs",
90 'PhotonSuperRecCollection')
91 egcf.addFlag("Egamma.Keys.Internal.ElectronSuperRecs",
92 'ElectronSuperRecCollection')
93 egcf.addFlag("Egamma.Keys.Internal.PhotonSuperClusters",
94 'PhotonSuperClusters')
95 egcf.addFlag("Egamma.Keys.Internal.ElectronSuperClusters",
96 'ElectronSuperClusters')
97
98 egcf.addFlag("Egamma.Keys.Output.ConversionVertices",
99 'GSFConversionVertices')
100 egcf.addFlag("Egamma.Keys.Output.ConversionVerticesSuppESD",
101 '-vxTrackAtVertex')
102 egcf.addFlag("Egamma.Keys.Output.ConversionVerticesSuppAOD",
103 lambda prevFlags: (
104 prevFlags.Egamma.Keys.Output.ConversionVerticesSuppESD))
105
106 egcf.addFlag("Egamma.Keys.Output.CaloClusters", 'egammaClusters')
107 egcf.addFlag("Egamma.Keys.Output.CaloClustersSuppESD", '')
108 egcf.addFlag("Egamma.Keys.Output.CaloClustersSuppAOD", '')
109 egcf.addFlag("Egamma.Keys.Output.EgammaSuppAOD",
110 '-e033.-e011.-e333.-e335.-e337.-e377.'
111 '-isEMLoose.-isEMTight')
112
113
114
115
116
117 egcf.addFlag("Egamma.Keys.Output.EgammaSuppESD",
118 '-ptconeCorrBitset.-ptconecoreTrackPtrCorrection.'
119 '-topoetconeCorrBitset.'
120 '-chargedGlobalFELinks.-neutralGlobalFELinks')
121
122 egcf.addFlag("Egamma.Keys.Output.Electrons", 'Electrons')
123 egcf.addFlag("Egamma.Keys.Output.ElectronsSuppESD",
124 lambda prevFlags: (prevFlags.Egamma.Keys.Output.EgammaSuppESD))
125 egcf.addFlag("Egamma.Keys.Output.ElectronsSuppAOD",
126 lambda prevFlags: (
127 prevFlags.Egamma.Keys.Output.ElectronsSuppESD + '.' +
128 prevFlags.Egamma.Keys.Output.EgammaSuppAOD + '.'
129 "-isEMLHLoose.-isEMLHTight.-isEMLHMedium.-isEMMedium"))
130
131 egcf.addFlag("Egamma.Keys.Output.ForwardElectrons", 'ForwardElectrons')
132 egcf.addFlag("Egamma.Keys.Output.ForwardElectronsSuppESD", '')
133 egcf.addFlag("Egamma.Keys.Output.ForwardElectronsSuppAOD",
134 lambda prevFlags: (
135 prevFlags.Egamma.Keys.Output.ForwardElectronsSuppESD +
136 '-isEMTight.-isEMMedium.-isEMLoose'))
137
138 egcf.addFlag("Egamma.Keys.Output.ForwardClusters",
139 'ForwardElectronClusters')
140 egcf.addFlag("Egamma.Keys.Output.ForwardClustersSuppESD", '-SisterCluster.-sigmaWidth')
141 egcf.addFlag("Egamma.Keys.Output.ForwardClustersSuppAOD",
142 lambda prevFlags: (
143 prevFlags.Egamma.Keys.Output.ForwardClustersSuppESD))
144
145 egcf.addFlag("Egamma.Keys.Output.Photons", 'Photons')
146 egcf.addFlag("Egamma.Keys.Output.PhotonsSuppESD",
147 lambda prevFlags: (
148 prevFlags.Egamma.Keys.Output.EgammaSuppESD +
149 '.-ptvarcone20.-ptvarcone30'))
150 egcf.addFlag("Egamma.Keys.Output.PhotonsSuppAOD",
151 lambda prevFlags: (
152 prevFlags.Egamma.Keys.Output.PhotonsSuppESD + '.' +
153 prevFlags.Egamma.Keys.Output.EgammaSuppAOD))
154
155 egcf.addFlag("Egamma.Keys.Output.GSFTrackParticles", 'GSFTrackParticles')
156 egcf.addFlag("Egamma.Keys.Output.FwdGSFTrackParticles",
157 lambda prevFlags: (
158 prevFlags.Egamma.Keys.Output.GSFTrackParticles + 'Fwd'))
159 egcf.addFlag("Egamma.Keys.Output.GSFTrackParticlesSuppESD", '')
160 egcf.addFlag("Egamma.Keys.Output.GSFTrackParticlesSuppAOD",
161 lambda prevFlags: (
162 prevFlags.Egamma.Keys.Output.GSFTrackParticlesSuppESD))
163
164 egcf.addFlag("Egamma.Keys.Output.TruthParticles", 'egammaTruthParticles')
165 egcf.addFlag("Egamma.Keys.Output.TruthParticlesSuppESD", '')
166 egcf.addFlag("Egamma.Keys.Output.TruthParticlesSuppAOD",
167 lambda prevFlags: (
168 prevFlags.Egamma.Keys.Output.TruthParticlesSuppESD))
169
170
171 egcf.addFlag("Egamma.Keys.Output.GSFTracks", 'GSFTracks')
172 egcf.addFlag("Egamma.Keys.Output.FwdGSFTracks",
173 lambda prevFlags: (
174 prevFlags.Egamma.Keys.Output.GSFTracks + 'Fwd'))
175
176
177
178 egcf.addFlag("Egamma.Keys.Output.EgammaLargeClusters", 'egamma711Clusters')
179 egcf.addFlag("Egamma.Keys.Output.EgammaLargeClustersSuppESD", '')
180
181 egcf.addFlag("Egamma.Keys.Output.EgammaLargeFWDClusters",
182 'egamma66FWDClusters')
183 egcf.addFlag("Egamma.Keys.Output.EgammaLargeFWDClustersSuppESD", '')
184
185 egcf.addFlag("Egamma.Keys.Output.TrkPartContainerName",
186 'egammaSelectedTrackParticles')
187
188 egcf.addFlag("Egamma.Keys.Output.FwdTrkPartContainerName",
189 lambda prevFlags: (
190 prevFlags.Egamma.Keys.Output.TrkPartContainerName + 'Fwd'))
191
192 return egcf
193
194