ATLAS Offline Software
D3PDMakerFlags.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 #
4 # @file D3PDMakerConfig/python/D3PDMakerFlags.py
5 # @author scott snyder <snyder@bnl.gov>
6 # @date Aug, 2009
7 # @brief Configuration flags for D3PD making.
8 #
9 
10 from AthenaConfiguration.AllConfigFlags import initConfigFlags
11 
12 
13 configFlags = initConfigFlags()
14 configFlags.addFlag ('D3PD.DoTruth', lambda f: f.Input.isMC)
15 D3PDMakerFlags = configFlags.D3PD
16 
17 
18 def _string_prop (p, v):
19  configFlags.addFlag ('D3PD.' + p, v)
20  return
21 
22 
23 
26 
27 _string_prop ('EventInfoSGKey', 'EventInfo')
28 _string_prop ('ElectronSGKey', 'AllElectrons')
29 _string_prop ('GSFTrackAssocSGKey', 'GSFTrackAssociation')
30 _string_prop ('PhotonSGKey', 'Photons,PhotonCollection')
31 _string_prop ('MuonSGKey', 'Muons')
32 _string_prop ('JetSGKey', 'AntiKt4EMTopoJets,' +
33  'AntiKt4TopoEMJets,' +
34  'AntiKt4LCTopoJets,' +
35  'AntiKt4TopoAODJets,' +
36  'AntiKt4H1TopoJets,' +
37  'AntiKt4H1TopoAODJets,' +
38  'Cone4H1TopoJets,' +
39  'Cone4H1TopoAODJets')
40 _string_prop ('TruthJetSGKey', 'AntiKt4H1TruthJets,' +
41  #'Cone4TruthJets,' +
42  'AntiKt4TruthJets')
43 _string_prop ('MissingETSGKey', 'MET_Reference_AntiKt4EMTopo,MET_RefFinal')
44 _string_prop ('TauSGKey', 'TauRecContainer')
45 _string_prop ('CellsSGKey', 'AllCalo')
46 _string_prop ('ClusterSGKey', 'CaloCalTopoClusters,CaloCalTopoCluster')
47 _string_prop ('EMTopoClusterSGKey', 'EMTopoCluster430,' +
48  'EMTopoSW35' )
49 _string_prop ('TrackSGKey', 'TrackParticleCandidate')
50 _string_prop ('VertexSGKey', 'PrimaryVertices')
51 _string_prop ('MBTSSGKey', 'MBTSContainer')
52 _string_prop ('TruthSGKey', 'TruthParticles')
53 _string_prop ('TruthParticlesSGKey', 'TruthParticles')
54 _string_prop ('TruthEventSGKey', 'TruthEvents')
55 _string_prop ('RawClustersSGKeySuffix', '_D3PDRawClusters')
56 _string_prop ('RawClustersAssocSGKeySuffix', '_D3PDRawClustersAssoc')
57 _string_prop ('LArCollisionTimeSGKey', 'LArCollisionTime')
58 
59 
60 
61 _string_prop ('OutputFile', 'd3pd.root')
62 
63 
66 
67 _string_prop ('egammaL1TrigPattern', 'L1_2?EM.*')
68 _string_prop ('ElectronL2TrigPattern', 'L2_2?e.*|L2_L1ItemStreamer_L1_2?EM.*|L2_SeededStreamerL1Calo|L2_SeededStreamerL1CaloEM')
69 _string_prop ('PhotonL2TrigPattern', 'L2_2?g.*|L2_L1ItemStreamer_L1_2?EM.*|L2_SeededStreamerL1Calo|L2_SeededStreamerL1CaloEM')
70 _string_prop ('ElectronEFTrigPattern', 'EF_2?e.*|EF_L1ItemStreamer_L1_EM.*|EF_SeededStreamerL1Calo|EF_SeededStreamerL1CaloEM')
71 _string_prop ('PhotonEFTrigPattern', 'EF_2?g.*|EF_L1ItemStreamer_L1_EM.*|EF_SeededStreamerL1Calo|EF_SeededStreamerL1CaloEM')
72 
73 _string_prop ('MuonL1TrigPattern', 'L1_2?MU.*')
74 _string_prop ('MuonL2TrigPattern', 'L2_2?mu.*|L2_L1ItemStreamer_L1_2?MU.*')
75 _string_prop ('MuonEFTrigPattern', 'EF_2?mu.*|EF_L1ItemStreamer_L1_2?MU.*')
76 
77 
78 
81 
82 configFlags.addFlag ('D3PD.Muons.doSingleMuons', False)
83 configFlags.addFlag ('D3PD.Muons.doNewChainOnly', True)
84 configFlags.addFlag ('D3PD.Muons.doSegmentTruth', False)
85 
86 
87 
90 
91 # General flags
92 
93 configFlags.addFlag ('D3PD.Track.doTruth', True,
94  help = """Turn on filling of truth branches.""")
95 
96 configFlags.addFlag ('D3PD.Track.storeDiagonalCovarianceAsErrors', False,
97  help = """store diagonal covariance matrix elements as errors ( err[i] = sqrt(cov[i][i]) )""")
98 
99 # TrackD3PDObject flags
100 
101 configFlags.addFlag ('D3PD.Track.storeHitTruthMatching', True,
102  help = """Turn on filling of hit truth matching branches""")
103 
104 configFlags.addFlag ('D3PD.Track.storeDetailedTruth', False,
105  help = """Turn on filling of detailed truth branches""")
106 
107 configFlags.addFlag ('D3PD.Track.trackParametersAtGlobalPerigeeLevelOfDetails', 0,
108  help = """ Set level of details for track parameter at global perigee branches
109  0: Don't store
110  1: Store parameters only
111  2: Store diagonal elements of the covariance matrix
112  3: Store off diagonal elements of the covariance matrix
113  """)
114 
115 configFlags.addFlag ('D3PD.Track.trackParametersAtPrimaryVertexLevelOfDetails', 2,
116  help = """ Set level of details for track parameter at primary vertex branches
117  0: Don't store
118  1: Store parameters only
119  2: Store diagonal elements of the covariance matrix
120  3: Store off diagonal elements of the covariance matrix
121  """)
122 
123 configFlags.addFlag ('D3PD.Track.trackParametersAtBeamSpotLevelOfDetails', 3,
124  help = """ Set level of details for track parameter at beam spot branches
125  0: Don't store
126  1: Store parameters only
127  2: Store diagonal elements of the covariance matrix
128  3: Store off diagonal elements of the covariance matrix
129  """)
130 
131 configFlags.addFlag ('D3PD.Track.trackParametersAtBeamLineLevelOfDetails', 3,
132  help = """ Set level of details for track parameter at beam spot branches
133  0: Don't store
134  1: Store parameters only
135  2: Store diagonal elements of the covariance matrix
136  3: Store off diagonal elements of the covariance matrix
137  """)
138 
139 configFlags.addFlag ('D3PD.Track.storeTrackParametersAtCalo', False,
140  help = """ Turn on filling of track parameters at Calo """)
141 
142 configFlags.addFlag ('D3PD.Track.storeTrackParametersAtCalo2ndLayer', False,
143  help = """ Turn on filling of track parameters at Calo 2ndLayer """)
144 
145 configFlags.addFlag ('D3PD.Track.storeTrackUnbiasedIPAtPV', False,
146  help = """ Turn on filling of track unbiased impact parameters at primary vertex branches """)
147 
148 configFlags.addFlag ('D3PD.Track.storeTrackMomentum', True,
149  help = """ Turn on filling of track momentum branches """)
150 
151 configFlags.addFlag ('D3PD.Track.storeTrackInfo', True,
152  help = """ Turn on filling of track info (fitter and pattern reco info) branches """)
153 
154 configFlags.addFlag ('D3PD.Track.storeTrackFitQuality', True,
155  help = """ Turn on filling of track fit quality (chi2 and ndof) branches """)
156 
157 configFlags.addFlag ('D3PD.Track.storeTrackSummary', True,
158  help = """ Turn on filling of track summary branches """)
159 
160 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.FullInfo', False)
161 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.IDHits', True)
162 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.IDHoles', True)
163 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.IDSharedHits', True)
164 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.IDOutliers', False)
165 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.PixelInfoPlus', False)
166 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.SCTInfoPlus', False)
167 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.TRTInfoPlus', False)
168 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.InfoPlus', False)
169 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.MuonHits', True)
170 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.DBMHits', False)
171 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.ExpectBLayer', True)
172 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.HitSum', True)
173 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.HoleSum', True)
174 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.PixeldEdx', False)
175 configFlags.addFlag ('D3PD.Track.storeTrackSummaryFlags.ElectronPID', False)
176 
177 configFlags.addFlag ('D3PD.Track.storePullsAndResiduals', False,
178  help = """ Turn on filling of pulls and residuals of hits and outliers on track branches """)
179 
180 configFlags.addFlag ('D3PD.Track.storeBLayerHitsOnTrack', False,
181  help = """ Turn on filling of Pixel hits on track branches """)
182 
183 configFlags.addFlag ('D3PD.Track.storePixelHitsOnTrack', False,
184  help = """ Turn on filling of Pixel hits on track branches """)
185 
186 configFlags.addFlag ('D3PD.Track.storeSCTHitsOnTrack', False,
187  help = """ Turn on filling of SCT hits on track branches """)
188 
189 configFlags.addFlag ('D3PD.Track.storeTRTHitsOnTrack', False,
190  help = """ Turn on filling of TRT hits on track branches """)
191 
192 configFlags.addFlag ('D3PD.Track.storeMDTHitsOnTrack', False,
193  help = """ Turn on filling of MDT hits on track branches """)
194 
195 configFlags.addFlag ('D3PD.Track.storeCSCHitsOnTrack', False,
196  help = """ Turn on filling of CSC hits on track branches """)
197 
198 configFlags.addFlag ('D3PD.Track.storeRPCHitsOnTrack', False,
199  help = """ Turn on filling of TRT hits on track branches """)
200 
201 configFlags.addFlag ('D3PD.Track.storeTGCHitsOnTrack', False,
202  help = """ Turn on filling of TGC hits on track branches """)
203 
204 configFlags.addFlag ('D3PD.Track.storeBLayerOutliersOnTrack', False,
205  help = """ Turn on filling of Pixel outliers on track branches """)
206 
207 configFlags.addFlag ('D3PD.Track.storePixelOutliersOnTrack', False,
208  help = """ Turn on filling of Pixel outliers on track branches """)
209 
210 configFlags.addFlag ('D3PD.Track.storeSCTOutliersOnTrack', False,
211  help = """ Turn on filling of SCT outliers on track branches """)
212 
213 configFlags.addFlag ('D3PD.Track.storeTRTOutliersOnTrack', False,
214  help = """ Turn on filling of TRT outliers on track branches """)
215 
216 configFlags.addFlag ('D3PD.Track.storeMDTOutliersOnTrack', False,
217  help = """ Turn on filling of MDT outliers on track branches """)
218 
219 configFlags.addFlag ('D3PD.Track.storeCSCOutliersOnTrack', False,
220  help = """ Turn on filling of CSC outliers on track branches """)
221 
222 configFlags.addFlag ('D3PD.Track.storeRPCOutliersOnTrack', False,
223  help = """ Turn on filling of RPC outliers on track branches """)
224 
225 configFlags.addFlag ('D3PD.Track.storeTGCOutliersOnTrack', False,
226  help = """ Turn on filling of TGC outliers on track branches """)
227 
228 configFlags.addFlag ('D3PD.Track.storeBLayerHolesOnTrack', False,
229  help = """ Turn on filling of Pixel holes on track branches """)
230 
231 configFlags.addFlag ('D3PD.Track.storePixelHolesOnTrack', False,
232  help = """ Turn on filling of Pixel holes on track branches """)
233 
234 configFlags.addFlag ('D3PD.Track.storeSCTHolesOnTrack', False,
235  help = """ Turn on filling of SCT holes on track branches """)
236 
237 configFlags.addFlag ('D3PD.Track.storeTRTHolesOnTrack', False,
238  help = """ Turn on filling of TRT holes on track branches """)
239 
240 configFlags.addFlag ('D3PD.Track.storeMDTHolesOnTrack', False,
241  help = """ Turn on filling of MDT holes on track branches """)
242 
243 configFlags.addFlag ('D3PD.Track.storeCSCHolesOnTrack', False,
244  help = """ Turn on filling of CSC holes on track branches """)
245 
246 configFlags.addFlag ('D3PD.Track.storeRPCHolesOnTrack', False,
247  help = """ Turn on filling of RPC holes on track branches """)
248 
249 configFlags.addFlag ('D3PD.Track.storeTGCHolesOnTrack', False,
250  help = """ Turn on filling of TGC holes on track branches """)
251 
252 configFlags.addFlag ('D3PD.Track.storeVertexAssociation', False,
253  help = """ Turn on filling of track to vertex association """)
254 
255 configFlags.addFlag ('D3PD.Track.storeTrackPredictionAtBLayer', True,
256  help = """ Turn on filling of track prediction at the B-Layer branches """)
257 
258 configFlags.addFlag ('D3PD.Track.storeTruthInfo', False,
259  help = """ Turn on filling truth perigee and classification information. """)
260 
261 # VertexD3PDObject flags
262 
263 configFlags.addFlag ('D3PD.Track.vertexPositionLevelOfDetails', 3,
264  help = """ Set level of details for vertex vertex position branches
265  0: Don't store
266  1: Store position only
267  2: Store diagonal elements of the covariance matrix
268  3: Store off diagonal elements of the covariance matrix
269  """)
270 
271 configFlags.addFlag ('D3PD.Track.storeVertexType', True,
272  help = """ Turn on filling of vertex type as defined here
273  https://svnweb.cern.ch/trac/atlasoff/browser/Tracking/TrkEvent/TrkEventPrimitives/trunk/TrkEventPrimitives/VertexType.h
274  """)
275 
276 configFlags.addFlag ('D3PD.Track.storeVertexFitQuality', True,
277  help = """ Turn on filling of vertex fit quality (chi2 and ndof) branches """)
278 
279 configFlags.addFlag ('D3PD.Track.storeVertexKinematics', True,
280  help = """ Turn on filling of vertex kinematics (sumPT, ...) branches """)
281 
282 configFlags.addFlag ('D3PD.Track.storeVertexPurity', False,
283  help = """ Turn on filling of vertex purity (truth matching) branches """)
284 
285 configFlags.addFlag ('D3PD.Track.storeVertexTrackAssociation', False,
286  help = """ Turn on filling of vertex track association branches """)
287 
288 configFlags.addFlag ('D3PD.Track.storeVertexTrackIndexAssociation', True,
289  help = """ Turn on filling of vertex track index association branches """)
290 
291 
292 
293 
294 
295 
296 configFlags.addFlag ('D3PD.AutoFlush', -30000000, None,
297  """Value to set for ROOT's AutoFlush parameter.
298 (For ROOT trees only; tells how often the tree baskets will be flushed.)
299 0 disables flushing.
300 -1 makes no changes to what THistSvc did.
301 Any other negative number gives the number of bytes after which to flush.
302 A positive number gives the number of entries after which to flush.""")
303 
304 
305 configFlags.addFlag ('D3PD.HaveEgammaUserData', False, None,
306  'If true, access results of egamma analysis stored in UserData.')
307 
308 
309 configFlags.addFlag ('D3PD.MakeEgammaUserData', True, None,
310  'If true, run egamma analysis to make UserData if not already done.')
311 
312 
313 configFlags.addFlag ('D3PD.EgammaUserDataPrefix', 'egammaD3PDAnalysis_', None,
314  'Prefix to use for UserData labels for egamma.')
315 
316 
317 configFlags.addFlag ('D3PD.TruthDoPileup', False, None,
318  'Set to true to include pileup in truth information.')
319 
320 
321 configFlags.addFlag ('D3PD.TruthWriteExtraJets', False, None,
322  'Set to true to include additional truth jet collections.')
323 
324 
325 configFlags.addFlag ('D3PD.PreD3PDAlgSeqName', 'PreD3PDAlgorithms', None,
326  'Sequence of algorithms to run before the D3PD maker.')
327 
328 
329 configFlags.addFlag ('D3PD.FilterAlgSeqSuffix', '_FilterAlgorithms', None,
330  """Suffix for a sequence of algorithms to filter D3PD making.
331 
332 The sequence name is formed by adding this string to the name of the
333 D3PD making algorithm. If any of the algorithms in this sequence fail
334 their filter decision, then no D3PD entry will be made for this event.
335 
336 The filter sequence may also be referenced by the filterSeq property
337 of the D3PD algorithm.
338 """)
339 
340 
341 configFlags.addFlag ('D3PD.SaveObjectMetadata', True, None,
342  'Control whether metadata about the D3PDObjects should be saved.')
343 
344 
345 configFlags.addFlag ('D3PD.CompressionLevel', 6, None,
346  'Controls the compression level of the ROOT file produced.')
python.D3PDMakerFlags._string_prop
def _string_prop(p, v)
Definition: D3PDMakerFlags.py:18
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19