ATLAS Offline Software
Loading...
Searching...
No Matches
InDetPhysValMonitoringConfig Namespace Reference

Functions

 extractCollectionPrefix (track_collection_name)
 HistogramDefinitionSvcCfg (flags, **kwargs)
 InDetRttTruthSelectionToolCfg (flags, name="InDetRttTruthSelectionTool", **kwargs)
 GoodRunsListSelectionToolCfg (flags, **kwargs)
 InDetVertexTruthMatchToolCfg (flags, **kwargs)
 InDetPhysValMonitoringToolCfg (flags, **kwargs)
 InDetPhysValMonitoringToolLooseCfg (flags, **kwargs)
 InDetPhysValMonitoringToolTightPrimaryCfg (flags, **kwargs)
 InDetPhysValMonitoringToolHILooseCfg (flags, **kwargs)
 InDetPhysValMonitoringToolGSFCfg (flags, **kwargs)
 InDetPhysValMonitoringToolElectronsCfg (flags, **kwargs)
 InDetPhysValMonitoringToolMuonsCfg (flags, **kwargs)
 InDetLargeD0PhysValMonitoringToolCfg (flags, **kwargs)
 InDetMergedLargeD0PhysValMonitoringToolCfg (flags, **kwargs)
 InDetLowPtRoIPhysValMonitoringToolCfg (flags, **kwargs)
 InDetPhysValMonitoringCfg (flags)

Detailed Description

@file InDetPhysValMonitoringConfig.py
@author T. Strebler
@date 2021-08-30
@brief Main CA-based python configuration for InDetPhysValMonitoring

Function Documentation

◆ extractCollectionPrefix()

InDetPhysValMonitoringConfig.extractCollectionPrefix ( track_collection_name)

Definition at line 15 of file InDetPhysValMonitoringConfig.py.

15def extractCollectionPrefix(track_collection_name):
16 suffixes = ['Tracks', 'TrackParticles']
17 for suffix in suffixes:
18 if track_collection_name.endswith(suffix):
19 return track_collection_name.removesuffix(suffix)
20 return track_collection_name
21
22

◆ GoodRunsListSelectionToolCfg()

InDetPhysValMonitoringConfig.GoodRunsListSelectionToolCfg ( flags,
** kwargs )

Definition at line 81 of file InDetPhysValMonitoringConfig.py.

81def GoodRunsListSelectionToolCfg(flags, **kwargs):
82 acc = ComponentAccumulator()
83
84 from GoodRunsLists.GoodRunsListsDictionary import getGoodRunsLists
85 GRLDict = getGoodRunsLists()
86
87 cvmfs = '/cvmfs/atlas.cern.ch/repo/sw/database/GroupData/'
88 grldict = {
89 '2015': cvmfs + ''.join(GRLDict['GRL2015']),
90 '2016': cvmfs + ''.join(GRLDict['GRL2016']),
91 '2017': cvmfs + ''.join(GRLDict['GRL2017_Triggerno17e33prim']),
92 '2018': cvmfs + ''.join(GRLDict['GRL2018_Triggerno17e33prim']),
93 '2022': cvmfs + ''.join(GRLDict['GRL2022']),
94 '2023': cvmfs + ''.join(GRLDict['GRL2023']),
95 '2024': cvmfs + ''.join(GRLDict['GRL2024'])
96 }
97
98 acc.setPrivateTools(CompFactory.GoodRunsListSelectionTool(
99 name="GoodRunsListSelectionTool",
100 GoodRunsListVec=[grldict[p] for p in flags.PhysVal.IDPVM.GRL],
101 **kwargs
102 ))
103 return acc
104
105

◆ HistogramDefinitionSvcCfg()

InDetPhysValMonitoringConfig.HistogramDefinitionSvcCfg ( flags,
** kwargs )

Definition at line 23 of file InDetPhysValMonitoringConfig.py.

