199def GNNSeedingTrackMakerCfg(flags, name="GNNSeedingTrackMaker", **kwargs):
200 """Sets up a GNN for seeding algorithm and returns it."""
201 acc = ComponentAccumulator()
202
203 from InDetConfig.SiCombinatorialTrackFinderToolConfig import SiDetElementBoundaryLinksCondAlg_xk_ITkPixel_Cfg, SiDetElementBoundaryLinksCondAlg_xk_ITkStrip_Cfg
204 acc.merge(SiDetElementBoundaryLinksCondAlg_xk_ITkPixel_Cfg(flags))
205 acc.merge(SiDetElementBoundaryLinksCondAlg_xk_ITkStrip_Cfg(flags))
206
207
208 from MagFieldServices.MagFieldServicesConfig import (
209 AtlasFieldCacheCondAlgCfg)
210 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
211
212 from TrkConfig.TrkRIO_OnTrackCreatorConfig import ITkRotCreatorCfg
213 ITkRotCreator = acc.popToolsAndMerge(ITkRotCreatorCfg(
214 flags, name="ITkRotCreator"+flags.Tracking.ActiveConfig.extension))
215 acc.addPublicTool(ITkRotCreator)
216 kwargs.setdefault("RIOonTrackTool", ITkRotCreator)
217
218 from TrkConfig.TrkExRungeKuttaPropagatorConfig import (
219 RungeKuttaPropagatorCfg)
220 ITkPatternPropagator = acc.popToolsAndMerge(
221 RungeKuttaPropagatorCfg(flags, name="ITkPatternPropagator"))
222 acc.addPublicTool(ITkPatternPropagator)
223 kwargs.setdefault("PropagatorTool", ITkPatternPropagator)
224
225 from TrkConfig.TrkMeasurementUpdatorConfig import KalmanUpdator_xkCfg
226 ITkPatternUpdator = acc.popToolsAndMerge(
227 KalmanUpdator_xkCfg(flags, name="ITkPatternUpdator"))
228 acc.addPublicTool(ITkPatternUpdator)
229 kwargs.setdefault("UpdatorTool", ITkPatternUpdator)
230
231 from InDetConfig.InDetBoundaryCheckToolConfig import ITkBoundaryCheckToolCfg
232 kwargs.setdefault("BoundaryCheckTool", acc.popToolsAndMerge(
233 ITkBoundaryCheckToolCfg(flags)))
234
235 from PixelConditionsTools.ITkPixelConditionsSummaryConfig import (
236 ITkPixelConditionsSummaryCfg)
237 kwargs.setdefault("PixelSummaryTool", acc.popToolsAndMerge(
238 ITkPixelConditionsSummaryCfg(flags)))
239
240 from SCT_ConditionsTools.ITkStripConditionsToolsConfig import (
241 ITkStripConditionsSummaryToolCfg)
242 kwargs.setdefault("StripSummaryTool", acc.popToolsAndMerge(
243 ITkStripConditionsSummaryToolCfg(flags)))
244
245 if flags.Tracking.GNN.useTrackFinder:
246 kwargs.setdefault("GNNTrackFinderTool", acc.popToolsAndMerge(GNNTrackFinderToolCfg(flags)))
247 kwargs.setdefault("GNNTrackReaderTool", None)
248 elif flags.Tracking.GNN.useTrackReader:
249 kwargs.setdefault("GNNTrackReaderTool", acc.popToolsAndMerge(GNNTrackReaderToolCfg(flags)))
250 kwargs.setdefault("GNNTrackFinderTool", None)
251 else:
252 raise RuntimeError("GNNTrackFinder or GNNTrackReader must be enabled!")
253
254 kwargs.setdefault("SeedFitterTool", acc.popToolsAndMerge(SeedFitterToolCfg(flags)))
255
256 from TrkConfig.CommonTrackFitterConfig import ITkTrackFitterCfg
257 kwargs.setdefault("TrackFitter", acc.popToolsAndMerge(ITkTrackFitterCfg(flags)))
258
259 from InDetConfig.SiDetElementsRoadToolConfig import ITkSiDetElementsRoadMaker_xkCfg
260 kwargs.setdefault("RoadTool", acc.popToolsAndMerge(ITkSiDetElementsRoadMaker_xkCfg(flags)))
261
262
263
264 kwargs.setdefault("nClustersMin", flags.Tracking.ActiveConfig.minClusters[0])
265 kwargs.setdefault("nWeightedClustersMin", flags.Tracking.ActiveConfig.nWeightedClustersMin[0])
266 kwargs.setdefault("nHolesMax", flags.Tracking.ActiveConfig.nHolesMax[0])
267 kwargs.setdefault("nHolesGapMax", flags.Tracking.ActiveConfig.nHolesGapMax[0])
268
269 kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPT[0])
270 kwargs.setdefault("pTminBrem", flags.Tracking.ActiveConfig.minPTBrem[0])
271 kwargs.setdefault("Xi2max", flags.Tracking.ActiveConfig.Xi2max[0])
272 kwargs.setdefault("Xi2maxNoAdd", flags.Tracking.ActiveConfig.Xi2maxNoAdd[0])
273 kwargs.setdefault("Xi2maxMultiTracks", flags.Tracking.ActiveConfig.Xi2max[0])
274 kwargs.setdefault("doMultiTracksProd", False)
275
276 acc.addEventAlgo(CompFactory.InDet.GNNSeedingTrackMaker(name, **kwargs))
277 return acc