ATLAS Offline Software
Loading...
Searching...
No Matches
MuonRecToolsConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3# Configuration of tools shared between Segment Finding and Track Building
4
5from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6from AthenaConfiguration.ComponentFactory import CompFactory
7from AthenaConfiguration.Enums import BeamType
8
9
10def MuonEDMPrinterToolCfg(flags, name="MuonEDMPrinterTool", **kwargs):
11 result = ComponentAccumulator()
12 if not flags.Detector.EnableTGC:
13 kwargs.setdefault("TgcPrdCollection", "")
14 if not flags.Detector.EnableMDT:
15 kwargs.setdefault("MdtPrdCollection", "")
16 if not flags.Detector.EnableRPC:
17 kwargs.setdefault("RpcPrdCollection", "")
18
19 kwargs.setdefault('TgcPrdCollection', 'TGC_MeasurementsAllBCs' if not flags.Muon.useTGCPriorNextBC else 'TGC_Measurements')
20
21 from TrkConfig.TrkResidualPullCalculatorConfig import ResidualPullCalculatorCfg
22 kwargs.setdefault("ResidualPullCalculator", result.popToolsAndMerge(ResidualPullCalculatorCfg(flags)))
23
24 the_tool = CompFactory.Muon.MuonEDMPrinterTool(name, **kwargs)
25 result.addPublicTool(the_tool, primary = True)
26 result.merge(MuonEDMHelperSvcCfg(flags))
27 from MuonConfig.MuonGeometryConfig import MuonIdHelperSvcCfg
28 result.merge(MuonIdHelperSvcCfg(flags))
29 return result
30
31def MuonEDMHelperSvcCfg(flags, name = "MuonEDMHelperSvc", **kwargs):
32 result = ComponentAccumulator()
33 the_svc = CompFactory.Muon.MuonEDMHelperSvc(name, **kwargs)
34 result.addService(the_svc, primary = True)
35 return result
36
37def MuonTrackToSegmentToolCfg(flags,name="MuonTrackToSegmentTool", **kwargs):
38 Muon__MuonTrackToSegmentTool=CompFactory.Muon.MuonTrackToSegmentTool
39 #MDT conditions information not available online
40 result = ComponentAccumulator()
41 from MuonConfig.MuonCondAlgConfig import MuonStationIntersectCondAlgCfg
42 result.merge(MuonStationIntersectCondAlgCfg(flags))
43
44 from TrkConfig.TrkExRungeKuttaPropagatorConfig import RungeKuttaPropagatorCfg
45 atlasRungeKuttaPropagator = result.popToolsAndMerge(RungeKuttaPropagatorCfg(flags))
46 result.addPublicTool(atlasRungeKuttaPropagator)
47 kwargs.setdefault("Propagator",atlasRungeKuttaPropagator)
48
49 # Not bothering to explicitly set IdHelper or EDMHelper
50 muon_track_to_segment_tool = Muon__MuonTrackToSegmentTool(name, **kwargs)
51 result.setPrivateTools(muon_track_to_segment_tool)
52 return result
53
54def MuonHitSummaryToolCfg(flags, name="MuonHitSummaryTool", **kwargs):
55 result = ComponentAccumulator()
56 kwargs.setdefault('MuonTrackSummaryHelperTool', result.popToolsAndMerge(MuonTrackSummaryHelperToolCfg(flags)))
57 printer = result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags))
58 kwargs.setdefault('Printer', printer )
59 result.addPublicTool(printer)
60 the_tool = CompFactory.Muon.MuonHitSummaryTool(name, **kwargs)
61 result.setPrivateTools(the_tool)
62 return result
63
64def MuonSeededSegmentFinderCfg(flags,name="MuonSeededSegmentFinder", **kwargs):
65
66 from MuonConfig.MuonSegmentFindingConfig import DCMathSegmentMakerCfg, MdtMathSegmentFinderCfg # FIXME - should really shift this to RecTools then.
67 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import MdtDriftCircleOnTrackCreatorCfg
68 from TrkConfig.TrkExRungeKuttaPropagatorConfig import RungeKuttaPropagatorCfg
69
70 result = ComponentAccumulator()
71
72 if "SegmentMaker" not in kwargs or "SegmentMakerNoHoles" not in kwargs:
73 seg_maker=""
74 mdt_segment_finder = result.popToolsAndMerge( MdtMathSegmentFinderCfg(flags, name="MCTBMdtMathSegmentFinder", UseChamberTheta = False, AssociationRoadWidth = 1.5) )
75 if flags.Beam.Type is BeamType.Collisions:
76 seg_maker = result.popToolsAndMerge ( DCMathSegmentMakerCfg( flags, name = "MCTBDCMathSegmentMaker", MdtSegmentFinder = mdt_segment_finder, SinAngleCut = 0.04, DoGeometry = True))
77 else: # cosmics or singlebeam
78 seg_maker = result.popToolsAndMerge (DCMathSegmentMakerCfg( flags, name = "MCTBDCMathSegmentMaker", MdtSegmentFinder = mdt_segment_finder, SinAngleCut = 0.1, DoGeometry = False, AddUnassociatedPhiHits= True ))
79 kwargs.setdefault("SegmentMaker", seg_maker)
80 kwargs.setdefault("SegmentMakerNoHoles", seg_maker) #FIXME. Just remove one.
81
82 kwargs.setdefault("Propagator", result.popToolsAndMerge(RungeKuttaPropagatorCfg(flags)) )
83 kwargs.setdefault("MdtRotCreator", result.popToolsAndMerge (MdtDriftCircleOnTrackCreatorCfg(flags)))
84 kwargs.setdefault("Printer", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)) ) # private here
85
86 if not flags.Detector.GeometryTGC:
87 kwargs.setdefault('TgcPrepDataContainer', "")
88 if not flags.Detector.GeometryMDT:
89 kwargs.setdefault('MdtPrepDataContainer', "")
90 if not flags.Detector.GeometryRPC:
91 kwargs.setdefault('RpcPrepDataContainer', "")
92 if not flags.Detector.GeometryCSC:
93 kwargs.setdefault("CscPrepDataContainer","")
94 if not flags.Detector.GeometrysTGC:
95 kwargs.setdefault("sTgcPrepDataContainer","")
96 if not flags.Detector.GeometryMM:
97 kwargs.setdefault("MMPrepDataContainer","")
98
99
100 kwargs.setdefault('TgcPrepDataContainer', 'TGC_MeasurementsAllBCs' if not flags.Muon.useTGCPriorNextBC else 'TGC_Measurements')
101
102 muon_seeded_segment_finder = CompFactory.Muon.MuonSeededSegmentFinder(name, **kwargs)
103 result.setPrivateTools(muon_seeded_segment_finder)
104 return result
105
106
107def MuonSegmentMomentumFromFieldCfg(flags, name="MuonSegmentMomentumFromField", **kwargs):
108 MuonSegmentMomentumFromField=CompFactory.MuonSegmentMomentumFromField
109 result = ComponentAccumulator()
110
111 from TrkConfig.AtlasExtrapolatorToolsConfig import AtlasNavigatorCfg
112 navigator = result.popToolsAndMerge (AtlasNavigatorCfg(flags, name='InDetNavigator'))
113 kwargs.setdefault("NavigatorTool", navigator)
114
115 from TrkConfig.TrkExSTEP_PropagatorConfig import AtlasSTEP_PropagatorCfg
116 muon_prop = result.popToolsAndMerge(AtlasSTEP_PropagatorCfg(flags))
117 kwargs.setdefault("PropagatorTool", muon_prop)
118
119 muon_seg_mom_from_field = MuonSegmentMomentumFromField(name=name, **kwargs)
120 result.setPrivateTools(muon_seg_mom_from_field)
121 return result
122
123def MuonTrackSummaryHelperToolCfg(flags, name="MuonTrackSummaryHelperTool", **kwargs):
124 result = ComponentAccumulator()
125 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg, MuonStraightLineExtrapolatorCfg
126 kwargs.setdefault("Extrapolator", result.popToolsAndMerge(AtlasExtrapolatorCfg(flags)) )
127 kwargs.setdefault("StaightLineExtrapolator", result.popToolsAndMerge(MuonStraightLineExtrapolatorCfg(flags)) )
128 kwargs.setdefault("CalculateCloseHits", True)
129 result.setPrivateTools(CompFactory.Muon.MuonTrackSummaryHelperTool(name=name,**kwargs))
130 return result
131
132def MuonTrackScoringToolCfg(flags, name="MuonTrackScoringTool", **kwargs):
133 Muon__MuonTrackScoringTool=CompFactory.Muon.MuonTrackScoringTool
134 # m_trkSummaryTool("Trk::TrackSummaryTool"),
135 result = ComponentAccumulator()
136 from TrkConfig.TrkTrackSummaryToolConfig import MuonTrackSummaryToolCfg
137 track_summary = result.getPrimaryAndMerge(MuonTrackSummaryToolCfg(flags))
138 kwargs.setdefault('SumHelpTool', track_summary)
139 printer = result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags))
140 kwargs.setdefault("EDMPrinter", printer)
141 result.setPrivateTools(Muon__MuonTrackScoringTool(name=name,**kwargs))
142 return result
143
144def MuonAmbiProcessorCfg(flags, name="MuonAmbiProcessor", **kwargs):
145 result = ComponentAccumulator()
146 kwargs.setdefault('DropDouble', False)
147 scoring_tool = result.getPrimaryAndMerge(MuonTrackScoringToolCfg( flags ))
148 kwargs.setdefault('ScoringTool', scoring_tool )
149 result.addPublicTool(scoring_tool)
150 muon_edm_printer = result.getPrimaryAndMerge(MuonEDMPrinterToolCfg( flags )) #private here
151 # muon_edm_printer = result.getPrimaryAndMerge(MuonEDMPrinterToolCfg( flags, TgcPrdCollection="TGC_Measurements" )) # FIXME Hack to get wrapping working. Keep in for now, to aid debugging
152
153 muon_ami_selection_tool = CompFactory.Muon.MuonAmbiTrackSelectionTool(name="MuonAmbiSelectionTool", Printer=muon_edm_printer)
154 result.addPublicTool(muon_ami_selection_tool)
155 kwargs.setdefault('SelectionTool', muon_ami_selection_tool)
156 result.setPrivateTools(CompFactory.Trk.TrackSelectionProcessorTool(name=name,**kwargs))
157 return result
158
159def MuonTrackCleanerCfg(flags, name="MuonTrackCleaner", seg=False, **kwargs):
160 Muon__MuonTrackCleaner=CompFactory.Muon.MuonTrackCleaner
161 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
162 from TrkConfig.AtlasExtrapolatorConfig import MuonStraightLineExtrapolatorCfg
163
164 result=ComponentAccumulator()
165
166 mdt_creator= result.getPrimaryAndMerge(MdtDriftCircleOnTrackCreatorCfg(flags))
167 kwargs.setdefault("MdtRotCreator", mdt_creator)
168
169 muon_cluster_creator= result.getPrimaryAndMerge(TriggerChamberClusterOnTrackCreatorCfg(flags))
170 kwargs.setdefault("CompRotCreator", muon_cluster_creator)
171
172 # For PullCalculator, just let it get default for moment.
173
174 extrapolator = result.getPrimaryAndMerge(MuonStraightLineExtrapolatorCfg(flags))
175 kwargs.setdefault("Extrapolator", extrapolator)
176
177 from TrkConfig.TrkGlobalChi2FitterConfig import MCTBSLFitterMaterialFromTrackCfg, MCTBFitterMaterialFromTrackCfg
178 slfitter = result.popToolsAndMerge(MCTBSLFitterMaterialFromTrackCfg(flags))
179 kwargs.setdefault("SLFitter", slfitter)
180
181 if "PullCalculator" not in kwargs:
182 from TrkConfig.TrkResidualPullCalculatorConfig import (
183 ResidualPullCalculatorCfg)
184 kwargs.setdefault("PullCalculator", result.popToolsAndMerge(
185 ResidualPullCalculatorCfg(flags)))
186
187 if seg:
188 # I might move this into its own function eventually
189 # See ATLASRECTS-7325 for more discussion of this
190 kwargs.setdefault("Fitter", result.popToolsAndMerge(MCTBSLFitterMaterialFromTrackCfg(flags)))
191 kwargs.setdefault("PullCut", 3)
192 kwargs.setdefault("PullCutPhi", 3)
193 kwargs.setdefault("UseSLFit", True)
194 else:
195 kwargs.setdefault("Fitter", result.popToolsAndMerge(MCTBFitterMaterialFromTrackCfg(flags)))
196
197 kwargs.setdefault("Printer", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)) ) #private here
198 # kwargs.setdefault("Printer", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags, TgcPrdCollection="TGC_Measurements" )) ) # FIXME Hack to get wrapping working. Keep in for now, to aid debugging
199
200 kwargs.setdefault("MaxAvePullSumPerChamber", 6)
201 kwargs.setdefault("Chi2Cut", flags.Muon.Chi2NDofCut)
202 if flags.Muon.MuonTrigger:
203 kwargs.setdefault("Iterate", False)
204 kwargs.setdefault("RecoverOutliers", False)
205
206 result.setPrivateTools(Muon__MuonTrackCleaner(name, **kwargs))
207
208 return result
209
210def MuonPhiHitSelectorCfg(flags, name="MuonPhiHitSelector",**kwargs):
211 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import MuonClusterOnTrackCreatorCfg
212 result = ComponentAccumulator()
213 kwargs.setdefault("MakeClusters", True)
214 kwargs.setdefault("CompetingRios", True)
215 kwargs.setdefault("DoCosmics", flags.Beam.Type is BeamType.Cosmics)
216
217 cluster_creator = result.popToolsAndMerge(MuonClusterOnTrackCreatorCfg(flags))
218 kwargs.setdefault("MuonClusterOnTrackCreator", cluster_creator )
219
220 kwargs.setdefault("MuonCompetingClustersOnTrackCreator", CompFactory.Muon.MuonCompetingClustersOnTrackCreator(name='MuonCompetingClustersOnTrackCreator', ClusterCreator=cluster_creator) )
221
222 if flags.Detector.GeometryCSC:
223 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import CscClusterOnTrackCreatorCfg
224 kwargs.setdefault("CscRotCreator", result.popToolsAndMerge(CscClusterOnTrackCreatorCfg(flags)))
225 else:
226 kwargs.setdefault("CscRotCreator", "")
227 result.setPrivateTools(CompFactory.MuonPhiHitSelector(name,**kwargs))
228 return result
229
230
231def MuPatHitToolCfg(flags, name="MuPatHitTool",**kwargs):
232 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import MdtDriftCircleOnTrackCreatorCfg
233 from TrkConfig.TrkExRungeKuttaPropagatorConfig import RungeKuttaPropagatorCfg
234
235 result = RungeKuttaPropagatorCfg(flags)
236 kwargs.setdefault("AtlasRungeKuttaPropagator",result.popPrivateTools())
237 kwargs.setdefault("MdtRotCreator",
238 result.popToolsAndMerge(MdtDriftCircleOnTrackCreatorCfg(flags, name = "MdtDriftCircleOnTrackCreatorPreFit", DoFixedError = True, CreateTubeHit = True, DoSegmentErrors = False)) )
239
240 if "ResidualPullCalculator" not in kwargs:
241 from TrkConfig.TrkResidualPullCalculatorConfig import (
242 ResidualPullCalculatorCfg)
243 kwargs.setdefault("ResidualPullCalculator", result.popToolsAndMerge(
244 ResidualPullCalculatorCfg(flags)))
245
246 if flags.Detector.GeometryCSC:
247 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import CscClusterOnTrackCreatorCfg
248 kwargs.setdefault("CscRotCreator", result.popToolsAndMerge(CscClusterOnTrackCreatorCfg(flags)))
249 else:
250 kwargs.setdefault("CscRotCreator", "")
251 printer = result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags))
252 kwargs.setdefault('Printer', printer)
253 result.addPublicTool( printer )
254 kwargs.setdefault('edmHelper', result.getPrimaryAndMerge(MuonEDMHelperSvcCfg(flags)))
255 kwargs.setdefault("isCosmic", flags.Beam.Type is BeamType.Cosmics)
256
257 result.setPrivateTools(CompFactory.Muon.MuPatHitTool(name,**kwargs))
258 return result
259
260
261def MuonTrackExtrapolationToolCfg(flags, name="MuonTrackExtrapolationTool", **kwargs):
262 # FIXME - it seems like this tool needs a lot of configuration still.
263 # But perhaps it can be simplified first?
264 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg, MuonExtrapolatorCfg
265 result = ComponentAccumulator()
266 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
267 condAlg = result.getPrimaryAndMerge(TrackingGeometryCondAlgCfg(flags))
268 geom_cond_key = condAlg.TrackingGeometryWriteKey
269 kwargs.setdefault("TrackingGeometryReadKey", geom_cond_key)
270 kwargs.setdefault("Cosmics", flags.Beam.Type is BeamType.Cosmics)
271
272 kwargs.setdefault("AtlasExtrapolator", result.popToolsAndMerge( AtlasExtrapolatorCfg(flags) ) )
273 kwargs.setdefault("MuonExtrapolator", result.popToolsAndMerge( MuonExtrapolatorCfg(flags) ) )
274 kwargs.setdefault('EDMPrinter', result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags))) #private here
275 result.setPrivateTools(
276 CompFactory.Muon.MuonTrackExtrapolationTool(name, **kwargs))
277 return result
278
279def MuonRefitToolCfg(flags, name="MuonRefitTool", **kwargs):
280 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
281 from TrkConfig.TrkGlobalChi2FitterConfig import MCTBFitterMaterialFromTrackCfg
282 from TrkConfig.AtlasExtrapolatorConfig import MuonExtrapolatorCfg
283
284 result = ComponentAccumulator()
285 if flags.IOVDb.DatabaseInstance == 'COMP200' or \
286 'HLT' in flags.IOVDb.GlobalTag or flags.Common.isOnline or flags.Muon.MuonTrigger:
287 kwargs["AlignmentErrorTool"] = None
288 else:
289 from MuonAlignErrorTool.AlignmentErrorToolConfig import AlignmentErrorToolCfg
290 kwargs.setdefault("AlignmentErrorTool", result.popToolsAndMerge(AlignmentErrorToolCfg(flags)))
291 printer = result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags))
292 kwargs.setdefault('Printer', printer) #PublicToolHandle
293 result.addPublicTool(printer)
294 kwargs.setdefault("Fitter", result.popToolsAndMerge(MCTBFitterMaterialFromTrackCfg(flags)))
295 kwargs.setdefault("MuonExtrapolator", result.popToolsAndMerge( MuonExtrapolatorCfg(flags) ) )
296 kwargs.setdefault("MdtRotCreator", result.popToolsAndMerge( MdtDriftCircleOnTrackCreatorCfg(flags) ) )
297 kwargs.setdefault("CompClusterCreator", result.popToolsAndMerge( TriggerChamberClusterOnTrackCreatorCfg(flags) ) )
298 # T0Fitter is null by default
299 kwargs.setdefault("MuonEntryExtrapolationTool", result.popToolsAndMerge(MuonTrackExtrapolationToolCfg(flags)) )
300
301 result.setPrivateTools(CompFactory.Muon.MuonRefitTool(name, **kwargs))
302 return result
303
304def SimpleMMClusterBuilderToolCfg(flags, name = "SimpleMMClusterBuilderTool", **kwargs):
305 result = ComponentAccumulator()
306 from MuonConfig.MuonCalibrationConfig import NswErrorCalibDbAlgCfg
307 result.merge(NswErrorCalibDbAlgCfg(flags))
308 the_tool = CompFactory.Muon.SimpleMMClusterBuilderTool(name,**kwargs)
309 result.setPrivateTools(the_tool)
310 return result
311
312def UTPCMMClusterBuilderToolCfg(flags, name = "UTPCMMClusterBuilderTool", **kwargs):
313 result = ComponentAccumulator()
314 from MuonConfig.MuonCalibrationConfig import NswErrorCalibDbAlgCfg
315 result.merge(NswErrorCalibDbAlgCfg(flags))
316 the_tool = CompFactory.Muon.UTPCMMClusterBuilderTool(name,**kwargs)
317 result.setPrivateTools(the_tool)
318 return result
319
320def ClusterTimeProjectionMMClusterBuilderToolCfg(flags, name = "ClusterTimeProjectionMMClusterBuilderTool", **kwargs):
321 result = ComponentAccumulator()
322 from MuonConfig.MuonCalibrationConfig import NswErrorCalibDbAlgCfg
323 result.merge(NswErrorCalibDbAlgCfg(flags))
324
325 #Turn on effective drift velocity calibration for data by default
326 from MuonConfig.MuonConfigFlags import MMClusterBuilderEnum
327 if not flags.Input.isMC and flags.Muon.MMClusterCalibRecoTool == MMClusterBuilderEnum.ClusterTimeProjection:
328 from MuonConfig.MuonCalibrationConfig import MmCTPCondDbAlgCfg
329 result.merge(MmCTPCondDbAlgCfg(flags))
330
331 the_tool = CompFactory.Muon.ClusterTimeProjectionMMClusterBuilderTool(name,**kwargs)
332 result.setPrivateTools(the_tool)
333 return result
334
335def SimpleSTgcClusterBuilderToolCfg(flags, name = "SimpleSTgcClusterBuilderTool", **kwargs):
336 result = ComponentAccumulator()
337 the_tool = CompFactory.Muon.SimpleSTgcClusterBuilderTool(name,**kwargs)
338 result.setPrivateTools(the_tool)
339 return result
340
341def CaruanaSTgcClusterBuilderToolCfg(flags, name = "CaruanaSTgcClusterBuilderTool", **kwargs):
342 result = ComponentAccumulator()
343 the_tool = CompFactory.Muon.CaruanaSTgcClusterBuilderTool(name,**kwargs)
344 result.setPrivateTools(the_tool)
345 return result
SimpleSTgcClusterBuilderToolCfg(flags, name="SimpleSTgcClusterBuilderTool", **kwargs)
SimpleMMClusterBuilderToolCfg(flags, name="SimpleMMClusterBuilderTool", **kwargs)
MuonEDMHelperSvcCfg(flags, name="MuonEDMHelperSvc", **kwargs)
MuonAmbiProcessorCfg(flags, name="MuonAmbiProcessor", **kwargs)
MuonHitSummaryToolCfg(flags, name="MuonHitSummaryTool", **kwargs)
MuPatHitToolCfg(flags, name="MuPatHitTool", **kwargs)
MuonRefitToolCfg(flags, name="MuonRefitTool", **kwargs)
ClusterTimeProjectionMMClusterBuilderToolCfg(flags, name="ClusterTimeProjectionMMClusterBuilderTool", **kwargs)
MuonTrackToSegmentToolCfg(flags, name="MuonTrackToSegmentTool", **kwargs)
MuonSeededSegmentFinderCfg(flags, name="MuonSeededSegmentFinder", **kwargs)
UTPCMMClusterBuilderToolCfg(flags, name="UTPCMMClusterBuilderTool", **kwargs)
MuonTrackExtrapolationToolCfg(flags, name="MuonTrackExtrapolationTool", **kwargs)
MuonTrackSummaryHelperToolCfg(flags, name="MuonTrackSummaryHelperTool", **kwargs)
MuonSegmentMomentumFromFieldCfg(flags, name="MuonSegmentMomentumFromField", **kwargs)
MuonPhiHitSelectorCfg(flags, name="MuonPhiHitSelector", **kwargs)
MuonTrackCleanerCfg(flags, name="MuonTrackCleaner", seg=False, **kwargs)
MuonTrackScoringToolCfg(flags, name="MuonTrackScoringTool", **kwargs)
MuonEDMPrinterToolCfg(flags, name="MuonEDMPrinterTool", **kwargs)
CaruanaSTgcClusterBuilderToolCfg(flags, name="CaruanaSTgcClusterBuilderTool", **kwargs)