25 flags, name='GlobalChi2FitterBase', **kwargs):
26 acc = ComponentAccumulator()
28 if 'TrackingGeometryReadKey' not in kwargs:
29 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import (
30 TrackingGeometryCondAlgCfg)
31 cond_alg = TrackingGeometryCondAlgCfg(flags)
33 kwargs.setdefault(
"TrackingGeometryReadKey",
34 cond_alg.getPrimary().TrackingGeometryWriteKey)
36 from TrkConfig.AtlasExtrapolatorConfig
import InDetExtrapolatorCfg
37 kwargs.setdefault(
"ExtrapolationTool", acc.popToolsAndMerge(
38 InDetExtrapolatorCfg(flags)))
40 from TrkConfig.AtlasExtrapolatorToolsConfig
import (
41 AtlasNavigatorCfg, AtlasEnergyLossUpdatorCfg,
42 InDetMaterialEffectsUpdatorCfg, InDetMultipleScatteringUpdatorCfg)
43 kwargs.setdefault(
"NavigatorTool", acc.popToolsAndMerge(
44 AtlasNavigatorCfg(flags, name=
"InDetNavigator")))
45 kwargs.setdefault(
"EnergyLossTool", acc.popToolsAndMerge(
46 AtlasEnergyLossUpdatorCfg(flags)))
47 kwargs.setdefault(
"MaterialUpdateTool", acc.popToolsAndMerge(
48 InDetMaterialEffectsUpdatorCfg(flags)))
49 kwargs.setdefault(
"MultipleScatteringTool", acc.popToolsAndMerge(
50 InDetMultipleScatteringUpdatorCfg(flags)))
52 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import InDetPropagatorCfg
53 kwargs.setdefault(
"PropagatorTool", acc.popToolsAndMerge(
54 InDetPropagatorCfg(flags)))
56 from TrkConfig.TrkMeasurementUpdatorConfig
import InDetUpdatorCfg
57 kwargs.setdefault(
"MeasurementUpdateTool", acc.popToolsAndMerge(
58 InDetUpdatorCfg(flags)))
60 from TrkConfig.TrkResidualPullCalculatorConfig
import ResidualPullCalculatorCfg
61 kwargs.setdefault(
"ResidualPullCalculatorTool", acc.popToolsAndMerge(
62 ResidualPullCalculatorCfg(flags)))
64 kwargs.setdefault(
"StraightLine",
not flags.BField.solenoidOn)
65 kwargs.setdefault(
"OutlierCut", 4)
66 kwargs.setdefault(
"SignedDriftRadius",
True)
67 kwargs.setdefault(
"ReintegrateOutliers",
True)
68 kwargs.setdefault(
"RecalibrateSilicon",
True)
69 kwargs.setdefault(
"RecalibrateTRT",
True)
70 kwargs.setdefault(
"TRTTubeHitCut", 1.75)
71 kwargs.setdefault(
"MaxIterations", 40)
72 kwargs.setdefault(
"Acceleration",
True)
73 kwargs.setdefault(
"RecalculateDerivatives",
74 flags.Tracking.doMinBias
or
75 flags.Beam.Type
is BeamType.Cosmics
or
76 flags.Tracking.doBeamGas)
77 kwargs.setdefault(
"TRTExtensionCuts",
True)
78 kwargs.setdefault(
"TrackChi2PerNDFCut", 7)
80 acc.setPrivateTools(CompFactory.Trk.GlobalChi2Fitter(name, **kwargs))
85 acc = ComponentAccumulator()
87 if 'RotCreatorTool' not in kwargs:
88 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import InDetRotCreatorCfg
89 kwargs.setdefault(
'RotCreatorTool', acc.popToolsAndMerge(
90 InDetRotCreatorCfg(flags)))
91 if 'BroadRotCreatorTool' not in kwargs:
92 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import (
93 InDetBroadRotCreatorCfg)
94 kwargs.setdefault(
'BroadRotCreatorTool', acc.popToolsAndMerge(
95 InDetBroadRotCreatorCfg(flags)))
98 kwargs.setdefault(
'MinPHFCut', flags.Tracking.ActiveConfig.minTRTPrecFrac)
100 if (flags.Tracking.useBroadPixClusterErrors
or
101 flags.Tracking.useBroadSCTClusterErrors):
102 kwargs.setdefault(
'RecalibrateSilicon',
False)
104 if flags.Beam.Type
is BeamType.Cosmics:
105 kwargs.setdefault(
'MaxOutliers', 99)
107 if (flags.Beam.Type
is BeamType.Cosmics
or
108 flags.Tracking.doBeamGas):
109 kwargs.setdefault(
'Acceleration',
False)
111 if flags.Tracking.materialInteractions
and not flags.BField.solenoidOn:
112 kwargs.setdefault(
'Momentum', 1000.*Units.MeV)
114 acc.setPrivateTools(acc.popToolsAndMerge(
120 flags, name='InDetGlobalChi2FitterTRT', **kwargs):
121 acc = ComponentAccumulator()
123 Global Chi2 Fitter for TRT segments with different settings
126 if 'RotCreatorTool' not in kwargs:
127 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import (
128 InDetRefitRotCreatorCfg)
129 kwargs.setdefault(
"RotCreatorTool", acc.popToolsAndMerge(
130 InDetRefitRotCreatorCfg(flags)))
132 kwargs.setdefault(
"MaterialUpdateTool",
'')
133 kwargs.setdefault(
"SignedDriftRadius",
True)
134 kwargs.setdefault(
"RecalibrateSilicon",
False)
135 kwargs.setdefault(
"RecalibrateTRT",
False)
136 kwargs.setdefault(
"TRTTubeHitCut", 2.5)
137 kwargs.setdefault(
"MaxIterations", 10)
138 kwargs.setdefault(
"Acceleration",
False)
139 kwargs.setdefault(
"RecalculateDerivatives",
False)
140 kwargs.setdefault(
"TRTExtensionCuts",
True)
141 kwargs.setdefault(
"TrackChi2PerNDFCut", 999999)
143 if flags.Tracking.materialInteractions
and not flags.BField.solenoidOn:
144 kwargs.setdefault(
'Momentum', 1000.*Units.MeV)
146 kwargs.setdefault(
"OutlierCut", 5)
147 kwargs.setdefault(
"MaxOutliers",
148 99
if flags.Beam.Type
is BeamType.Cosmics
else 10)
149 kwargs.setdefault(
"ReintegrateOutliers",
False)
151 acc.setPrivateTools(acc.popToolsAndMerge(
157 flags, name='InDetGlobalChi2FitterLowPt', **kwargs):
158 acc = ComponentAccumulator()
160 if 'RotCreatorTool' not in kwargs:
161 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import InDetRotCreatorCfg
162 kwargs.setdefault(
'RotCreatorTool', acc.popToolsAndMerge(
163 InDetRotCreatorCfg(flags)))
164 if 'BroadRotCreatorTool' not in kwargs:
165 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import (
166 InDetBroadRotCreatorCfg)
167 kwargs.setdefault(
'BroadRotCreatorTool', acc.popToolsAndMerge(
168 InDetBroadRotCreatorCfg(flags)))
170 kwargs.setdefault(
'OutlierCut', 5.0)
171 kwargs.setdefault(
'Acceleration',
False)
172 kwargs.setdefault(
'RecalculateDerivatives',
True)
173 kwargs.setdefault(
'TrackChi2PerNDFCut', 10)
175 acc.setPrivateTools(acc.popToolsAndMerge(
193 result = ComponentAccumulator()
195 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import MuonRotCreatorCfg
196 kwargs.setdefault(
"RotCreatorTool", result.popToolsAndMerge(
197 MuonRotCreatorCfg(flags)))
199 from TrkConfig.TrkMeasurementUpdatorConfig
import KalmanUpdatorCfg
200 kwargs.setdefault(
"MeasurementUpdateTool", result.popToolsAndMerge(
201 KalmanUpdatorCfg(flags, name=
'MuonMeasUpdator')))
203 if 'ExtrapolationTool' not in kwargs:
204 from TrkConfig.AtlasExtrapolatorConfig
import MuonExtrapolatorCfg
205 kwargs.setdefault(
"ExtrapolationTool", result.popToolsAndMerge(
206 MuonExtrapolatorCfg(flags)))
208 from TrkConfig.AtlasExtrapolatorToolsConfig
import (
209 AtlasMultipleScatteringUpdatorCfg)
210 kwargs.setdefault(
"MultipleScatteringTool", result.popToolsAndMerge(
211 AtlasMultipleScatteringUpdatorCfg(flags, UseTrkUtils=
True)))
213 kwargs.setdefault(
"StraightLine",
False)
214 kwargs.setdefault(
"OutlierCut", 3.0)
215 kwargs.setdefault(
"GetMaterialFromTrack",
False)
216 kwargs.setdefault(
"RejectLargeNScat",
True)
219 extrapolator = kwargs[
'ExtrapolationTool']
220 kwargs.setdefault(
"PropagatorTool",
221 extrapolator.Propagators[0]
222 if len(extrapolator.Propagators) > 0
224 kwargs.setdefault(
"NavigatorTool", extrapolator.Navigator)
225 kwargs.setdefault(
"EnergyLossTool", extrapolator.EnergyLossUpdater)
228 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import (
229 TrackingGeometryCondAlgCfg)
230 geom_cond_key = result.getPrimaryAndMerge(
231 TrackingGeometryCondAlgCfg(flags)).TrackingGeometryWriteKey
232 kwargs.setdefault(
"TrackingGeometryReadKey", geom_cond_key)
234 result.setPrivateTools(CompFactory.Trk.GlobalChi2Fitter(name, **kwargs))
239 from TrkConfig.AtlasExtrapolatorConfig
import MCTBExtrapolatorCfg
240 result = MCTBExtrapolatorCfg(flags)
241 kwargs.setdefault(
"GetMaterialFromTrack",
True)
242 kwargs.setdefault(
"ExtrapolationTool", result.popPrivateTools())
243 result.setPrivateTools(result.popToolsAndMerge(
260 flags, name='MCTBSLFitterMaterialFromTrack', **kwargs):
261 result = ComponentAccumulator()
262 kwargs[
"GetMaterialFromTrack"] =
True
263 from TrkConfig.AtlasExtrapolatorConfig
import (
264 MuonStraightLineExtrapolatorCfg)
265 kwargs.setdefault(
"ExtrapolationTool", result.popToolsAndMerge(
266 MuonStraightLineExtrapolatorCfg(flags)))
268 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import (
269 RungeKuttaPropagatorCfg)
270 kwargs[
"PropagatorTool"] = result.popToolsAndMerge(
271 RungeKuttaPropagatorCfg(flags, name=
"MuonRK_Propagator"))
273 result.setPrivateTools(result.popToolsAndMerge(
280 flags, name="MuonCombinedTrackFitter", **kwargs):
281 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
282 from TrkConfig.AtlasExtrapolatorToolsConfig
import (
283 AtlasNavigatorCfg, AtlasEnergyLossUpdatorCfg)
284 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import MuonRotCreatorCfg
285 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import (
286 MuonCombinedPropagatorCfg)
287 from TrkConfig.TrkMeasurementUpdatorConfig
import KalmanUpdatorCfg
289 result = AtlasExtrapolatorCfg(flags)
290 kwargs.setdefault(
"ExtrapolationTool", result.popPrivateTools())
291 kwargs.setdefault(
"NavigatorTool", result.popToolsAndMerge(
292 AtlasNavigatorCfg(flags)))
293 kwargs.setdefault(
"PropagatorTool", result.popToolsAndMerge(
294 MuonCombinedPropagatorCfg(flags)))
295 kwargs.setdefault(
"RotCreatorTool", result.popToolsAndMerge(
296 MuonRotCreatorCfg(flags)))
297 kwargs.setdefault(
"EnergyLossTool", result.popToolsAndMerge(
298 AtlasEnergyLossUpdatorCfg(flags)))
299 kwargs.setdefault(
"MeasurementUpdateTool", result.popToolsAndMerge(
300 KalmanUpdatorCfg(flags, name=
"MuonMeasUpdator")))
302 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import (
303 TrackingGeometryCondAlgCfg)
304 result.merge(TrackingGeometryCondAlgCfg(flags))
305 kwargs.setdefault(
"TrackingGeometryReadKey",
"AtlasTrackingGeometry")
307 kwargs.setdefault(
"ExtrapolatorMaterial",
True)
309 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import (
310 MuidMaterialEffectsOnTrackProviderCfg)
311 kwargs.setdefault(
"MuidTool", result.popToolsAndMerge(
312 MuidMaterialEffectsOnTrackProviderCfg(flags)))
313 kwargs.setdefault(
"MuidToolParam",
None)
315 if flags.Beam.Type
is BeamType.Cosmics:
316 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import (
317 MuidMaterialEffectsOnTrackProviderParamCfg)
318 kwargs.setdefault(
"MuidToolParam", result.popToolsAndMerge(
319 MuidMaterialEffectsOnTrackProviderParamCfg(flags)))
321 kwargs.setdefault(
"MuidMat",
True)
322 kwargs.setdefault(
"StraightLine", flags.Beam.Type
is BeamType.Cosmics)
324 kwargs.setdefault(
"MaxIterations", 50)
325 kwargs.setdefault(
"GetMaterialFromTrack",
326 flags.Beam.Type
is not BeamType.Cosmics)
328 kwargs.setdefault(
"RecalculateDerivatives",
False)
329 kwargs.setdefault(
"UseCaloTG",
True)
331 result.setPrivateTools(CompFactory.Trk.GlobalChi2Fitter(name, **kwargs))
339 acc = ComponentAccumulator()
341 if 'TrackingGeometryReadKey' not in kwargs:
342 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import (
343 TrackingGeometryCondAlgCfg)
344 cond_alg = TrackingGeometryCondAlgCfg(flags)
346 kwargs.setdefault(
"TrackingGeometryReadKey",
347 cond_alg.getPrimary().TrackingGeometryWriteKey)
349 from TrkConfig.AtlasExtrapolatorConfig
import InDetExtrapolatorCfg
350 kwargs.setdefault(
"ExtrapolationTool", acc.popToolsAndMerge(
351 InDetExtrapolatorCfg(flags, name=
"InDetTrigExtrapolator")))
352 from TrkConfig.AtlasExtrapolatorToolsConfig
import (
353 AtlasNavigatorCfg, AtlasEnergyLossUpdatorCfg,
354 AtlasMaterialEffectsUpdatorCfg)
355 kwargs.setdefault(
"NavigatorTool", acc.popToolsAndMerge(
356 AtlasNavigatorCfg(flags, name=
"InDetTrigNavigator")))
357 kwargs.setdefault(
"EnergyLossTool", acc.popToolsAndMerge(
358 AtlasEnergyLossUpdatorCfg(flags)))
359 kwargs.setdefault(
"MaterialUpdateTool", acc.popToolsAndMerge(
360 AtlasMaterialEffectsUpdatorCfg(flags,
361 name=
"InDetTrigMaterialEffectsUpdator")))
363 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import (
364 RungeKuttaPropagatorCfg)
365 kwargs.setdefault(
"PropagatorTool", acc.popToolsAndMerge(
366 RungeKuttaPropagatorCfg(flags, name=
"InDetTrigRKPropagator",
368 AccuracyParameter=0.0001,
369 MaxStraightLineStep=0.004)))
371 from TrkConfig.TrkMeasurementUpdatorConfig
import KalmanUpdatorCfg
372 kwargs.setdefault(
"MeasurementUpdateTool", acc.popToolsAndMerge(
373 KalmanUpdatorCfg(flags, name=
"InDetTrigUpdator")))
375 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import TrigRotCreatorCfg
376 kwargs.setdefault(
"RotCreatorTool", acc.popToolsAndMerge(
377 TrigRotCreatorCfg(flags)))
379 kwargs.setdefault(
"BroadRotCreatorTool",
None)
381 kwargs.setdefault(
"StraightLine",
not flags.BField.solenoidOn)
382 kwargs.setdefault(
"OutlierCut", 4)
383 kwargs.setdefault(
"SignedDriftRadius",
True)
384 kwargs.setdefault(
"TrackChi2PerNDFCut", 9)
385 kwargs.setdefault(
"TRTExtensionCuts",
True)
386 kwargs.setdefault(
"MaxIterations", 40)
387 kwargs.setdefault(
"Acceleration",
True)
388 kwargs.setdefault(
"MaxOutliers", 10)
390 acc.setPrivateTools(CompFactory.Trk.GlobalChi2Fitter(name, **kwargs))
410 acc = ComponentAccumulator()
412 if 'TrackingGeometryReadKey' not in kwargs:
413 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import (
414 TrackingGeometryCondAlgCfg)
415 geom_cond = TrackingGeometryCondAlgCfg(flags)
417 kwargs.setdefault(
"TrackingGeometryReadKey",
418 geom_cond.getPrimary().TrackingGeometryWriteKey)
420 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
421 kwargs.setdefault(
"ExtrapolationTool", acc.popToolsAndMerge(
422 AtlasExtrapolatorCfg(flags)))
424 from TrkConfig.AtlasExtrapolatorToolsConfig
import (
425 AtlasNavigatorCfg, AtlasEnergyLossUpdatorCfg,
426 ITkMaterialEffectsUpdatorCfg, ITkMultipleScatteringUpdatorCfg)
427 kwargs.setdefault(
"NavigatorTool", acc.popToolsAndMerge(
428 AtlasNavigatorCfg(flags)))
429 kwargs.setdefault(
"EnergyLossTool", acc.popToolsAndMerge(
430 AtlasEnergyLossUpdatorCfg(flags)))
431 kwargs.setdefault(
"MaterialUpdateTool", acc.popToolsAndMerge(
432 ITkMaterialEffectsUpdatorCfg(flags)))
433 kwargs.setdefault(
"MultipleScatteringTool", acc.popToolsAndMerge(
434 ITkMultipleScatteringUpdatorCfg(flags)))
436 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import ITkPropagatorCfg
437 kwargs.setdefault(
"PropagatorTool", acc.popToolsAndMerge(
438 ITkPropagatorCfg(flags)))
439 from TrkConfig.TrkMeasurementUpdatorConfig
import ITkUpdatorCfg
440 kwargs.setdefault(
"MeasurementUpdateTool", acc.popToolsAndMerge(
441 ITkUpdatorCfg(flags)))
443 from TrkConfig.TrkResidualPullCalculatorConfig
import ResidualPullCalculatorCfg
444 kwargs.setdefault(
"ResidualPullCalculatorTool", acc.popToolsAndMerge(
445 ResidualPullCalculatorCfg(flags)))
447 kwargs.setdefault(
"StraightLine",
not flags.BField.solenoidOn)
448 kwargs.setdefault(
"OutlierCut", 4)
449 kwargs.setdefault(
"SignedDriftRadius",
True)
450 kwargs.setdefault(
"ReintegrateOutliers",
True)
451 kwargs.setdefault(
"RecalibrateSilicon",
True)
452 kwargs.setdefault(
"MaxIterations", 40)
453 kwargs.setdefault(
"Acceleration",
True)
454 kwargs.setdefault(
"RecalculateDerivatives",
455 flags.Beam.Type
is BeamType.Cosmics)
456 kwargs.setdefault(
"TrackChi2PerNDFCut", 7)
458 acc.setPrivateTools(CompFactory.Trk.GlobalChi2Fitter(name, **kwargs))
463 acc = ComponentAccumulator()
465 if 'RotCreatorTool' not in kwargs:
466 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import ITkRotCreatorCfg
467 kwargs.setdefault(
'RotCreatorTool', acc.popToolsAndMerge(
468 ITkRotCreatorCfg(flags)))
470 if 'BroadRotCreatorTool' not in kwargs:
471 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import ITkBroadRotCreatorCfg
472 kwargs.setdefault(
'BroadRotCreatorTool', acc.popToolsAndMerge(
473 ITkBroadRotCreatorCfg(flags)))
475 if flags.Beam.Type
is BeamType.Cosmics:
476 kwargs.setdefault(
'MaxOutliers', 99)
477 kwargs.setdefault(
'Acceleration',
False)
479 if flags.Tracking.materialInteractions
and not flags.BField.solenoidOn:
480 kwargs.setdefault(
'Momentum', 1000.*Units.MeV)
482 acc.setPrivateTools(acc.popToolsAndMerge(