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

Classes

class  HardScatterStrategy

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

24def extractCollectionPrefix(track_collection_name):
25 suffixes = ['Tracks', 'TrackParticles']
26 for suffix in suffixes:
27 if track_collection_name.endswith(suffix):
28 return track_collection_name.removesuffix(suffix)
29 return track_collection_name
30
31

◆ GoodRunsListSelectionToolCfg()

InDetPhysValMonitoringConfig.GoodRunsListSelectionToolCfg ( flags,
** kwargs )

Definition at line 90 of file InDetPhysValMonitoringConfig.py.

90def GoodRunsListSelectionToolCfg(flags, **kwargs):
91 acc = ComponentAccumulator()
92
93 from GoodRunsLists.GoodRunsListsDictionary import getGoodRunsLists
94 GRLDict = getGoodRunsLists()
95
96 cvmfs = '/cvmfs/atlas.cern.ch/repo/sw/database/GroupData/'
97 grldict = {
98 '2015': cvmfs + ''.join(GRLDict['GRL2015']),
99 '2016': cvmfs + ''.join(GRLDict['GRL2016']),
100 '2017': cvmfs + ''.join(GRLDict['GRL2017_Triggerno17e33prim']),
101 '2018': cvmfs + ''.join(GRLDict['GRL2018_Triggerno17e33prim']),
102 '2022': cvmfs + ''.join(GRLDict['GRL2022']),
103 '2023': cvmfs + ''.join(GRLDict['GRL2023']),
104 '2024': cvmfs + ''.join(GRLDict['GRL2024']),
105 '2025': cvmfs + ''.join(GRLDict['GRL2025'])
106 }
107
108 acc.setPrivateTools(CompFactory.GoodRunsListSelectionTool(
109 name="GoodRunsListSelectionTool",
110 GoodRunsListVec=[grldict[p] for p in flags.PhysVal.IDPVM.GRL],
111 **kwargs
112 ))
113 return acc
114
115

◆ HistogramDefinitionSvcCfg()

InDetPhysValMonitoringConfig.HistogramDefinitionSvcCfg ( flags,
** kwargs )

Definition at line 32 of file InDetPhysValMonitoringConfig.py.

32def HistogramDefinitionSvcCfg(flags, **kwargs):
33 acc = ComponentAccumulator()
34 if flags.Detector.GeometryID:
35 if flags.PhysVal.IDPVM.doValidateLargeD0Tracks or flags.PhysVal.IDPVM.doValidateMergedLargeD0Tracks:
36 kwargs.setdefault("DefinitionSource", "InDetPVMPlotDefLRT.xml")
37 else:
38 kwargs.setdefault("DefinitionSource", "InDetPVMPlotDefRun2.xml")
39 elif flags.Detector.GeometryITk:
40 kwargs.setdefault("DefinitionSource", "InDetPVMPlotDefITK.xml")
41 kwargs.setdefault("DefinitionFormat", "text/xml")
42 histoSvc = CompFactory.HistogramDefinitionSvc(**kwargs)
43 acc.addService(histoSvc)
44 return acc
45
46

◆ InDetLargeD0PhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetLargeD0PhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 373 of file InDetPhysValMonitoringConfig.py.

373def InDetLargeD0PhysValMonitoringToolCfg(flags, **kwargs):
374 acc = ComponentAccumulator()
375
376 kwargs.setdefault("SubFolder", 'LRT/')
377 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
378 InDetRttTruthSelectionToolCfg(flags)))
379 kwargs.setdefault("TrackParticleContainerName",
380 flags.PhysVal.IDPVM.largeD0TrackCollection
381 if flags.Tracking.storeSeparateLargeD0Container else
382 'InDetTrackParticles')
383 kwargs.setdefault("useTrackSelection", True)
384
385 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
386 flags, name='InDetPhysValMonitoringToolLargeD0', **kwargs)))
387 return acc
388
389

◆ InDetLowPtRoIPhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetLowPtRoIPhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 406 of file InDetPhysValMonitoringConfig.py.

406def InDetLowPtRoIPhysValMonitoringToolCfg(flags, **kwargs):
407 acc = ComponentAccumulator()
408 kwargs.setdefault("SubFolder", 'LowPtRoI/') #Subfolder
409 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
410 InDetRttTruthSelectionToolCfg(flags,minPt=100)))
411 kwargs.setdefault("TrackParticleContainerName",
412 'InDetLowPtRoITrackParticles')
413 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
414 flags, name='InDetPhysValMonitoringToolLowPtRoI', **kwargs)))
415
416 return acc
417
418

◆ InDetMergedLargeD0PhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetMergedLargeD0PhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 390 of file InDetPhysValMonitoringConfig.py.

390def InDetMergedLargeD0PhysValMonitoringToolCfg(flags, **kwargs):
391 acc = ComponentAccumulator()
392
393 kwargs.setdefault("SubFolder", 'LRTMerged/')
394 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
395 InDetRttTruthSelectionToolCfg(flags)))
396 kwargs.setdefault("TrackParticleContainerName",
397 'InDetWithLRTTrackParticles'
398 if flags.Tracking.storeSeparateLargeD0Container else
399 'InDetTrackParticles')
400 kwargs.setdefault("useTrackSelection", True)
401
402 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
403 flags, name='InDetPhysValMonitoringToolMergedLargeD0', **kwargs)))
404 return acc
405

◆ InDetPhysValMonitoringCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringCfg ( flags)

