11 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
12 from AthenaConfiguration.ComponentFactory
import CompFactory
13 from AthenaConfiguration.AccumulatorCache
import AccumulatorCache
14 from AthenaConfiguration.Enums
import ProductionStep
23 _name = flags.Tau.ActiveConfig.prefix +
'JetSeedBuilder'
25 JetSeedBuilder = CompFactory.getComp(
"JetSeedBuilder")
28 result.setPrivateTools(JetSeedBuilder)
34 _name = flags.Tau.ActiveConfig.prefix +
'TauVertexFinder'
36 from InDetConfig.InDetTrackSelectionToolConfig
import Tau_InDetTrackSelectionToolForTJVACfg
37 from TrackVertexAssociationTool.TrackVertexAssociationToolConfig
import TauTTVAToolCfg
41 TauVertexFinder = CompFactory.getComp(
"TauVertexFinder")
43 UseTJVA = flags.Tau.doTJVA,
44 AssociatedTracks=
"GhostTrack",
46 Key_trackPartInputContainer= flags.Tau.ActiveConfig.TrackCollection,
47 Key_vertexInputContainer = flags.Tau.ActiveConfig.VertexCollection,
49 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
52 result.setPrivateTools(TauVertexFinder)
59 _name = flags.Tau.ActiveConfig.prefix +
'TauAxis'
61 TauAxisSetter = CompFactory.getComp(
"TauAxisSetter")
64 VertexCorrection = flags.Tau.doVertexCorrection )
66 result.setPrivateTools(TauAxisSetter)
73 if flags.Common.ProductionStep
is ProductionStep.Reconstruction:
74 ParticleCache =
"ParticleCaloExtension"
84 _name = flags.Tau.ActiveConfig.prefix +
'TauTrackFinder'
87 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
90 from TrackToVertex.TrackToVertexConfig
import TrackToVertexCfg
91 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
92 from TrkConfig.TrkVertexFitterUtilsConfig
import AtlasTrackToVertexIPEstimatorCfg
93 from InDetConfig.InDetTrackSelectorToolConfig
import TauRecInDetTrackSelectorToolCfg
95 TauTrackFinder = CompFactory.getComp(
"TauTrackFinder")
103 removeDuplicateCoreTracks = flags.Tau.RemoveDupeCoreTracks,
104 useGhostTracks = flags.Tau.useGhostTracks,
105 ghostTrackDR = flags.Tau.ghostTrackDR,
106 Key_jetContainer = (flags.Tau.ActiveConfig.SeedJetCollection
if flags.Tau.useGhostTracks
else ""),
107 Key_trackPartInputContainer = flags.Tau.ActiveConfig.TrackCollection,
108 Key_LargeD0TrackInputContainer = (flags.Tau.ActiveConfig.LargeD0TrackCollection
if flags.Tau.associateLRT
else ""),
110 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
112 result.setPrivateTools(TauTrackFinder)
119 _name = flags.Tau.ActiveConfig.prefix +
'TauClusterFinder'
122 TauClusterFinder = CompFactory.getComp(
"TauClusterFinder")
125 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
129 result.setPrivateTools(TauClusterFinder)
135 _name = flags.Tau.ActiveConfig.prefix +
'TauVertexedClusterDecorator'
137 TauVertexedClusterDecorator = CompFactory.getComp(
"TauVertexedClusterDecorator")
139 SeedJet = flags.Tau.ActiveConfig.SeedJetCollection)
141 result.setPrivateTools(myTauVertexedClusterDecorator)
147 _name = flags.Tau.ActiveConfig.prefix +
'TauTrackRNNClassifier'
149 TrackRNN = CompFactory.tauRecTools.TrackRNN
150 _RNN = TrackRNN(name = _name +
"_TrackRNN",
151 InputWeightsPath = flags.Tau.tauRNNTrackClassConfig,
152 calibFolder = flags.Tau.tauRecToolsCVMFSPath )
154 result.setPrivateTools(_RNN)
160 _name = flags.Tau.ActiveConfig.prefix +
'TauTrackRNNClassifier'
163 TauTrackRNNClassifier = CompFactory.tauRecTools.TauTrackRNNClassifier
166 cppyy.load_library(
'libxAODTau_cDict')
169 if flags.Tau.associateLRT
and not flags.Tau.classifyLRT:
172 myTauTrackClassifier = TauTrackRNNClassifier( name = _name,
174 classifyLRT = _classifyLRT )
176 result.setPrivateTools(myTauTrackClassifier)
183 _name = flags.Tau.ActiveConfig.prefix +
'EnergyCalibrationLC'
185 TauCalibrateLC = CompFactory.getComp(
"TauCalibrateLC")
187 calibrationFile = flags.Tau.CalibrateLCConfig,
188 Key_vertexInputContainer = flags.Tau.ActiveConfig.VertexCollection)
190 result.setPrivateTools(TauCalibrateLC)
197 _name = flags.Tau.ActiveConfig.prefix +
'CellVariables'
199 TauCellVariables = CompFactory.getComp(
"TauCellVariables")
201 VertexCorrection = flags.Tau.doVertexCorrection)
203 result.setPrivateTools(TauCellVariables)
210 _name = flags.Tau.ActiveConfig.prefix +
'TauElectronVetoVars'
212 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
214 TauElectronVetoVariables = CompFactory.getComp(
"TauElectronVetoVariables")
216 VertexCorrection = flags.Tau.doVertexCorrection,
220 result.setPrivateTools(TauElectronVetoVariables)
227 _name = flags.Tau.ActiveConfig.prefix +
'TauShotFinder'
229 shotPtCut_1Photon = flags.Tau.shotPtCut_1Photon
230 shotPtCut_2Photons = flags.Tau.shotPtCut_2Photons
233 from CaloClusterCorrection.StandardCellWeightCalib
import getCellWeightTool
237 TauShotFinder = CompFactory.getComp(
"TauShotFinder")
240 CaloWeightTool = result.popToolsAndMerge(CaloWeightTool),
242 MinPtCut = shotPtCut_1Photon,
243 AutoDoubleShotCut = shotPtCut_2Photons,
244 Key_RemovedClusterInputContainer = flags.Tau.ActiveConfig.RemovedElectronClusters,
245 RemoveElectronCells = flags.Tau.ActiveConfig.RemoveElectronCells,
246 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
249 result.setPrivateTools(TauShotFinder)
257 _name = flags.Tau.ActiveConfig.prefix +
'Pi0ClusterFinder'
259 TauPi0CreateROI = CompFactory.getComp(
"TauPi0CreateROI")
263 Key_caloCellInputContainer =
"AllCalo",
264 Key_RemovedClusterInputContainer = flags.Tau.ActiveConfig.RemovedElectronClusters,
265 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
266 RemoveElectronCells = flags.Tau.ActiveConfig.RemoveElectronCells,
269 result.setPrivateTools(myTauPi0CreateROI)
276 _name = flags.Tau.ActiveConfig.prefix +
'tauPi0CellContainerFinalizer'
278 CaloCellContainerFinalizerTool = CompFactory.getComp(
"CaloCellContainerFinalizerTool")
281 result.setPrivateTools(TauCellContainerFinalizer)
290 _name = flags.Tau.ActiveConfig.prefix +
'LCClassify'
292 CaloLCClassificationTool = CompFactory.getComp(
"CaloLCClassificationTool")
294 LCClassify.ClassificationKey =
"EMFracClassify"
295 LCClassify.UseSpread =
False
296 LCClassify.MaxProbability = 0.5
298 LCClassify.StoreClassificationProbabilityInAOD =
True
299 LCClassify.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
300 LCClassify.UseNormalizedEnergyDensity =
True
302 result.setPrivateTools(LCClassify)
307 _name = flags.Tau.ActiveConfig.prefix +
'CaloLCWeightTool'
310 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
315 CaloLCWeightTool = CompFactory.getComp(
"CaloLCWeightTool")
317 LCWeight.CorrectionKey =
"H1ClusterCellWeights"
318 LCWeight.SignalOverNoiseCut = 2.0
319 LCWeight.UseHadProbability =
True
321 result.setPrivateTools(LCWeight)
326 _name = flags.Tau.ActiveConfig.prefix +
'CaloLCOutOfClusterTool'
328 CaloLCOutOfClusterTool = CompFactory.getComp(
"CaloLCOutOfClusterTool")
330 LCOut.CorrectionKey =
"OOCCorrection"
331 LCOut.UseEmProbability =
False
332 LCOut.UseHadProbability =
True
334 result.setPrivateTools(LCOut)
339 _name = flags.Tau.ActiveConfig.prefix +
'LCOutPi0'
341 CaloLCOutOfClusterTool = CompFactory.getComp(
"CaloLCOutOfClusterTool")
343 LCOutPi0.CorrectionKey =
"OOCPi0Correction"
344 LCOutPi0.UseEmProbability =
True
345 LCOutPi0.UseHadProbability =
False
347 result.setPrivateTools(LCOutPi0)
352 _name = flags.Tau.ActiveConfig.prefix +
'CaloLCDeadMaterialTool'
354 CaloLCDeadMaterialTool = CompFactory.getComp(
"CaloLCDeadMaterialTool")
356 LCDeadMaterial.HadDMCoeffKey =
"HadDMCoeff2"
357 LCDeadMaterial.ClusterRecoStatus = 0
358 LCDeadMaterial.WeightModeDM = 2
359 LCDeadMaterial.UseHadProbability =
True
360 LCDeadMaterial.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
362 result.setPrivateTools(LCDeadMaterial)
367 _name = flags.Tau.ActiveConfig.prefix +
'CaloLocalCalib'
369 CaloClusterLocalCalib = CompFactory.getComp(
"CaloClusterLocalCalib")
372 LocalCalib.ClusterRecoStatus = [1,2]
374 LocalCalib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
376 result.setPrivateTools(LocalCalib)
381 _name = flags.Tau.ActiveConfig.prefix +
'OOCCalibTool'
383 CaloClusterLocalCalib = CompFactory.getComp(
"CaloClusterLocalCalib")
384 OOCCalib = CaloClusterLocalCalib (_name)
385 OOCCalib.ClusterRecoStatus = [1,2]
387 OOCCalib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
389 result.setPrivateTools(OOCCalib)
394 _name = flags.Tau.ActiveConfig.prefix +
'DMCalib'
396 CaloClusterLocalCalib = CompFactory.getComp(
"CaloClusterLocalCalib")
398 DMCalib.ClusterRecoStatus = [1,2]
400 DMCalib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
402 result.setPrivateTools(DMCalib)
407 _name = flags.Tau.ActiveConfig.prefix +
'OOCPi0CalibTool'
409 CaloClusterLocalCalib = CompFactory.getComp(
"CaloClusterLocalCalib")
410 OOCPi0Calib = CaloClusterLocalCalib (_name)
411 OOCPi0Calib.ClusterRecoStatus = [1,2]
413 OOCPi0Calib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
415 result.setPrivateTools(OOCPi0Calib)
420 _name = flags.Tau.ActiveConfig.prefix +
'Pi0TopoClusterMaker'
423 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
428 CaloTopoClusterMaker = CompFactory.getComp(
"CaloTopoClusterMaker")
431 TopoClusterForTaus.CellsName = flags.Tau.ActiveConfig.TauCommonPi0Cells
432 TopoClusterForTaus.CalorimeterNames=[
"LAREM"]
433 TopoClusterForTaus.SeedSamplingNames = [
"PreSamplerB",
"EMB1",
"EMB2",
"PreSamplerE",
"EME1",
"EME2"]
434 TopoClusterForTaus.NeighborOption =
"super3D"
435 TopoClusterForTaus.RestrictHECIWandFCalNeighbors =
False
436 TopoClusterForTaus.RestrictPSNeighbors =
True
437 TopoClusterForTaus.CellThresholdOnEorAbsEinSigma = 0.0
438 TopoClusterForTaus.NeighborThresholdOnEorAbsEinSigma = 2.0
439 TopoClusterForTaus.SeedThresholdOnEorAbsEinSigma = 4.0
440 TopoClusterForTaus.SeedCutsInAbsE =
True
441 TopoClusterForTaus.ClusterCutsInAbsEt =
True
442 TopoClusterForTaus.ClusterEtorAbsEtCut = 0.5*GeV
443 TopoClusterForTaus.TwoGaussianNoise = flags.Calo.TopoCluster.doTwoGaussianNoise
445 TopoClusterForTaus.SeedCutsInT = flags.Calo.TopoCluster.doTimeCut
446 TopoClusterForTaus.CutOOTseed = flags.Calo.TopoCluster.extendTimeCut
and flags.Calo.TopoCluster.doTimeCut
447 TopoClusterForTaus.UseTimeCutUpperLimit = flags.Calo.TopoCluster.useUpperLimitForTimeCut
448 TopoClusterForTaus.TimeCutUpperLimit = flags.Calo.TopoCluster.timeCutUpperLimit
449 TopoClusterForTaus.XTalkEM2 = flags.Calo.TopoCluster.xtalkEM2
450 TopoClusterForTaus.XTalkEM2D = flags.Calo.TopoCluster.xtalkEM2D
451 TopoClusterForTaus.XTalkEM2n = flags.Calo.TopoCluster.xtalkEM2n
452 TopoClusterForTaus.XTalkEM3 = flags.Calo.TopoCluster.xtalkEM3
453 TopoClusterForTaus.XTalkEMEta = flags.Calo.TopoCluster.xtalkEMEta
454 TopoClusterForTaus.XTalkDeltaT = flags.Calo.TopoCluster.xtalkDeltaT
455 TopoClusterForTaus.XTalk2Eratio1 = flags.Calo.TopoCluster.xtalk2Eratio1
456 TopoClusterForTaus.XTalk2Eratio2 = flags.Calo.TopoCluster.xtalk2Eratio2
457 TopoClusterForTaus.XTalk3Eratio = flags.Calo.TopoCluster.xtalk3Eratio
458 TopoClusterForTaus.XTalkEtaEratio = flags.Calo.TopoCluster.xtalkEtaEratio
459 TopoClusterForTaus.XTalk2DEratio = flags.Calo.TopoCluster.xtalk2DEratio
461 result.setPrivateTools(TopoClusterForTaus)
467 _name = flags.Tau.ActiveConfig.prefix +
'Pi0TopoClusterSplitter'
469 CaloTopoClusterSplitter = CompFactory.getComp(
"CaloTopoClusterSplitter")
476 TopoSplitterForTaus.SamplingNames = [
"EMB2",
"EME2"]
480 TopoSplitterForTaus.SecondarySamplingNames = [
"EMB1",
"EME1"]
481 TopoSplitterForTaus.ShareBorderCells =
True
482 TopoSplitterForTaus.RestrictHECIWandFCalNeighbors =
False
483 TopoSplitterForTaus.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
485 result.setPrivateTools(TopoSplitterForTaus)
490 _name = flags.Tau.ActiveConfig.prefix +
'Pi0TopoMoments'
493 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
498 CaloClusterMomentsMaker = CompFactory.getComp(
"CaloClusterMomentsMaker")
500 TopoMomentsForTaus.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
501 TopoMomentsForTaus.MaxAxisAngle = 20*deg
502 TopoMomentsForTaus.TwoGaussianNoise = flags.Calo.TopoCluster.doTwoGaussianNoise
503 TopoMomentsForTaus.MinBadLArQuality = 4000
504 TopoMomentsForTaus.MomentsNames = [
"FIRST_PHI"
525 result.setPrivateTools(TopoMomentsForTaus)
530 _name = flags.Tau.ActiveConfig.prefix +
'CaloClusterBadChannelList'
532 CaloClusterBadChannelListCorr = CompFactory.getComp(
"CaloClusterBadChannelList")
535 result.setPrivateTools(BadChannelListCorrForTaus)
542 _name = flags.Tau.ActiveConfig.prefix +
'Pi0ClusterCreator'
544 TauPi0ClusterCreator = CompFactory.getComp(
"TauPi0ClusterCreator")
547 result.setPrivateTools(TauPi0ClusterCreator)
554 _name = flags.Tau.ActiveConfig.prefix +
'Pi0ClusterScaler'
556 TauPi0ClusterScaler = CompFactory.getComp(
"TauPi0ClusterScaler")
559 result.setPrivateTools(TauPi0ClusterScaler)
566 _name = flags.Tau.ActiveConfig.prefix +
'Pi0ScoreCalculator'
568 TauPi0ScoreCalculator = CompFactory.getComp(
"TauPi0ScoreCalculator")
570 BDTWeightFile = flags.Tau.Pi0ScoreConfig)
572 result.setPrivateTools(TauPi0ScoreCalculator)
579 _name = flags.Tau.ActiveConfig.prefix +
'Pi0Selector'
581 TauPi0Selector = CompFactory.getComp(
"TauPi0Selector")
583 ClusterEtCut = flags.Tau.pi0EtCuts,
584 ClusterBDTCut_1prong = flags.Tau.pi0MVACuts_1prong,
585 ClusterBDTCut_mprong = flags.Tau.pi0MVACuts_mprong)
587 result.setPrivateTools(TauPi0Selector)
594 _name = flags.Tau.ActiveConfig.prefix +
'TauVertexVariables'
596 from TrkConfig.TrkVertexFittersConfig
import TauAdaptiveVertexFitterCfg
597 from TrkConfig.TrkVertexSeedFinderToolsConfig
import (
598 CrossDistancesSeedFinderCfg)
600 TauVertexVariables = CompFactory.getComp(
"TauVertexVariables")
605 result.setPrivateTools(TauVertexVariables)
612 _name = flags.Tau.ActiveConfig.prefix +
'TauCommonCalcVars'
614 TauCommonCalcVars = CompFactory.getComp(
"TauCommonCalcVars")
617 result.setPrivateTools(TauCommonCalcVars)
624 _name = flags.Tau.ActiveConfig.prefix +
'TauSubstructure'
626 TauSubstructureVariables = CompFactory.getComp(
"TauSubstructureVariables")
629 result.setPrivateTools(TauSubstructureVariables)
636 _name = flags.Tau.ActiveConfig.prefix +
'MvaTESVariableDecorator'
638 eventShapeCollection = flags.Tau.ActiveConfig.EventShapeCollection
639 if 'EMPFlow' in flags.Tau.ActiveConfig.SeedJetCollection:
640 eventShapeCollection =
"Kt4EMPFlowEventShape"
641 elif 'EMTopo' in flags.Tau.ActiveConfig.SeedJetCollection:
642 eventShapeCollection =
"Kt4EMTopoOriginEventShape"
644 MvaTESVariableDecorator = CompFactory.getComp(
"MvaTESVariableDecorator")
646 Key_vertexInputContainer = flags.Tau.ActiveConfig.VertexCollection,
647 EventShapeKey = eventShapeCollection,
648 VertexCorrection = flags.Tau.doVertexCorrection)
649 result.setPrivateTools(MvaTESVariableDecorator)
656 _name = flags.Tau.ActiveConfig.prefix +
'MvaTESEvaluator'
658 MvaTESEvaluator = CompFactory.getComp(
"MvaTESEvaluator")
660 WeightFileName = flags.Tau.MvaTESConfig,
661 WeightFileName0p = flags.Tau.MvaTESConfig0p )
663 result.setPrivateTools(MvaTESEvaluator)
668 _name = flags.Tau.ActiveConfig.prefix +
'TauIDVarCalculator'
670 TauIDVarCalculator = CompFactory.getComp(
"TauIDVarCalculator")
672 VertexCorrection = flags.Tau.doVertexCorrection)
674 result.setPrivateTools(myTauIDVarCalculator)
679 _name = flags.Tau.ActiveConfig.prefix +
'TauJetRNN'
681 TauJetRNNEvaluator = CompFactory.getComp(
"TauJetRNNEvaluator")
682 RNNConf = flags.Tau.TauJetRNNConfig
685 NetworkFile1P = RNNConf[0],
686 NetworkFile2P = RNNConf[1],
687 NetworkFile3P = RNNConf[2],
688 OutputVarname =
"RNNJetScore",
692 VertexCorrection = flags.Tau.doVertexCorrection,
693 InputLayerScalar =
"scalar",
694 InputLayerTracks =
"tracks",
695 InputLayerClusters =
"clusters",
696 OutputLayer =
"rnnid_output",
697 OutputNode =
"sig_prob")
699 result.setPrivateTools(myTauJetRNNEvaluator)
703 import PyUtils.RootUtils
as ru
704 ROOT = ru.import_root()
706 cppyy.load_library(
'libxAODTau_cDict')
709 _name = flags.Tau.ActiveConfig.prefix +
'TauWPDecoratorJetRNN'
711 TauWPDecorator = CompFactory.getComp(
"TauWPDecorator")
712 WPConf = flags.Tau.TauJetRNNWPConfig
714 flatteningFile1Prong = WPConf[0],
715 flatteningFile2Prong = WPConf[1],
716 flatteningFile3Prong = WPConf[2],
718 [ ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigVeryLoose,
719 ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigLoose,
720 ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigMedium,
721 ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigTight ],
722 SigEff1P = [0.95, 0.85, 0.75, 0.60],
723 SigEff2P = [0.95, 0.75, 0.60, 0.45],
724 SigEff3P = [0.95, 0.75, 0.60, 0.45],
725 ScoreName =
"RNNJetScore",
726 NewScoreName =
"RNNJetScoreSigTrans",
729 result.setPrivateTools(myTauWPDecorator)
734 _name = flags.Tau.ActiveConfig.prefix +
'TauGNN_v' +
str(version)
736 TauGNNEvaluator = CompFactory.getComp(
"TauGNNEvaluator")
737 GNNConf = flags.Tau.TauGNNConfig[version]
739 NetworkFileInclusive = GNNConf,
740 OutputVarname = flags.Tau.GNTauScoreName[version],
741 OutputPTau =
"GNTauProbTau",
742 OutputPJet =
"GNTauProbJet",
743 MaxTracks = flags.Tau.GNTauMaxTracks[version],
744 MaxClusters = flags.Tau.GNTauMaxClusters[version],
746 MinTauPt = flags.Tau.MinPtDAOD,
747 VertexCorrection = flags.Tau.doVertexCorrection,
748 DecorateTracks =
False,
749 InputLayerScalar =
"tau_vars",
750 InputLayerTracks =
"track_vars",
751 InputLayerClusters =
"cluster_vars",
752 NodeNameTau=flags.Tau.GNTauNodeNameTau,
753 NodeNameJet=flags.Tau.GNTauNodeNameJet)
755 result.setPrivateTools(myTauGNNEvaluator)
760 _name = flags.Tau.ActiveConfig.prefix +
'TauWPDecoratorGNN_v' +
str(version)
762 TauWPDecorator = CompFactory.getComp(
"TauWPDecorator")
763 WPConf = flags.Tau.TauGNNWP[version]
765 flatteningFile1Prong = WPConf[0],
766 flatteningFile2Prong = WPConf[1],
767 flatteningFile3Prong = WPConf[2],
768 DecorWPNames = flags.Tau.GNTauDecorWPNames[version],
769 DecorWPCutEffs1P = [0.95, 0.85, 0.75, 0.60],
770 DecorWPCutEffs2P = [0.95, 0.75, 0.60, 0.45],
771 DecorWPCutEffs3P = [0.95, 0.75, 0.60, 0.45],
772 ScoreName = flags.Tau.GNTauScoreName[version],
773 NewScoreName = flags.Tau.GNTauTransScoreName[version],
775 result.setPrivateTools(myTauWPDecorator)
780 _name = flags.Tau.ActiveConfig.prefix +
'TauEleRNN'
782 TauJetRNNEvaluator = CompFactory.getComp(
"TauJetRNNEvaluator")
783 RNNConf = flags.Tau.TauEleRNNConfig
785 NetworkFile1P = RNNConf[0],
786 NetworkFile3P = RNNConf[1],
787 OutputVarname =
"RNNEleScore",
791 VertexCorrection = flags.Tau.doVertexCorrection,
792 InputLayerScalar =
"scalar",
793 InputLayerTracks =
"tracks",
794 InputLayerClusters =
"clusters",
795 OutputLayer =
"rnneveto_output",
796 OutputNode =
"sig_prob")
798 result.setPrivateTools(myTauEleRNNEvaluator)
802 import PyUtils.RootUtils
as ru
803 ROOT = ru.import_root()
805 cppyy.load_library(
'libxAODTau_cDict')
808 _name = flags.Tau.ActiveConfig.prefix +
'TauWPDecoratorEleRNN'
810 TauWPDecorator = CompFactory.getComp(
"TauWPDecorator")
811 WPConf = flags.Tau.TauEleRNNWPConfig
813 flatteningFile1Prong = WPConf[0],
814 flatteningFile3Prong = WPConf[1],
816 [ ROOT.xAOD.TauJetParameters.IsTauFlag.EleRNNLoose,
817 ROOT.xAOD.TauJetParameters.IsTauFlag.EleRNNMedium,
818 ROOT.xAOD.TauJetParameters.IsTauFlag.EleRNNTight ],
819 SigEff1P = [0.95, 0.90, 0.85],
820 SigEff3P = [0.98, 0.95, 0.90],
822 ScoreName =
"RNNEleScore",
823 NewScoreName =
"RNNEleScoreSigTrans",
826 result.setPrivateTools(myTauEleWPDecorator)
831 _name = flags.Tau.ActiveConfig.prefix +
'TauWPDecoratorEleRNNFix_v1'
833 TauWPDecorator = CompFactory.getComp(
"TauWPDecorator")
834 WPConf = flags.Tau.TauEleRNNWPfix
836 flatteningFile1Prong = WPConf[0],
837 flatteningFile3Prong = WPConf[1],
838 DecorWPNames = [
"EleRNNLoose_v1",
"EleRNNMedium_v1",
"EleRNNTight_v1" ],
839 DecorWPCutEffs1P = [0.95, 0.90, 0.85],
840 DecorWPCutEffs3P = [0.98, 0.95, 0.90],
842 ScoreName =
"RNNEleScore",
843 NewScoreName =
"RNNEleScoreSigTrans_v1",
846 result.setPrivateTools(myTauEleWPDecorator)
851 _name = flags.Tau.ActiveConfig.prefix +
'TauDecayModeNNClassifier'
853 TauDecayModeNNClassifier = CompFactory.getComp(
"TauDecayModeNNClassifier")
855 WeightFile=flags.Tau.DecayModeNNClassifierConfig)
857 result.setPrivateTools(myTauDecayModeNNClassifier)
862 _name = flags.Tau.ActiveConfig.prefix +
'TauAODSelector'
864 TauAODSelector = CompFactory.getComp(
"TauAODSelector")
866 Min0pTauPt = flags.Tau.MinPt0p,
867 MinTauPt = flags.Tau.MinPt,
868 doEarlyStopping = flags.Tau.doEarlyStopping
and not flags.Output.doWriteESD)
870 result.setPrivateTools(myTauAODSelector)
877 _name = flags.Tau.ActiveConfig.prefix +
'TauCombinedTES'
879 TauCombinedTES = CompFactory.getComp(
"TauCombinedTES")
881 WeightFileName = flags.Tau.CombinedTESConfig)
883 result.setPrivateTools(myTauCombinedTES)
890 _name = flags.Tau.ActiveConfig.prefix +
'MuonRemoval'
891 TauAODMuonRemovalTool = CompFactory.getComp(
"TauAODMuonRemovalTool")
893 Key_MuonInputContainer =
'Muons',
898 result.setPrivateTools(myMuonRemoval)
904 _name = flags.Tau.ActiveConfig.prefix +
'TauEleOverlapChecker'
905 TauEleOverlapChecker = CompFactory.getComp(
"TauEleOverlapChecker")
908 Key_RemovedClustersContainer = flags.Tau.ActiveConfig.RemovedElectronClusters,
909 Key_RemovedTracksContainer = flags.Tau.ActiveConfig.RemovedElectronTracks,
910 CheckingCone = flags.Tau.ActiveConfig.EleRM_CheckingConeSize,
912 result.setPrivateTools(myTauEleOverlapChecker)