23def HistogramDefinitionSvcCfg(flags, **kwargs):
24 acc = ComponentAccumulator()
25 if flags.Detector.GeometryID:
26 if flags.PhysVal.IDPVM.doValidateLargeD0Tracks or flags.PhysVal.IDPVM.doValidateMergedLargeD0Tracks:
27 kwargs.setdefault("DefinitionSource", "InDetPVMPlotDefLRT.xml")
28 else:
29 kwargs.setdefault("DefinitionSource", "InDetPVMPlotDefRun2.xml")
30 elif flags.Detector.GeometryITk:
31 kwargs.setdefault("DefinitionSource", "InDetPVMPlotDefITK.xml")
32 kwargs.setdefault("DefinitionFormat", "text/xml")
33 histoSvc = CompFactory.HistogramDefinitionSvc(**kwargs)
34 acc.addService(histoSvc)
35 return acc
36
37

◆ InDetLargeD0PhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetLargeD0PhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 362 of file InDetPhysValMonitoringConfig.py.

362def InDetLargeD0PhysValMonitoringToolCfg(flags, **kwargs):
363 acc = ComponentAccumulator()
364
365 kwargs.setdefault("SubFolder", 'LRT/')
366 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
367 InDetRttTruthSelectionToolCfg(flags)))
368 kwargs.setdefault("TrackParticleContainerName",
369 flags.PhysVal.IDPVM.largeD0TrackCollection
370 if flags.Tracking.storeSeparateLargeD0Container else
371 'InDetTrackParticles')
372 kwargs.setdefault("useTrackSelection", True)
373
374 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
375 flags, name='InDetPhysValMonitoringToolLargeD0', **kwargs)))
376 return acc
377
378

◆ InDetLowPtRoIPhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetLowPtRoIPhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 395 of file InDetPhysValMonitoringConfig.py.

395def InDetLowPtRoIPhysValMonitoringToolCfg(flags, **kwargs):
396 acc = ComponentAccumulator()
397 kwargs.setdefault("SubFolder", 'LowPtRoI/') #Subfolder
398 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
399 InDetRttTruthSelectionToolCfg(flags,minPt=100)))
400 kwargs.setdefault("TrackParticleContainerName",
401 'InDetLowPtRoITrackParticles')
402 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
403 flags, name='InDetPhysValMonitoringToolLowPtRoI', **kwargs)))
404
405 return acc
406
407

◆ InDetMergedLargeD0PhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetMergedLargeD0PhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 379 of file InDetPhysValMonitoringConfig.py.

379def InDetMergedLargeD0PhysValMonitoringToolCfg(flags, **kwargs):
380 acc = ComponentAccumulator()
381
382 kwargs.setdefault("SubFolder", 'LRTMerged/')
383 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
384 InDetRttTruthSelectionToolCfg(flags)))
385 kwargs.setdefault("TrackParticleContainerName",
386 'InDetWithLRTTrackParticles'
387 if flags.Tracking.storeSeparateLargeD0Container else
388 'InDetTrackParticles')
389 kwargs.setdefault("useTrackSelection", True)
390
391 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
392 flags, name='InDetPhysValMonitoringToolMergedLargeD0', **kwargs)))
393 return acc
394

◆ InDetPhysValMonitoringCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringCfg ( flags)

Definition at line 408 of file InDetPhysValMonitoringConfig.py.

