11 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
12 from AthenaConfiguration.ComponentFactory
import CompFactory
13 from AthenaConfiguration.AccumulatorCache
import AccumulatorCache
14 from AthenaConfiguration.Enums
import ProductionStep
22 _name = flags.Tau.ActiveConfig.prefix +
'JetSeedBuilder'
24 JetSeedBuilder = CompFactory.getComp(
"JetSeedBuilder")
27 result.setPrivateTools(JetSeedBuilder)
33 _name = flags.Tau.ActiveConfig.prefix +
'TauVertexFinder'
35 from InDetConfig.InDetTrackSelectionToolConfig
import Tau_InDetTrackSelectionToolForTJVACfg
36 from TrackVertexAssociationTool.TrackVertexAssociationToolConfig
import TauTTVAToolCfg
40 TauVertexFinder = CompFactory.getComp(
"TauVertexFinder")
42 UseTJVA = flags.Tau.doTJVA,
43 AssociatedTracks=
"GhostTrack",
45 Key_trackPartInputContainer= flags.Tau.ActiveConfig.TrackCollection,
46 Key_vertexInputContainer = flags.Tau.ActiveConfig.VertexCollection,
48 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
51 result.setPrivateTools(TauVertexFinder)
58 _name = flags.Tau.ActiveConfig.prefix +
'TauAxis'
60 TauAxisSetter = CompFactory.getComp(
"TauAxisSetter")
63 VertexCorrection = flags.Tau.doVertexCorrection )
65 result.setPrivateTools(TauAxisSetter)
72 if flags.Common.ProductionStep
is ProductionStep.Reconstruction:
73 ParticleCache =
"ParticleCaloExtension"
83 _name = flags.Tau.ActiveConfig.prefix +
'TauTrackFinder'
86 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
89 from TrackToVertex.TrackToVertexConfig
import TrackToVertexCfg
90 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
91 from TrkConfig.TrkVertexFitterUtilsConfig
import AtlasTrackToVertexIPEstimatorCfg
92 from InDetConfig.InDetTrackSelectorToolConfig
import TauRecInDetTrackSelectorToolCfg
94 TauTrackFinder = CompFactory.getComp(
"TauTrackFinder")
102 removeDuplicateCoreTracks = flags.Tau.RemoveDupeCoreTracks,
103 useGhostTracks = flags.Tau.useGhostTracks,
104 ghostTrackDR = flags.Tau.ghostTrackDR,
105 Key_jetContainer = (flags.Tau.ActiveConfig.SeedJetCollection
if flags.Tau.useGhostTracks
else ""),
106 Key_trackPartInputContainer = flags.Tau.ActiveConfig.TrackCollection,
107 Key_LargeD0TrackInputContainer = (flags.Tau.ActiveConfig.LargeD0TrackCollection
if flags.Tau.associateLRT
else ""),
109 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
111 result.setPrivateTools(TauTrackFinder)
118 _name = flags.Tau.ActiveConfig.prefix +
'TauClusterFinder'
121 TauClusterFinder = CompFactory.getComp(
"TauClusterFinder")
124 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
128 result.setPrivateTools(TauClusterFinder)
134 _name = flags.Tau.ActiveConfig.prefix +
'TauVertexedClusterDecorator'
136 TauVertexedClusterDecorator = CompFactory.getComp(
"TauVertexedClusterDecorator")
138 SeedJet = flags.Tau.ActiveConfig.SeedJetCollection)
140 result.setPrivateTools(myTauVertexedClusterDecorator)
146 _name = flags.Tau.ActiveConfig.prefix +
'TauTrackRNNClassifier'
148 TrackRNN = CompFactory.tauRecTools.TrackRNN
149 _RNN = TrackRNN(name = _name +
"_TrackRNN",
150 InputWeightsPath = flags.Tau.tauRNNTrackClassConfig,
151 calibFolder = flags.Tau.tauRecToolsCVMFSPath )
153 result.setPrivateTools(_RNN)
159 _name = flags.Tau.ActiveConfig.prefix +
'TauTrackRNNClassifier'
162 TauTrackRNNClassifier = CompFactory.tauRecTools.TauTrackRNNClassifier
165 cppyy.load_library(
'libxAODTau_cDict')
168 if flags.Tau.associateLRT
and not flags.Tau.classifyLRT:
171 myTauTrackClassifier = TauTrackRNNClassifier( name = _name,
173 classifyLRT = _classifyLRT )
175 result.setPrivateTools(myTauTrackClassifier)
182 _name = flags.Tau.ActiveConfig.prefix +
'EnergyCalibrationLC'
184 TauCalibrateLC = CompFactory.getComp(
"TauCalibrateLC")
186 calibrationFile = flags.Tau.CalibrateLCConfig,
187 Key_vertexInputContainer = flags.Tau.ActiveConfig.VertexCollection)
189 result.setPrivateTools(TauCalibrateLC)
196 _name = flags.Tau.ActiveConfig.prefix +
'CellVariables'
198 TauCellVariables = CompFactory.getComp(
"TauCellVariables")
200 VertexCorrection = flags.Tau.doVertexCorrection)
202 result.setPrivateTools(TauCellVariables)
209 _name = flags.Tau.ActiveConfig.prefix +
'TauElectronVetoVars'
211 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
213 TauElectronVetoVariables = CompFactory.getComp(
"TauElectronVetoVariables")
215 VertexCorrection = flags.Tau.doVertexCorrection,
219 result.setPrivateTools(TauElectronVetoVariables)
226 _name = flags.Tau.ActiveConfig.prefix +
'TauShotFinder'
228 shotPtCut_1Photon = flags.Tau.shotPtCut_1Photon
229 shotPtCut_2Photons = flags.Tau.shotPtCut_2Photons
232 from CaloClusterCorrection.StandardCellWeightCalib
import getCellWeightTool
236 TauShotFinder = CompFactory.getComp(
"TauShotFinder")
239 CaloWeightTool = result.popToolsAndMerge(CaloWeightTool),
241 MinPtCut = shotPtCut_1Photon,
242 AutoDoubleShotCut = shotPtCut_2Photons,
243 Key_RemovedClusterInputContainer = flags.Tau.ActiveConfig.RemovedElectronClusters,
244 RemoveElectronCells = flags.Tau.ActiveConfig.RemoveElectronCells,
245 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
248 result.setPrivateTools(TauShotFinder)
256 _name = flags.Tau.ActiveConfig.prefix +
'Pi0ClusterFinder'
258 TauPi0CreateROI = CompFactory.getComp(
"TauPi0CreateROI")
262 Key_caloCellInputContainer =
"AllCalo",
263 Key_RemovedClusterInputContainer = flags.Tau.ActiveConfig.RemovedElectronClusters,
264 inEleRM = flags.Tau.ActiveConfig.inTauEleRM,
265 RemoveElectronCells = flags.Tau.ActiveConfig.RemoveElectronCells,
268 result.setPrivateTools(myTauPi0CreateROI)
275 _name = flags.Tau.ActiveConfig.prefix +
'tauPi0CellContainerFinalizer'
277 CaloCellContainerFinalizerTool = CompFactory.getComp(
"CaloCellContainerFinalizerTool")
280 result.setPrivateTools(TauCellContainerFinalizer)
289 _name = flags.Tau.ActiveConfig.prefix +
'LCClassify'
291 CaloLCClassificationTool = CompFactory.getComp(
"CaloLCClassificationTool")
293 LCClassify.ClassificationKey =
"EMFracClassify"
294 LCClassify.UseSpread =
False
295 LCClassify.MaxProbability = 0.5
297 LCClassify.StoreClassificationProbabilityInAOD =
True
298 LCClassify.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
299 LCClassify.UseNormalizedEnergyDensity =
True
301 result.setPrivateTools(LCClassify)
306 _name = flags.Tau.ActiveConfig.prefix +
'CaloLCWeightTool'
309 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
314 CaloLCWeightTool = CompFactory.getComp(
"CaloLCWeightTool")
316 LCWeight.CorrectionKey =
"H1ClusterCellWeights"
317 LCWeight.SignalOverNoiseCut = 2.0
318 LCWeight.UseHadProbability =
True
320 result.setPrivateTools(LCWeight)
325 _name = flags.Tau.ActiveConfig.prefix +
'CaloLCOutOfClusterTool'
327 CaloLCOutOfClusterTool = CompFactory.getComp(
"CaloLCOutOfClusterTool")
329 LCOut.CorrectionKey =
"OOCCorrection"
330 LCOut.UseEmProbability =
False
331 LCOut.UseHadProbability =
True
333 result.setPrivateTools(LCOut)
338 _name = flags.Tau.ActiveConfig.prefix +
'LCOutPi0'
340 CaloLCOutOfClusterTool = CompFactory.getComp(
"CaloLCOutOfClusterTool")
342 LCOutPi0.CorrectionKey =
"OOCPi0Correction"
343 LCOutPi0.UseEmProbability =
True
344 LCOutPi0.UseHadProbability =
False
346 result.setPrivateTools(LCOutPi0)
351 _name = flags.Tau.ActiveConfig.prefix +
'CaloLCDeadMaterialTool'
353 CaloLCDeadMaterialTool = CompFactory.getComp(
"CaloLCDeadMaterialTool")
355 LCDeadMaterial.HadDMCoeffKey =
"HadDMCoeff2"
356 LCDeadMaterial.ClusterRecoStatus = 0
357 LCDeadMaterial.WeightModeDM = 2
358 LCDeadMaterial.UseHadProbability =
True
359 LCDeadMaterial.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
361 result.setPrivateTools(LCDeadMaterial)
366 _name = flags.Tau.ActiveConfig.prefix +
'CaloLocalCalib'
368 CaloClusterLocalCalib = CompFactory.getComp(
"CaloClusterLocalCalib")
371 LocalCalib.ClusterRecoStatus = [1,2]
373 LocalCalib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
375 result.setPrivateTools(LocalCalib)
380 _name = flags.Tau.ActiveConfig.prefix +
'OOCCalibTool'
382 CaloClusterLocalCalib = CompFactory.getComp(
"CaloClusterLocalCalib")
383 OOCCalib = CaloClusterLocalCalib (_name)
384 OOCCalib.ClusterRecoStatus = [1,2]
386 OOCCalib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
388 result.setPrivateTools(OOCCalib)
393 _name = flags.Tau.ActiveConfig.prefix +
'DMCalib'
395 CaloClusterLocalCalib = CompFactory.getComp(
"CaloClusterLocalCalib")
397 DMCalib.ClusterRecoStatus = [1,2]
399 DMCalib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
401 result.setPrivateTools(DMCalib)
406 _name = flags.Tau.ActiveConfig.prefix +
'OOCPi0CalibTool'
408 CaloClusterLocalCalib = CompFactory.getComp(
"CaloClusterLocalCalib")
409 OOCPi0Calib = CaloClusterLocalCalib (_name)
410 OOCPi0Calib.ClusterRecoStatus = [1,2]
412 OOCPi0Calib.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
414 result.setPrivateTools(OOCPi0Calib)
419 _name = flags.Tau.ActiveConfig.prefix +
'Pi0TopoClusterMaker'
422 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
427 CaloTopoClusterMaker = CompFactory.getComp(
"CaloTopoClusterMaker")
430 TopoClusterForTaus.CellsName = flags.Tau.ActiveConfig.TauCommonPi0Cells
431 TopoClusterForTaus.CalorimeterNames=[
"LAREM"]
432 TopoClusterForTaus.SeedSamplingNames = [
"PreSamplerB",
"EMB1",
"EMB2",
"PreSamplerE",
"EME1",
"EME2"]
433 TopoClusterForTaus.NeighborOption =
"super3D"
434 TopoClusterForTaus.RestrictHECIWandFCalNeighbors =
False
435 TopoClusterForTaus.RestrictPSNeighbors =
True
436 TopoClusterForTaus.CellThresholdOnEorAbsEinSigma = 0.0
437 TopoClusterForTaus.NeighborThresholdOnEorAbsEinSigma = 2.0
438 TopoClusterForTaus.SeedThresholdOnEorAbsEinSigma = 4.0
439 TopoClusterForTaus.SeedCutsInAbsE =
True
440 TopoClusterForTaus.ClusterCutsInAbsEt =
True
441 TopoClusterForTaus.ClusterEtorAbsEtCut = 0.5*GeV
442 TopoClusterForTaus.TwoGaussianNoise = flags.Calo.TopoCluster.doTwoGaussianNoise
444 TopoClusterForTaus.SeedCutsInT = flags.Calo.TopoCluster.doTimeCut
445 TopoClusterForTaus.CutOOTseed = flags.Calo.TopoCluster.extendTimeCut
and flags.Calo.TopoCluster.doTimeCut
446 TopoClusterForTaus.UseTimeCutUpperLimit = flags.Calo.TopoCluster.useUpperLimitForTimeCut
447 TopoClusterForTaus.TimeCutUpperLimit = flags.Calo.TopoCluster.timeCutUpperLimit
448 TopoClusterForTaus.XTalkEM2 = flags.Calo.TopoCluster.xtalkEM2
449 TopoClusterForTaus.XTalkEM2D = flags.Calo.TopoCluster.xtalkEM2D
450 TopoClusterForTaus.XTalkEM2n = flags.Calo.TopoCluster.xtalkEM2n
451 TopoClusterForTaus.XTalkEM3 = flags.Calo.TopoCluster.xtalkEM3
452 TopoClusterForTaus.XTalkEMEta = flags.Calo.TopoCluster.xtalkEMEta
453 TopoClusterForTaus.XTalkDeltaT = flags.Calo.TopoCluster.xtalkDeltaT
454 TopoClusterForTaus.XTalk2Eratio1 = flags.Calo.TopoCluster.xtalk2Eratio1
455 TopoClusterForTaus.XTalk2Eratio2 = flags.Calo.TopoCluster.xtalk2Eratio2
456 TopoClusterForTaus.XTalk3Eratio = flags.Calo.TopoCluster.xtalk3Eratio
457 TopoClusterForTaus.XTalkEtaEratio = flags.Calo.TopoCluster.xtalkEtaEratio
458 TopoClusterForTaus.XTalk2DEratio = flags.Calo.TopoCluster.xtalk2DEratio
460 result.setPrivateTools(TopoClusterForTaus)
466 _name = flags.Tau.ActiveConfig.prefix +
'Pi0TopoClusterSplitter'
468 CaloTopoClusterSplitter = CompFactory.getComp(
"CaloTopoClusterSplitter")
475 TopoSplitterForTaus.SamplingNames = [
"EMB2",
"EME2"]
479 TopoSplitterForTaus.SecondarySamplingNames = [
"EMB1",
"EME1"]
480 TopoSplitterForTaus.ShareBorderCells =
True
481 TopoSplitterForTaus.RestrictHECIWandFCalNeighbors =
False
482 TopoSplitterForTaus.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
484 result.setPrivateTools(TopoSplitterForTaus)
489 _name = flags.Tau.ActiveConfig.prefix +
'Pi0TopoMoments'
492 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
497 CaloClusterMomentsMaker = CompFactory.getComp(
"CaloClusterMomentsMaker")
499 TopoMomentsForTaus.WeightingOfNegClusters = flags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
500 TopoMomentsForTaus.MaxAxisAngle = 20*deg
501 TopoMomentsForTaus.TwoGaussianNoise = flags.Calo.TopoCluster.doTwoGaussianNoise
502 TopoMomentsForTaus.MinBadLArQuality = 4000
503 TopoMomentsForTaus.MomentsNames = [
"FIRST_PHI"
524 result.setPrivateTools(TopoMomentsForTaus)
529 _name = flags.Tau.ActiveConfig.prefix +
'CaloClusterBadChannelList'
531 CaloClusterBadChannelListCorr = CompFactory.getComp(
"CaloClusterBadChannelList")
534 result.setPrivateTools(BadChannelListCorrForTaus)
541 _name = flags.Tau.ActiveConfig.prefix +
'Pi0ClusterCreator'
547 for typ, nam
in [i.split(
'#')
for i
in flags.Input.TypedCollections]:
548 if typ ==
'CaloCellContainer':
549 extraInputs += [(
'CaloCellContainer', nam)]
551 TauPi0ClusterCreator = CompFactory.getComp(
"TauPi0ClusterCreator")
553 ExtraInputs = extraInputs)
555 result.setPrivateTools(TauPi0ClusterCreator)
562 _name = flags.Tau.ActiveConfig.prefix +
'Pi0ClusterScaler'
564 TauPi0ClusterScaler = CompFactory.getComp(
"TauPi0ClusterScaler")
567 result.setPrivateTools(TauPi0ClusterScaler)
574 _name = flags.Tau.ActiveConfig.prefix +
'Pi0ScoreCalculator'
576 TauPi0ScoreCalculator = CompFactory.getComp(
"TauPi0ScoreCalculator")
578 BDTWeightFile = flags.Tau.Pi0ScoreConfig)
580 result.setPrivateTools(TauPi0ScoreCalculator)
587 _name = flags.Tau.ActiveConfig.prefix +
'Pi0Selector'
589 TauPi0Selector = CompFactory.getComp(
"TauPi0Selector")
591 ClusterEtCut = flags.Tau.pi0EtCuts,
592 ClusterBDTCut_1prong = flags.Tau.pi0MVACuts_1prong,
593 ClusterBDTCut_mprong = flags.Tau.pi0MVACuts_mprong)
595 result.setPrivateTools(TauPi0Selector)
602 _name = flags.Tau.ActiveConfig.prefix +
'TauVertexVariables'
604 from TrkConfig.TrkVertexFittersConfig
import TauAdaptiveVertexFitterCfg
605 from TrkConfig.TrkVertexSeedFinderToolsConfig
import (
606 CrossDistancesSeedFinderCfg)
608 TauVertexVariables = CompFactory.getComp(
"TauVertexVariables")
613 result.setPrivateTools(TauVertexVariables)
620 _name = flags.Tau.ActiveConfig.prefix +
'TauCommonCalcVars'
622 TauCommonCalcVars = CompFactory.getComp(
"TauCommonCalcVars")
625 result.setPrivateTools(TauCommonCalcVars)
632 _name = flags.Tau.ActiveConfig.prefix +
'TauSubstructure'
634 TauSubstructureVariables = CompFactory.getComp(
"TauSubstructureVariables")
637 result.setPrivateTools(TauSubstructureVariables)
644 _name = flags.Tau.ActiveConfig.prefix +
'MvaTESVariableDecorator'
646 eventShapeCollection = flags.Tau.ActiveConfig.EventShapeCollection
647 if 'EMPFlow' in flags.Tau.ActiveConfig.SeedJetCollection:
648 eventShapeCollection =
"Kt4EMPFlowEventShape"
649 elif 'EMTopo' in flags.Tau.ActiveConfig.SeedJetCollection:
650 eventShapeCollection =
"Kt4EMTopoOriginEventShape"
652 MvaTESVariableDecorator = CompFactory.getComp(
"MvaTESVariableDecorator")
654 Key_vertexInputContainer = flags.Tau.ActiveConfig.VertexCollection,
655 EventShapeKey = eventShapeCollection,
656 VertexCorrection = flags.Tau.doVertexCorrection)
657 result.setPrivateTools(MvaTESVariableDecorator)
664 _name = flags.Tau.ActiveConfig.prefix +
'MvaTESEvaluator'
666 MvaTESEvaluator = CompFactory.getComp(
"MvaTESEvaluator")
668 WeightFileName = flags.Tau.MvaTESConfig,
669 WeightFileName0p = flags.Tau.MvaTESConfig0p )
671 result.setPrivateTools(MvaTESEvaluator)
676 _name = flags.Tau.ActiveConfig.prefix +
'TauIDVarCalculator'
678 TauIDVarCalculator = CompFactory.getComp(
"TauIDVarCalculator")
680 VertexCorrection = flags.Tau.doVertexCorrection)
682 result.setPrivateTools(myTauIDVarCalculator)
687 _name = flags.Tau.ActiveConfig.prefix +
'TauJetRNN'
689 TauJetRNNEvaluator = CompFactory.getComp(
"TauJetRNNEvaluator")
690 RNNConf = flags.Tau.TauJetRNNConfig
693 NetworkFile1P = RNNConf[0],
694 NetworkFile2P = RNNConf[1],
695 NetworkFile3P = RNNConf[2],
696 OutputVarname =
"RNNJetScore",
700 ApplyLooseTrackSel = applyLooseTrackSel,
701 VertexCorrection = flags.Tau.doVertexCorrection,
702 InputLayerScalar =
"scalar",
703 InputLayerTracks =
"tracks",
704 InputLayerClusters =
"clusters",
705 OutputLayer =
"rnnid_output",
706 OutputNode =
"sig_prob")
708 result.setPrivateTools(myTauJetRNNEvaluator)
712 import PyUtils.RootUtils
as ru
713 ROOT = ru.import_root()
715 cppyy.load_library(
'libxAODTau_cDict')
718 _name = flags.Tau.ActiveConfig.prefix +
'TauWPDecoratorJetRNN'
720 TauWPDecorator = CompFactory.getComp(
"TauWPDecorator")
721 WPConf = flags.Tau.TauJetRNNWPConfig
723 flatteningFile1Prong = WPConf[0],
724 flatteningFile2Prong = WPConf[1],
725 flatteningFile3Prong = WPConf[2],
727 [ ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigVeryLoose,
728 ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigLoose,
729 ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigMedium,
730 ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigTight ],
731 SigEff1P = [0.95, 0.85, 0.75, 0.60],
732 SigEff2P = [0.95, 0.75, 0.60, 0.45],
733 SigEff3P = [0.95, 0.75, 0.60, 0.45],
734 ScoreName =
"RNNJetScore",
735 NewScoreName =
"RNNJetScoreSigTrans",
738 result.setPrivateTools(myTauWPDecorator)
741 def TauGNNEvaluatorCfg(flags, version=0, applyLooseTrackSel=False, applyTightTrackSel=False, tauContainerName=""):
743 _name = flags.Tau.ActiveConfig.prefix +
'TauGNN_v' +
str(version)
745 TauGNNEvaluator = CompFactory.getComp(
"TauGNNEvaluator")
746 GNNConf = flags.Tau.TauGNNConfig[version]
748 useTRT = flags.Detector.EnableTRT,
749 NetworkFileInclusive = GNNConf,
750 OutputVarname = flags.Tau.GNTauScoreName[version],
751 OutputPTau =
"GNTauProbTau",
752 OutputPJet =
"GNTauProbJet",
753 MaxTracks = flags.Tau.GNTauMaxTracks[version],
754 MaxClusters = flags.Tau.GNTauMaxClusters[version],
756 MinTauPt = flags.Tau.MinPtDAOD,
757 ApplyLooseTrackSel = applyLooseTrackSel,
758 ApplyTightTrackSel = applyTightTrackSel,
759 VertexCorrection = flags.Tau.doVertexCorrection,
760 InputLayerScalar =
"tau_vars",
761 InputLayerTracks =
"track_vars",
762 InputLayerClusters =
"cluster_vars",
763 NodeNameTau=flags.Tau.GNTauNodeNameTau,
764 NodeNameJet=flags.Tau.GNTauNodeNameJet,
765 TauContainerName = tauContainerName,)
767 result.setPrivateTools(myTauGNNEvaluator)
772 _name = flags.Tau.ActiveConfig.prefix +
'TauWPDecoratorGNN_v' +
str(version)
774 TauWPDecorator = CompFactory.getComp(
"TauWPDecorator")
775 WPConf = flags.Tau.TauGNNWP[version]
777 flatteningFile1Prong = WPConf[0],
778 flatteningFile2Prong = WPConf[1],
779 flatteningFile3Prong = WPConf[2],
780 TauContainerName = tauContainerName,
781 DecorWPNames = flags.Tau.GNTauDecorWPNames[version],
782 DecorWPCutEffs1P = [0.95, 0.85, 0.75, 0.60],
783 DecorWPCutEffs2P = [0.95, 0.75, 0.60, 0.45],
784 DecorWPCutEffs3P = [0.95, 0.75, 0.60, 0.45],
785 ScoreName = flags.Tau.GNTauScoreName[version],
786 NewScoreName = flags.Tau.GNTauTransScoreName[version],
788 result.setPrivateTools(myTauWPDecorator)
793 _name = flags.Tau.ActiveConfig.prefix +
'TauEleRNN'
795 TauJetRNNEvaluator = CompFactory.getComp(
"TauJetRNNEvaluator")
796 RNNConf = flags.Tau.TauEleRNNConfig
798 useTRT = flags.Detector.EnableTRT,
799 NetworkFile1P = RNNConf[0],
800 NetworkFile3P = RNNConf[1],
801 OutputVarname =
"RNNEleScore",
805 ApplyLooseTrackSel = applyLooseTrackSel,
806 VertexCorrection = flags.Tau.doVertexCorrection,
807 InputLayerScalar =
"scalar",
808 InputLayerTracks =
"tracks",
809 InputLayerClusters =
"clusters",
810 OutputLayer =
"rnneveto_output",
811 OutputNode =
"sig_prob")
813 result.setPrivateTools(myTauEleRNNEvaluator)
817 import PyUtils.RootUtils
as ru
818 ROOT = ru.import_root()
820 cppyy.load_library(
'libxAODTau_cDict')
823 _name = flags.Tau.ActiveConfig.prefix +
'TauWPDecoratorEleRNN'
825 TauWPDecorator = CompFactory.getComp(
"TauWPDecorator")
826 WPConf = flags.Tau.TauEleRNNWPConfig
828 flatteningFile1Prong = WPConf[0],
829 flatteningFile3Prong = WPConf[1],
831 [ ROOT.xAOD.TauJetParameters.IsTauFlag.EleRNNLoose,
832 ROOT.xAOD.TauJetParameters.IsTauFlag.EleRNNMedium,
833 ROOT.xAOD.TauJetParameters.IsTauFlag.EleRNNTight ],
834 SigEff1P = [0.95, 0.90, 0.85],
835 SigEff3P = [0.98, 0.95, 0.90],
837 ScoreName =
"RNNEleScore",
838 NewScoreName =
"RNNEleScoreSigTrans",
841 result.setPrivateTools(myTauEleWPDecorator)
846 _name = flags.Tau.ActiveConfig.prefix +
'TauWPDecoratorEleRNNFix_v1'
848 TauWPDecorator = CompFactory.getComp(
"TauWPDecorator")
849 WPConf = flags.Tau.TauEleRNNWPfix
851 flatteningFile1Prong = WPConf[0],
852 flatteningFile3Prong = WPConf[1],
853 DecorWPNames = [
"EleRNNLoose_v1",
"EleRNNMedium_v1",
"EleRNNTight_v1" ],
854 DecorWPCutEffs1P = [0.95, 0.90, 0.85],
855 DecorWPCutEffs3P = [0.98, 0.95, 0.90],
857 ScoreName =
"RNNEleScore",
858 NewScoreName =
"RNNEleScoreSigTrans_v1",
861 result.setPrivateTools(myTauEleWPDecorator)
866 _name = flags.Tau.ActiveConfig.prefix +
'TauDecayModeNNClassifier'
868 TauDecayModeNNClassifier = CompFactory.getComp(
"TauDecayModeNNClassifier")
870 WeightFile=flags.Tau.DecayModeNNClassifierConfig)
872 result.setPrivateTools(myTauDecayModeNNClassifier)
877 _name = flags.Tau.ActiveConfig.prefix +
'TauAODSelector'
879 TauAODSelector = CompFactory.getComp(
"TauAODSelector")
881 Min0pTauPt = flags.Tau.MinPt0p,
882 MinTauPt = flags.Tau.MinPt,
883 doEarlyStopping = flags.Tau.doEarlyStopping
and not flags.Output.doWriteESD)
885 result.setPrivateTools(myTauAODSelector)
892 _name = flags.Tau.ActiveConfig.prefix +
'TauCombinedTES'
894 TauCombinedTES = CompFactory.getComp(
"TauCombinedTES")
896 WeightFileName = flags.Tau.CombinedTESConfig)
898 result.setPrivateTools(myTauCombinedTES)
905 _name = flags.Tau.ActiveConfig.prefix +
'MuonRemoval'
906 TauAODMuonRemovalTool = CompFactory.getComp(
"TauAODMuonRemovalTool")
908 Key_MuonInputContainer =
'Muons',
913 result.setPrivateTools(myMuonRemoval)
919 _name = flags.Tau.ActiveConfig.prefix +
'TauEleOverlapChecker'
920 TauEleOverlapChecker = CompFactory.getComp(
"TauEleOverlapChecker")
923 Key_RemovedClustersContainer = flags.Tau.ActiveConfig.RemovedElectronClusters,
924 Key_RemovedTracksContainer = flags.Tau.ActiveConfig.RemovedElectronTracks,
925 CheckingCone = flags.Tau.ActiveConfig.EleRM_CheckingConeSize,
927 result.setPrivateTools(myTauEleOverlapChecker)