9 name: str =
"ActsFitterTool",
10 fitterKind: Optional[TrackFitterType] =
None,
11 **kwargs) -> ComponentAccumulator:
14 fitterKind = flags.Acts.trackFitterType
if fitterKind
is None else fitterKind
16 if flags.Acts.fitFromPRD:
17 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import ITkRotCreatorCfg
18 kwargs.setdefault(
'RotCreatorTool', acc.popToolsAndMerge(
ITkRotCreatorCfg(flags)))
23 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
26 from ActsConfig.ActsGeometryConfig
import ActsExtrapolationToolCfg
29 from ActsConfig.ActsEventCnvConfig
import ActsToTrkConverterToolCfg
33 if fitterKind
is TrackFitterType.KalmanFitter:
34 kwargs.setdefault(
"ReverseFilteringPt", 1.0 * UnitConstants.GeV)
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
43 if 'BoundaryCheckTool' not in kwargs:
44 if flags.Detector.GeometryITk:
45 from InDetConfig.InDetBoundaryCheckToolConfig
import ITkBoundaryCheckToolCfg
48 from InDetConfig.InDetBoundaryCheckToolConfig
import InDetBoundaryCheckToolCfg
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))