408def InDetPhysValMonitoringCfg(flags):
409 acc = ComponentAccumulator()
410
411 if flags.PhysVal.IDPVM.doValidateMergedLargeD0Tracks:
412 from DerivationFrameworkInDet.InDetToolsConfig import InDetLRTMergeCfg
413 acc.merge(InDetLRTMergeCfg(
414 flags,
415 InputTrackParticleLocations=[
416 "InDetTrackParticles",
417 flags.PhysVal.IDPVM.largeD0TrackCollection,
418 ],
419 ))
420
421 from ActsConfig.ActsAnalysisConfig import PhysValActsCfg
422
423 mons = [(True,
424 InDetPhysValMonitoringToolCfg),
425 (flags.PhysVal.IDPVM.doValidateMuonMatchedTracks,
426 InDetPhysValMonitoringToolMuonsCfg),
427 (flags.PhysVal.IDPVM.doValidateElectronMatchedTracks,
428 InDetPhysValMonitoringToolElectronsCfg),
429 (flags.PhysVal.IDPVM.doValidateLargeD0Tracks,
430 InDetLargeD0PhysValMonitoringToolCfg),
431 (flags.PhysVal.IDPVM.doValidateMergedLargeD0Tracks,
432 InDetMergedLargeD0PhysValMonitoringToolCfg),
433 (flags.PhysVal.IDPVM.doValidateLowPtRoITracks,
434 InDetLowPtRoIPhysValMonitoringToolCfg),
435 (flags.PhysVal.IDPVM.doValidateLooseTracks,
436 InDetPhysValMonitoringToolLooseCfg),
437 (flags.PhysVal.IDPVM.doValidateTightPrimaryTracks,
438 InDetPhysValMonitoringToolTightPrimaryCfg),
439 (flags.PhysVal.IDPVM.doValidateHILoose,
440 InDetPhysValMonitoringToolHILooseCfg),
441 (flags.PhysVal.IDPVM.doValidateGSFTracks,
442 InDetPhysValMonitoringToolGSFCfg),
443 (flags.PhysVal.IDPVM.doActs,
444 PhysValActsCfg)
445 ]
446
447 tools = []
448 for enabled, creator in mons:
449 if enabled:
450 tools.append(acc.popToolsAndMerge(creator(flags)))
451
452 for col in flags.PhysVal.IDPVM.validateExtraTrackCollections:
453 prefix = extractCollectionPrefix(col)
454 tools.append(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
455 flags, name='InDetPhysValMonitoringTool'+prefix,
456 SubFolder=prefix+'Tracks/',
457 TrackParticleContainerName=prefix+'TrackParticles'
458 )))
459
460 from PhysValMonitoring.PhysValMonitoringConfig import PhysValMonitoringCfg
461 acc.merge(PhysValMonitoringCfg(flags, tools=tools))
462 return acc

◆ InDetPhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 112 of file InDetPhysValMonitoringConfig.py.

