5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory
import CompFactory
7 from AthenaConfiguration.Enums
import BeamType
12 kwargs.setdefault(
'TgcPrdCollection',
'TGC_MeasurementsAllBCs' if not flags.Muon.useTGCPriorNextBC
else 'TGC_Measurements')
16 if "ResidualPullCalculator" not in kwargs:
17 from TrkConfig.TrkResidualPullCalculatorConfig
import (
18 ResidualPullCalculatorCfg)
19 kwargs.setdefault(
"ResidualPullCalculator", result.popToolsAndMerge(
22 the_tool = CompFactory.Muon.MuonEDMPrinterTool(name, **kwargs)
23 result.setPrivateTools(the_tool)
25 from MuonConfig.MuonGeometryConfig
import MuonIdHelperSvcCfg
31 the_svc = CompFactory.Muon.MuonEDMHelperSvc(name, **kwargs)
32 result.addService(the_svc, primary =
True)
36 Muon__MuonTrackToSegmentTool=CompFactory.Muon.MuonTrackToSegmentTool
39 from MuonConfig.MuonCondAlgConfig
import MuonStationIntersectCondAlgCfg
42 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
44 result.addPublicTool(atlasRungeKuttaPropagator)
45 kwargs.setdefault(
"Propagator",atlasRungeKuttaPropagator)
48 muon_track_to_segment_tool = Muon__MuonTrackToSegmentTool(name, **kwargs)
49 result.setPrivateTools(muon_track_to_segment_tool)
56 kwargs.setdefault(
'Printer', printer )
57 result.addPublicTool(printer)
58 the_tool = CompFactory.Muon.MuonHitSummaryTool(name, **kwargs)
59 result.setPrivateTools(the_tool)
63 Muon__MuonSeededSegmentFinder=CompFactory.Muon.MuonSeededSegmentFinder
64 from MuonConfig.MuonSegmentFindingConfig
import DCMathSegmentMakerCfg, MdtMathSegmentFinderCfg
65 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg
66 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
70 if "SegmentMaker" not in kwargs
or "SegmentMakerNoHoles" not in kwargs:
72 mdt_segment_finder = result.popToolsAndMerge(
MdtMathSegmentFinderCfg(flags, name=
"MCTBMdtMathSegmentFinder", UseChamberTheta =
False, AssociationRoadWidth = 1.5) )
73 if flags.Beam.Type
is BeamType.Collisions:
74 seg_maker = result.popToolsAndMerge (
DCMathSegmentMakerCfg( flags, name =
"MCTBDCMathSegmentMaker", MdtSegmentFinder = mdt_segment_finder, SinAngleCut = 0.04, DoGeometry =
True))
76 seg_maker = result.popToolsAndMerge (
DCMathSegmentMakerCfg( flags, name =
"MCTBDCMathSegmentMaker", MdtSegmentFinder = mdt_segment_finder, SinAngleCut = 0.1, DoGeometry =
False, AddUnassociatedPhiHits=
True ))
77 kwargs.setdefault(
"SegmentMaker", seg_maker)
78 kwargs.setdefault(
"SegmentMakerNoHoles", seg_maker)
83 if not flags.Detector.GeometryCSC:
84 kwargs.setdefault(
"CscPrepDataContainer",
"")
85 if not flags.Detector.GeometrysTGC:
86 kwargs.setdefault(
"sTgcPrepDataContainer",
"")
87 if not flags.Detector.GeometryMM:
88 kwargs.setdefault(
"MMPrepDataContainer",
"")
91 kwargs.setdefault(
'TgcPrepDataContainer',
'TGC_MeasurementsAllBCs' if not flags.Muon.useTGCPriorNextBC
else 'TGC_Measurements')
93 muon_seeded_segment_finder = Muon__MuonSeededSegmentFinder(name, **kwargs)
94 result.setPrivateTools(muon_seeded_segment_finder)
99 MuonSegmentMomentumFromField=CompFactory.MuonSegmentMomentumFromField
102 from TrkConfig.AtlasExtrapolatorToolsConfig
import AtlasNavigatorCfg
103 navigator = result.popToolsAndMerge (
AtlasNavigatorCfg(flags, name=
'InDetNavigator'))
104 kwargs.setdefault(
"NavigatorTool", navigator)
106 from TrkConfig.TrkExSTEP_PropagatorConfig
import AtlasSTEP_PropagatorCfg
108 kwargs.setdefault(
"PropagatorTool", muon_prop)
111 result.setPrivateTools(muon_seg_mom_from_field)
116 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg, MuonStraightLineExtrapolatorCfg
119 kwargs.setdefault(
"CalculateCloseHits",
True)
120 result.setPrivateTools(CompFactory.Muon.MuonTrackSummaryHelperTool(name=name,**kwargs))
124 Muon__MuonTrackScoringTool=CompFactory.Muon.MuonTrackScoringTool
127 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
129 kwargs.setdefault(
'SumHelpTool', track_summary)
131 kwargs.setdefault(
"EDMPrinter", printer)
132 result.setPrivateTools(Muon__MuonTrackScoringTool(name=name,**kwargs))
137 kwargs.setdefault(
'DropDouble',
False)
139 kwargs.setdefault(
'ScoringTool', scoring_tool )
140 result.addPublicTool(scoring_tool)
144 muon_ami_selection_tool = CompFactory.Muon.MuonAmbiTrackSelectionTool(name=
"MuonAmbiSelectionTool", Printer=muon_edm_printer)
145 result.addPublicTool(muon_ami_selection_tool)
146 kwargs.setdefault(
'SelectionTool', muon_ami_selection_tool)
147 result.setPrivateTools(CompFactory.Trk.TrackSelectionProcessorTool(name=name,**kwargs))
151 Muon__MuonTrackCleaner=CompFactory.Muon.MuonTrackCleaner
152 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
153 from TrkConfig.AtlasExtrapolatorConfig
import MuonStraightLineExtrapolatorCfg
158 kwargs.setdefault(
"MdtRotCreator", mdt_creator)
161 kwargs.setdefault(
"CompRotCreator", muon_cluster_creator)
166 kwargs.setdefault(
"Extrapolator", extrapolator)
168 from TrkConfig.TrkGlobalChi2FitterConfig
import MCTBSLFitterMaterialFromTrackCfg, MCTBFitterMaterialFromTrackCfg
170 kwargs.setdefault(
"SLFitter", slfitter)
172 if "PullCalculator" not in kwargs:
173 from TrkConfig.TrkResidualPullCalculatorConfig
import (
174 ResidualPullCalculatorCfg)
175 kwargs.setdefault(
"PullCalculator", result.popToolsAndMerge(
182 kwargs.setdefault(
"PullCut", 3)
183 kwargs.setdefault(
"PullCutPhi", 3)
184 kwargs.setdefault(
"UseSLFit",
True)
191 kwargs.setdefault(
"MaxAvePullSumPerChamber", 6)
192 kwargs.setdefault(
"Chi2Cut", flags.Muon.Chi2NDofCut)
193 if flags.Muon.MuonTrigger:
194 kwargs.setdefault(
"Iterate",
False)
195 kwargs.setdefault(
"RecoverOutliers",
False)
197 result.setPrivateTools(Muon__MuonTrackCleaner(name, **kwargs))
202 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MuonClusterOnTrackCreatorCfg
204 kwargs.setdefault(
"MakeClusters",
True)
205 kwargs.setdefault(
"CompetingRios",
True)
206 kwargs.setdefault(
"DoCosmics", flags.Beam.Type
is BeamType.Cosmics)
209 kwargs.setdefault(
"MuonClusterOnTrackCreator", cluster_creator )
211 kwargs.setdefault(
"MuonCompetingClustersOnTrackCreator", CompFactory.Muon.MuonCompetingClustersOnTrackCreator(name=
'MuonCompetingClustersOnTrackCreator', ClusterCreator=cluster_creator) )
213 if flags.Detector.GeometryCSC:
214 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import CscClusterOnTrackCreatorCfg
217 kwargs.setdefault(
"CscRotCreator",
"")
218 result.setPrivateTools(CompFactory.MuonPhiHitSelector(name,**kwargs))
223 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg
224 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
227 kwargs.setdefault(
"AtlasRungeKuttaPropagator",result.popPrivateTools())
228 kwargs.setdefault(
"MdtRotCreator",
229 result.popToolsAndMerge(
MdtDriftCircleOnTrackCreatorCfg(flags, name =
"MdtDriftCircleOnTrackCreatorPreFit", DoFixedError =
True, CreateTubeHit =
True, DoSegmentErrors =
False)) )
231 if "ResidualPullCalculator" not in kwargs:
232 from TrkConfig.TrkResidualPullCalculatorConfig
import (
233 ResidualPullCalculatorCfg)
234 kwargs.setdefault(
"ResidualPullCalculator", result.popToolsAndMerge(
237 if flags.Detector.GeometryCSC:
238 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import CscClusterOnTrackCreatorCfg
241 kwargs.setdefault(
"CscRotCreator",
"")
243 kwargs.setdefault(
'Printer', printer)
244 result.addPublicTool( printer )
246 kwargs.setdefault(
"isCosmic", flags.Beam.Type
is BeamType.Cosmics)
248 result.setPrivateTools(CompFactory.Muon.MuPatHitTool(name,**kwargs))
255 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg, MuonExtrapolatorCfg
257 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import TrackingGeometryCondAlgCfg
259 geom_cond_key = condAlg.TrackingGeometryWriteKey
260 kwargs.setdefault(
"TrackingGeometryReadKey", geom_cond_key)
261 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
264 kwargs.setdefault(
"MuonExtrapolator", result.popToolsAndMerge(
MuonExtrapolatorCfg(flags) ) )
266 result.setPrivateTools(
267 CompFactory.Muon.MuonTrackExtrapolationTool(name, **kwargs))
271 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
272 from TrkConfig.TrkGlobalChi2FitterConfig
import MCTBFitterMaterialFromTrackCfg
273 from TrkConfig.AtlasExtrapolatorConfig
import MuonExtrapolatorCfg
276 if flags.IOVDb.DatabaseInstance ==
'COMP200' or \
277 'HLT' in flags.IOVDb.GlobalTag
or flags.Common.isOnline
or flags.Muon.MuonTrigger:
278 kwargs[
"AlignmentErrorTool"] =
None
280 from MuonAlignErrorTool.AlignmentErrorToolConfig
import AlignmentErrorToolCfg
283 kwargs.setdefault(
'Printer', printer)
284 result.addPublicTool(printer)
286 kwargs.setdefault(
"MuonExtrapolator", result.popToolsAndMerge(
MuonExtrapolatorCfg(flags) ) )
292 result.setPrivateTools(CompFactory.Muon.MuonRefitTool(name, **kwargs))
297 from MuonConfig.MuonCalibrationConfig
import NswErrorCalibDbAlgCfg
299 the_tool = CompFactory.Muon.SimpleMMClusterBuilderTool(name,**kwargs)
300 result.setPrivateTools(the_tool)
305 from MuonConfig.MuonCalibrationConfig
import NswErrorCalibDbAlgCfg
307 the_tool = CompFactory.Muon.UTPCMMClusterBuilderTool(name,**kwargs)
308 result.setPrivateTools(the_tool)
313 from MuonConfig.MuonCalibrationConfig
import NswErrorCalibDbAlgCfg
315 the_tool = CompFactory.Muon.ClusterTimeProjectionMMClusterBuilderTool(name,**kwargs)
316 result.setPrivateTools(the_tool)
321 the_tool = CompFactory.Muon.SimpleSTgcClusterBuilderTool(name,**kwargs)
322 result.setPrivateTools(the_tool)
327 the_tool = CompFactory.Muon.CaruanaSTgcClusterBuilderTool(name,**kwargs)
328 result.setPrivateTools(the_tool)