7 kwargs.setdefault(
"TauContainerName",
"TauJets")
9 acc = ComponentAccumulator()
14 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import AsgSelectionToolWrapperCfg
15 from TauAnalysisTools.TauAnalysisToolsConfig
import TauSelectionToolCfg
17 TauAugmentationTools = []
20 "RNNVeryLoose" :
"TauAnalysisAlgorithms/tau_selection_veryloose_noeleid.conf",
21 "RNNLoose" :
"TauAnalysisAlgorithms/tau_selection_loose_noeleid.conf",
22 "RNNMedium" :
"TauAnalysisAlgorithms/tau_selection_medium_noeleid.conf",
23 "RNNTight" :
"TauAnalysisAlgorithms/tau_selection_tight_noeleid.conf",
25 "GNTauVeryLoose" :
"TauAnalysisAlgorithms/tau_selection_gntau_veryloose_noeleid.conf",
26 "GNTauLoose" :
"TauAnalysisAlgorithms/tau_selection_gntau_loose_noeleid.conf",
27 "GNTauMedium" :
"TauAnalysisAlgorithms/tau_selection_gntau_medium_noeleid.conf",
28 "GNTauTight" :
"TauAnalysisAlgorithms/tau_selection_gntau_tight_noeleid.conf",
31 TauSelector = acc.popToolsAndMerge(TauSelectionToolCfg(flags,
32 name = f
'TauSelector{wp}',
33 ConfigPath = config[wp]))
34 acc.addPublicTool(TauSelector)
36 TauWrapper = acc.getPrimaryAndMerge(AsgSelectionToolWrapperCfg(flags,
37 name = f
"Tau{wp}Wrapper",
38 AsgSelectionTool = TauSelector,
39 StoreGateEntryName = f
"DFTau{wp}",
40 ContainerName = kwargs[
"TauContainerName"]))
41 TauAugmentationTools.append(TauWrapper)
43 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
44 acc.addEventAlgo(CommonAugmentation(f
"Tau{wp}AugmentationKernel", AugmentationTools = TauAugmentationTools))
48 """Decorate tau ID scores and working points"""
52 tauContainerKey = kwargs.setdefault(
"TauContainerName",
"TauJets")
55 acc = ComponentAccumulator()
57 import tauRec.TauToolHolder
as tauTools
68 if kwargs.pop(
'evetoFix',
True):
69 tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNCfg(flags)) )
71 doEvetoWP |= tools[-1].UseAbsEta
73 if tools[-1].ScoreName !=
"RNNEleScore": scoreNames.append(tools[-1].ScoreName)
74 scoreNames.append(tools[-1].NewScoreName)
75 WPNames += tools[-1].DecorWPNames
77 if kwargs.pop(
'GNNTauID',
True):
79 tools.append( acc.popToolsAndMerge(tauTools.TauVertexedClusterDecoratorCfg(flags)) )
82 tools.append( acc.popToolsAndMerge(tauTools.TauGNNEvaluatorCfg(flags,0,applyLooseTrackSel=
True)) )
84 tools.append( acc.popToolsAndMerge(tauTools.TauGNNEvaluatorCfg(flags,1,applyLooseTrackSel=
True)) )
86 tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorGNNCfg(flags,0)) )
88 doEvetoWP |= tools[-1].UseAbsEta
90 if tools[-1].ScoreName !=
"RNNEleScore": scoreNames.append(tools[-1].ScoreName)
91 scoreNames.append(tools[-1].NewScoreName)
92 WPNames += tools[-1].DecorWPNames
95 tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorGNNCfg(flags,1)) )
97 doEvetoWP |= tools[-1].UseAbsEta
99 if tools[-1].ScoreName !=
"RNNEleScore": scoreNames.append(tools[-1].ScoreName)
100 scoreNames.append(tools[-1].NewScoreName)
101 WPNames += tools[-1].DecorWPNames
104 kwargs.setdefault(
"DoEvetoWP", doEvetoWP)
105 kwargs.setdefault(
"ScoreDecorationKeys", scoreNames)
106 kwargs.setdefault(
"WPDecorationKeys", WPNames)
109 acc.addPublicTool(tool)
110 kwargs.setdefault(
"TauIDTools", tools)
112 TauIDDecoratorWrapper = CompFactory.DerivationFramework.TauIDDecoratorWrapper
113 TauIDDecoratorKernel = CompFactory.DerivationFramework.CommonAugmentation
115 prefix = kwargs.pop(
'prefix', tauContainerKey)
116 tauIDDecoratorWrapper = TauIDDecoratorWrapper(name = f
"{prefix}_TauIDDecoratorWrapper",
118 print(
"PXQW TauIDDecoratorsWrapper: " + str(tauIDDecoratorWrapper))
119 acc.addPublicTool(tauIDDecoratorWrapper)
120 acc.addEventAlgo(TauIDDecoratorKernel(name = f
"{prefix}_TauIDDecorKernel",
121 AugmentationTools = [tauIDDecoratorWrapper]))
127 """Configure the MuonRM AOD tau building"""
129 acc = ComponentAccumulator()
132 import tauRec.TauToolHolder
as tauTools
134 tools_mod.append( acc.popToolsAndMerge(tauTools.TauAODMuonRemovalCfg(flags)) )
136 tools_after.append( acc.popToolsAndMerge(tauTools.TauVertexedClusterDecoratorCfg(flags)) )
137 tools_after.append( acc.popToolsAndMerge(tauTools.TauTrackRNNClassifierCfg(flags)) )
138 tools_after.append( acc.popToolsAndMerge(tauTools.EnergyCalibrationLCCfg(flags)) )
139 tools_after.append( acc.popToolsAndMerge(tauTools.TauCommonCalcVarsCfg(flags)) )
140 tools_after.append( acc.popToolsAndMerge(tauTools.TauSubstructureCfg(flags)) )
141 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ClusterCreatorCfg(flags)) )
142 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ClusterScalerCfg(flags)) )
143 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ScoreCalculatorCfg(flags)) )
144 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0SelectorCfg(flags)) )
145 tools_after.append( acc.popToolsAndMerge(tauTools.TauVertexVariablesCfg(flags)) )
146 import PanTauAlgs.JobOptions_Main_PanTau
as pantau
147 tools_after.append( acc.popToolsAndMerge(pantau.PanTauCfg(flags)) )
148 tools_after.append( acc.popToolsAndMerge(tauTools.TauCombinedTESCfg(flags)) )
149 tools_after.append( acc.popToolsAndMerge(tauTools.MvaTESVariableDecoratorCfg(flags)) )
150 tools_after[-1].EventShapeKey =
''
151 tools_after.append( acc.popToolsAndMerge(tauTools.MvaTESEvaluatorCfg(flags)) )
152 tools_after.append( acc.popToolsAndMerge(tauTools.TauIDVarCalculatorCfg(flags)) )
153 tools_after.append( acc.popToolsAndMerge(tauTools.TauJetRNNEvaluatorCfg(flags,applyLooseTrackSel=
True)) )
154 tools_after.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorJetRNNCfg(flags)) )
155 tools_after.append( acc.popToolsAndMerge(tauTools.TauEleRNNEvaluatorCfg(flags,applyLooseTrackSel=
True )) )
156 tools_after.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNCfg(flags)) )
157 tools_after.append( acc.popToolsAndMerge(tauTools.TauDecayModeNNClassifierCfg(flags)) )
158 TauAODRunnerAlg=CompFactory.getComp(
"TauAODRunnerAlg")
159 for tool
in tools_mod:
161 for tool
in tools_after:
164 name =
"MuonRemovalTauAODReRecoAlg",
165 Key_tauOutputContainer =
"TauJets_MuonRM",
166 Key_pi0OutputContainer =
"TauFinalPi0s_MuonRM",
167 Key_neutralPFOOutputContainer =
"TauNeutralParticleFlowObjects_MuonRM",
168 Key_chargedPFOOutputContainer =
"TauChargedParticleFlowObjects_MuonRM",
169 Key_hadronicPFOOutputContainer =
"TauHadronicParticleFlowObjects_MuonRM",
170 Key_tauTrackOutputContainer =
"TauTracks_MuonRM",
171 Key_vertexOutputContainer =
"TauSecondaryVertices_MuonRM",
172 modificationTools = tools_mod,
173 officialTools = tools_after
175 acc.addEventAlgo(myTauAODRunnerAlg)