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

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

◆ InDetLowPtRoIPhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetLowPtRoIPhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 408 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetMergedLargeD0PhysValMonitoringToolCfg()

InDetPhysValMonitoringConfig.InDetMergedLargeD0PhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 392 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringCfg ( flags)

Definition at line 421 of file InDetPhysValMonitoringConfig.py.

421def InDetPhysValMonitoringCfg(flags):
422 acc = ComponentAccumulator()
423
424 if flags.PhysVal.IDPVM.doValidateMergedLargeD0Tracks:
425 from DerivationFrameworkInDet.InDetToolsConfig import InDetLRTMergeCfg
426 acc.merge(InDetLRTMergeCfg(
427 flags,
428 InputTrackParticleLocations=[
429 "InDetTrackParticles",
430 flags.PhysVal.IDPVM.largeD0TrackCollection,
431 ],
432 ))
433
434 from ActsConfig.ActsAnalysisConfig import PhysValActsCfg
435
436 mons = [(True,
437 InDetPhysValMonitoringToolCfg),
438 (flags.PhysVal.IDPVM.doValidateMuonMatchedTracks,
439 InDetPhysValMonitoringToolMuonsCfg),
440 (flags.PhysVal.IDPVM.doValidateElectronMatchedTracks,
441 InDetPhysValMonitoringToolElectronsCfg),
442 (flags.PhysVal.IDPVM.doValidateLargeD0Tracks,
443 InDetLargeD0PhysValMonitoringToolCfg),
444 (flags.PhysVal.IDPVM.doValidateMergedLargeD0Tracks,
445 InDetMergedLargeD0PhysValMonitoringToolCfg),
446 (flags.PhysVal.IDPVM.doValidateLowPtRoITracks,
447 InDetLowPtRoIPhysValMonitoringToolCfg),
448 (flags.PhysVal.IDPVM.doValidateLooseTracks,
449 InDetPhysValMonitoringToolLooseCfg),
450 (flags.PhysVal.IDPVM.doValidateTightPrimaryTracks,
451 InDetPhysValMonitoringToolTightPrimaryCfg),
452 (flags.PhysVal.IDPVM.doValidateHILoose,
453 InDetPhysValMonitoringToolHILooseCfg),
454 (flags.PhysVal.IDPVM.doValidateGSFTracks,
455 InDetPhysValMonitoringToolGSFCfg),
456 (flags.PhysVal.IDPVM.doActs,
457 PhysValActsCfg)
458 ]
459
460 tools = []
461 for enabled, creator in mons:
462 if enabled:
463 tools.append(acc.popToolsAndMerge(creator(flags)))
464
465 for col in flags.PhysVal.IDPVM.validateExtraTrackCollections:
466 prefix = extractCollectionPrefix(col)
467 tools.append(acc.popToolsAndMerge(InDetPhysValMonitoringToolCfg(
468 flags, name='InDetPhysValMonitoringTool'+prefix,
469 SubFolder=prefix+'Tracks/',
470 TrackParticleContainerName=prefix+'TrackParticles'
471 )))
472
473 from PhysValMonitoring.PhysValMonitoringConfig import PhysValMonitoringCfg
474 acc.merge(PhysValMonitoringCfg(flags, tools=tools))
475 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 EventBookkeeperTools.EventBookkeeperToolsConfig import CutFlowSvcCfg
150 acc.merge(CutFlowSvcCfg(flags))
151 from DerivationFrameworkHiggs.HIGG1D1CustomVertexConfig import DiPhotonVertexCfg
152 acc.merge(DiPhotonVertexCfg(flags))
153
154 if flags.PhysVal.IDPVM.GRL:
155 kwargs.setdefault("useGRL", True)
156 kwargs.setdefault('GoodRunsListSelectionTool', acc.popToolsAndMerge(
157 GoodRunsListSelectionToolCfg(flags)))
158
159 kwargs.setdefault("doIDTIDEPlots", flags.PhysVal.IDPVM.doIDTIDE)
160 kwargs.setdefault("setCSVName", flags.PhysVal.IDPVM.setCSVName)
161
162 if flags.PhysVal.IDPVM.doValidateTracksInJets:
163 kwargs.setdefault("JetContainerName", flags.PhysVal.IDPVM.jetCollection)
164 kwargs.setdefault("FillTrackInJetPlots", True)
165 kwargs.setdefault('JetAbsEtaMin', 0)
166 kwargs.setdefault('JetAbsEtaMax', flags.PhysVal.IDPVM.JetAbsEtaMax)
167 kwargs.setdefault('JetPtMin', flags.PhysVal.IDPVM.JetPtMin)
168 kwargs.setdefault('JetPtMax', flags.PhysVal.IDPVM.JetPtMax)
169 kwargs.setdefault('maxTrkJetDR', flags.PhysVal.IDPVM.maxTrkJetDR)
170 kwargs.setdefault("FillTrackInBJetPlots",
171 flags.PhysVal.IDPVM.doValidateTracksInBJets)
172 else:
173 kwargs.setdefault("JetContainerName", '')
174 kwargs.setdefault("FillTrackInJetPlots", False)
175
176 kwargs.setdefault("doPerAuthorPlots",
177 flags.PhysVal.IDPVM.doPerAuthorPlots)
178
179 if flags.Tracking.doTruth and not flags.PhysVal.IDPVM.doRecoOnly:
180 kwargs.setdefault("TruthParticleContainerName", "TruthParticles")
181 if 'TruthSelectionTool' not in kwargs:
182 kwargs.setdefault("TruthSelectionTool", acc.popToolsAndMerge(
183 InDetRttTruthSelectionToolCfg(flags)))
184
185 doHyyHSSelection = hs_strategy == HardScatterStrategy.HYY
186 if 'hardScatterSelectionTool' not in kwargs:
187 from InDetConfig.InDetHardScatterSelectionToolConfig import (
188 InDetHardScatterSelectionToolCfg)
189 kwargs.setdefault("hardScatterSelectionTool", acc.popToolsAndMerge(
190 InDetHardScatterSelectionToolCfg(
191 flags,
192 RedoHardScatter=not doHyyHSSelection,
193 SelectionMode=hs_strategy,
194 # make sure the HS selection tool picks up the correct jets
195 JetContainer=flags.PhysVal.IDPVM.jetsNameForHardScatter,
196 VertexContainer=flags.PhysVal.IDPVM.PrimaryVertexContainer
197 )))
198
199 if doHyyHSSelection:
200 assert flags.PhysVal.IDPVM.PrimaryVertexContainer == 'HggPrimaryVertices'
201
202 kwargs.setdefault("FillTruthToRecoNtuple",
203 flags.PhysVal.IDPVM.doValidateTruthToRecoNtuple)
204 kwargs.setdefault("doTruthOriginPlots",
205 flags.PhysVal.IDPVM.doTruthOriginPlots)
206 kwargs.setdefault("doDuplicatePlots",
207 flags.PhysVal.IDPVM.doDuplicatePlots)
208 kwargs.setdefault("doHitLevelPlots",
209 flags.PhysVal.IDPVM.doHitLevelPlots)
210
211 # adding the VertexTruthMatchingTool
212 if not flags.PhysVal.IDPVM.doIDTIDE:
213 kwargs.setdefault("useVertexTruthMatchTool", True)
214 kwargs.setdefault("VertexTruthMatchTool", acc.popToolsAndMerge(
215 InDetVertexTruthMatchToolCfg(flags)))
216
217 if "trackTruthOriginTool" not in kwargs:
218 from InDetTrackSystematicsTools.InDetTrackSystematicsToolsConfig import InDetTrackTruthOriginToolCfg
219 kwargs.setdefault("trackTruthOriginTool", acc.popToolsAndMerge(
220 InDetTrackTruthOriginToolCfg(flags)))
221
222 # Options for Truth Strategy : Requires full pile-up truth containers for some
223 if flags.PhysVal.IDPVM.setTruthStrategy in ['All', 'PileUp']:
224 if "xAOD::TruthPileupEventContainer#TruthPileupEvents" not in flags.Input.TypedCollections:
225 print('WARNING Truth Strategy for InDetPhysValMonitoring set to %s but TruthPileupEvents are missing in the input' % (flags.PhysVal.IDPVM.setTruthStrategy))
226 kwargs.setdefault("PileupSwitch",
227 flags.PhysVal.IDPVM.setTruthStrategy)
228
229 elif flags.PhysVal.IDPVM.setTruthStrategy != 'HardScatter':
230 print('WARNING Truth Strategy for for InDetPhysValMonitoring set to invalid option %s; valid flags are ["HardScatter", "All", "PileUp"]' % (
231 flags.PhysVal.IDPVM.setTruthStrategy))
232
233 else:
234 # disable truth monitoring for data
235 kwargs.setdefault("TruthParticleContainerName", '')
236 kwargs.setdefault("TruthVertexContainerName", '')
237 kwargs.setdefault("TruthEvents", '')
238 kwargs.setdefault("TruthPileupEvents", '')
239 kwargs.setdefault("TruthSelectionTool", None)
240 kwargs.setdefault("FillTruthToRecoNtuple", False)
241
242 if flags.Detector.GeometryITk:
243 # Disable vertex container for now
244 kwargs.setdefault("doTRTExtensionPlots", False)
245 kwargs.setdefault("isITk", True)
246
247 if flags.Reco.EnableHGTDExtension:
248 kwargs.setdefault("hasHGTDReco", True)
249
250 if flags.PhysVal.IDPVM.doTechnicalEfficiency:
251 kwargs.setdefault("fillTechnicalEfficiency", True)
252 kwargs.setdefault("EtaBins", flags.Tracking.ITkMainPass.etaBins if flags.Detector.GeometryITk
253 else [-1, 9999.]) # Configurable eta bins for determining a "reconstructable" particle
254 kwargs.setdefault("MinNumberClusters", flags.Tracking.ITkMainPass.minClusters if flags.Detector.GeometryITk
255 else [flags.Tracking.MainPass.minClusters]) # Configurable hits per eta bins for determining a "reconstructable" particle
256
257 # Control the number of output histograms
258 kwargs.setdefault("DetailLevel", 200 if flags.PhysVal.IDPVM.doExpertOutput else 100)
259
260 # for IDTIDE derivation
261 if flags.PhysVal.IDPVM.doIDTIDE:
262 kwargs.setdefault("doIDTIDEPlots", True)
263 kwargs.setdefault("JetContainerName", 'AntiKt4EMPFlowJets')
264 kwargs.setdefault("FillTrackInJetPlots", True)
265
266 # Set Jet cuts used for CTIDE studies
267 kwargs.setdefault('JetAbsEtaMin', 0)
268 kwargs.setdefault('JetAbsEtaMax',
269 flags.PhysVal.IDPVM.JetAbsEtaMax)
270 kwargs.setdefault('maxTrkJetDR',
271 flags.PhysVal.IDPVM.maxTrkJetDR)
272 # Pt cuts are in GeV
273 kwargs.setdefault('JetPtMin', 100)
274 kwargs.setdefault('JetPtMax', 5000)
275
276 kwargs.setdefault("doPRW", flags.PhysVal.IDPVM.doPRW)
277
278 acc.setPrivateTools(CompFactory.InDetPhysValMonitoringTool(**kwargs))
279 return acc
280
281
void print(char *figname, TCanvas *c1)

◆ InDetPhysValMonitoringToolElectronsCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolElectronsCfg ( flags,
** kwargs )

Definition at line 341 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolGSFCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolGSFCfg ( flags,
** kwargs )

Definition at line 333 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolHILooseCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolHILooseCfg ( flags,
** kwargs )

Definition at line 316 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolLooseCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolLooseCfg ( flags,
** kwargs )

Definition at line 282 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolMuonsCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolMuonsCfg ( flags,
** kwargs )

Definition at line 358 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolTightPrimaryCfg()

InDetPhysValMonitoringConfig.InDetPhysValMonitoringToolTightPrimaryCfg ( flags,
** kwargs )

Definition at line 299 of file InDetPhysValMonitoringConfig.py.

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

◆ 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