112def InDetPhysValMonitoringToolCfg(flags, **kwargs):
113 from InDetPhysValMonitoring.InDetPhysValDecorationConfig import (
114 AddDecoratorIfNeededCfg)
115 acc = AddDecoratorIfNeededCfg(flags)
116 kwargs.setdefault("useTrackSelection", False)
117 kwargs.setdefault("EnableLumi", False)
118
119 acc.merge(HistogramDefinitionSvcCfg(flags))
120 kwargs.setdefault('VertexContainerName', flags.PhysVal.IDPVM.PrimaryVertexContainer)
121
122 # if we are running with sumpT(w) hard scatter selection, we need to schedule jet finding
123 if flags.PhysVal.IDPVM.hardScatterStrategy in [2, 3]:
124
125 from InDetPhysValMonitoring.addRecoJetsConfig import (
126 AddRecoJetsIfNotExistingCfg)
127 acc.merge(AddRecoJetsIfNotExistingCfg(
128 flags, flags.PhysVal.IDPVM.jetsNameForHardScatter))
129
130 # if we are running with the GNN hard scatter selection, we need to schedule the dependencies
131 if flags.PhysVal.IDPVM.hardScatterStrategy == 3:
132 from InDetConfig.InDetGNNHardScatterSelectionConfig import (
133 GNNSequenceCfg)
134 acc.merge(GNNSequenceCfg(flags))
135
136 # if we are running with the HGam hard scatter selection, we need to schedule the NN
137 if flags.PhysVal.IDPVM.hardScatterStrategy == 4:
138 from DerivationFrameworkHiggs.HIGG1D1CustomVertexConfig import DiPhotonVertexCfg
139 acc.merge(DiPhotonVertexCfg(flags))
140
141 if flags.PhysVal.IDPVM.GRL:
142 kwargs.setdefault("useGRL", True)
143 kwargs.setdefault('GoodRunsListSelectionTool', acc.popToolsAndMerge(
144 GoodRunsListSelectionToolCfg(flags)))
145
146 kwargs.setdefault("doIDTIDEPlots", flags.PhysVal.IDPVM.doIDTIDE)
147 kwargs.setdefault("setCSVName", flags.PhysVal.IDPVM.setCSVName)
148
149 if flags.PhysVal.IDPVM.doValidateTracksInJets:
150 kwargs.setdefault("JetContainerName", flags.PhysVal.IDPVM.jetCollection)
151 kwargs.setdefault("FillTrackInJetPlots", True)
152 kwargs.setdefault('JetAbsEtaMin', 0)
153 kwargs.setdefault('JetAbsEtaMax', flags.PhysVal.IDPVM.JetAbsEtaMax)
154 kwargs.setdefault('JetPtMin', flags.PhysVal.IDPVM.JetPtMin)
155 kwargs.setdefault('JetPtMax', flags.PhysVal.IDPVM.JetPtMax)
156 kwargs.setdefault('maxTrkJetDR', flags.PhysVal.IDPVM.maxTrkJetDR)
157 kwargs.setdefault("FillTrackInBJetPlots",
158 flags.PhysVal.IDPVM.doValidateTracksInBJets)
159 else:
160 kwargs.setdefault("JetContainerName", '')
161 kwargs.setdefault("FillTrackInJetPlots", False)
162
163 kwargs.setdefault("doPerAuthorPlots",
164 flags.PhysVal.IDPVM.doPerAuthorPlots)
165
166 if flags.Tracking.doTruth and not flags.PhysVal.IDPVM.doRecoOnly:
167 kwargs.setdefault("TruthParticleContainerName", "TruthParticles")
168 if 'TruthSelectionTool' not in kwargs:
169 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
170 InDetRttTruthSelectionToolCfg(flags)))
171
172 doHyyHSSelection = flags.PhysVal.IDPVM.hardScatterStrategy == 4
173 if 'hardScatterSelectionTool' not in kwargs:
174 from InDetConfig.InDetHardScatterSelectionToolConfig import (
175 InDetHardScatterSelectionToolCfg)
176 kwargs.setdefault("hardScatterSelectionTool", acc.popToolsAndMerge(
177 InDetHardScatterSelectionToolCfg(
178 flags,
179 RedoHardScatter=not doHyyHSSelection,
180 SelectionMode=flags.PhysVal.IDPVM.hardScatterStrategy,
181 # make sure the HS selection tool picks up the correct jets
182 JetContainer=flags.PhysVal.IDPVM.jetsNameForHardScatter,
183 VertexContainer=flags.PhysVal.IDPVM.PrimaryVertexContainer
184 )))
185
186 if doHyyHSSelection:
187 assert flags.PhysVal.IDPVM.PrimaryVertexContainer == 'HggPrimaryVertices'
188
189 kwargs.setdefault("FillTruthToRecoNtuple",
190 flags.PhysVal.IDPVM.doValidateTruthToRecoNtuple)
191 kwargs.setdefault("doTruthOriginPlots",
192 flags.PhysVal.IDPVM.doTruthOriginPlots)
193 kwargs.setdefault("doDuplicatePlots",
194 flags.PhysVal.IDPVM.doDuplicatePlots)
195 kwargs.setdefault("doHitLevelPlots",
196 flags.PhysVal.IDPVM.doHitLevelPlots)
197
198 # adding the VertexTruthMatchingTool
199 if not flags.PhysVal.IDPVM.doIDTIDE:
200 kwargs.setdefault("useVertexTruthMatchTool", True)
201 kwargs.setdefault("VertexTruthMatchTool", acc.popToolsAndMerge(
202 InDetVertexTruthMatchToolCfg(flags)))
203
204 if "trackTruthOriginTool" not in kwargs:
205 from InDetTrackSystematicsTools.InDetTrackSystematicsToolsConfig import InDetTrackTruthOriginToolCfg
206 kwargs.setdefault("trackTruthOriginTool", acc.popToolsAndMerge(
207 InDetTrackTruthOriginToolCfg(flags)))
208
209 # Options for Truth Strategy : Requires full pile-up truth containers for some
210 if flags.PhysVal.IDPVM.setTruthStrategy in ['All', 'PileUp']:
211 if "xAOD::TruthPileupEventContainer#TruthPileupEvents" not in flags.Input.TypedCollections:
212 print('WARNING Truth Strategy for InDetPhysValMonitoring set to %s but TruthPileupEvents are missing in the input' % (flags.PhysVal.IDPVM.setTruthStrategy))
213 kwargs.setdefault("PileupSwitch",
214 flags.PhysVal.IDPVM.setTruthStrategy)
215
216 elif flags.PhysVal.IDPVM.setTruthStrategy != 'HardScatter':
217 print('WARNING Truth Strategy for for InDetPhysValMonitoring set to invalid option %s; valid flags are ["HardScatter", "All", "PileUp"]' % (
218 flags.PhysVal.IDPVM.setTruthStrategy))
219
220 else:
221 # disable truth monitoring for data
222 kwargs.setdefault("TruthParticleContainerName", '')
223 kwargs.setdefault("TruthVertexContainerName", '')
224 kwargs.setdefault("TruthEvents", '')
225 kwargs.setdefault("TruthPileupEvents", '')
226 kwargs.setdefault("TruthSelectionTool", None)
227 kwargs.setdefault("FillTruthToRecoNtuple", False)
228
229 if flags.Detector.GeometryITk:
230 # Disable vertex container for now
231 kwargs.setdefault("doTRTExtensionPlots", False)
232 kwargs.setdefault("isITk", True)
233
234 if flags.Reco.EnableHGTDExtension:
235 kwargs.setdefault("hasHGTDReco", True)
236
237 if flags.PhysVal.IDPVM.doTechnicalEfficiency:
238 kwargs.setdefault("fillTechnicalEfficiency", True)
239 kwargs.setdefault("EtaBins", flags.Tracking.ITkMainPass.etaBins if flags.Detector.GeometryITk
240 else [-1, 9999.]) # Configurable eta bins for determining a "reconstructable" particle
241 kwargs.setdefault("MinNumberClusters", flags.Tracking.ITkMainPass.minClusters if flags.Detector.GeometryITk
242 else [flags.Tracking.MainPass.minClusters]) # Configurable hits per eta bins for determining a "reconstructable" particle
243
244 # Control the number of output histograms
245 kwargs.setdefault("DetailLevel", 200 if flags.PhysVal.IDPVM.doExpertOutput else 100)
246
247 # for IDTIDE derivation
248 if flags.PhysVal.IDPVM.doIDTIDE:
249 kwargs.setdefault("doIDTIDEPlots", True)
250 kwargs.setdefault("JetContainerName", 'AntiKt4EMPFlowJets')
251 kwargs.setdefault("FillTrackInJetPlots", True)
252
253 # Set Jet cuts used for CTIDE studies
254 kwargs.setdefault('JetAbsEtaMin', 0)
255 kwargs.setdefault('JetAbsEtaMax',
256 flags.PhysVal.IDPVM.JetAbsEtaMax)
257 kwargs.setdefault('maxTrkJetDR',
258 flags.PhysVal.IDPVM.maxTrkJetDR)
259 # Pt cuts are in GeV
260 kwargs.setdefault('JetPtMin', 100)
261 kwargs.setdefault('JetPtMax', 5000)
262
263 kwargs.setdefault("doPRW", flags.PhysVal.IDPVM.doPRW)
264
265 acc.setPrivateTools(CompFactory.InDetPhysValMonitoringTool(**kwargs))
266 return acc
267
268
void print(char *figname, TCanvas *c1)

