3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
8 prefix = kwargs[
"prefix"]
9 kwargs.setdefault(
"doVeryLoose",
False)
10 kwargs.setdefault(
"doLoose",
False)
11 kwargs.setdefault(
"doMedium",
False)
12 kwargs.setdefault(
"doTight",
False)
19 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import AsgSelectionToolWrapperCfg
20 from TauAnalysisTools.TauAnalysisToolsConfig
import TauSelectionToolCfg
22 TauAugmentationTools = []
24 if kwargs[
"doVeryLoose"]:
26 name =
'TauSelectorVeryLoose',
27 ConfigPath =
'TauAnalysisAlgorithms/tau_selection_veryloose.conf'))
28 acc.addPublicTool(TauSelectorVeryLoose)
31 name =
"TauVeryLooseWrapper",
32 AsgSelectionTool = TauSelectorVeryLoose,
33 StoreGateEntryName =
"DFTauVeryLoose",
34 ContainerName =
"TauJets"))
35 TauAugmentationTools.append(TauVeryLooseWrapper)
39 name =
'TauSelectorLoose',
40 ConfigPath =
'TauAnalysisAlgorithms/tau_selection_loose.conf'))
41 acc.addPublicTool(TauSelectorLoose)
44 name =
"TauLooseWrapper",
45 AsgSelectionTool = TauSelectorLoose,
46 StoreGateEntryName =
"DFTauLoose",
47 ContainerName =
"TauJets"))
48 TauAugmentationTools.append(TauLooseWrapper)
50 if kwargs[
"doMedium"]:
52 name =
'TauSelectorMedium',
53 ConfigPath =
'TauAnalysisAlgorithms/tau_selection_medium.conf'))
54 acc.addPublicTool(TauSelectorMedium)
57 name =
"TauMediumWrapper",
58 AsgSelectionTool = TauSelectorMedium,
59 StoreGateEntryName =
"DFTauMedium",
60 ContainerName =
"TauJets"))
61 TauAugmentationTools.append(TauMediumWrapper)
65 name =
'TauSelectorTight',
66 ConfigPath =
'TauAnalysisAlgorithms/tau_selection_tight.conf'))
67 acc.addPublicTool(TauSelectorTight)
70 name =
"TauTightWrapper",
71 AsgSelectionTool = TauSelectorTight,
72 StoreGateEntryName =
"DFTauTight",
73 ContainerName =
"TauJets"))
74 TauAugmentationTools.append(TauTightWrapper)
76 if TauAugmentationTools:
77 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
78 acc.addEventAlgo(CommonAugmentation(f
"{prefix}_TauAugmentationKernel", AugmentationTools = TauAugmentationTools))
85 """Configure the low-pt di-tau building"""
89 from JetRecConfig.JetRecConfig
import JetRecCfg
90 from JetRecConfig.StandardLargeRJets
import AntiKt10LCTopo
91 acc.merge(
JetRecCfg(flags,AntiKt10LCTopo))
93 from DiTauRec.DiTauBuilderConfig
import DiTauBuilderLowPtCfg
100 """Decorate tau ID scores and working points"""
102 kwargs.setdefault(
"evetoFix",
True)
103 kwargs.setdefault(
"GNNTauID",
True)
104 kwargs.setdefault(
"TauContainerName",
"TauJets")
105 kwargs.setdefault(
"prefix", kwargs[
'TauContainerName'])
109 import tauRec.TauToolHolder
as tauTools
112 if kwargs[
'evetoFix']:
113 tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNFixCfg(flags)) )
115 if kwargs[
'GNNTauID']:
117 tools.append( acc.popToolsAndMerge(tauTools.TauVertexedClusterDecoratorCfg(flags)) )
119 tools.append( acc.popToolsAndMerge(tauTools.TauGNNEvaluatorCfg(flags)) )
120 tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorGNNCfg(flags)) )
124 acc.addPublicTool(tool)
126 TauIDDecoratorWrapper = CompFactory.DerivationFramework.TauIDDecoratorWrapper
127 TauIDDecoratorKernel = CompFactory.DerivationFramework.CommonAugmentation
129 prefix = kwargs[
'prefix']
130 tauIDDecoratorWrapper = TauIDDecoratorWrapper(name = f
"{prefix}_TauIDDecoratorWrapper",
131 TauContainerName = kwargs[
'TauContainerName'],
134 acc.addPublicTool(tauIDDecoratorWrapper)
135 acc.addEventAlgo(TauIDDecoratorKernel(name = f
"{prefix}_TauIDDecorKernel",
136 AugmentationTools = [tauIDDecoratorWrapper]))
143 """Configure the MuonRM AOD tau building"""
148 import tauRec.TauToolHolder
as tauTools
150 tools_mod.append( acc.popToolsAndMerge(tauTools.TauAODMuonRemovalCfg(flags)) )
152 tools_after.append( acc.popToolsAndMerge(tauTools.TauVertexedClusterDecoratorCfg(flags)) )
153 tools_after.append( acc.popToolsAndMerge(tauTools.TauTrackRNNClassifierCfg(flags)) )
154 tools_after.append( acc.popToolsAndMerge(tauTools.EnergyCalibrationLCCfg(flags)) )
155 tools_after.append( acc.popToolsAndMerge(tauTools.TauCommonCalcVarsCfg(flags)) )
156 tools_after.append( acc.popToolsAndMerge(tauTools.TauSubstructureCfg(flags)) )
157 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ClusterCreatorCfg(flags)) )
158 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ClusterScalerCfg(flags)) )
159 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ScoreCalculatorCfg(flags)) )
160 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0SelectorCfg(flags)) )
161 tools_after.append( acc.popToolsAndMerge(tauTools.TauVertexVariablesCfg(flags)) )
162 import PanTauAlgs.JobOptions_Main_PanTau_New
as pantau
163 tools_after.append( acc.popToolsAndMerge(pantau.PanTauCfg(flags)) )
164 tools_after.append( acc.popToolsAndMerge(tauTools.TauCombinedTESCfg(flags)) )
165 tools_after.append( acc.popToolsAndMerge(tauTools.MvaTESVariableDecoratorCfg(flags)) )
166 tools_after[-1].EventShapeKey =
''
167 tools_after.append( acc.popToolsAndMerge(tauTools.MvaTESEvaluatorCfg(flags)) )
168 tools_after.append( acc.popToolsAndMerge(tauTools.TauIDVarCalculatorCfg(flags)) )
169 tools_after.append( acc.popToolsAndMerge(tauTools.TauJetRNNEvaluatorCfg(flags)) )
170 tools_after.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorJetRNNCfg(flags)) )
171 tools_after.append( acc.popToolsAndMerge(tauTools.TauEleRNNEvaluatorCfg(flags)) )
172 tools_after.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNCfg(flags)) )
173 tools_after.append( acc.popToolsAndMerge(tauTools.TauDecayModeNNClassifierCfg(flags)) )
174 TauAODRunnerAlg=CompFactory.getComp(
"TauAODRunnerAlg")
175 for tool
in tools_mod:
177 for tool
in tools_after:
180 name =
"MuonRemovalTauAODReRecoAlg",
181 Key_tauOutputContainer =
"TauJets_MuonRM",
182 Key_pi0OutputContainer =
"TauFinalPi0s_MuonRM",
183 Key_neutralPFOOutputContainer =
"TauNeutralParticleFlowObjects_MuonRM",
184 Key_chargedPFOOutputContainer =
"TauChargedParticleFlowObjects_MuonRM",
185 Key_hadronicPFOOutputContainer =
"TauHadronicParticleFlowObjects_MuonRM",
186 Key_tauTrackOutputContainer =
"TauTracks_MuonRM",
187 Key_vertexOutputContainer =
"TauSecondaryVertices_MuonRM",
188 modificationTools = tools_mod,
189 officialTools = tools_after
191 acc.addEventAlgo(myTauAODRunnerAlg)
196 """configure tau thinning"""
199 TauThinningTool = CompFactory.DerivationFramework.TauThinningTool
200 acc.addPublicTool(TauThinningTool(name, **kwargs), primary=
True)