6 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory
import CompFactory
8 from AthenaConfiguration.Enums
import BeamType
9 from AthenaConfiguration.AccumulatorCache
import AccumulatorCache
10 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
11 from MuonConfig.MuonRecToolsConfig
import MuonEDMPrinterToolCfg
12 from MuonConfig.MuonTrackBuildingConfig
import MuonSegmentRegionRecoveryToolCfg
14 from TrkConfig.AtlasExtrapolatorToolsConfig
import AtlasEnergyLossUpdatorCfg
19 from InDetConfig.InDetTrackSelectorToolConfig
import MuonCombinedInDetDetailedTrackSelectorToolCfg
21 kwargs.setdefault(
"TrackSelector", result.popPrivateTools())
22 result.setPrivateTools(
23 CompFactory.MuonCombined.InDetCandidateTool(name, **kwargs))
28 from InDetConfig.InDetTrackSelectorToolConfig
import MuonCombinedInDetDetailedForwardTrackSelectorToolCfg
30 kwargs.setdefault(
"TrackSelector", result.popPrivateTools())
31 kwargs.setdefault(
"FlagCandidatesAsSiAssociated",
True)
32 result.setPrivateTools(result.popToolsAndMerge(
38 from TrackToCalo.TrackToCaloConfig
import ParticleCaloCellAssociationToolCfg, ParticleCaloExtensionToolCfg
41 flags, name=
'MuonParticleCaloExtensionTool')
42 particle_calo_extension_tool = result.getPrimary()
44 particle_calo_cell_association_tool = result.popToolsAndMerge(
47 from TrkConfig.TrkParticleCreatorConfig
import MuonCaloParticleCreatorCfg
48 track_particle_creator = result.popToolsAndMerge(
51 muonCaloEnergyTool = CompFactory.Rec.MuonCaloEnergyTool(name, ParticleCaloExtensionTool=particle_calo_extension_tool,
52 ParticleCaloCellAssociationTool=particle_calo_cell_association_tool,
53 TrackParticleCreator=track_particle_creator)
54 result.setPrivateTools(muonCaloEnergyTool)
59 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import TrackingGeometryCondAlgCfg
60 from TrkConfig.AtlasExtrapolatorToolsConfig
import AtlasMultipleScatteringUpdatorCfg
63 atlas_extrapolator = result.popPrivateTools()
64 kwargs.setdefault(
"Extrapolator", atlas_extrapolator)
65 result.addPublicTool(atlas_extrapolator)
66 kwargs.setdefault(
"MuonCaloEnergyTool", result.popToolsAndMerge(
71 kwargs.setdefault(
"CaloMeasTool", calo_meas_tool)
72 result.addPublicTool(calo_meas_tool)
75 kwargs.setdefault(
"CaloParamTool", calo_param_tool)
76 result.addPublicTool(calo_param_tool)
78 multiple_scattering_tool = result.popToolsAndMerge(
80 kwargs.setdefault(
"MultipleScatteringTool", multiple_scattering_tool)
81 result.addPublicTool(multiple_scattering_tool)
83 useCaloEnergyMeas =
True
84 if flags.Muon.MuonTrigger:
85 useCaloEnergyMeas =
False
86 kwargs.setdefault(
"UseCaloEnergyMeasurement", useCaloEnergyMeas)
88 kwargs.setdefault(
"TrackingGeometryReadKey",
89 acc.getPrimary().TrackingGeometryWriteKey)
92 energy_loss_updator = result.popToolsAndMerge(
94 kwargs.setdefault(
"EnergyLossUpdator",
96 result.addPublicTool(energy_loss_updator)
98 track_isolation_tool = result.popToolsAndMerge(
100 kwargs.setdefault(
"TrackIsolationTool", track_isolation_tool)
101 result.addPublicTool(track_isolation_tool)
103 tool = CompFactory.Trk.TrkMaterialProviderTool(name=name, **kwargs)
104 result.setPrivateTools(tool)
109 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
113 kwargs.setdefault(
"DetectorManagerKey",
"MuonDetectorManager")
114 tool = CompFactory.Muon.MuonSegmentHitSummaryTool(name, **kwargs)
115 result.setPrivateTools(tool)
121 kwargs.setdefault(
"MuonSegmentHitSummaryTool", result.popPrivateTools())
123 tool = CompFactory.Muon.MuonSegmentConverterTool(name, **kwargs)
124 result.setPrivateTools(tool)
129 from MuonConfig.MuonRecToolsConfig
import MuonHitSummaryToolCfg
131 kwargs.setdefault(
"MuonHitSummaryTool", result.popPrivateTools())
133 tool = CompFactory.MuonCombined.MuonDressingTool(name, **kwargs)
134 result.setPrivateTools(tool)
139 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
143 kwargs.setdefault(
"Printer", muon_edm_printer)
145 kwargs.setdefault(
"MuonPrinter", CompFactory.Rec.MuonPrintingTool(name=
'MuonPrintingTool',
146 MuonStationPrinter=muon_edm_printer))
148 kwargs.setdefault(
"ParticleCaloExtensionTool",
150 name=
'MuonParticleCaloExtensionTool',
151 StartFromPerigee=
True)))
153 from TrkConfig.TrkParticleCreatorConfig
import MuonCombinedParticleCreatorCfg
154 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
157 from MuonConfig.MuonRecToolsConfig
import MuonAmbiProcessorCfg
158 kwargs.setdefault(
"AmbiguityProcessor", result.popToolsAndMerge(
161 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
162 kwargs.setdefault(
"Propagator", result.popToolsAndMerge(
164 kwargs.setdefault(
"MuonDressingTool", result.popToolsAndMerge(
166 kwargs.setdefault(
"AddMDTExtrasMuGirlLowBeta", flags.MuonCombined.addMDTExtrasMuGirlLowBeta)
170 kwargs.setdefault(
"CaloMaterialProvider", result.popToolsAndMerge(
173 kwargs.setdefault(
"TrackQuery", result.popToolsAndMerge(
176 if flags.Muon.SAMuonTrigger:
177 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
178 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
181 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
182 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
185 if flags.Muon.MuonTrigger:
186 kwargs.setdefault(
"MuonSelectionTool",
"")
187 kwargs.setdefault(
"UseCaloCells",
False)
188 kwargs.setdefault(
"CopyUInt8SummaryKeys", [])
190 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonSelectionToolCfg
191 kwargs.setdefault(
"MuonSelectionTool", result.popToolsAndMerge(
193 kwargs.setdefault(
"RequireMSOEforSA", flags.Beam.Type
is BeamType.Collisions)
194 kwargs.setdefault(
"RequireCaloForSA", flags.Beam.Type
is BeamType.Collisions)
196 tool = CompFactory.MuonCombined.MuonCreatorTool(name, **kwargs)
197 result.setPrivateTools(tool)
203 kwargs.setdefault(
"Extrapolator", result.popPrivateTools())
204 from TrkConfig.AtlasExtrapolatorConfig
import MuonExtrapolatorCfg
205 kwargs.setdefault(
"MuonExtrapolator", result.popToolsAndMerge(
208 if flags.Muon.MuonTrigger:
209 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
210 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
213 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
214 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
216 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
218 result.setPrivateTools(CompFactory.ExtrapolateMuonToIPTool(name, **kwargs))
223 from MuonConfig.MuonRecToolsConfig
import MuonAmbiProcessorCfg
226 kwargs.setdefault(
"Printer", muon_edm_printer)
227 if "TrackBuilder" not in kwargs:
228 kwargs.setdefault(
"TrackBuilder", result.popToolsAndMerge(
232 if flags.Muon.MuonTrigger
and flags.Beam.Type
is not BeamType.Cosmics:
234 kwargs.setdefault(
"TrackExtrapolationTool",
"")
236 kwargs.setdefault(
"TrackExtrapolationTool", result.popToolsAndMerge(
238 kwargs.setdefault(
"SegmentContainer",
"TrackMuonSegments")
239 kwargs.setdefault(
"AmbiguityProcessor", result.popToolsAndMerge(
242 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
243 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
248 if flags.Beam.Type
is BeamType.Cosmics:
249 kwargs.setdefault(
"ExtrapolationStrategy", 1)
251 track_segment_association_tool = CompFactory.MuonCombined.TrackSegmentAssociationTool(
252 MuonEDMPrinterTool=muon_edm_printer)
253 kwargs.setdefault(
"TrackSegmentAssociationTool",
254 track_segment_association_tool)
255 result.addPublicTool(track_segment_association_tool)
257 tool = CompFactory.MuonCombined.MuonCandidateTool(name, **kwargs)
258 result.setPrivateTools(tool)
264 match_quality = CompFactory.Rec.MuonMatchQuality(
266 kwargs.setdefault(
"MuonMatchQuality", match_quality)
267 tool = CompFactory.MuonCombined.MuonCombinedDebuggerTool(name, **kwargs)
268 result.setPrivateTools(tool)
275 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
278 if flags.MuonCombined.doCombinedFit:
281 if flags.MuonCombined.doStatisticalCombination
and flags.Beam.Type
is not BeamType.Cosmics:
285 kwargs.setdefault(
"MuonCombinedTagTools", tools)
286 kwargs.setdefault(
"MuonCombinedDebuggerTool", result.popToolsAndMerge(
291 kwargs.setdefault(
"AlignmentUncertTool", result.getPublicTool(
292 'MuonAlignmentUncertToolTheta'))
294 kwargs.setdefault(
"DeltaEtaPreSelection", 0.2)
295 kwargs.setdefault(
"DeltaPhiPreSelection", 0.2)
296 tool = CompFactory.MuonCombined.MuonCombinedTool(name, **kwargs)
297 result.setPrivateTools(tool)
302 if flags.Muon.MuonTrigger:
303 kwargs.setdefault(
"VertexContainer",
"")
306 kwargs.setdefault(
"TrackBuilder", result.popToolsAndMerge(
309 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
312 kwargs.setdefault(
"TrackQuery", result.popToolsAndMerge(
314 kwargs.setdefault(
"MatchQuality", result.popToolsAndMerge(
317 from MuonConfig.MuonRecToolsConfig
import MuonTrackScoringToolCfg
318 kwargs.setdefault(
"TrackScoringTool", result.popToolsAndMerge(
323 if flags.Beam.Type
is BeamType.Cosmics
and (
not flags.BField.endcapToroidOn
and not flags.BField.solenoidOn):
324 kwargs.setdefault(
"MomentumBalanceCut", 1e6)
326 tool = CompFactory.MuonCombined.MuonCombinedFitTagTool(name, **kwargs)
327 result.setPrivateTools(tool)
333 track_builder = result.popToolsAndMerge(
336 TrackBuilder=track_builder,
338 result.setPrivateTools(fit_tag_tool)
345 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
348 if flags.MuonCombined.doCombinedFit:
351 if flags.MuonCombined.doStatisticalCombination:
355 kwargs.setdefault(
"MuonCombinedTagTools", tools)
356 kwargs.setdefault(
"MuonCombinedDebuggerTool", result.popToolsAndMerge(
361 kwargs.setdefault(
"AlignmentUncertTool", result.getPublicTool(
362 'MuonAlignmentUncertToolTheta'))
364 kwargs.setdefault(
"DeltaEtaPreSelection", 0.2)
365 kwargs.setdefault(
"DeltaPhiPreSelection", 0.2)
366 tool = CompFactory.MuonCombined.MuonCombinedTool(name, **kwargs)
367 result.setPrivateTools(tool)
374 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
376 kwargs.setdefault(
"TagTool", result.popToolsAndMerge(
378 kwargs.setdefault(
"Extrapolator", result.popToolsAndMerge(
381 tool = CompFactory.MuonCombined.MuonCombinedStacoTagTool(name, **kwargs)
382 result.setPrivateTools(tool)
389 from TrkConfig.TrkExSTEP_PropagatorConfig
import AtlasSTEP_PropagatorCfg
390 kwargs.setdefault(
"AggregateMaterial",
True)
391 kwargs.setdefault(
"AllowReordering",
False)
394 kwargs.setdefault(
"Extrapolator", result.popPrivateTools())
396 kwargs.setdefault(
"STEP_Propagator", result.popToolsAndMerge(
398 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import TrackingGeometryCondAlgCfg
400 kwargs.setdefault(
"TrackingGeometryReadKey",
"AtlasTrackingGeometry")
402 tool = CompFactory.Trk.MaterialAllocator(name, **kwargs)
403 result.setPrivateTools(tool)
410 from TrkConfig.SolenoidalIntersectorConfig
import SolenoidalIntersectorCfg
411 from TrkConfig.TrkExSTEP_PropagatorConfig
import AtlasSTEP_PropagatorCfg
413 kwargs.setdefault(
"AggregateMaterial",
True)
414 kwargs.setdefault(
"FullCombinedFit",
True)
416 kwargs.setdefault(
"MaterialAllocator", result.popPrivateTools())
419 kwargs.setdefault(
'SolenoidalIntersector', result.popToolsAndMerge(
421 kwargs.setdefault(
'Propagator', result.popToolsAndMerge(
424 if flags.Muon.MuonTrigger:
425 kwargs.setdefault(
"MaxIterations", 15)
426 if flags.Muon.SAMuonTrigger:
427 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
428 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
431 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
432 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
435 tool = CompFactory.Trk.iPatFitter(name, **kwargs)
436 result.setPrivateTools(tool)
441 kwargs.setdefault(
"LineFit",
True)
442 kwargs.setdefault(
"LineMomentum", flags.Muon.straightLineFitMomentum)
449 from MuonConfig.MuonRecToolsConfig
import MuonTrackCleanerCfg
450 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
451 if flags.Beam.Type
is BeamType.Cosmics:
452 kwargs.setdefault(
"PullCut", 5.0)
453 kwargs.setdefault(
"PullCutPhi", 10.0)
455 kwargs.setdefault(
"PullCut", 4.0)
456 kwargs.setdefault(
"PullCutPhi", 4.0)
458 if flags.Muon.MuonTrigger:
459 kwargs.setdefault(
"Iterate",
False)
460 kwargs.setdefault(
"RecoverOutliers",
False)
461 kwargs.setdefault(
"Fitter", result.popToolsAndMerge(
472 kwargs.setdefault(
"MaxAvePullSumPerChamber", 3.5)
473 kwargs.setdefault(
"Chi2Cut", 100.0)
474 kwargs.setdefault(
"Extrapolator", result.getPrimaryAndMerge(
476 result.setPrivateTools(result.popToolsAndMerge(
482 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
483 return CompFactory.Rec.MuidCaloEnergyParam(name, **kwargs)
489 kwargs.setdefault(
"CaloParamTool", muidcaloenergyparam)
492 kwargs.setdefault(
"CellContainerLocation",
"AllCalo")
493 kwargs.setdefault(
"NoiseThresInSigmas", 4.)
494 tool = CompFactory.Rec.MuidCaloEnergyMeas(name, **kwargs)
495 result.setPrivateTools(tool)
503 kwargs.setdefault(
"CaloMeasTool", result.popPrivateTools())
504 kwargs.setdefault(
"EnergyLossMeasurement",
False)
507 if flags.Beam.Type
is BeamType.Cosmics:
508 kwargs.setdefault(
"Cosmics",
True)
509 kwargs.setdefault(
"TrackIsolationTool", result.popToolsAndMerge(
512 result.setPrivateTools(CompFactory.Rec.MuidCaloEnergyTool(name, **kwargs))
517 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
518 kwargs.setdefault(
"InDetTracksLocation",
519 "CombinedInDetTracks" if flags.Detector.GeometryID
else "CombinedITkTracks")
522 tool = CompFactory.Rec.MuidTrackIsolation(name, **kwargs)
523 result.setPrivateTools(tool)
529 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
531 kwargs.setdefault(
"CaloMeasTool", result.popPrivateTools())
533 kwargs.setdefault(
"MinFinalEnergy", 1.0*GeV)
534 kwargs.setdefault(
"MinMuonPt", 10.0*GeV)
535 kwargs.setdefault(
"MopParametrization",
True)
536 if flags.Muon.MuonTrigger:
537 kwargs.setdefault(
"EnergyLossMeasurement",
False)
538 kwargs.setdefault(
"TrackIsolation",
False)
540 kwargs.setdefault(
"EnergyLossMeasurement",
True)
541 kwargs.setdefault(
"TrackIsolation",
True)
543 kwargs.setdefault(
"TrackIsolationTool", result.popToolsAndMerge(
545 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
546 result.setPrivateTools(CompFactory.Rec.MuidCaloEnergyTool(name, **kwargs))
552 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
553 kwargs.setdefault(
"Propagator", result.popToolsAndMerge(
555 kwargs.setdefault(
"MinRemainingEnergy", 0.2*GeV)
556 kwargs.setdefault(
"ParamPtCut", 3.0*GeV)
557 kwargs.setdefault(
"CaloEnergyDeposit", result.popToolsAndMerge(
559 kwargs.setdefault(
"CaloEnergyParam", result.popToolsAndMerge(
563 tool = CompFactory.Rec.MuidCaloTrackStateOnSurface(name, **kwargs)
564 result.setPrivateTools(tool)
570 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
571 kwargs.setdefault(
"Propagator", result.popToolsAndMerge(
573 kwargs.setdefault(
"MinRemainingEnergy", 0.2*GeV)
574 kwargs.setdefault(
"ParamPtCut", 3.0*GeV)
577 tool = CompFactory.Rec.MuidCaloTrackStateOnSurface(name, **kwargs)
578 result.setPrivateTools(tool)
584 kwargs.setdefault(
"TSOSTool", result.popPrivateTools())
586 kwargs.setdefault(
"TSOSToolParam", acc.popPrivateTools())
588 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
589 tool = CompFactory.Rec.MuidMaterialEffectsOnTrackProvider(name, **kwargs)
590 result.setPrivateTools(tool)
596 muidtsosparam = result.popPrivateTools()
597 kwargs.setdefault(
"TSOSTool", muidtsosparam)
598 kwargs.setdefault(
"TSOSToolParam", muidtsosparam)
599 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
600 tool = CompFactory.Rec.MuidMaterialEffectsOnTrackProvider(name, **kwargs)
601 result.setPrivateTools(tool)
606 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg
608 kwargs.setdefault(
"MdtRotCreator", result.popPrivateTools())
609 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import TrackingGeometryCondAlgCfg
611 kwargs.setdefault(
"TrackingGeometryReadKey",
"AtlasTrackingGeometry")
614 kwargs.setdefault(
"Fitter", acc.popPrivateTools())
617 tool = CompFactory.Rec.MuonTrackQuery(name, **kwargs)
618 result.setPrivateTools(tool)
624 from MuonConfig.MuonTrackBuildingConfig
import EMEO_MuonChamberHoleRecoveryToolCfg
625 chamber_recovery = result.popToolsAndMerge(
627 trk_builder = result.popToolsAndMerge(
629 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
630 muon_combined_track_summary = result.popToolsAndMerge(
634 ChamberHoleRecoveryTool=chamber_recovery,
636 TrackSummaryTool=muon_combined_track_summary,
637 STGCRegionSelector=
"",
641 result.setPrivateTools(tool)
647 recovery_tool = result.popToolsAndMerge(
651 MuonHoleRecovery=recovery_tool)
653 tool = result.popToolsAndMerge(acc)
654 result.setPrivateTools(tool)
659 from MuonConfig.MuonRecToolsConfig
import MuonTrackSummaryHelperToolCfg, MuonRefitToolCfg
661 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
664 if flags.IOVDb.DatabaseInstance ==
'COMP200' or \
665 'HLT' in flags.IOVDb.GlobalTag
or flags.Common.isOnline
or flags.Muon.MuonTrigger:
668 flags, name=
"MuidRefitTool", AlignmentErrors=useAlignErrs,
670 tool = CompFactory.Muon.MuonErrorOptimisationTool(name, **kwargs)
671 result.setPrivateTools(tool)
677 from MuonConfig.MuonGeometryConfig
import TrackingVolumesSvcCfg
679 kwargs.setdefault(
"HistoName",
"ThetaScattering")
681 "InFile",
"MuonCombinedBaseTools/AlignmentUncertainties/201029_initial/ID_MS_Uncertainties.root")
682 tool = CompFactory.Muon.MuonAlignmentUncertTool(name, **kwargs)
683 result.addPublicTool(tool)
689 kwargs.setdefault(
"HistoName",
"PhiScattering")
690 from MuonConfig.MuonGeometryConfig
import TrackingVolumesSvcCfg
693 "InFile",
"MuonCombinedBaseTools/AlignmentUncertainties/201029_initial/ID_MS_Uncertainties.root")
694 tool = CompFactory.Muon.MuonAlignmentUncertTool(name, **kwargs)
695 result.addPublicTool(tool)
702 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import CscClusterOnTrackCreatorCfg, MdtDriftCircleOnTrackCreatorCfg, MuonClusterOnTrackCreatorCfg
703 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
707 from MuonConfig.MuonGeometryConfig
import TrackingVolumesSvcCfg
710 kwargs.setdefault(
"CaloEnergyParam", result.popToolsAndMerge(
712 kwargs.setdefault(
"CaloTSOS", result.popToolsAndMerge(
714 kwargs.setdefault(
"Cleaner", result.popToolsAndMerge(
717 kwargs.setdefault(
"AlignmentUncertToolPhi",
718 result.getPublicTool(
'MuonAlignmentUncertToolPhi'))
720 kwargs.setdefault(
"AlignmentUncertToolTheta",
721 result.getPublicTool(
'MuonAlignmentUncertToolTheta'))
723 if flags.Detector.GeometryCSC
and not flags.Muon.MuonTrigger:
724 kwargs.setdefault(
"CscRotCreator", result.popToolsAndMerge(
727 kwargs.setdefault(
"CscRotCreator",
"")
729 kwargs.setdefault(
"Extrapolator", result.popToolsAndMerge(
735 kwargs.setdefault(
"MaterialAllocator", result.popToolsAndMerge(
737 kwargs.setdefault(
"MdtRotCreator", result.popToolsAndMerge(
739 kwargs.setdefault(
"MuonRotCreator", result.popToolsAndMerge(
743 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import (
744 TrackingGeometryCondAlgCfg)
746 geom_cond_key = result.getPrimaryAndMerge(
748 kwargs.setdefault(
"TrackingGeometryReadKey", geom_cond_key)
750 kwargs.setdefault(
"CleanCombined",
True)
751 kwargs.setdefault(
"CleanStandalone",
True)
752 kwargs.setdefault(
"BadFitChi2", 2.5)
753 kwargs.setdefault(
"LargeMomentumError", 0.5)
754 kwargs.setdefault(
"LineMomentum", flags.Muon.straightLineFitMomentum)
755 kwargs.setdefault(
"LowMomentum", 10.*GeV)
756 kwargs.setdefault(
"MinEnergy", 0.3*GeV)
757 kwargs.setdefault(
"PerigeeAtSpectrometerEntrance",
False)
758 kwargs.setdefault(
"ReallocateMaterial",
False)
759 kwargs.setdefault(
"Vertex2DSigmaRPhi", 100.*mm)
760 kwargs.setdefault(
"Vertex3DSigmaRPhi", 6.*mm)
761 kwargs.setdefault(
"Vertex3DSigmaZ", 60.*mm)
762 kwargs.setdefault(
"UseCaloTG",
True)
764 kwargs.setdefault(
"CaloMaterialProvider", result.popToolsAndMerge(
766 kwargs.setdefault(
"TrackQuery", result.popToolsAndMerge(
769 if flags.Muon.SAMuonTrigger:
770 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
771 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
774 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
777 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import MuonCombinedPropagatorCfg, RungeKuttaPropagatorCfg
779 if flags.Muon.MuonTrigger:
783 kwargs.setdefault(
"Propagator", propagator)
784 kwargs.setdefault(
"SLPropagator", propagator)
785 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
788 if flags.Beam.Type
is BeamType.Cosmics:
789 kwargs.setdefault(
"MdtRotCreator",
"")
790 kwargs.setdefault(
"MuonRotCreator",
"")
791 kwargs.setdefault(
"LowMomentum", 1.5*GeV)
792 kwargs.setdefault(
"ReallocateMaterial",
False)
793 kwargs.setdefault(
"Vertex2DSigmaRPhi", 100.*mm)
794 kwargs.setdefault(
"Vertex3DSigmaRPhi", 100.*mm)
795 kwargs.setdefault(
"Vertex3DSigmaZ", 1.*meter)
798 if flags.Muon.enableErrorTuning
and 'MuonErrorOptimizer' not in kwargs:
800 flags, name=
"MuidErrorOptimisationTool", PrepareForFit=
False, RecreateStartingParameters=
False))
801 kwargs.setdefault(
"MuonErrorOptimizer", erroropt)
803 kwargs.setdefault(
"MuonErrorOptimizer",
"")
805 if flags.Muon.MuonTrigger:
806 kwargs.setdefault(
"MuonHoleRecovery",
"")
808 if "MuonHoleRecovery" not in kwargs:
810 muon_combined_track_summary = result.popToolsAndMerge(
813 flags, name=
"MuidSegmentRegionRecoveryTool", TrackSummaryTool=muon_combined_track_summary)
814 kwargs.setdefault(
"MuonHoleRecovery", acc.popPrivateTools())
817 if flags.Muon.doSegmentT0Fit:
818 kwargs.setdefault(
"MdtRotCreator",
"")
819 tool = CompFactory.Rec.CombinedMuonTrackBuilder(name, **kwargs)
820 result.setPrivateTools(tool)
827 from MuonConfig.MuonTrackBuildingConfig
import MuonChamberHoleRecoveryToolCfg
829 kwargs.setdefault(
"PerigeeAtSpectrometerEntrance",
True)
830 kwargs.setdefault(
"UseCaloTG",
False)
831 if flags.Muon.MuonTrigger:
832 kwargs.setdefault(
"MuonErrorOptimizer",
"")
834 kwargs.setdefault(
"MuonErrorOptimizer", result.popToolsAndMerge(
836 kwargs.setdefault(
"MuonHoleRecovery", result.popToolsAndMerge(
840 flags, name, **kwargs))
841 result.setPrivateTools(tool)
847 from MuonConfig.MuonTrackBuildingConfig
import EMEO_MuonChamberHoleRecoveryToolCfg
848 if not flags.Muon.MuonTrigger:
849 trk_builder = result.popToolsAndMerge(
851 kwargs.setdefault(
"MuonHoleRecovery", trk_builder)
853 kwargs.setdefault(
"MuonHoleRecovery",
"")
854 kwargs.setdefault(
"MuonRotCreator",
"")
856 flags, name, **kwargs))
857 result.setPrivateTools(tool)
863 kwargs.setdefault(
"TagTool", result.popPrivateTools())
864 kwargs.setdefault(
"TrackQuery", result.popToolsAndMerge(
867 tool = CompFactory.Rec.MuonMatchQuality(name, **kwargs)
868 result.setPrivateTools(tool)
874 kwargs.setdefault(
"Extrapolator", result.popPrivateTools())
875 kwargs.setdefault(
"TrackBuilder", result.popToolsAndMerge(
878 if "ResidualPullCalculator" not in kwargs:
879 from TrkConfig.TrkResidualPullCalculatorConfig
import (
880 ResidualPullCalculatorCfg)
881 kwargs.setdefault(
"ResidualPullCalculator", result.popToolsAndMerge(
884 tool = CompFactory.Rec.MuidMuonRecovery(name, **kwargs)
885 result.setPrivateTools(tool)
891 kwargs.setdefault(
"ExtrapolatorTool", result.popPrivateTools())
892 kwargs.setdefault(
"Chi2Cut", 50000.)
893 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import TrackingGeometryCondAlgCfg
895 kwargs.setdefault(
"TrackingGeometryReadKey",
"AtlasTrackingGeometry")
896 tool = CompFactory.MuonCombined.MuonTrackTagTestTool(name, **kwargs)
897 result.setPrivateTools(tool)
904 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg, ParticleCaloCellAssociationToolCfg
906 kwargs.setdefault(
"ParticleCaloExtensionTool",
908 kwargs.setdefault(
"ExtrapolatorHandle", result.popToolsAndMerge(
910 kwargs.setdefault(
"ParticleCaloCellAssociationTool",
912 tool = CompFactory.TrackDepositInCaloTool(name, **kwargs)
913 result.setPrivateTools(tool)
918 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
920 kwargs.setdefault(
"ParticleCaloExtensionTool",
922 tool = CompFactory.CaloMuonLikelihoodTool(name, **kwargs)
923 result.setPrivateTools(tool)
928 from TrackToCalo.TrackToCaloConfig
import ParticleCaloCellAssociationToolCfg
930 kwargs.setdefault(
"ParticleCaloCellAssociationTool",
932 tool = CompFactory.CaloMuonScoreTool(name, **kwargs)
933 result.setPrivateTools(tool)
939 the_tool = CompFactory.CaloMuonTag(name, **kwargs)
940 result.setPrivateTools(the_tool)
946 kwargs.setdefault(
"CaloMuonTagLoose",
947 result.popToolsAndMerge(
CaloMuonTagCfg(flags, name=
"CaloMuonTagLoose", TagMode=
"Loose")))
948 kwargs.setdefault(
"CaloMuonTagTight",
950 kwargs.setdefault(
"CaloMuonLikelihoodTool",
952 kwargs.setdefault(
"CaloMuonScoreTool",
954 kwargs.setdefault(
"TrackDepositInCaloTool",
956 from InDetConfig.InDetTrackSelectorToolConfig
import CaloTrkMuIdAlgTrackSelectorToolCfg
957 kwargs.setdefault(
"TrackSelectorTool",
959 kwargs.setdefault(
"doCaloLR",
False)
960 the_tool = CompFactory.MuonCombined.MuonCaloTagTool(name, **kwargs)
961 result.setPrivateTools(the_tool)
968 from MuonConfig.MuonSegmentFindingConfig
import DCMathSegmentMakerCfg, MuonNSWSegmentFinderToolCfg, MuonPRDSelectionToolCfg
971 from MuonConfig.MuonSegmentFindingConfig
import Csc2dSegmentMakerCfg, Csc4dSegmentMakerCfg
972 kwargs.setdefault(
"Csc2DSegmentMaker", result.popToolsAndMerge(
974 kwargs.setdefault(
"Csc4DSegmentMaker", result.popToolsAndMerge(
977 kwargs.setdefault(
"MuonPRDSelectionTool", result.popToolsAndMerge(
979 kwargs.setdefault(
"SegmentMaker", result.popToolsAndMerge(
981 kwargs.setdefault(
"NSWMuonClusterSegmentFinderTool",
985 from AthenaConfiguration.Enums
import LHCPeriod
986 if flags.GeoModel.Run < LHCPeriod.Run3
or flags.Muon.MuonTrigger:
987 kwargs.setdefault(
"InSegmentContainer",
"")
988 kwargs.setdefault(
"MuonLayerSegmentMatchingTool",
"")
990 kwargs.setdefault(
"MuonLayerSegmentMatchingTool", result.popToolsAndMerge(
992 tool = CompFactory.Muon.MuonLayerSegmentFinderTool(name, **kwargs)
993 result.setPrivateTools(tool)
999 kwargs.setdefault(
"Extrapolator", result.popPrivateTools())
1001 kwargs.setdefault(
"MatchTool", MuTagTool)
1003 tool = CompFactory.Muon.MuonLayerSegmentMatchingTool(name, **kwargs)
1004 result.setPrivateTools(tool)
1009 from MuonConfig.MuonRecToolsConfig
import MuonAmbiProcessorCfg
1010 if flags.Muon.MuonTrigger:
1011 kwargs.setdefault(
"VertexContainer",
"")
1014 layersegmentfindertool = result.popToolsAndMerge(
1016 kwargs.setdefault(
"MuonLayerSegmentFinderTool", layersegmentfindertool)
1017 kwargs.setdefault(
"MuonLayerSegmentMatchingTool", result.popToolsAndMerge(
1019 kwargs.setdefault(
"MuonLayerAmbiguitySolverTool", result.popToolsAndMerge(
1021 kwargs.setdefault(
"MuonCandidateTrackBuilderTool", result.popToolsAndMerge(
1023 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
1024 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
1026 kwargs.setdefault(
"MuonTrackBuilder", result.popToolsAndMerge(
1028 kwargs.setdefault(
"TrackAmbiguityProcessor",
1031 tool = CompFactory.MuonCombined.MuonInsideOutRecoTool(name, **kwargs)
1032 result.setPrivateTools(tool)
1038 kwargs.setdefault(
"MuonTrackBuilder", result.popPrivateTools())
1039 muoncandidatetrackbuilder = CompFactory.Muon.MuonCandidateTrackBuilderTool(
1041 result.setPrivateTools(muoncandidatetrackbuilder)
1046 if flags.Input.isMC
is False:
1047 kwargs.setdefault(
"GoodADCFractionCut", 0.5)
1048 kwargs.setdefault(
"MinADCPerSegmentCut", 100)
1050 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
1052 muon_segment_hit_summary_tool = result.popToolsAndMerge(
1054 kwargs.setdefault(
"MuonSegmentHitSummaryTool",
1055 muon_segment_hit_summary_tool)
1056 result.addPublicTool(muon_segment_hit_summary_tool)
1058 result.setPrivateTools(
1059 CompFactory.Muon.MuonSegmentSelectionTool(name, **kwargs))
1064 from MuonConfig.MuonTrackBuildingConfig
import MuonSegmentMatchingToolCfg, MooTrackBuilderCfg
1066 kwargs.setdefault(
"MuonSegmentSelectionTool", result.popPrivateTools())
1067 kwargs.setdefault(
"MuonSegmentMatchingTool", result.popToolsAndMerge(
1070 kwargs.setdefault(
"MuonSegmentTrackBuilder",
1071 result.popToolsAndMerge(
MooTrackBuilderCfg(flags, name=
'MooMuonTrackBuilder', prefix=
'MuSt_')))
1072 kwargs.setdefault(
"MuonEDMPrinterTool", result.getPrimaryAndMerge(
1075 result.setPrivateTools(
1076 CompFactory.Muon.MuonLayerAmbiguitySolverTool(name, **kwargs))
1081 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg, MdtCalibWindowNumber, MdtCalibToolForRotsCfg
1083 kwargs.setdefault(
"TimingMode", 3)
1086 result.setPrivateTools(the_tool)
1093 from MuonConfig.MuonSegmentFindingConfig
import DCMathSegmentMakerCfg, MuonPRDSelectionToolCfg
1094 from MuonConfig.MuonTrackBuildingConfig
import MuonChamberHoleRecoveryToolCfg
1095 from MuonConfig.MuonRecToolsConfig
import MuonAmbiProcessorCfg, MuonSeededSegmentFinderCfg
1096 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg
1097 from MuonConfig.MuonSegmentFindingConfig
import MuonLayerHoughAlgCfg
1098 kwargs.setdefault(
"DoSummary", flags.Muon.printSummary)
1099 kwargs.setdefault(
"ConsideredPDGs", [13, -13, 1000015, -1000015])
1100 kwargs.setdefault(
"DoTruth", flags.Input.isMC)
1101 kwargs.setdefault(
"AddMDTExtrasMuGirlLowBeta", flags.MuonCombined.addMDTExtrasMuGirlLowBeta)
1111 kwargs.setdefault(
"MuonPRDSelectionToolStau",
1113 "MuonPRDSelectionToolStau",
1114 MdtDriftCircleOnTrackCreator=staurotcreator)))
1117 flags, name=
"DCMathStauSegmentMaker", MdtCreator=staurotcreator))
1119 kwargs.setdefault(
"MuonSegmentMaker", segmentmaker)
1121 flags, name=
"DCMathT0FitSegmentMaker", doSegmentT0Fit=
True)))
1124 kwargs.setdefault(
"MuonLayerSegmentMatchingTool", result.popToolsAndMerge(
1128 kwargs.setdefault(
"TrackAmbiguityProcessor",
1131 kwargs.setdefault(
"MuonPRDSelectionTool", result.popToolsAndMerge(
1133 kwargs.setdefault(
"MuonPRDSelectionToolStau", result.popToolsAndMerge(
1135 kwargs.setdefault(
"MdtDriftCircleOnTrackCreator", result.popToolsAndMerge(
1137 kwargs.setdefault(
"MdtDriftCircleOnTrackCreatorStau", staurotcreator)
1141 sTgcPrepDataContainer=
"",
1142 MMPrepDataContainer=
""))
1143 seededsegmentfinder = result.popToolsAndMerge(
MuonSeededSegmentFinderCfg(flags, name=
"MuonStauSeededSegmentFinder", MdtRotCreator=staurotcreator,
1144 SegmentMaker=segmentmaker, SegmentMakerNoHoles=segmentmaker))
1146 flags, name=
"CombinedStauTrackBuilderFit", MdtRotCreator=staurotcreator))
1147 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
1148 muon_combined_track_summary = result.popToolsAndMerge(
1150 muidsegmentregionrecovery = result.popToolsAndMerge(
MuonSegmentRegionRecoveryToolCfg(flags, name=
"MuonStauSegmentRegionRecoveryTool", SeededSegmentFinder=seededsegmentfinder,
1151 RecoverMM=
False, RecoverSTGC=
False, MMRegionSelector=
"", STGCRegionSelector=
"",
1152 ChamberHoleRecoveryTool=chamberholerecoverytool, Fitter=fitter, TrackSummaryTool=muon_combined_track_summary))
1154 flags, name=
"CombinedStauTrackBuilder", MdtRotCreator=staurotcreator, MuonHoleRecovery=muidsegmentregionrecovery))
1155 muoncandidatetrackbuilder = CompFactory.Muon.MuonCandidateTrackBuilderTool(
1156 name=
"MuonStauCandidateTrackBuilderTool", MuonTrackBuilder=trackbuilder)
1157 kwargs.setdefault(
"MuonInsideOutRecoTool", result.popToolsAndMerge(
1158 MuonInsideOutRecoToolCfg(flags, name=
'MuonStauInsideOutRecoTool', MuonCandidateTrackBuilderTool=muoncandidatetrackbuilder)))
1161 tool = CompFactory.MuonCombined.MuonStauRecoTool(name, **kwargs)
1162 result.setPrivateTools(tool)
1169 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
1170 from MuonConfig.MuonRecToolsConfig
import MuonEDMPrinterToolCfg
1173 kwargs.setdefault(
"Printer", result.addPublicTool(result.getPrimaryAndMerge(
MuonEDMPrinterToolCfg(flags))) )
1174 kwargs.setdefault(
"ParticleCaloExtensionTool",
1176 name=
'MuonParticleCaloExtensionTool')))
1179 muon_ext_tool = CompFactory.Muon.MuonSystemExtensionTool(
"MuonSystemExtensionTool", **kwargs)
1180 result.setPrivateTools(muon_ext_tool)
1185 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
1186 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
1189 kwargs.setdefault(
"AssumeLocalErrors",
True)
1190 kwargs.setdefault(
"PhiCut", 30.)
1191 kwargs.setdefault(
"GlobalPhiCut", 1.)
1192 kwargs.setdefault(
"ThetaCut", 5.)
1193 kwargs.setdefault(
"GlobalThetaCut", 0.5)
1194 kwargs.setdefault(
"ThetaAngleCut", 5.)
1195 kwargs.setdefault(
"DoDistanceCut",
True)
1196 kwargs.setdefault(
"CombinedPullCut", 3.0)
1199 kwargs.setdefault(
"IExtrapolator", result.popPrivateTools())
1200 kwargs.setdefault(
"Propagator", result.popToolsAndMerge(
1202 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
1204 kwargs.setdefault(
"MuonSegmentHitSummary", result.popToolsAndMerge(
1206 kwargs.setdefault(
"MuonSegmentSelection", result.popToolsAndMerge(
1209 if "ResidualPullCalculator" not in kwargs:
1210 from TrkConfig.TrkResidualPullCalculatorConfig
import (
1211 ResidualPullCalculatorCfg)
1212 kwargs.setdefault(
"ResidualPullCalculator", result.popToolsAndMerge(
1215 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import (
1216 TrackingGeometryCondAlgCfg)
1218 geom_cond_key = acc.getPrimary().TrackingGeometryWriteKey
1220 kwargs.setdefault(
"TrackingGeometryReadKey", geom_cond_key)
1222 tool = CompFactory.MuTagMatchingTool(name, **kwargs)
1224 result.addPublicTool(tool, primary=
True)
1229 from MuonConfig.MuonTrackBuildingConfig
import MuonSegmentMatchingToolCfg
1231 kwargs.setdefault(
"RejectOuterEndcap",
True)
1232 kwargs.setdefault(
"RejectMatchPhi",
True)
1235 kwargs.setdefault(
"MuonSegmentMatchingTool", result.popToolsAndMerge(
1239 tool = CompFactory.MuTagAmbiguitySolverTool(name, **kwargs)
1240 result.addPublicTool(tool, primary=
True)
1247 kwargs.setdefault(
"MuTagMatchingTool", mu_tag_matching)
1249 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
1251 kwargs.setdefault(
"MuTagAmbiguitySolverTool", result.getPrimaryAndMerge(
1253 kwargs.setdefault(
"MuonSegmentSelectionTool", result.getPrimaryAndMerge(
1255 kwargs.setdefault(
"MuonSegmentHitSummaryTool", result.getPrimaryAndMerge(
1258 result.setPrivateTools(
1259 CompFactory.MuonCombined.MuonSegmentTagTool(name, **kwargs))