◆ InDetPhysValMonitoringToolElectronsCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolElectronsCfg ( flags,
** kwargs )

Definition at line 328 of file InDetPhysValMonitoringConfig.py.

328def InDetPhysValMonitoringToolElectronsCfg(flags, **kwargs):
329 acc = ComponentAccumulator()
330
331 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
332 InDetRttTruthSelectionToolCfg(
333 flags, name="AthTruthSelectionToolForIDPVM_Electrons",
334 pdgId=11,
335 minPt=5000.
336 )))
337 kwargs.setdefault("onlyFillTruthMatched", True)
338 kwargs.setdefault("SubFolder", 'Electrons/')
339
340 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
341 flags, name='InDetPhysValMonitoringToolElectrons', **kwargs)))
342 return acc
343
344

◆ InDetPhysValMonitoringToolGSFCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolGSFCfg ( flags,
** kwargs )

Definition at line 320 of file InDetPhysValMonitoringConfig.py.

320def InDetPhysValMonitoringToolGSFCfg(flags, **kwargs):
321 kwargs.setdefault("SubFolder", 'GSF/')
322 kwargs.setdefault("TrackParticleContainerName", 'GSFTrackParticles')
323 kwargs.setdefault("useTrackSelection", True)
324 return InDetPhysValMonitoringToolCfg(
325 flags, name="InDetPhysValMonitoringToolGSF", **kwargs)
326
327

