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 359 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetLowPtRoIPhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetLowPtRoIPhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 392 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetMergedLargeD0PhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetMergedLargeD0PhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 376 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringCfg ( flags)

Definition at line 405 of file InDetPhysValMonitoringConfig.py.

405def InDetPhysValMonitoringCfg(flags):
406 acc = ComponentAccumulator()
407
408 if flags.PhysVal.IDPVM.doValidateMergedLargeD0Tracks:
409 from DerivationFrameworkInDet.InDetToolsConfig import InDetLRTMergeCfg
410 acc.merge(InDetLRTMergeCfg(
411 flags,
412 InputTrackParticleLocations=[
413 "InDetTrackParticles",
414 flags.PhysVal.IDPVM.largeD0TrackCollection,
415 ],
416 ))
417
418 from ActsConfig.ActsAnalysisConfig import PhysValActsCfg
419
420 mons = [(True,
421 InDetPhysValMonitoringToolCfg),
422 (flags.PhysVal.IDPVM.doValidateMuonMatchedTracks,
423 InDetPhysValMonitoringToolMuonsCfg),
424 (flags.PhysVal.IDPVM.doValidateElectronMatchedTracks,
425 InDetPhysValMonitoringToolElectronsCfg),
426 (flags.PhysVal.IDPVM.doValidateLargeD0Tracks,
427 InDetLargeD0PhysValMonitoringToolCfg),
428 (flags.PhysVal.IDPVM.doValidateMergedLargeD0Tracks,
429 InDetMergedLargeD0PhysValMonitoringToolCfg),
430 (flags.PhysVal.IDPVM.doValidateLowPtRoITracks,
431 InDetLowPtRoIPhysValMonitoringToolCfg),
432 (flags.PhysVal.IDPVM.doValidateLooseTracks,
433 InDetPhysValMonitoringToolLooseCfg),
434 (flags.PhysVal.IDPVM.doValidateTightPrimaryTracks,
435 InDetPhysValMonitoringToolTightPrimaryCfg),
436 (flags.PhysVal.IDPVM.doValidateHILoose,
437 InDetPhysValMonitoringToolHILooseCfg),
438 (flags.PhysVal.IDPVM.doValidateGSFTracks,
439 InDetPhysValMonitoringToolGSFCfg),
440 (flags.PhysVal.IDPVM.doActs,
441 PhysValActsCfg)
442 ]
443
444 tools = []
445 for enabled, creator in mons:
446 if enabled:
447 tools.append(acc.popToolsAndMerge(creator(flags)))
448
449 for col in flags.PhysVal.IDPVM.validateExtraTrackCollections:
450 prefix = extractCollectionPrefix(col)
451 tools.append(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
452 flags, name='InDetPhysValMonitoringTool'+prefix,
453 SubFolder=prefix+'Tracks/',
454 TrackParticleContainerName=prefix+'TrackParticles'
455 )))
456
457 from PhysValMonitoring.PhysValMonitoringConfig import PhysValMonitoringCfg
458 acc.merge(PhysValMonitoringCfg(flags, tools=tools))
459 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.PhysVal.IDPVM.doTechnicalEfficiency:
235 kwargs.setdefault("fillTechnicalEfficiency", True)
236 kwargs.setdefault("EtaBins", flags.Tracking.ITkMainPass.etaBins if flags.Detector.GeometryITk
237 else [-1, 9999.]) # Configurable eta bins for determining a "reconstructable" particle
238 kwargs.setdefault("MinNumberClusters", flags.Tracking.ITkMainPass.minClusters if flags.Detector.GeometryITk
239 else [flags.Tracking.MainPass.minClusters]) # Configurable hits per eta bins for determining a "reconstructable" particle
240
241 # Control the number of output histograms
242 kwargs.setdefault("DetailLevel", 200 if flags.PhysVal.IDPVM.doExpertOutput else 100)
243
244 # for IDTIDE derivation
245 if flags.PhysVal.IDPVM.doIDTIDE:
246 kwargs.setdefault("doIDTIDEPlots", True)
247 kwargs.setdefault("JetContainerName", 'AntiKt4EMPFlowJets')
248 kwargs.setdefault("FillTrackInJetPlots", True)
249
250 # Set Jet cuts used for CTIDE studies
251 kwargs.setdefault('JetAbsEtaMin', 0)
252 kwargs.setdefault('JetAbsEtaMax',
253 flags.PhysVal.IDPVM.JetAbsEtaMax)
254 kwargs.setdefault('maxTrkJetDR',
255 flags.PhysVal.IDPVM.maxTrkJetDR)
256 # Pt cuts are in GeV
257 kwargs.setdefault('JetPtMin', 100)
258 kwargs.setdefault('JetPtMax', 5000)
259
260 kwargs.setdefault("doPRW", flags.PhysVal.IDPVM.doPRW)
261
262 acc.setPrivateTools(CompFactory.InDetPhysValMonitoringTool(**kwargs))
263 return acc
264
265
void print(char *figname, TCanvas *c1)

◆ InDetPhysValMonitoringToolElectronsCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolElectronsCfg ( flags,
** kwargs )

Definition at line 325 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolGSFCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolGSFCfg ( flags,
** kwargs )

Definition at line 317 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolHILooseCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolHILooseCfg ( flags,
** kwargs )

Definition at line 300 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolLooseCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolLooseCfg ( flags,
** kwargs )

Definition at line 266 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolMuonsCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolMuonsCfg ( flags,
** kwargs )

Definition at line 342 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolTightPrimaryCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolTightPrimaryCfg ( flags,
** kwargs )

Definition at line 283 of file InDetPhysValMonitoringConfig.py.

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

◆ 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