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