◆ InDetPhysValMonitoringToolHILooseCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolHILooseCfg ( flags,
** kwargs )

Definition at line 303 of file InDetPhysValMonitoringConfig.py.

303def InDetPhysValMonitoringToolHILooseCfg(flags, **kwargs):
304 acc = ComponentAccumulator()
305
306 if 'TrackSelectionTool' not in kwargs:
307 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig import (
308 InDetTrackSelectionTool_HILoose_Cfg)
309 kwargs.setdefault("TrackSelectionTool", acc.popToolsAndMerge(
310 InDetTrackSelectionTool_HILoose_Cfg(flags)))
311
312 kwargs.setdefault("SubFolder", 'HILoose/')
313 kwargs.setdefault("useTrackSelection", True)
314
315 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
316 flags, name="InDetPhysValMonitoringToolHILoose", **kwargs)))
317 return acc
318
319

◆ InDetPhysValMonitoringToolLooseCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolLooseCfg ( flags,
** kwargs )

Definition at line 269 of file InDetPhysValMonitoringConfig.py.

269def InDetPhysValMonitoringToolLooseCfg(flags, **kwargs):
270 acc = ComponentAccumulator()
271
272 if 'TrackSelectionTool' not in kwargs:
273 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig import (
274 InDetTrackSelectionTool_Loose_Cfg)
275 kwargs.setdefault("TrackSelectionTool", acc.popToolsAndMerge(
276 InDetTrackSelectionTool_Loose_Cfg(flags)))
277
278 kwargs.setdefault("SubFolder", 'Loose/')
279 kwargs.setdefault("useTrackSelection", True)
280
281 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
282 flags, name="InDetPhysValMonitoringToolLoose", **kwargs)))
283 return acc
284
285

◆ InDetPhysValMonitoringToolMuonsCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolMuonsCfg ( flags,
** kwargs )

Definition at line 345 of file InDetPhysValMonitoringConfig.py.

345def InDetPhysValMonitoringToolMuonsCfg(flags, **kwargs):
346 acc = ComponentAccumulator()
347
348 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
349 InDetRttTruthSelectionToolCfg(
350 flags, name="AthTruthSelectionToolForIDPVM_Muons",
351 pdgId=13,
352 minPt=5000.
353 )))
354 kwargs.setdefault("onlyFillTruthMatched", True)
355 kwargs.setdefault("SubFolder", 'Muons/')
356
357 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
358 flags, name='InDetPhysValMonitoringToolMuons', **kwargs)))
359 return acc
360
361

