11 **kwargs) -> ComponentAccumulator:
12 acc = ComponentAccumulator()
13
14 fitterKind = flags.Acts.trackFitterType if fitterKind is None else fitterKind
15
16 if flags.Acts.fitFromPRD:
17 if flags.Detector.GeometryITk:
18 from TrkConfig.TrkRIO_OnTrackCreatorConfig import ITkRotCreatorCfg
19 kwargs.setdefault('RotCreatorTool', acc.popToolsAndMerge(ITkRotCreatorCfg(flags)))
20 elif flags.Detector.GeometryID:
21 from TrkConfig.TrkRIO_OnTrackCreatorConfig import InDetRotCreatorCfg
22 kwargs.setdefault('RotCreatorTool', acc.popToolsAndMerge(InDetRotCreatorCfg(flags)))
23
24
25
26
27 from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
28 kwargs.setdefault("TrackingGeometryTool", acc.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)))
29
30 from ActsConfig.ActsGeometryConfig import ActsExtrapolationToolCfg
31 kwargs.setdefault("ExtrapolationTool", acc.popToolsAndMerge(ActsExtrapolationToolCfg(flags, MaxSteps=10000)))
32
33 from ActsConfig.ActsEventCnvConfig import ActsToTrkConverterToolCfg
34 kwargs.setdefault('ATLASConverterTool', acc.popToolsAndMerge(ActsToTrkConverterToolCfg(flags)))
35
36
37 if fitterKind is TrackFitterType.KalmanFitter:
38 kwargs.setdefault("ReverseFilteringPt", 1.0 * UnitConstants.GeV)
39
40 if fitterKind is TrackFitterType.KalmanFitter:
41 acc.setPrivateTools(CompFactory.ActsTrk.KalmanFitterTool(name, **kwargs))
42 elif fitterKind is TrackFitterType.GaussianSumFitter:
43 if "SummaryTool" not in kwargs:
44 from TrkConfig.TrkTrackSummaryToolConfig import InDetTrackSummaryToolCfg
45 kwargs.setdefault('SummaryTool', acc.getPrimaryAndMerge(InDetTrackSummaryToolCfg(flags)))
46
47 if 'BoundaryCheckTool' not in kwargs:
48 if flags.Detector.GeometryITk:
49 from InDetConfig.InDetBoundaryCheckToolConfig import ITkBoundaryCheckToolCfg
50 kwargs.setdefault("BoundaryCheckTool", acc.popToolsAndMerge(ITkBoundaryCheckToolCfg(flags)))
51 else:
52 from InDetConfig.InDetBoundaryCheckToolConfig import InDetBoundaryCheckToolCfg
53 kwargs.setdefault("BoundaryCheckTool",acc.popToolsAndMerge(InDetBoundaryCheckToolCfg(flags)))
54 name = name.replace("KalmanFitter", "GaussianSumFitter")
55 acc.setPrivateTools(CompFactory.ActsTrk.GaussianSumFitterTool(name, **kwargs))
56 elif fitterKind is TrackFitterType.GlobalChiSquareFitter:
57 name = name.replace("KalmanFitter", "GlobalChiSquareFitter")
58 acc.setPrivateTools(CompFactory.ActsTrk.GlobalChiSquareFitterTool(name, **kwargs))
59
60 return acc
61
62
63