206 flags, name="ITkSiComTrackFinder", **kwargs):
207 acc = ComponentAccumulator()
208
209
210 if flags.Tracking.ActiveConfig.useITkPixel:
211 acc.merge(SiDetElementBoundaryLinksCondAlg_xk_ITkPixel_Cfg(flags))
212
213 if flags.Tracking.ActiveConfig.useITkStrip:
214 acc.merge(SiDetElementBoundaryLinksCondAlg_xk_ITkStrip_Cfg(flags))
215
216 kwargs.setdefault("usePixel", flags.Tracking.ActiveConfig.useITkPixel)
217 kwargs.setdefault("useSCT", flags.Tracking.ActiveConfig.useITkStrip)
218 kwargs.setdefault("PixelClusterContainer", 'ITkPixelClusters')
219 kwargs.setdefault("SCT_ClusterContainer", 'ITkStripClusters')
220 kwargs.setdefault("PixelDetElementBoundaryLinks_xk",
221 "ITkPixelDetElementBoundaryLinks_xk")
222 kwargs.setdefault("SCT_DetElementBoundaryLinks_xk",
223 "ITkStripDetElementBoundaryLinks_xk")
224 kwargs.setdefault("ITkGeometry", True)
225 kwargs.setdefault("doFastTracking", flags.Tracking.doITkFastTracking)
226 kwargs.setdefault("writeHolesFromPattern", flags.Tracking.doITkFastTracking)
227
228
229
230
231 from TrkConfig.TrkRIO_OnTrackCreatorConfig import ITkRotCreatorCfg
232 ITkRotCreator = acc.popToolsAndMerge(ITkRotCreatorCfg(
233 flags, name="ITkRotCreator"+flags.Tracking.ActiveConfig.extension))
234 acc.addPublicTool(ITkRotCreator)
235 kwargs.setdefault("RIOonTrackTool", ITkRotCreator)
236
237 from TrkConfig.TrkExRungeKuttaPropagatorConfig import (
238 RungeKuttaPropagatorCfg)
239 ITkPatternPropagator = acc.popToolsAndMerge(
240 RungeKuttaPropagatorCfg(flags, name="ITkPatternPropagator"))
241 acc.addPublicTool(ITkPatternPropagator)
242 kwargs.setdefault("PropagatorTool", ITkPatternPropagator)
243
244 from TrkConfig.TrkMeasurementUpdatorConfig import KalmanUpdator_xkCfg
245 ITkPatternUpdator = acc.popToolsAndMerge(
246 KalmanUpdator_xkCfg(flags, name="ITkPatternUpdator"))
247 acc.addPublicTool(ITkPatternUpdator)
248 kwargs.setdefault("UpdatorTool", ITkPatternUpdator)
249
250 from InDetConfig.InDetBoundaryCheckToolConfig import ITkBoundaryCheckToolCfg
251 kwargs.setdefault("BoundaryCheckTool", acc.popToolsAndMerge(
252 ITkBoundaryCheckToolCfg(flags)))
253
254 kwargs.setdefault("PixelSummaryTool", None)
255 if flags.Detector.EnableITkPixel:
256 if "PixelDetElStatus" not in kwargs:
257 if not flags.Trigger.doHLT :
258 from PixelConditionsAlgorithms.ITkPixelConditionsConfig import (
259 ITkPixelDetectorElementStatusAlgCfg)
260 acc.merge(ITkPixelDetectorElementStatusAlgCfg(flags))
261 kwargs.setdefault("PixelDetElStatus", "ITkPixelDetectorElementStatus")
262
263 kwargs.setdefault("SctSummaryTool", None)
264 if flags.Detector.EnableITkStrip:
265 if "SCTDetElStatus" not in kwargs :
266 if not flags.Trigger.doHLT :
267 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig import (
268 ITkStripDetectorElementStatusAlgCfg)
269 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
270 kwargs.setdefault("SCTDetElStatus","ITkStripDetectorElementStatus")
271
272
273 kwargs.setdefault("MinFinalPtCut",
274 min(
min(flags.Tracking.ActiveConfig.minPT), 100))
275
276 acc.setPrivateTools(CompFactory.InDet.SiCombinatorialTrackFinder_xk(
277 name+flags.Tracking.ActiveConfig.extension, **kwargs))
278 return acc