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