119def TauRunnerAlgCfg(flags):
120
121 result=ComponentAccumulator()
122
123
124 import tauRec.TauToolHolder as tauTools
125
126 tools = []
127 tools.append( result.popToolsAndMerge(tauTools.TauShotFinderCfg(flags)) )
128 tools.append( result.popToolsAndMerge(tauTools.Pi0ClusterCreatorCfg(flags)) )
129 tools.append( result.popToolsAndMerge(tauTools.Pi0ClusterScalerCfg(flags)) )
130 tools.append( result.popToolsAndMerge(tauTools.Pi0ScoreCalculatorCfg(flags)) )
131 tools.append( result.popToolsAndMerge(tauTools.Pi0SelectorCfg(flags)) )
132
133 if flags.Beam.Type is not BeamType.Cosmics:
134 tools.append( result.popToolsAndMerge(tauTools.EnergyCalibrationLCCfg(flags)) )
135
136 if flags.Tau.doPanTau:
137 import PanTauAlgs.JobOptions_Main_PanTau as pantau
138 tools.append( result.popToolsAndMerge(pantau.PanTauCfg(flags)) )
139
140 tools.append(result.popToolsAndMerge(tauTools.TauCombinedTESCfg(flags)) )
141
142
143 tools.append( result.popToolsAndMerge(tauTools.CellVariablesCfg(flags)) )
144
145 if flags.Beam.Type is not BeamType.Cosmics:
146 tools.append( result.popToolsAndMerge(tauTools.MvaTESVariableDecoratorCfg(flags)) )
147 tools.append( result.popToolsAndMerge(tauTools.MvaTESEvaluatorCfg(flags)) )
148
149
150 tools.append( result.popToolsAndMerge(tauTools.TauAODSelectorCfg(flags)) )
151
152
153 if flags.Tau.isStandalone or flags.Tracking.doVertexFinding:
154 tools.append(result.popToolsAndMerge(tauTools.TauVertexVariablesCfg(flags)) )
155 tools.append( result.popToolsAndMerge(tauTools.ElectronVetoVarsCfg(flags)) )
156 tools.append( result.popToolsAndMerge(tauTools.TauCommonCalcVarsCfg(flags)) )
157 tools.append( result.popToolsAndMerge(tauTools.TauSubstructureCfg(flags)) )
158
159 if flags.Tau.doTauDiscriminant:
160 tools.append( result.popToolsAndMerge(tauTools.TauIDVarCalculatorCfg(flags)) )
161
162 if flags.GeoModel.Run <= LHCPeriod.Run3:
163 tools.append( result.popToolsAndMerge(tauTools.TauEleRNNEvaluatorCfg(flags)) )
164 tools.append( result.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNCfg(flags)) )
165 tools.append( result.popToolsAndMerge(tauTools.TauDecayModeNNClassifierCfg(flags)) )
166
167 if not flags.Tau.ActiveConfig.inTauEleRM:
168
169 tools.append( result.popToolsAndMerge(tauTools.TauGNNEvaluatorCfg(flags, version=0, applyTightTrackSel=True)) )
170 tools.append( result.popToolsAndMerge(tauTools.TauWPDecoratorGNNCfg(flags, version=0, tauContainerName=flags.Tau.ActiveConfig.TauJets)) )
171
172 TauRunnerAlg = CompFactory.getComp("TauRunnerAlg")
173 RunnerAlg =
TauRunnerAlg(name = flags.Tau.ActiveConfig.prefix+
"TauRecRunnerAlg",
174 Key_tauInputContainer = flags.Tau.ActiveConfig.TauJets_tmp,
175 Key_Pi0ClusterInputContainer = flags.Tau.ActiveConfig.TauPi0Clusters,
176 Key_tauOutputContainer = flags.Tau.ActiveConfig.TauJets,
177 Key_neutralPFOOutputContainer = flags.Tau.ActiveConfig.TauNeutralPFOs,
178 Key_hadronicPFOOutputContainer = flags.Tau.ActiveConfig.TauHadronicPFOs,
179 Key_chargedPFOOutputContainer = flags.Tau.ActiveConfig.TauChargedPFOs,
180 Key_vertexOutputContainer = flags.Tau.ActiveConfig.TauSecondaryVertices,
181 Key_pi0Container = flags.Tau.ActiveConfig.TauFinalPi0s,
182 Key_tauShotClusOutputContainer = flags.Tau.ActiveConfig.TauShotClusters,
183 Key_tauShotClusLinkContainer = flags.Tau.ActiveConfig.TauShotClustersLinks,
184 Key_tauShotPFOOutputContainer = flags.Tau.ActiveConfig.TauShotPFOs,
185 Tools = tools)
186
187 result.addEventAlgo(RunnerAlg)
188 return result
189
190
Main class for tau candidate processing.