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