ATLAS Offline Software
Loading...
Searching...
No Matches
TauToolHolder.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3
10
11from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
12from AthenaConfiguration.ComponentFactory import CompFactory
13from AthenaConfiguration.AccumulatorCache import AccumulatorCache
14from AthenaConfiguration.Enums import ProductionStep, LHCPeriod
15from AthenaCommon.SystemOfUnits import GeV, deg
16
17
19@AccumulatorCache
21 result = ComponentAccumulator()
22 _name = flags.Tau.ActiveConfig.prefix + 'JetSeedBuilder'
23
24 JetSeedBuilder = CompFactory.getComp("JetSeedBuilder")
25 JetSeedBuilder = JetSeedBuilder(name = _name)
26
27 result.setPrivateTools(JetSeedBuilder)
28 return result
29
30
32 result = ComponentAccumulator()
33 _name = flags.Tau.ActiveConfig.prefix + 'TauVertexFinder'
34
35 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig import (
36 Tau_InDetTrackSelectionToolForTJVACfg)
37 from TrackVertexAssociationTool.TrackVertexAssociationToolConfig import TauTTVAToolCfg
38
39 # Algorithm that overwrites numTrack() and charge() of tauJets in container
40 # from tauRecTools.tauRecToolsConf import TauVertexFinder
41 TauVertexFinder = CompFactory.getComp("TauVertexFinder")
42 TauVertexFinder = TauVertexFinder(name = _name,
43 UseTJVA = flags.Tau.doTJVA,
44 AssociatedTracks="GhostTrack", # OK??
45 InDetTrackSelectionToolForTJVA = result.popToolsAndMerge(Tau_InDetTrackSelectionToolForTJVACfg(flags)),
46 Key_vertexInputContainer = flags.Tau.ActiveConfig.VertexCollection,
47 TVATool = result.popToolsAndMerge(TauTTVAToolCfg(flags)),
48 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
49 )
50
51 result.setPrivateTools(TauVertexFinder)
52 return result
53
54
56def TauAxisCfg(flags):
57 result = ComponentAccumulator()
58 _name = flags.Tau.ActiveConfig.prefix + 'TauAxis'
59
60 TauAxisSetter = CompFactory.getComp("TauAxisSetter")
61 TauAxisSetter = TauAxisSetter( name = _name,
62 ClusterCone = 0.2,
63 VertexCorrection = flags.Tau.doVertexCorrection )
64
65 result.setPrivateTools(TauAxisSetter)
66 return result
67
68
69
71 #If reading from ESD we not create a cache of extrapolations to the calorimeter, so we should signify this by setting the cache key to a null string
72 if flags.Common.ProductionStep is ProductionStep.Reconstruction:
73 ParticleCache = "ParticleCaloExtension"
74 else:
75 ParticleCache = ""
76
77 return ParticleCache
78
79
82 result = ComponentAccumulator()
83 _name = flags.Tau.ActiveConfig.prefix + 'TauTrackFinder'
84
85 # BeamSpot Conditions
86 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
87 result.merge(BeamSpotCondAlgCfg(flags))
88
89 from TrackToVertex.TrackToVertexConfig import TrackToVertexCfg
90 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
91 from TrkConfig.TrkVertexFitterUtilsConfig import AtlasTrackToVertexIPEstimatorCfg
92 from InDetConfig.InDetTrackSelectorToolConfig import TauRecInDetTrackSelectorToolCfg
93
94 _LargeD0TrackInputContainer = (flags.Tau.ActiveConfig.LargeD0TrackCollection if flags.Tau.associateLRT else "")
95
96 # Manually setting for TauLRT reco
97 if flags.Tau.ActiveConfig.inTauLRT:
98 _LargeD0TrackInputContainer = flags.Tau.ActiveConfig.LargeD0TrackCollection
99
100 TauTrackFinder = CompFactory.getComp("TauTrackFinder")
101 TauTrackFinder = TauTrackFinder(name = _name,
102 MaxJetDrTau = 0.2,
103 MaxJetDrWide = 0.4,
104 TrackSelectorToolTau = result.popToolsAndMerge(TauRecInDetTrackSelectorToolCfg(flags)),
105 TrackToVertexTool = result.popToolsAndMerge(TrackToVertexCfg(flags)),
106 ParticleCaloExtensionTool = result.popToolsAndMerge(ParticleCaloExtensionToolCfg(flags)),
107 tauParticleCache = getParticleCache(flags), # only returns a string
108 removeDuplicateCoreTracks = flags.Tau.RemoveDupeCoreTracks,
109 useGhostTracks = flags.Tau.useGhostTracks,
110 ghostTrackDR = flags.Tau.ghostTrackDR,
111 Key_jetContainer = (flags.Tau.ActiveConfig.SeedJetCollection if flags.Tau.useGhostTracks else ""),
112 Key_trackPartInputContainer = flags.Tau.ActiveConfig.TrackCollection,
113 Key_LargeD0TrackInputContainer = _LargeD0TrackInputContainer,
114 TrackToVertexIPEstimator = result.popToolsAndMerge(AtlasTrackToVertexIPEstimatorCfg(flags)),
115 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
116 )
117 result.setPrivateTools(TauTrackFinder)
118 return result
119
120
123 result = ComponentAccumulator()
124 _name = flags.Tau.ActiveConfig.prefix + 'TauClusterFinder'
125
126
127 TauClusterFinder = CompFactory.getComp("TauClusterFinder")
128 TauClusterFinder = TauClusterFinder(
129 name = _name,
130 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
131 )
132
133
134 result.setPrivateTools(TauClusterFinder)
135 return result
136
137
139 result = ComponentAccumulator()
140 _name = flags.Tau.ActiveConfig.prefix + 'TauVertexedClusterDecorator'
141
142 TauVertexedClusterDecorator = CompFactory.getComp("TauVertexedClusterDecorator")
143 myTauVertexedClusterDecorator = TauVertexedClusterDecorator(name = _name,
144 SeedJet = flags.Tau.ActiveConfig.SeedJetCollection)
145
146 result.setPrivateTools(myTauVertexedClusterDecorator)
147 return result
148
149
150def TauTrackRNNCfg(flags):
151 result = ComponentAccumulator()
152 _name = flags.Tau.ActiveConfig.prefix + 'TauTrackRNNClassifier'
153
154 TrackRNN = CompFactory.tauRecTools.TrackRNN
155 _RNN = TrackRNN(name = _name + "_TrackRNN",
156 InputWeightsPath = flags.Tau.tauRNNTrackClassConfig,
157 calibFolder = flags.Tau.tauRecToolsCVMFSPath )
158
159 result.setPrivateTools(_RNN)
160 return result
161
162
164 result = ComponentAccumulator()
165 _name = flags.Tau.ActiveConfig.prefix + 'TauTrackRNNClassifier'
166
167 # create tool alg
168 TauTrackRNNClassifier = CompFactory.tauRecTools.TauTrackRNNClassifier
169
170 import cppyy
171 cppyy.load_library('libxAODTau_cDict')
172
173 _classifyLRT = True
174 _classifyLRTWithDedicated = flags.Tau.classifyLRTWithDedicated
175 if flags.Tau.associateLRT and not flags.Tau.classifyLRT:
176 _classifyLRT = False
177
178 # Manually setting for TauLRT reco
179 if flags.Tau.ActiveConfig.inTauLRT:
180 _classifyLRT = True
181 _classifyLRTWithDedicated = True
182
183
184 myTauTrackClassifier = TauTrackRNNClassifier( name = _name,
185 Classifiers = [ result.popToolsAndMerge(TauTrackRNNCfg(flags)) ],
186 classifyLRT = _classifyLRT,
187 classifyLRTWithDedicated = _classifyLRTWithDedicated)
188
189 result.setPrivateTools(myTauTrackClassifier)
190 return result
191
192
195 result = ComponentAccumulator()
196 _name = flags.Tau.ActiveConfig.prefix +'EnergyCalibrationLC'
197
198 TauCalibrateLC = CompFactory.getComp("TauCalibrateLC")
199 TauCalibrateLC = TauCalibrateLC(name = _name,
200 calibrationFile = flags.Tau.CalibrateLCConfig,
201 Key_vertexInputContainer = flags.Tau.ActiveConfig.VertexCollection)
202
203 result.setPrivateTools(TauCalibrateLC)
204 return result
205
206
209 result = ComponentAccumulator()
210 _name = flags.Tau.ActiveConfig.prefix + 'CellVariables'
211
212 TauCellVariables = CompFactory.getComp("TauCellVariables")
213 TauCellVariables = TauCellVariables(name = _name,
214 VertexCorrection = flags.Tau.doVertexCorrection)
215
216 result.setPrivateTools(TauCellVariables)
217 return result
218
219
222 result = ComponentAccumulator()
223 _name = flags.Tau.ActiveConfig.prefix + 'TauElectronVetoVars'
224
225 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
226
227 TauElectronVetoVariables = CompFactory.getComp("TauElectronVetoVariables")
228 TauElectronVetoVariables = TauElectronVetoVariables(name = _name,
229 VertexCorrection = flags.Tau.doVertexCorrection,
230 ParticleCaloExtensionTool = result.popToolsAndMerge(ParticleCaloExtensionToolCfg(flags)),
231 tauEVParticleCache = getParticleCache(flags))
232
233 result.setPrivateTools(TauElectronVetoVariables)
234 return result
235
236
239 result = ComponentAccumulator()
240 _name = flags.Tau.ActiveConfig.prefix + 'TauShotFinder'
241
242 shotPtCut_1Photon = flags.Tau.shotPtCut_1Photon
243 shotPtCut_2Photons = flags.Tau.shotPtCut_2Photons
244
245
246 from CaloClusterCorrection.StandardCellWeightCalib import getCellWeightTool
247 CaloWeightTool = getCellWeightTool(flags=flags)
248
249
250 TauShotFinder = CompFactory.getComp("TauShotFinder")
251 TauShotFinder = TauShotFinder(
252 name = _name,
253 CaloWeightTool = result.popToolsAndMerge(CaloWeightTool),
254 NCellsInEta = 5,
255 MinPtCut = shotPtCut_1Photon,
256 AutoDoubleShotCut = shotPtCut_2Photons,
257 Key_RemovedClusterInputContainer = flags.Tau.ActiveConfig.RemovedElectronClusters,
258 RemoveElectronCells = flags.Tau.ActiveConfig.RemoveElectronCells,
259 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
260 )
261
262 result.setPrivateTools(TauShotFinder)
263 return result
264
265
269 result = ComponentAccumulator()
270 _name = flags.Tau.ActiveConfig.prefix + 'Pi0ClusterFinder'
271
272 TauPi0CreateROI = CompFactory.getComp("TauPi0CreateROI")
273
274 myTauPi0CreateROI = TauPi0CreateROI(
275 name = _name,
276 Key_caloCellInputContainer = "AllCalo",
277 Key_RemovedClusterInputContainer = flags.Tau.ActiveConfig.RemovedElectronClusters,
278 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
279 RemoveElectronCells = flags.Tau.ActiveConfig.RemoveElectronCells,
280 )
281
282 result.setPrivateTools(myTauPi0CreateROI)
283 return result
284
285
288 result = ComponentAccumulator()
289 _name = flags.Tau.ActiveConfig.prefix + 'tauPi0CellContainerFinalizer'
290
291 CaloCellContainerFinalizerTool = CompFactory.getComp("CaloCellContainerFinalizerTool")
292 TauCellContainerFinalizer = CaloCellContainerFinalizerTool(name=_name)
293
294 result.setPrivateTools(TauCellContainerFinalizer)
295 return result
296
297
300
302 result = ComponentAccumulator()
303 _name = flags.Tau.ActiveConfig.prefix + 'LCClassify'
304
305 CaloLCClassificationTool = CompFactory.getComp("CaloLCClassificationTool")
306 LCClassify = CaloLCClassificationTool(_name)
307 LCClassify.ClassificationKey = "EMFracClassify"
308 LCClassify.UseSpread = False
309 LCClassify.MaxProbability = 0.5
310 # add the moments EM_PROBABILITY, HAD_WEIGHT, OOC_WEIGHT, DM_WEIGHT to the AOD:
311 LCClassify.StoreClassificationProbabilityInAOD = True
312 LCClassify.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
313 LCClassify.UseNormalizedEnergyDensity = True
314
315 result.setPrivateTools(LCClassify)
316 return result
317
319 result = ComponentAccumulator()
320 _name = flags.Tau.ActiveConfig.prefix + 'CaloLCWeightTool'
321
322 # Schedule total noise cond alg
323 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
324 result.merge(CaloNoiseCondAlgCfg(flags,"totalNoise"))
325 # Schedule electronic noise cond alg (needed for LC weights)
326 result.merge(CaloNoiseCondAlgCfg(flags,"electronicNoise"))
327
328 CaloLCWeightTool = CompFactory.getComp("CaloLCWeightTool")
329 LCWeight = CaloLCWeightTool(_name)
330 LCWeight.CorrectionKey = "H1ClusterCellWeights"
331 LCWeight.SignalOverNoiseCut = 2.0
332 LCWeight.UseHadProbability = True
333
334 result.setPrivateTools(LCWeight)
335 return result
336
338 result = ComponentAccumulator()
339 _name = flags.Tau.ActiveConfig.prefix + 'CaloLCOutOfClusterTool'
340
341 CaloLCOutOfClusterTool = CompFactory.getComp("CaloLCOutOfClusterTool")
342 LCOut = CaloLCOutOfClusterTool(_name)
343 LCOut.CorrectionKey = "OOCCorrection"
344 LCOut.UseEmProbability = False
345 LCOut.UseHadProbability = True
346
347 result.setPrivateTools(LCOut)
348 return result
349
351 result = ComponentAccumulator()
352 _name = flags.Tau.ActiveConfig.prefix + 'LCOutPi0'
353
354 CaloLCOutOfClusterTool = CompFactory.getComp("CaloLCOutOfClusterTool")
355 LCOutPi0 = CaloLCOutOfClusterTool(_name)
356 LCOutPi0.CorrectionKey = "OOCPi0Correction"
357 LCOutPi0.UseEmProbability = True
358 LCOutPi0.UseHadProbability = False
359
360 result.setPrivateTools(LCOutPi0)
361 return result
362
364 result = ComponentAccumulator()
365 _name = flags.Tau.ActiveConfig.prefix + 'CaloLCDeadMaterialTool'
366
367 CaloLCDeadMaterialTool = CompFactory.getComp("CaloLCDeadMaterialTool")
368 LCDeadMaterial = CaloLCDeadMaterialTool(_name)
369 LCDeadMaterial.HadDMCoeffKey = "HadDMCoeff2"
370 LCDeadMaterial.ClusterRecoStatus = 0
371 LCDeadMaterial.WeightModeDM = 2
372 LCDeadMaterial.UseHadProbability = True
373 LCDeadMaterial.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
374
375 result.setPrivateTools(LCDeadMaterial)
376 return result
377
379 result = ComponentAccumulator()
380 _name = flags.Tau.ActiveConfig.prefix + 'CaloLocalCalib'
381
382 CaloClusterLocalCalib = CompFactory.getComp("CaloClusterLocalCalib")
383 LocalCalib = CaloClusterLocalCalib(_name)
384 LocalCalib.ClusterClassificationTool = [result.popToolsAndMerge(TauCaloLCClassificationCfg(flags))]
385 LocalCalib.ClusterRecoStatus = [1,2]
386 LocalCalib.LocalCalibTools = [result.popToolsAndMerge(TauCaloLCWeightCfg(flags))]
387 LocalCalib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
388
389 result.setPrivateTools(LocalCalib)
390 return result
391
393 result = ComponentAccumulator()
394 _name = flags.Tau.ActiveConfig.prefix + 'OOCCalibTool'
395
396 CaloClusterLocalCalib = CompFactory.getComp("CaloClusterLocalCalib")
397 OOCCalib = CaloClusterLocalCalib (_name)
398 OOCCalib.ClusterRecoStatus = [1,2]
399 OOCCalib.LocalCalibTools = [result.popToolsAndMerge(TauCaloLCOutOfClusterCfg(flags))]
400 OOCCalib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
401
402 result.setPrivateTools(OOCCalib)
403 return result
404
406 result = ComponentAccumulator()
407 _name = flags.Tau.ActiveConfig.prefix + 'DMCalib'
408
409 CaloClusterLocalCalib = CompFactory.getComp("CaloClusterLocalCalib")
410 DMCalib = CaloClusterLocalCalib(_name)
411 DMCalib.ClusterRecoStatus = [1,2]
412 DMCalib.LocalCalibTools = [result.popToolsAndMerge(TauCaloLCDeadMaterialCfg(flags))]
413 DMCalib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
414
415 result.setPrivateTools(DMCalib)
416 return result
417
419 result = ComponentAccumulator()
420 _name = flags.Tau.ActiveConfig.prefix + 'OOCPi0CalibTool'
421
422 CaloClusterLocalCalib = CompFactory.getComp("CaloClusterLocalCalib")
423 OOCPi0Calib = CaloClusterLocalCalib (_name)
424 OOCPi0Calib.ClusterRecoStatus = [1,2]
425 OOCPi0Calib.LocalCalibTools = [result.popToolsAndMerge(TauCaloLCOutPi0Cfg(flags))]
426 OOCPi0Calib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
427
428 result.setPrivateTools(OOCPi0Calib)
429 return result
430
432 result = ComponentAccumulator()
433 _name = flags.Tau.ActiveConfig.prefix + 'Pi0TopoClusterMaker'
434
435 # Schedule total noise cond alg
436 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
437 result.merge(CaloNoiseCondAlgCfg(flags,"totalNoise"))
438 # Schedule electronic noise cond alg (needed for LC weights)
439 result.merge(CaloNoiseCondAlgCfg(flags,"electronicNoise"))
440
441 CaloTopoClusterMaker = CompFactory.getComp("CaloTopoClusterMaker")
442 TopoClusterForTaus = CaloTopoClusterMaker(_name)
443
444 TopoClusterForTaus.CellsName = flags.Tau.ActiveConfig.TauCommonPi0Cells
445 TopoClusterForTaus.CalorimeterNames=["LAREM"]
446 TopoClusterForTaus.SeedSamplingNames = ["PreSamplerB", "EMB1", "EMB2", "PreSamplerE", "EME1", "EME2"]
447 TopoClusterForTaus.NeighborOption = "super3D"
448 TopoClusterForTaus.RestrictHECIWandFCalNeighbors = False
449 TopoClusterForTaus.RestrictPSNeighbors = True
450 TopoClusterForTaus.CellThresholdOnEorAbsEinSigma = 0.0
451 TopoClusterForTaus.NeighborThresholdOnEorAbsEinSigma = 2.0
452 TopoClusterForTaus.SeedThresholdOnEorAbsEinSigma = 4.0
453 TopoClusterForTaus.SeedCutsInAbsE = True
454 TopoClusterForTaus.ClusterCutsInAbsEt = True
455 TopoClusterForTaus.ClusterEtorAbsEtCut = 0.5*GeV # 0.0*MeV in standard CaloCalTopoCluster JobOptions!
456 TopoClusterForTaus.TwoGaussianNoise = flags.Calo.TopoCluster.doTwoGaussianNoise
457 # timing cut on seed cell to suppress out-of-time pileup
458 TopoClusterForTaus.SeedCutsInT = flags.Calo.TopoCluster.doTimeCut
459 TopoClusterForTaus.CutOOTseed = flags.Calo.TopoCluster.extendTimeCut and flags.Calo.TopoCluster.doTimeCut
460 TopoClusterForTaus.UseTimeCutUpperLimit = flags.Calo.TopoCluster.useUpperLimitForTimeCut
461 TopoClusterForTaus.TimeCutUpperLimit = flags.Calo.TopoCluster.timeCutUpperLimit
462 TopoClusterForTaus.XTalkEM2 = flags.Calo.TopoCluster.xtalkEM2
463 TopoClusterForTaus.XTalkEM2D = flags.Calo.TopoCluster.xtalkEM2D
464 TopoClusterForTaus.XTalkEM2n = flags.Calo.TopoCluster.xtalkEM2n
465 TopoClusterForTaus.XTalkEM3 = flags.Calo.TopoCluster.xtalkEM3
466 TopoClusterForTaus.XTalkEMEta = flags.Calo.TopoCluster.xtalkEMEta
467 TopoClusterForTaus.XTalkDeltaT = flags.Calo.TopoCluster.xtalkDeltaT
468 TopoClusterForTaus.XTalk2Eratio1 = flags.Calo.TopoCluster.xtalk2Eratio1
469 TopoClusterForTaus.XTalk2Eratio2 = flags.Calo.TopoCluster.xtalk2Eratio2
470 TopoClusterForTaus.XTalk3Eratio = flags.Calo.TopoCluster.xtalk3Eratio
471 TopoClusterForTaus.XTalkEtaEratio = flags.Calo.TopoCluster.xtalkEtaEratio
472 TopoClusterForTaus.XTalk2DEratio = flags.Calo.TopoCluster.xtalk2DEratio
473
474 result.setPrivateTools(TopoClusterForTaus)
475 return result
476
478
479 result = ComponentAccumulator()
480 _name = flags.Tau.ActiveConfig.prefix + 'Pi0TopoClusterSplitter'
481
482 CaloTopoClusterSplitter = CompFactory.getComp("CaloTopoClusterSplitter")
483 TopoSplitterForTaus = CaloTopoClusterSplitter(_name)
484
485 # cells from the following samplings will be able to form local
486 # maxima. The excluded samplings are PreSamplerB, EMB1,
487 # PreSamplerE, EME1, all Tile samplings, all HEC samplings and the
488 # two rear FCal samplings.
489 TopoSplitterForTaus.SamplingNames = ["EMB2","EME2"] # Do we want to use EMB3 and EME3?
490 # cells from the following samplings will also be able to form
491 # local maxima but only if they are not overlapping in eta and phi
492 # with local maxima in previous samplings from the primary list.
493 TopoSplitterForTaus.SecondarySamplingNames = ["EMB1","EME1"]
494 TopoSplitterForTaus.ShareBorderCells = True
495 TopoSplitterForTaus.RestrictHECIWandFCalNeighbors = False
496 TopoSplitterForTaus.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
497
498 result.setPrivateTools(TopoSplitterForTaus)
499 return result
500
502 result = ComponentAccumulator()
503 _name = flags.Tau.ActiveConfig.prefix + 'Pi0TopoMoments'
504
505 # Schedule total noise cond alg
506 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
507 result.merge(CaloNoiseCondAlgCfg(flags,"totalNoise"))
508 # Schedule electronic noise cond alg (needed for LC weights)
509 result.merge(CaloNoiseCondAlgCfg(flags,"electronicNoise"))
510
511 CaloClusterMomentsMaker = CompFactory.getComp("CaloClusterMomentsMaker")
512 TopoMomentsForTaus = CaloClusterMomentsMaker(_name)
513 TopoMomentsForTaus.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
514 TopoMomentsForTaus.MaxAxisAngle = 20*deg
515 TopoMomentsForTaus.TwoGaussianNoise = flags.Calo.TopoCluster.doTwoGaussianNoise
516 TopoMomentsForTaus.MinBadLArQuality = 4000
517 TopoMomentsForTaus.MomentsNames = ["FIRST_PHI"
518 ,"FIRST_ETA"
519 ,"SECOND_R"
520 ,"SECOND_LAMBDA"
521 ,"DELTA_PHI"
522 ,"DELTA_THETA"
523 ,"DELTA_ALPHA"
524 ,"CENTER_X"
525 ,"CENTER_Y"
526 ,"CENTER_Z"
527 ,"CENTER_MAG"
528 ,"CENTER_LAMBDA"
529 ,"LATERAL"
530 ,"LONGITUDINAL"
531 ,"ENG_FRAC_EM"
532 ,"ENG_FRAC_MAX"
533 ,"ENG_FRAC_CORE"
534 ,"FIRST_ENG_DENS"
535 ,"SECOND_ENG_DENS"
536 ,"ISOLATION"]
537
538 result.setPrivateTools(TopoMomentsForTaus)
539 return result
540
542 result = ComponentAccumulator()
543 _name = flags.Tau.ActiveConfig.prefix + 'CaloClusterBadChannelList'
544
545 CaloClusterBadChannelListCorr = CompFactory.getComp("CaloClusterBadChannelList")
546 BadChannelListCorrForTaus = CaloClusterBadChannelListCorr(_name)
547
548 result.setPrivateTools(BadChannelListCorrForTaus)
549 return result
550
551
554 result = ComponentAccumulator()
555 _name = flags.Tau.ActiveConfig.prefix + 'Pi0ClusterCreator'
556
557 # TauPi0ClusterCreator accesses cells via links only, which doesn't
558 # make a scheduler dependency. So make additional explicit dependencies
559 # on cells in the input file.
560 extraInputs = []
561 for typ, nam in [i.split('#') for i in flags.Input.TypedCollections]:
562 if typ == 'CaloCellContainer':
563 extraInputs += [('CaloCellContainer', nam)]
564
565 TauPi0ClusterCreator = CompFactory.getComp("TauPi0ClusterCreator")
566 TauPi0ClusterCreator = TauPi0ClusterCreator(name = _name,
567 ExtraInputs = extraInputs,
568 RecoFromAOD = flags.Common.ProductionStep is ProductionStep.Derivation)
569
570 result.setPrivateTools(TauPi0ClusterCreator)
571 return result
572
573
576 result = ComponentAccumulator()
577 _name = flags.Tau.ActiveConfig.prefix + 'Pi0ClusterScaler'
578
579 TauPi0ClusterScaler = CompFactory.getComp("TauPi0ClusterScaler")
580 TauPi0ClusterScaler = TauPi0ClusterScaler(name = _name)
581
582 result.setPrivateTools(TauPi0ClusterScaler)
583 return result
584
585
588 result = ComponentAccumulator()
589 _name = flags.Tau.ActiveConfig.prefix + 'Pi0ScoreCalculator'
590
591 TauPi0ScoreCalculator = CompFactory.getComp("TauPi0ScoreCalculator")
592 TauPi0ScoreCalculator = TauPi0ScoreCalculator(name = _name,
593 BDTWeightFile = flags.Tau.Pi0ScoreConfig)
594
595 result.setPrivateTools(TauPi0ScoreCalculator)
596 return result
597
598
600def Pi0SelectorCfg(flags):
601 result = ComponentAccumulator()
602 _name = flags.Tau.ActiveConfig.prefix + 'Pi0Selector'
603
604 TauPi0Selector = CompFactory.getComp("TauPi0Selector")
605 TauPi0Selector = TauPi0Selector(name = _name,
606 Pi0EtCut = flags.Tau.pi0EtCuts,
607 Pi0BDTCut_1prong = flags.Tau.pi0MVACuts_1prong,
608 Pi0BDTCut_mprong = flags.Tau.pi0MVACuts_mprong)
609
610 result.setPrivateTools(TauPi0Selector)
611 return result
612
613
616 result = ComponentAccumulator()
617 _name = flags.Tau.ActiveConfig.prefix + 'TauVertexVariables'
618
619 from TrkConfig.TrkVertexFittersConfig import TauAdaptiveVertexFitterCfg
620 from TrkConfig.TrkVertexSeedFinderToolsConfig import (
621 CrossDistancesSeedFinderCfg)
622
623 TauVertexVariables = CompFactory.getComp("TauVertexVariables")
624 TauVertexVariables = TauVertexVariables( name = _name,
625 VertexFitter = result.popToolsAndMerge(TauAdaptiveVertexFitterCfg(flags)),
626 SeedFinder = result.popToolsAndMerge(CrossDistancesSeedFinderCfg(flags)) )
627
628 result.setPrivateTools(TauVertexVariables)
629 return result
630
631
634 result = ComponentAccumulator()
635 _name = flags.Tau.ActiveConfig.prefix + 'TauCommonCalcVars'
636
637 TauCommonCalcVars = CompFactory.getComp("TauCommonCalcVars")
638 TauCommonCalcVars = TauCommonCalcVars(name = _name,
639 doRun4 = flags.GeoModel.Run > LHCPeriod.Run3)
640
641 result.setPrivateTools(TauCommonCalcVars)
642 return result
643
644
647 result = ComponentAccumulator()
648 _name = flags.Tau.ActiveConfig.prefix + 'TauSubstructure'
649
650 TauSubstructureVariables = CompFactory.getComp("TauSubstructureVariables")
651 TauSubstructureVariables = TauSubstructureVariables( name = _name,
652 doRun4 = flags.GeoModel.Run > LHCPeriod.Run3)
653
654 result.setPrivateTools(TauSubstructureVariables)
655 return result
656
657
660 result = ComponentAccumulator()
661 _name = flags.Tau.ActiveConfig.prefix + 'MvaTESVariableDecorator'
662
663 eventShapeCollection = flags.Tau.ActiveConfig.EventShapeCollection
664 if 'EMPFlow' in flags.Tau.ActiveConfig.SeedJetCollection:
665 eventShapeCollection = "Kt4EMPFlowEventShape"
666 elif 'EMTopo' in flags.Tau.ActiveConfig.SeedJetCollection:
667 eventShapeCollection ="Kt4EMTopoOriginEventShape"
668
669 MvaTESVariableDecorator = CompFactory.getComp("MvaTESVariableDecorator")
670 MvaTESVariableDecorator = MvaTESVariableDecorator(name = _name,
671 Key_vertexInputContainer = flags.Tau.ActiveConfig.VertexCollection,
672 EventShapeKey = eventShapeCollection,
673 VertexCorrection = flags.Tau.doVertexCorrection)
674 result.setPrivateTools(MvaTESVariableDecorator)
675 return result
676
677
680 result = ComponentAccumulator()
681 _name = flags.Tau.ActiveConfig.prefix + 'MvaTESEvaluator'
682
683 MvaTESEvaluator = CompFactory.getComp("MvaTESEvaluator")
684 MvaTESEvaluator = MvaTESEvaluator(name = _name,
685 WeightFileName = flags.Tau.MvaTESConfig,
686 WeightFileName0p = flags.Tau.MvaTESConfig0p )
687
688 result.setPrivateTools(MvaTESEvaluator)
689 return result
690
692 result = ComponentAccumulator()
693 _name = flags.Tau.ActiveConfig.prefix + 'TauIDVarCalculator'
694
695 TauIDVarCalculator = CompFactory.getComp("TauIDVarCalculator")
696 myTauIDVarCalculator = TauIDVarCalculator(name=_name,
697 VertexCorrection = flags.Tau.doVertexCorrection,
698 doRun4 = flags.GeoModel.Run > LHCPeriod.Run3)
699
700 result.setPrivateTools(myTauIDVarCalculator)
701 return result
702
703def TauJetRNNEvaluatorCfg(flags, applyLooseTrackSel=False):
704 result = ComponentAccumulator()
705 _name = flags.Tau.ActiveConfig.prefix + 'TauJetRNN'
706
707 TauJetRNNEvaluator = CompFactory.getComp("TauJetRNNEvaluator")
708 RNNConf = flags.Tau.TauJetRNNConfig
709 myTauJetRNNEvaluator = TauJetRNNEvaluator(name = _name,
710 NetworkFile0P = "",
711 NetworkFile1P = RNNConf[0],
712 NetworkFile2P = RNNConf[1],
713 NetworkFile3P = RNNConf[2],
714 OutputVarname = "RNNJetScore",
715 MaxTracks = 10,
716 MaxClusters = 6,
717 MaxClusterDR = 1.0,
718 ApplyLooseTrackSel = applyLooseTrackSel,
719 VertexCorrection = flags.Tau.doVertexCorrection,
720 InputLayerScalar = "scalar",
721 InputLayerTracks = "tracks",
722 InputLayerClusters = "clusters",
723 OutputLayer = "rnnid_output",
724 OutputNode = "sig_prob")
725
726 result.setPrivateTools(myTauJetRNNEvaluator)
727 return result
728
730 import PyUtils.RootUtils as ru
731 ROOT = ru.import_root()
732 import cppyy
733 cppyy.load_library('libxAODTau_cDict')
734
735 result = ComponentAccumulator()
736 _name = flags.Tau.ActiveConfig.prefix + 'TauWPDecoratorJetRNN'
737
738 TauWPDecorator = CompFactory.getComp("TauWPDecorator")
739 WPConf = flags.Tau.TauJetRNNWPConfig
740 myTauWPDecorator = TauWPDecorator( name=_name,
741 flatteningFile1Prong = WPConf[0],
742 flatteningFile2Prong = WPConf[1],
743 flatteningFile3Prong = WPConf[2],
744 CutEnumVals =
745 [ ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigVeryLoose,
746 ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigLoose,
747 ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigMedium,
748 ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigTight ],
749 SigEff1P = [0.95, 0.85, 0.75, 0.60],
750 SigEff2P = [0.95, 0.75, 0.60, 0.45],
751 SigEff3P = [0.95, 0.75, 0.60, 0.45],
752 ScoreName = "RNNJetScore",
753 NewScoreName = "RNNJetScoreSigTrans",
754 DefineWPs = True )
755
756 result.setPrivateTools(myTauWPDecorator)
757 return result
758
759def TauGNNEvaluatorCfg(flags, version=0, applyLooseTrackSel=False, applyTightTrackSel=False, tauContainerName=""):
760 result = ComponentAccumulator()
761 _name = flags.Tau.ActiveConfig.prefix + 'TauGNN_v' + str(version)
762
763 TauGNNEvaluator = CompFactory.getComp("TauGNNEvaluator")
764 GNNConf = flags.Tau.TauGNNConfig[version]
765 myTauGNNEvaluator = TauGNNEvaluator(name = _name,
766 useTRT = flags.Detector.EnableTRT,
767 NetworkFileInclusive = GNNConf,
768 OutputVarname = flags.Tau.GNTauScoreName[version],
769 OutputPTau = "GNTauProbTau",
770 OutputPJet = "GNTauProbJet",
771 MaxTracks = flags.Tau.GNTauMaxTracks[version],
772 MaxClusters = flags.Tau.GNTauMaxClusters[version],
773 MaxClusterDR = 15.0,
774 MinTauPt = flags.Tau.MinPtDAOD,
775 ApplyLooseTrackSel = applyLooseTrackSel,
776 ApplyTightTrackSel = applyTightTrackSel,
777 VertexCorrection = flags.Tau.doVertexCorrection,
778 InputLayerScalar = 'tau_vars',
779 InputLayerTracks = 'track_vars',
780 InputLayerClusters = 'cluster_vars',
781 NodeNameTau=flags.Tau.GNTauNodeNameTau,
782 NodeNameJet=flags.Tau.GNTauNodeNameJet,
783 TauContainerName = tauContainerName,
784 )
785
786 result.setPrivateTools(myTauGNNEvaluator)
787 return result
788
789def TauWPDecoratorGNNCfg(flags, version, tauContainerName=""):
790 result = ComponentAccumulator()
791 _name = flags.Tau.ActiveConfig.prefix + 'TauWPDecoratorGNN_v' + str(version)
792
793 TauWPDecorator = CompFactory.getComp("TauWPDecorator")
794 WPConf = flags.Tau.TauGNNWP[version]
795 myTauWPDecorator = TauWPDecorator(name=_name,
796 flatteningFile1Prong = WPConf[0],
797 flatteningFile2Prong = WPConf[1],
798 flatteningFile3Prong = WPConf[2],
799 TauContainerName = tauContainerName,
800 DecorWPNames = flags.Tau.GNTauDecorWPNames[version],
801 DecorWPCutEffs1P = [0.95, 0.85, 0.75, 0.60],
802 DecorWPCutEffs2P = [0.95, 0.75, 0.60, 0.45],
803 DecorWPCutEffs3P = [0.95, 0.75, 0.60, 0.45],
804 ScoreName = flags.Tau.GNTauScoreName[version],
805 NewScoreName = flags.Tau.GNTauTransScoreName[version],
806 DefineWPs = True)
807 result.setPrivateTools(myTauWPDecorator)
808 return result
809
810def TauGNNDisplacedEvaluatorCfg(flags, tauContainerName=""):
811 # Displaced TauGNNEvaluator tool setup
812 result = ComponentAccumulator()
813
814 TauGNNEvaluator = CompFactory.TauGNNEvaluator(
815 name = flags.Tau.ActiveConfig.prefix + 'TauDisplacedGNN',
816 NetworkFileInclusive = flags.Tau.TauDisplacedGNNConfig[0],
817 OutputVarname = "GNdTauScore",
818 OutputPTau = "GNdTauProbTau",
819 OutputPJet = "GNdTauProbJet",
820 MaxClusterDR = 15.0,
821 MinTauPt = flags.Tau.MinPtDAOD,
822 VertexCorrection = flags.Tau.doVertexCorrection,
823 NodeNameTau="GNdTauv3_pb",
824 NodeNameJet="GNdTauv3_pu",
825 TauContainerName = tauContainerName,
826 )
827 result.setPrivateTools(TauGNNEvaluator)
828 return result
829
830def TauEleRNNEvaluatorCfg(flags, applyLooseTrackSel=False):
831 result = ComponentAccumulator()
832 _name = flags.Tau.ActiveConfig.prefix + 'TauEleRNN'
833
834 TauJetRNNEvaluator = CompFactory.getComp("TauJetRNNEvaluator")
835 RNNConf = flags.Tau.TauEleRNNConfig
836 myTauEleRNNEvaluator = TauJetRNNEvaluator(name = _name,
837 useTRT = flags.Detector.EnableTRT,
838 NetworkFile1P = RNNConf[0],
839 NetworkFile3P = RNNConf[1],
840 OutputVarname = "RNNEleScore",
841 MaxTracks = 10,
842 MaxClusters = 6,
843 MaxClusterDR = 1.0,
844 ApplyLooseTrackSel = applyLooseTrackSel,
845 VertexCorrection = flags.Tau.doVertexCorrection,
846 InputLayerScalar = "scalar",
847 InputLayerTracks = "tracks",
848 InputLayerClusters = "clusters",
849 OutputLayer = "rnneveto_output",
850 OutputNode = "sig_prob")
851
852 result.setPrivateTools(myTauEleRNNEvaluator)
853 return result
854
856
857 result = ComponentAccumulator()
858
859 WPConf = flags.Tau.TauEleRNNWPConfig
860
861 from AthenaConfiguration.Enums import ProductionStep
862 # set the instance to run at derivation level
863 if flags.Common.ProductionStep is ProductionStep.Derivation:
864 _name = flags.Tau.ActiveConfig.prefix + 'TauWPDecoratorEleRNNFix_v1'
865 NewScoreName = "RNNEleScoreSigTrans_v1"
866 CutEnumVals = []
867 SigEff1P = []
868 SigEff3P = []
869 DecorWPNames = [ "EleRNNLoose_v1", "EleRNNMedium_v1", "EleRNNTight_v1" ]
870 DecorWPCutEffs1P = [0.95, 0.90, 0.85]
871 DecorWPCutEffs3P = [0.98, 0.95, 0.90]
872 else:
873 #this is the instance running in reconstruction level
874 import PyUtils.RootUtils as ru
875 ROOT = ru.import_root()
876 import cppyy
877 cppyy.load_library('libxAODTau_cDict')
878
879 _name = flags.Tau.ActiveConfig.prefix + 'TauWPDecoratorEleRNN'
880 NewScoreName = "RNNEleScoreSigTrans"
881 SigEff1P = [0.95, 0.90, 0.85]
882 SigEff3P = [0.98, 0.95, 0.90]
883 CutEnumVals = [ ROOT.xAOD.TauJetParameters.IsTauFlag.EleRNNLoose,
884 ROOT.xAOD.TauJetParameters.IsTauFlag.EleRNNMedium,
885 ROOT.xAOD.TauJetParameters.IsTauFlag.EleRNNTight ]
886 DecorWPNames = []
887 DecorWPCutEffs1P = []
888 DecorWPCutEffs3P = []
889
890 TauWPDecorator = CompFactory.getComp("TauWPDecorator")
891 myTauEleWPDecorator = TauWPDecorator( name=_name,
892 flatteningFile1Prong = WPConf[0],
893 flatteningFile3Prong = WPConf[1],
894 CutEnumVals = CutEnumVals,
895 DecorWPNames = DecorWPNames,
896 SigEff1P = SigEff1P,
897 SigEff3P = SigEff3P,
898 DecorWPCutEffs1P = DecorWPCutEffs1P,
899 DecorWPCutEffs3P = DecorWPCutEffs3P,
900 UseAbsEta = True ,
901 ScoreName = "RNNEleScore",
902 NewScoreName = NewScoreName,
903 DefineWPs = True)
904
905 result.setPrivateTools(myTauEleWPDecorator)
906 return result
907
909 result = ComponentAccumulator()
910 _name = flags.Tau.ActiveConfig.prefix + 'TauDecayModeNNClassifier'
911
912 TauDecayModeNNClassifier = CompFactory.getComp("TauDecayModeNNClassifier")
913 myTauDecayModeNNClassifier = TauDecayModeNNClassifier(name=_name,
914 WeightFile=flags.Tau.DecayModeNNClassifierConfig)
915
916 result.setPrivateTools(myTauDecayModeNNClassifier)
917 return result
918
920 result = ComponentAccumulator()
921 _name = flags.Tau.ActiveConfig.prefix + 'TauAODSelector'
922
923 TauAODSelector = CompFactory.getComp("TauAODSelector")
924 myTauAODSelector = TauAODSelector(name=_name,
925 Min0pTauPt = flags.Tau.MinPt0p,
926 MinTauPt = flags.Tau.MinPt,
927 doEarlyStopping = flags.Tau.doEarlyStopping and not flags.Output.doWriteESD)
928
929 result.setPrivateTools(myTauAODSelector)
930 return result
931
932
934def TauCombinedTESCfg(flags, **kwargs):
935 result = ComponentAccumulator()
936 _name = flags.Tau.ActiveConfig.prefix + 'TauCombinedTES'
937 kwargs.setdefault("WeightFileName", flags.Tau.CombinedTESConfig)
938
939 TauCombinedTES = CompFactory.getComp("TauCombinedTES")
940 myTauCombinedTES = TauCombinedTES(name = _name, **kwargs)
941
942 result.setPrivateTools(myTauCombinedTES)
943 return result
944
945
948 result = ComponentAccumulator()
949 _name = flags.Tau.ActiveConfig.prefix + 'MuonRemoval'
950 TauAODMuonRemovalTool = CompFactory.getComp("TauAODMuonRemovalTool")
951 myMuonRemoval = TauAODMuonRemovalTool( name = _name,
952 Key_MuonInputContainer = 'Muons',
953 doMuonTrkRm = True,
954 doMuonClsRm = True,
955 muonIDWP = 'Medium'
956 )
957 result.setPrivateTools(myMuonRemoval)
958 return result
959
960# electron excluder tool
962 result = ComponentAccumulator()
963 _name = flags.Tau.ActiveConfig.prefix + 'TauEleOverlapChecker'
964 TauEleOverlapChecker = CompFactory.getComp("TauEleOverlapChecker")
965 myTauEleOverlapChecker = TauEleOverlapChecker(
966 name = _name,
967 Key_RemovedClustersContainer = flags.Tau.ActiveConfig.RemovedElectronClusters,
968 Key_RemovedTracksContainer = flags.Tau.ActiveConfig.RemovedElectronTracks,
969 CheckingCone = flags.Tau.ActiveConfig.EleRM_CheckingConeSize,
970 )
971 result.setPrivateTools(myTauEleOverlapChecker)
972 return result
Cluster correction tool which applies local hadronic calibration w eights to the cells.
Calculate moments for CaloCluster objects.
classify clusters according to their probability to stem from an em object
dead material correction tool for local hadronic calibration
calculates out-of-cluster corrections based on cluster quantities
calculates hadronic cell weights based on cluster and cell quantities
topological cluster maker.
topological cluster splitter.
Class to build tau jet seed.
the tool meant to run at AOD level, to remove the muon found inside the TauJet.
Set Tau "Detector Axis" and "Intermediate Axis".
Implementation of tau energy scale (TES) with eta and pile-up correction.
Calculate tau calorimeter variables from cell information.
Associate the clusters used in the seed jet to the tau candidate.
Calculate variables which rely on tracks and precalculated cell/cluster information.
Tau decay mode classifier using a neural network.
Select only the tau within the removal direction.
Calculate variables sensitive on electrons.
Tool to calculate tau identification score from .onnx inputs.
This class implements a tool to calculate ID input variables and add them to the tau aux store.
Tool to calculate a tau identification score based on neural networks.
Creates Pi0 clusters (Pi0 Finder).
scale cluster energy to take care of charged pion energy
Find the cells used to create pi0 cluster.
Selectes pi0Candidates (Pi0 Finder).
Apply Et and BDT score cut to pi0s.
Calculate variables from the tau substructure.
Associate tracks to the tau candidate.
Associate a vertex (origin) to the tau candidate.
Class for calculating vertex variables.
Decorate CaloVertexedTopoCluster to the tau candidate.
Implementation of tool to decorate flattened BDT score and working points.
TauCaloTopoClusterMakerCfg(flags)
EnergyCalibrationLCCfg(flags)
Tau energy calibration.
TauAxisCfg(flags)
Tau energy calibration and tau axis direction.
TauCaloLCOutOfClusterCfg(flags)
Pi0ClusterFinderCfg(flags)
Pi0 algo Cluster finder for Pi0 algo.
TauTrackRNNClassifierCfg(flags)
TauVertexFinderCfg(flags)
TauCaloOOCPi0CalibCfg(flags)
TauShotFinderCfg(flags)
Photon Shot Finder.
TauCombinedTESCfg(flags, **kwargs)
TauCombinedTES.
JetSeedBuilderCfg(flags)
JetSeedBuilder.
MvaTESEvaluatorCfg(flags)
MvaTESEvaluator.
ElectronVetoVarsCfg(flags)
ele veto variables
Pi0ClusterScalerCfg(flags)
Set energy of cluster to take care of charged pion energy deposited in the ECAL.
TauTrackFinderCfg(flags)
Tau-Track Association.
TauCaloLCDeadMaterialCfg(flags)
TauSubstructureCfg(flags)
Tau Variables.
TauWPDecoratorGNNCfg(flags, version, tauContainerName="")
TauWPDecoratorJetRNNCfg(flags)
TauCaloOOCCalibCfg(flags)
TauJetRNNEvaluatorCfg(flags, applyLooseTrackSel=False)
TauCommonCalcVarsCfg(flags)
Tau Variables.
MvaTESVariableDecoratorCfg(flags)
MvaTESVariableDecorator.
TauCaloLCOutPi0Cfg(flags)
TauVertexedClusterDecoratorCfg(flags)
TauCaloLCClassificationCfg(flags)
Calo Tools.
getParticleCache(flags)
TauClusterFinderCfg(flags)
Associate the cluster in jet constituents to the tau candidate.
CellVariablesCfg(flags)
Tau cell variables calculation.
TauCaloClusterBadChannelCfg(flags)
Pi0SelectorCfg(flags)
select pi0 clusters
TauEleOverlapChecker(flags)
TauCaloDMCalibCfg(flags)
TauWPDecoratorEleRNNCfg(flags)
TauCaloLCWeightCfg(flags)
TauEleRNNEvaluatorCfg(flags, applyLooseTrackSel=False)
Pi0ClusterCreatorCfg(flags)
create Pi0 clusters
TauCaloClusterLocalCalibCfg(flags)
TauGNNDisplacedEvaluatorCfg(flags, tauContainerName="")
TauGNNEvaluatorCfg(flags, version=0, applyLooseTrackSel=False, applyTightTrackSel=False, tauContainerName="")
TauVertexVariablesCfg(flags)
Tau Vertex Variables.
TauCaloTopoClusterSplitterCfg(flags)
TauDecayModeNNClassifierCfg(flags)
TauIDVarCalculatorCfg(flags)
Pi0ScoreCalculatorCfg(flags)
calculate MVA scores of pi0 clusters
TauTrackRNNCfg(flags)
TauAODSelectorCfg(flags)
TauCellFinalizerCfg(flags)
Cell finalizer tool for BuildAlg.
TauAODMuonRemovalCfg(flags)
muon removal tool
TauCaloClusterMomentsMakerCfg(flags)