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()

extractCollectionPrefix ( track_collection_name)

Definition at line 27 of file InDetPhysValMonitoringConfig.py.

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

◆ GoodRunsListSelectionToolCfg()

GoodRunsListSelectionToolCfg ( flags,
** kwargs )

Definition at line 93 of file InDetPhysValMonitoringConfig.py.

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

◆ HistogramDefinitionSvcCfg()

HistogramDefinitionSvcCfg ( flags,
** kwargs )

Definition at line 35 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetLargeD0PhysValMonitoringToolCfg()

InDetLargeD0PhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 379 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetLowPtRoIPhysValMonitoringToolCfg()

InDetLowPtRoIPhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 412 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetMergedLargeD0PhysValMonitoringToolCfg()

InDetMergedLargeD0PhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 396 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringCfg()

InDetPhysValMonitoringCfg ( flags)

Definition at line 425 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolCfg()

InDetPhysValMonitoringToolCfg ( flags,
** kwargs )

Definition at line 125 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolElectronsCfg()

InDetPhysValMonitoringToolElectronsCfg ( flags,
** kwargs )

Definition at line 345 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolGSFCfg()

InDetPhysValMonitoringToolGSFCfg ( flags,
** kwargs )

Definition at line 337 of file InDetPhysValMonitoringConfig.py.

337def InDetPhysValMonitoringToolGSFCfg(flags, **kwargs):
338 kwargs.setdefault("SubFolder", 'GSF/')
339 kwargs.setdefault("TrackParticleContainerName", 'GSFTrackParticles')
340 kwargs.setdefault("useTrackSelection", True)
341 return InDetPhysValMonitoringToolCfg(
342 flags, name="InDetPhysValMonitoringToolGSF", **kwargs)
343
344

◆ InDetPhysValMonitoringToolHILooseCfg()

InDetPhysValMonitoringToolHILooseCfg ( flags,
** kwargs )

Definition at line 320 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolLooseCfg()

InDetPhysValMonitoringToolLooseCfg ( flags,
** kwargs )

Definition at line 286 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolMuonsCfg()

InDetPhysValMonitoringToolMuonsCfg ( flags,
** kwargs )

Definition at line 362 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetPhysValMonitoringToolTightPrimaryCfg()

InDetPhysValMonitoringToolTightPrimaryCfg ( flags,
** kwargs )

Definition at line 303 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetRttTruthSelectionToolCfg()

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

Definition at line 50 of file InDetPhysValMonitoringConfig.py.

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

◆ InDetVertexTruthMatchToolCfg()

InDetVertexTruthMatchToolCfg ( flags,
** kwargs )

Definition at line 119 of file InDetPhysValMonitoringConfig.py.

119def InDetVertexTruthMatchToolCfg(flags, **kwargs):
120 acc = ComponentAccumulator()
121 acc.setPrivateTools(CompFactory.InDetVertexTruthMatchTool(**kwargs))
122 return acc
123
124