10from AthenaConfiguration.AllConfigFlags
import initConfigFlags
13configFlags = initConfigFlags()
14configFlags.addFlag (
'D3PD.DoTruth',
lambda f: f.Input.isMC)
15D3PDMakerFlags = configFlags.D3PD
19 configFlags.addFlag (
'D3PD.' + p, v)
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',
'AntiKt4EMPFlowJets')
33_string_prop (
'TruthJetSGKey',
'AntiKt4H1TruthJets,' +
36_string_prop (
'MissingETSGKey',
'MET_Reference_AntiKt4EMTopo,MET_RefFinal')
37_string_prop (
'TauSGKey',
'TauRecContainer')
38_string_prop (
'CellsSGKey',
'AllCalo')
39_string_prop (
'ClusterSGKey',
'CaloCalTopoClusters,CaloCalTopoCluster')
40_string_prop (
'EMTopoClusterSGKey',
'EMTopoCluster430,' +
42_string_prop (
'TrackSGKey',
'TrackParticleCandidate')
43_string_prop (
'VertexSGKey',
'PrimaryVertices')
44_string_prop (
'MBTSSGKey',
'MBTSContainer')
45_string_prop (
'TruthSGKey',
'TruthParticles')
46_string_prop (
'TruthParticlesSGKey',
'TruthParticles')
47_string_prop (
'TruthEventSGKey',
'TruthEvents')
48_string_prop (
'RawClustersSGKeySuffix',
'_D3PDRawClusters')
49_string_prop (
'RawClustersAssocSGKeySuffix',
'_D3PDRawClustersAssoc')
50_string_prop (
'LArCollisionTimeSGKey',
'LArCollisionTime')
54_string_prop (
'OutputFile',
'd3pd.root')
60_string_prop (
'egammaL1TrigPattern',
'L1_2?EM.*')
61_string_prop (
'ElectronL2TrigPattern',
'L2_2?e.*|L2_L1ItemStreamer_L1_2?EM.*|L2_SeededStreamerL1Calo|L2_SeededStreamerL1CaloEM')
62_string_prop (
'PhotonL2TrigPattern',
'L2_2?g.*|L2_L1ItemStreamer_L1_2?EM.*|L2_SeededStreamerL1Calo|L2_SeededStreamerL1CaloEM')
63_string_prop (
'ElectronEFTrigPattern',
'EF_2?e.*|EF_L1ItemStreamer_L1_EM.*|EF_SeededStreamerL1Calo|EF_SeededStreamerL1CaloEM')
64_string_prop (
'PhotonEFTrigPattern',
'EF_2?g.*|EF_L1ItemStreamer_L1_EM.*|EF_SeededStreamerL1Calo|EF_SeededStreamerL1CaloEM')
66_string_prop (
'MuonL1TrigPattern',
'L1_2?MU.*')
67_string_prop (
'MuonL2TrigPattern',
'L2_2?mu.*|L2_L1ItemStreamer_L1_2?MU.*')
68_string_prop (
'MuonEFTrigPattern',
'EF_2?mu.*|EF_L1ItemStreamer_L1_2?MU.*')
75configFlags.addFlag (
'D3PD.Muons.doSingleMuons',
False)
76configFlags.addFlag (
'D3PD.Muons.doNewChainOnly',
True)
77configFlags.addFlag (
'D3PD.Muons.doSegmentTruth',
False)
86configFlags.addFlag (
'D3PD.Track.doTruth',
True,
87 help =
"""Turn on filling of truth branches.""")
89configFlags.addFlag (
'D3PD.Track.storeDiagonalCovarianceAsErrors',
False,
90 help =
"""store diagonal covariance matrix elements as errors ( err[i] = sqrt(cov[i][i]) )""")
94configFlags.addFlag (
'D3PD.Track.storeHitTruthMatching',
True,
95 help =
"""Turn on filling of hit truth matching branches""")
97configFlags.addFlag (
'D3PD.Track.storeDetailedTruth',
False,
98 help =
"""Turn on filling of detailed truth branches""")
100configFlags.addFlag (
'D3PD.Track.trackParametersAtGlobalPerigeeLevelOfDetails', 0,
101 help =
""" Set level of details for track parameter at global perigee branches
103 1: Store parameters only
104 2: Store diagonal elements of the covariance matrix
105 3: Store off diagonal elements of the covariance matrix
108configFlags.addFlag (
'D3PD.Track.trackParametersAtPrimaryVertexLevelOfDetails', 2,
109 help =
""" Set level of details for track parameter at primary vertex branches
111 1: Store parameters only
112 2: Store diagonal elements of the covariance matrix
113 3: Store off diagonal elements of the covariance matrix
116configFlags.addFlag (
'D3PD.Track.trackParametersAtBeamSpotLevelOfDetails', 3,
117 help =
""" Set level of details for track parameter at beam spot branches
119 1: Store parameters only
120 2: Store diagonal elements of the covariance matrix
121 3: Store off diagonal elements of the covariance matrix
124configFlags.addFlag (
'D3PD.Track.trackParametersAtBeamLineLevelOfDetails', 3,
125 help =
""" Set level of details for track parameter at beam spot branches
127 1: Store parameters only
128 2: Store diagonal elements of the covariance matrix
129 3: Store off diagonal elements of the covariance matrix
132configFlags.addFlag (
'D3PD.Track.storeTrackParametersAtCalo',
False,
133 help =
""" Turn on filling of track parameters at Calo """)
135configFlags.addFlag (
'D3PD.Track.storeTrackParametersAtCalo2ndLayer',
False,
136 help =
""" Turn on filling of track parameters at Calo 2ndLayer """)
138configFlags.addFlag (
'D3PD.Track.storeTrackUnbiasedIPAtPV',
False,
139 help =
""" Turn on filling of track unbiased impact parameters at primary vertex branches """)
141configFlags.addFlag (
'D3PD.Track.storeTrackMomentum',
True,
142 help =
""" Turn on filling of track momentum branches """)
144configFlags.addFlag (
'D3PD.Track.storeTrackInfo',
True,
145 help =
""" Turn on filling of track info (fitter and pattern reco info) branches """)
147configFlags.addFlag (
'D3PD.Track.storeTrackFitQuality',
True,
148 help =
""" Turn on filling of track fit quality (chi2 and ndof) branches """)
150configFlags.addFlag (
'D3PD.Track.storeTrackSummary',
True,
151 help =
""" Turn on filling of track summary branches """)
153configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.FullInfo',
False)
154configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.IDHits',
True)
155configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.IDHoles',
True)
156configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.IDSharedHits',
True)
157configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.IDOutliers',
False)
158configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.PixelInfoPlus',
False)
159configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.SCTInfoPlus',
False)
160configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.TRTInfoPlus',
False)
161configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.InfoPlus',
False)
162configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.MuonHits',
True)
163configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.DBMHits',
False)
164configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.ExpectBLayer',
True)
165configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.HitSum',
True)
166configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.HoleSum',
True)
167configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.PixeldEdx',
False)
168configFlags.addFlag (
'D3PD.Track.storeTrackSummaryFlags.ElectronPID',
False)
170configFlags.addFlag (
'D3PD.Track.storePullsAndResiduals',
False,
171 help =
""" Turn on filling of pulls and residuals of hits and outliers on track branches """)
173configFlags.addFlag (
'D3PD.Track.storeBLayerHitsOnTrack',
False,
174 help =
""" Turn on filling of Pixel hits on track branches """)
176configFlags.addFlag (
'D3PD.Track.storePixelHitsOnTrack',
False,
177 help =
""" Turn on filling of Pixel hits on track branches """)
179configFlags.addFlag (
'D3PD.Track.storeSCTHitsOnTrack',
False,
180 help =
""" Turn on filling of SCT hits on track branches """)
182configFlags.addFlag (
'D3PD.Track.storeTRTHitsOnTrack',
False,
183 help =
""" Turn on filling of TRT hits on track branches """)
185configFlags.addFlag (
'D3PD.Track.storeMDTHitsOnTrack',
False,
186 help =
""" Turn on filling of MDT hits on track branches """)
188configFlags.addFlag (
'D3PD.Track.storeCSCHitsOnTrack',
False,
189 help =
""" Turn on filling of CSC hits on track branches """)
191configFlags.addFlag (
'D3PD.Track.storeRPCHitsOnTrack',
False,
192 help =
""" Turn on filling of TRT hits on track branches """)
194configFlags.addFlag (
'D3PD.Track.storeTGCHitsOnTrack',
False,
195 help =
""" Turn on filling of TGC hits on track branches """)
197configFlags.addFlag (
'D3PD.Track.storeBLayerOutliersOnTrack',
False,
198 help =
""" Turn on filling of Pixel outliers on track branches """)
200configFlags.addFlag (
'D3PD.Track.storePixelOutliersOnTrack',
False,
201 help =
""" Turn on filling of Pixel outliers on track branches """)
203configFlags.addFlag (
'D3PD.Track.storeSCTOutliersOnTrack',
False,
204 help =
""" Turn on filling of SCT outliers on track branches """)
206configFlags.addFlag (
'D3PD.Track.storeTRTOutliersOnTrack',
False,
207 help =
""" Turn on filling of TRT outliers on track branches """)
209configFlags.addFlag (
'D3PD.Track.storeMDTOutliersOnTrack',
False,
210 help =
""" Turn on filling of MDT outliers on track branches """)
212configFlags.addFlag (
'D3PD.Track.storeCSCOutliersOnTrack',
False,
213 help =
""" Turn on filling of CSC outliers on track branches """)
215configFlags.addFlag (
'D3PD.Track.storeRPCOutliersOnTrack',
False,
216 help =
""" Turn on filling of RPC outliers on track branches """)
218configFlags.addFlag (
'D3PD.Track.storeTGCOutliersOnTrack',
False,
219 help =
""" Turn on filling of TGC outliers on track branches """)
221configFlags.addFlag (
'D3PD.Track.storeBLayerHolesOnTrack',
False,
222 help =
""" Turn on filling of Pixel holes on track branches """)
224configFlags.addFlag (
'D3PD.Track.storePixelHolesOnTrack',
False,
225 help =
""" Turn on filling of Pixel holes on track branches """)
227configFlags.addFlag (
'D3PD.Track.storeSCTHolesOnTrack',
False,
228 help =
""" Turn on filling of SCT holes on track branches """)
230configFlags.addFlag (
'D3PD.Track.storeTRTHolesOnTrack',
False,
231 help =
""" Turn on filling of TRT holes on track branches """)
233configFlags.addFlag (
'D3PD.Track.storeMDTHolesOnTrack',
False,
234 help =
""" Turn on filling of MDT holes on track branches """)
236configFlags.addFlag (
'D3PD.Track.storeCSCHolesOnTrack',
False,
237 help =
""" Turn on filling of CSC holes on track branches """)
239configFlags.addFlag (
'D3PD.Track.storeRPCHolesOnTrack',
False,
240 help =
""" Turn on filling of RPC holes on track branches """)
242configFlags.addFlag (
'D3PD.Track.storeTGCHolesOnTrack',
False,
243 help =
""" Turn on filling of TGC holes on track branches """)
245configFlags.addFlag (
'D3PD.Track.storeVertexAssociation',
False,
246 help =
""" Turn on filling of track to vertex association """)
248configFlags.addFlag (
'D3PD.Track.storeTrackPredictionAtBLayer',
True,
249 help =
""" Turn on filling of track prediction at the B-Layer branches """)
251configFlags.addFlag (
'D3PD.Track.storeTruthInfo',
False,
252 help =
""" Turn on filling truth perigee and classification information. """)
256configFlags.addFlag (
'D3PD.Track.vertexPositionLevelOfDetails', 3,
257 help =
""" Set level of details for vertex vertex position branches
259 1: Store position only
260 2: Store diagonal elements of the covariance matrix
261 3: Store off diagonal elements of the covariance matrix
264configFlags.addFlag (
'D3PD.Track.storeVertexType',
True,
265 help =
""" Turn on filling of vertex type as defined here
266 https://svnweb.cern.ch/trac/atlasoff/browser/Tracking/TrkEvent/TrkEventPrimitives/trunk/TrkEventPrimitives/VertexType.h
269configFlags.addFlag (
'D3PD.Track.storeVertexFitQuality',
True,
270 help =
""" Turn on filling of vertex fit quality (chi2 and ndof) branches """)
272configFlags.addFlag (
'D3PD.Track.storeVertexKinematics',
True,
273 help =
""" Turn on filling of vertex kinematics (sumPT, ...) branches """)
275configFlags.addFlag (
'D3PD.Track.storeVertexPurity',
False,
276 help =
""" Turn on filling of vertex purity (truth matching) branches """)
278configFlags.addFlag (
'D3PD.Track.storeVertexTrackAssociation',
False,
279 help =
""" Turn on filling of vertex track association branches """)
281configFlags.addFlag (
'D3PD.Track.storeVertexTrackIndexAssociation',
True,
282 help =
""" Turn on filling of vertex track index association branches """)
289configFlags.addFlag (
'D3PD.AutoFlush', -30000000,
None,
290 """Value to set for ROOT's AutoFlush parameter.
291(For ROOT trees only; tells how often the tree baskets will be flushed.)
293-1 makes no changes to what THistSvc did.
294Any other negative number gives the number of bytes after which to flush.
295A positive number gives the number of entries after which to flush.""")
298configFlags.addFlag (
'D3PD.HaveEgammaUserData',
False,
None,
299 'If true, access results of egamma analysis stored in UserData.')
302configFlags.addFlag (
'D3PD.MakeEgammaUserData',
True,
None,
303 'If true, run egamma analysis to make UserData if not already done.')
306configFlags.addFlag (
'D3PD.EgammaUserDataPrefix',
'egammaD3PDAnalysis_',
None,
307 'Prefix to use for UserData labels for egamma.')
310configFlags.addFlag (
'D3PD.TruthDoPileup',
False,
None,
311 'Set to true to include pileup in truth information.')
314configFlags.addFlag (
'D3PD.TruthWriteExtraJets',
False,
None,
315 'Set to true to include additional truth jet collections.')
318configFlags.addFlag (
'D3PD.PreD3PDAlgSeqName',
'PreD3PDAlgorithms',
None,
319 'Sequence of algorithms to run before the D3PD maker.')
322configFlags.addFlag (
'D3PD.FilterAlgSeqSuffix',
'_FilterAlgorithms',
None,
323 """Suffix for a sequence of algorithms to filter D3PD making.
325The sequence name is formed by adding this string to the name of the
326D3PD making algorithm. If any of the algorithms in this sequence fail
327their filter decision, then no D3PD entry will be made for this event.
329The filter sequence may also be referenced by the filterSeq property
330of the D3PD algorithm.
334configFlags.addFlag (
'D3PD.SaveObjectMetadata',
True,
None,
335 'Control whether metadata about the D3PDObjects should be saved.')
338configFlags.addFlag (
'D3PD.CompressionLevel', 6,
None,
339 'Controls the compression level of the ROOT file produced.')