Definition at line 419 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 122 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolElectronsCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolElectronsCfg ( flags,
** kwargs )

Definition at line 339 of file InDetPhysValMonitoringConfig.py.

339def InDetPhysValMonitoringToolElectronsCfg(flags, **kwargs):
340 acc = ComponentAccumulator()
341
342 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
343 InDetRttTruthSelectionToolCfg(
344 flags, name="AthTruthSelectionToolForIDPVM_Electrons",
345 pdgId=11,
346 minPt=5000.
347 )))
348 kwargs.setdefault("onlyFillTruthMatched", True)
349 kwargs.setdefault("SubFolder", 'Electrons/')
350
351 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
352 flags, name='InDetPhysValMonitoringToolElectrons', **kwargs)))
353 return acc
354
355

◆ InDetPhysValMonitoringToolGSFCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolGSFCfg ( flags,
** kwargs )

Definition at line 331 of file InDetPhysValMonitoringConfig.py.

331def InDetPhysValMonitoringToolGSFCfg(flags, **kwargs):
332 kwargs.setdefault("SubFolder", 'GSF/')
333 kwargs.setdefault("TrackParticleContainerName", 'GSFTrackParticles')
334 kwargs.setdefault("useTrackSelection", True)
335 return InDetPhysValMonitoringToolCfg(
336 flags, name="InDetPhysValMonitoringToolGSF", **kwargs)
337
338

◆ InDetPhysValMonitoringToolHILooseCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolHILooseCfg ( flags,
** kwargs )

Definition at line 314 of file InDetPhysValMonitoringConfig.py.

314def InDetPhysValMonitoringToolHILooseCfg(flags, **kwargs):
315 acc = ComponentAccumulator()
316
317 if 'TrackSelectionTool' not in kwargs:
318 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig import (
319 InDetTrackSelectionTool_HILoose_Cfg)
320 kwargs.setdefault("TrackSelectionTool", acc.popToolsAndMerge(
321 InDetTrackSelectionTool_HILoose_Cfg(flags)))
322
323 kwargs.setdefault("SubFolder", 'HILoose/')
324 kwargs.setdefault("useTrackSelection", True)
325
326 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
327 flags, name="InDetPhysValMonitoringToolHILoose", **kwargs)))
328 return acc
329
330

◆ InDetPhysValMonitoringToolLooseCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolLooseCfg ( flags,
** kwargs )

Definition at line 280 of file InDetPhysValMonitoringConfig.py.

280def InDetPhysValMonitoringToolLooseCfg(flags, **kwargs):
281 acc = ComponentAccumulator()
282
283 if 'TrackSelectionTool' not in kwargs:
284 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig import (
285 InDetTrackSelectionTool_Loose_Cfg)
286 kwargs.setdefault("TrackSelectionTool", acc.popToolsAndMerge(
287 InDetTrackSelectionTool_Loose_Cfg(flags)))
288
289 kwargs.setdefault("SubFolder", 'Loose/')
290 kwargs.setdefault("useTrackSelection", True)
291
292 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
293 flags, name="InDetPhysValMonitoringToolLoose", **kwargs)))
294 return acc
295
296

◆ InDetPhysValMonitoringToolMuonsCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolMuonsCfg ( flags,
** kwargs )

Definition at line 356 of file InDetPhysValMonitoringConfig.py.

356def InDetPhysValMonitoringToolMuonsCfg(flags, **kwargs):
357 acc = ComponentAccumulator()
358
359 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
360 InDetRttTruthSelectionToolCfg(
361 flags, name="AthTruthSelectionToolForIDPVM_Muons",
362 pdgId=13,
363 minPt=5000.
364 )))
365 kwargs.setdefault("onlyFillTruthMatched", True)
366 kwargs.setdefault("SubFolder", 'Muons/')
367
368 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
369 flags, name='InDetPhysValMonitoringToolMuons', **kwargs)))
370 return acc
371
372

◆ InDetPhysValMonitoringToolTightPrimaryCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolTightPrimaryCfg ( flags,
** kwargs )

Definition at line 297 of file InDetPhysValMonitoringConfig.py.

297def InDetPhysValMonitoringToolTightPrimaryCfg(flags, **kwargs):
298 acc = ComponentAccumulator()
299
300 if 'TrackSelectionTool' not in kwargs:
301 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig import (
302 InDetTrackSelectionTool_TightPrimary_Cfg)
303 kwargs.setdefault("TrackSelectionTool", acc.popToolsAndMerge(
304 InDetTrackSelectionTool_TightPrimary_Cfg(flags)))
305
306 kwargs.setdefault("SubFolder", 'TightPrimary/')
307 kwargs.setdefault("useTrackSelection", True)
308
309 acc.setPrivateTools(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
310 flags, name="InDetPhysValMonitoringToolTightPrimary", **kwargs)))
311 return acc
312
313

◆ InDetRttTruthSelectionToolCfg()

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

Definition at line 47 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetVertexTruthMatchToolCfg()

InDetPhysValMonitoringConfig.InDetVertexTruthMatchToolCfg ( flags,
** kwargs )

Definition at line 116 of file InDetPhysValMonitoringConfig.py.

116def InDetVertexTruthMatchToolCfg(flags, **kwargs):
117 acc = ComponentAccumulator()
118 acc.setPrivateTools(CompFactory.InDetVertexTruthMatchTool(**kwargs))
119 return acc
120
121