◆ InDetPhysValMonitoringToolTightPrimaryCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolTightPrimaryCfg ( flags,
** kwargs )

Definition at line 286 of file InDetPhysValMonitoringConfig.py.

286def InDetPhysValMonitoringToolTightPrimaryCfg(flags, **kwargs):
287 acc = ComponentAccumulator()
288
289 if 'TrackSelectionTool' not in kwargs:
290 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig import (
291 InDetTrackSelectionTool_TightPrimary_Cfg)
292 kwargs.setdefault("TrackSelectionTool", acc.popToolsAndMerge(
293 InDetTrackSelectionTool_TightPrimary_Cfg(flags)))
294
295 kwargs.setdefault("SubFolder", 'TightPrimary/')
296 kwargs.setdefault("useTrackSelection", True)
297
298 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
299 flags, name="InDetPhysValMonitoringToolTightPrimary", **kwargs)))
300 return acc
301
302

◆ InDetRttTruthSelectionToolCfg()

InDetPhysValMonitoringConfig.InDetRttTruthSelectionToolCfg ( flags,
name = "InDetRttTruthSelectionTool",
** kwargs )

Definition at line 38 of file InDetPhysValMonitoringConfig.py.

39 flags, name="InDetRttTruthSelectionTool", **kwargs):
40 acc = ComponentAccumulator()
41
42 kwargs.setdefault("requireStable", True)
43 kwargs.setdefault("requireCharged", True)
44 kwargs.setdefault("selectedCharge", flags.PhysVal.IDPVM.selectedCharge)
45 kwargs.setdefault("requireOnlyPrimary",
46 True if kwargs.pop("OnlyDressPrimaryTracks", True)
47 else False)
48 kwargs.setdefault("maxProdVertRadius",
49 flags.PhysVal.IDPVM.maxProdVertRadius)
50 kwargs.setdefault("minProdVertRadius",
51 flags.PhysVal.IDPVM.minProdVertRadius)
52 kwargs.setdefault("minAbsD0",
53 flags.PhysVal.IDPVM.minAbsD0)
54
55 if flags.Detector.GeometryID:
56 if flags.PhysVal.IDPVM.doValidateLargeD0Tracks or flags.PhysVal.IDPVM.doValidateMergedLargeD0Tracks:
57 kwargs.setdefault("maxEta", 3.0)
58 else:
59 kwargs.setdefault("maxEta", 2.5)
60 elif flags.Detector.GeometryITk:
61 kwargs.setdefault("maxEta", 4.0)
62
63 kwargs.setdefault("minPt", flags.PhysVal.IDPVM.truthMinPt)
64 kwargs.setdefault("ancestorList", flags.PhysVal.IDPVM.ancestorIDs)
65 kwargs.setdefault("requireSiHit", flags.PhysVal.IDPVM.requiredSiHits)
66 kwargs.setdefault("vetoPdgId", flags.PhysVal.IDPVM.vetoPdgId)
67 kwargs.setdefault("pdgId", flags.PhysVal.IDPVM.pdgId)
68
69 if "radiusCylinder" in kwargs or "zDisc" in kwargs:
70 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
71 extrapolator = acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags))
72 acc.addPublicTool(extrapolator) # TODO: migrate to private?
73 kwargs.setdefault("Extrapolator", extrapolator)
74 else:
75 kwargs.setdefault("Extrapolator", None)
76
77 acc.setPrivateTools(CompFactory.AthTruthSelectionTool(name, **kwargs))
78 return acc
79
80

◆ InDetVertexTruthMatchToolCfg()

InDetPhysValMonitoringConfig.InDetVertexTruthMatchToolCfg ( flags,
** kwargs )

Definition at line 106 of file InDetPhysValMonitoringConfig.py.

106def InDetVertexTruthMatchToolCfg(flags, **kwargs):
107 acc = ComponentAccumulator()
108 acc.setPrivateTools(CompFactory.InDetVertexTruthMatchTool(**kwargs))
109 return acc
110
111