3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from TrkConfig.TrkConfigFlags
import TrackFitterType
11 from TrkConfig.TrkDistributedKalmanFilterConfig
import (
12 DistributedKalmanFilterCfg)
13 from TrkConfig.TrkGlobalChi2FitterConfig
import InDetGlobalChi2FitterCfg
14 from TrkConfig.TrkGaussianSumFilterConfig
import GaussianSumFitterCfg
16 TrackFitterType.DistributedKalmanFilter : DistributedKalmanFilterCfg,
17 TrackFitterType.GlobalChi2Fitter : InDetGlobalChi2FitterCfg,
18 TrackFitterType.GaussianSumFilter : GaussianSumFitterCfg
19 }[flags.Tracking.trackFitterType](flags, name, **kwargs)
24 primaryFlags = flags.cloneAndReplace(
25 "Tracking.ActiveConfig",
26 f
"Tracking.{flags.Tracking.PrimaryPassConfig.value}Pass")
32 if "BoundaryCheckTool" not in kwargs:
33 from InDetConfig.InDetBoundaryCheckToolConfig
import (
34 InDetBoundaryCheckToolCfg)
35 kwargs.setdefault(
"BoundaryCheckTool", acc.popToolsAndMerge(
38 kwargs.setdefault(
"DoHoleSearch",
True)
40 acc.setPrivateTools(acc.popToolsAndMerge(
47 InDetTrackFitter = acc.popToolsAndMerge(
49 ClusterSplitProbabilityName = (
"InDetAmbiguityProcessorSplitProb" +
50 flags.Tracking.ActiveConfig.extension)
52 if flags.Tracking.trackFitterType==TrackFitterType.DistributedKalmanFilter:
53 InDetTrackFitter.RecalibratorHandle.BroadPixelClusterOnTrackTool.ClusterSplitProbabilityName = ClusterSplitProbabilityName
55 elif flags.Tracking.trackFitterType==TrackFitterType.GlobalChi2Fitter:
56 InDetTrackFitter.ClusterSplitProbabilityName = ClusterSplitProbabilityName
57 InDetTrackFitter.RotCreatorTool.ToolPixelCluster.ClusterSplitProbabilityName = ClusterSplitProbabilityName
58 InDetTrackFitter.BroadRotCreatorTool.ToolPixelCluster.ClusterSplitProbabilityName = ClusterSplitProbabilityName
60 elif flags.Tracking.trackFitterType==TrackFitterType.GaussianSumFilter:
61 InDetTrackFitter.ToolForROTCreation.ToolPixelCluster.ClusterSplitProbabilityName = ClusterSplitProbabilityName
63 acc.setPrivateTools(InDetTrackFitter)
67 if flags.Tracking.trackFitterType==TrackFitterType.GlobalChi2Fitter:
68 from TrkConfig.TrkGlobalChi2FitterConfig
import (
69 InDetGlobalChi2FitterTRTCfg)
70 TrackFitterTRTCfg = InDetGlobalChi2FitterTRTCfg
72 TrackFitterTRTCfg = InDetTrackFitterCfg
73 return TrackFitterTRTCfg(flags, name, **kwargs)
76 if flags.Tracking.trackFitterType==TrackFitterType.GlobalChi2Fitter:
77 from TrkConfig.TrkGlobalChi2FitterConfig
import (
78 InDetGlobalChi2FitterLowPtCfg)
79 TrackFitterLowPtCfg = InDetGlobalChi2FitterLowPtCfg
81 TrackFitterLowPtCfg = InDetTrackFitterCfg
82 return TrackFitterLowPtCfg(flags, name, **kwargs)
87 if "BoundaryCheckTool" not in kwargs:
88 from InDetConfig.InDetBoundaryCheckToolConfig
import (
89 InDetBoundaryCheckToolCfg)
90 kwargs.setdefault(
"BoundaryCheckTool", acc.popToolsAndMerge(
93 kwargs.setdefault(
"DoHoleSearch",
True)
95 acc.setPrivateTools(acc.popToolsAndMerge(
102 if flags.Tracking.trackFitterType == TrackFitterType.GlobalChi2Fitter:
103 from TrkConfig.TrkGlobalChi2FitterConfig
import (
104 InDetGlobalChi2FitterLowPtCfg)
105 InDetGlobalChi2FitterLowPt = acc.popToolsAndMerge(
108 ClusterSplitProbabilityName = (
"InDetAmbiguityProcessorSplitProb" +
109 flags.Tracking.ActiveConfig.extension)
110 InDetGlobalChi2FitterLowPt.RotCreatorTool.ToolPixelCluster.ClusterSplitProbabilityName = ClusterSplitProbabilityName
111 InDetGlobalChi2FitterLowPt.BroadRotCreatorTool.ToolPixelCluster.ClusterSplitProbabilityName = ClusterSplitProbabilityName
112 acc.setPrivateTools(InDetGlobalChi2FitterLowPt)
115 acc.setPrivateTools(acc.popToolsAndMerge(
121 if flags.Tracking.trackFitterType==TrackFitterType.GlobalChi2Fitter:
122 from TrkConfig.TrkGlobalChi2FitterConfig
import (
123 InDetGlobalChi2FitterBTCfg)
124 TrackFitterBTCfg = InDetGlobalChi2FitterBTCfg
126 TrackFitterBTCfg = InDetTrackFitterCfg
127 return TrackFitterBTCfg(flags, name, **kwargs)
135 from TrkConfig.TrkDistributedKalmanFilterConfig
import (
136 ITkDistributedKalmanFilterCfg)
137 from TrkConfig.TrkGlobalChi2FitterConfig
import ITkGlobalChi2FitterCfg
138 from TrkConfig.TrkGaussianSumFilterConfig
import ITkGaussianSumFitterCfg
140 TrackFitterType.DistributedKalmanFilter : ITkDistributedKalmanFilterCfg,
141 TrackFitterType.GlobalChi2Fitter : ITkGlobalChi2FitterCfg,
142 TrackFitterType.GaussianSumFilter : ITkGaussianSumFitterCfg
143 }[flags.Tracking.trackFitterType](flags, name, **kwargs)
148 primaryFlags = flags.cloneAndReplace(
149 "Tracking.ActiveConfig",
150 f
"Tracking.{flags.Tracking.ITkPrimaryPassConfig.value}Pass")
156 if "BoundaryCheckTool" not in kwargs:
157 from InDetConfig.InDetBoundaryCheckToolConfig
import (
158 ITkBoundaryCheckToolCfg)
159 kwargs.setdefault(
"BoundaryCheckTool", acc.popToolsAndMerge(
162 kwargs.setdefault(
"DoHoleSearch",
True)
164 ITkTrackFitter = acc.popToolsAndMerge(
166 ClusterSplitProbabilityName = (
"ITkAmbiguityProcessorSplitProb" +
167 flags.Tracking.ActiveConfig.extension)
169 if flags.Tracking.trackFitterType==TrackFitterType.DistributedKalmanFilter:
170 ITkTrackFitter.RecalibratorHandle.BroadPixelClusterOnTrackTool.ClusterSplitProbabilityName = ClusterSplitProbabilityName
172 elif flags.Tracking.trackFitterType==TrackFitterType.GlobalChi2Fitter:
173 ITkTrackFitter.ClusterSplitProbabilityName = ClusterSplitProbabilityName
174 ITkTrackFitter.RotCreatorTool.ToolPixelCluster.ClusterSplitProbabilityName = ClusterSplitProbabilityName
175 ITkTrackFitter.BroadRotCreatorTool.ToolPixelCluster.ClusterSplitProbabilityName = ClusterSplitProbabilityName
177 elif flags.Tracking.trackFitterType==TrackFitterType.GaussianSumFilter:
178 ITkTrackFitter.ToolForROTCreation.ToolPixelCluster.ClusterSplitProbabilityName = ClusterSplitProbabilityName
180 acc.setPrivateTools(ITkTrackFitter)