161def cvfClusterInputCfg(flags, **recoDict) -> StepOutput:
162 """Create the clusters with CVF decorated"""
163 inputs = StepOutput.merge(
164 clusterInputCfg(flags, **recoDict),
165 trackingInputCfg(flags),
166 )
167 acc = ComponentAccumulator()
168 acc.addEventAlgo(
169 CompFactory.HLT.MET.CVFAlg(
170 f"{recoDict['calib']}ftfClusterCVFAlg",
171 InputClusterKey=inputs["Clusters"],
172 InputTrackKey=inputs["Tracks"],
173 InputVertexKey=inputs["Vertices"],
174 OutputCVFKey="CVF",
175 TrackSelectionTool=CompFactory.InDet.InDetTrackSelectionTool(
176 CutLevel="TightPrimary"
177 ),
178 TVATool=acc.popToolsAndMerge(
179 CVF_TTVAToolCfg(
180 flags,
181 TrackContName=inputs["Tracks"],
182 VertexContName=inputs["Vertices"]
183 )
184 ),
185 ExtensionTool=CompFactory.ApproximateTrackToLayerTool(),
186 )
187 )
188 acc.addEventAlgo(
189 CompFactory.HLT.MET.CVFPrepAlg(
190 f"{recoDict['calib']}ftfClusterCVFPrepAlg",
191 InputClusterKey=inputs["Clusters"],
192 InputCVFKey="CVF",
193 OutputCategoryKey="PUClassification",
194 )
195 )
196 return StepOutput.create(acc, inputs, CVF="CVF", PUCategory="PUClassification")
197
198
199@AccumulatorCache