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(
321 tool = CompFactory.MuonCombined.MuonCombinedFitTagTool(name, **kwargs)
322 result.setPrivateTools(tool)
328 track_builder = result.popToolsAndMerge(
331 TrackBuilder=track_builder,
333 result.setPrivateTools(fit_tag_tool)
340 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
343 if flags.MuonCombined.doCombinedFit:
346 if flags.MuonCombined.doStatisticalCombination:
350 kwargs.setdefault(
"MuonCombinedTagTools", tools)
351 kwargs.setdefault(
"MuonCombinedDebuggerTool", result.popToolsAndMerge(
356 kwargs.setdefault(
"AlignmentUncertTool", result.getPublicTool(
357 'MuonAlignmentUncertToolTheta'))
359 kwargs.setdefault(
"DeltaEtaPreSelection", 0.2)
360 kwargs.setdefault(
"DeltaPhiPreSelection", 0.2)
361 tool = CompFactory.MuonCombined.MuonCombinedTool(name, **kwargs)
362 result.setPrivateTools(tool)
369 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
371 kwargs.setdefault(
"TagTool", result.popToolsAndMerge(
373 kwargs.setdefault(
"Extrapolator", result.popToolsAndMerge(
376 tool = CompFactory.MuonCombined.MuonCombinedStacoTagTool(name, **kwargs)
377 result.setPrivateTools(tool)
384 from TrkConfig.TrkExSTEP_PropagatorConfig
import AtlasSTEP_PropagatorCfg
385 kwargs.setdefault(
"AggregateMaterial",
True)
386 kwargs.setdefault(
"AllowReordering",
False)
389 kwargs.setdefault(
"Extrapolator", result.popPrivateTools())
391 kwargs.setdefault(
"STEP_Propagator", result.popToolsAndMerge(
393 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import TrackingGeometryCondAlgCfg
395 kwargs.setdefault(
"TrackingGeometryReadKey",
"AtlasTrackingGeometry")
397 tool = CompFactory.Trk.MaterialAllocator(name, **kwargs)
398 result.setPrivateTools(tool)
405 from TrkConfig.SolenoidalIntersectorConfig
import SolenoidalIntersectorCfg
406 from TrkConfig.TrkExSTEP_PropagatorConfig
import AtlasSTEP_PropagatorCfg
408 kwargs.setdefault(
"AggregateMaterial",
True)
409 kwargs.setdefault(
"FullCombinedFit",
True)
411 kwargs.setdefault(
"MaterialAllocator", result.popPrivateTools())
414 kwargs.setdefault(
'SolenoidalIntersector', result.popToolsAndMerge(
416 kwargs.setdefault(
'Propagator', result.popToolsAndMerge(
419 if flags.Muon.MuonTrigger:
420 kwargs.setdefault(
"MaxIterations", 15)
421 if flags.Muon.SAMuonTrigger:
422 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
423 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
426 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
427 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
430 kwargs.setdefault(
"TrackingVolumesSvc",
"TrackingVolumesSvc")
432 tool = CompFactory.Trk.iPatFitter(name, **kwargs)
433 result.setPrivateTools(tool)
438 kwargs.setdefault(
"LineFit",
True)
439 kwargs.setdefault(
"LineMomentum", flags.Muon.straightLineFitMomentum)
446 from MuonConfig.MuonRecToolsConfig
import MuonTrackCleanerCfg
447 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
448 if flags.Beam.Type
is BeamType.Cosmics:
449 kwargs.setdefault(
"PullCut", 5.0)
450 kwargs.setdefault(
"PullCutPhi", 10.0)
452 kwargs.setdefault(
"PullCut", 4.0)
453 kwargs.setdefault(
"PullCutPhi", 4.0)
455 if flags.Muon.MuonTrigger:
456 kwargs.setdefault(
"Iterate",
False)
457 kwargs.setdefault(
"RecoverOutliers",
False)
458 kwargs.setdefault(
"Fitter", result.popToolsAndMerge(
469 kwargs.setdefault(
"MaxAvePullSumPerChamber", 3.5)
470 kwargs.setdefault(
"Chi2Cut", 100.0)
471 kwargs.setdefault(
"Extrapolator", result.getPrimaryAndMerge(
473 result.setPrivateTools(result.popToolsAndMerge(
479 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
480 return CompFactory.Rec.MuidCaloEnergyParam(name, **kwargs)
486 kwargs.setdefault(
"CaloParamTool", muidcaloenergyparam)
489 kwargs.setdefault(
"CellContainerLocation",
"AllCalo")
490 kwargs.setdefault(
"NoiseThresInSigmas", 4.)
491 tool = CompFactory.Rec.MuidCaloEnergyMeas(name, **kwargs)
492 result.setPrivateTools(tool)
500 kwargs.setdefault(
"CaloMeasTool", result.popPrivateTools())
501 kwargs.setdefault(
"EnergyLossMeasurement",
False)
504 if flags.Beam.Type
is BeamType.Cosmics:
505 kwargs.setdefault(
"Cosmics",
True)
506 kwargs.setdefault(
"TrackIsolationTool", result.popToolsAndMerge(
509 result.setPrivateTools(CompFactory.Rec.MuidCaloEnergyTool(name, **kwargs))
514 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
515 kwargs.setdefault(
"InDetTracksLocation",
516 "CombinedInDetTracks" if flags.Detector.GeometryID
else "CombinedITkTracks")
519 tool = CompFactory.Rec.MuidTrackIsolation(name, **kwargs)
520 result.setPrivateTools(tool)
526 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
528 kwargs.setdefault(
"CaloMeasTool", result.popPrivateTools())
530 kwargs.setdefault(
"MinFinalEnergy", 1.0*GeV)
531 kwargs.setdefault(
"MinMuonPt", 10.0*GeV)
532 kwargs.setdefault(
"MopParametrization",
True)
533 if flags.Muon.MuonTrigger:
534 kwargs.setdefault(
"EnergyLossMeasurement",
False)
535 kwargs.setdefault(
"TrackIsolation",
False)
537 kwargs.setdefault(
"EnergyLossMeasurement",
True)
538 kwargs.setdefault(
"TrackIsolation",
True)
540 kwargs.setdefault(
"TrackIsolationTool", result.popToolsAndMerge(
542 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
543 result.setPrivateTools(CompFactory.Rec.MuidCaloEnergyTool(name, **kwargs))
549 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
550 kwargs.setdefault(
"Propagator", result.popToolsAndMerge(
552 kwargs.setdefault(
"MinRemainingEnergy", 0.2*GeV)
553 kwargs.setdefault(
"ParamPtCut", 3.0*GeV)
554 kwargs.setdefault(
"CaloEnergyDeposit", result.popToolsAndMerge(
556 kwargs.setdefault(
"CaloEnergyParam", result.popToolsAndMerge(
560 tool = CompFactory.Rec.MuidCaloTrackStateOnSurface(name, **kwargs)
561 result.setPrivateTools(tool)
567 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
568 kwargs.setdefault(
"Propagator", result.popToolsAndMerge(
570 kwargs.setdefault(
"MinRemainingEnergy", 0.2*GeV)
571 kwargs.setdefault(
"ParamPtCut", 3.0*GeV)
574 tool = CompFactory.Rec.MuidCaloTrackStateOnSurface(name, **kwargs)
575 result.setPrivateTools(tool)
581 kwargs.setdefault(
"TSOSTool", result.popPrivateTools())
583 kwargs.setdefault(
"TSOSToolParam", acc.popPrivateTools())
585 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
586 tool = CompFactory.Rec.MuidMaterialEffectsOnTrackProvider(name, **kwargs)
587 result.setPrivateTools(tool)
593 muidtsosparam = result.popPrivateTools()
594 kwargs.setdefault(
"TSOSTool", muidtsosparam)
595 kwargs.setdefault(
"TSOSToolParam", muidtsosparam)
596 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
597 tool = CompFactory.Rec.MuidMaterialEffectsOnTrackProvider(name, **kwargs)
598 result.setPrivateTools(tool)
603 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg
605 kwargs.setdefault(
"MdtRotCreator", result.popPrivateTools())
606 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import TrackingGeometryCondAlgCfg
608 kwargs.setdefault(
"TrackingGeometryReadKey",
"AtlasTrackingGeometry")
611 kwargs.setdefault(
"Fitter", acc.popPrivateTools())
614 tool = CompFactory.Rec.MuonTrackQuery(name, **kwargs)
615 result.setPrivateTools(tool)
621 from MuonConfig.MuonTrackBuildingConfig
import EMEO_MuonChamberHoleRecoveryToolCfg
622 chamber_recovery = result.popToolsAndMerge(
624 trk_builder = result.popToolsAndMerge(
626 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
627 muon_combined_track_summary = result.popToolsAndMerge(
631 ChamberHoleRecoveryTool=chamber_recovery,
633 TrackSummaryTool=muon_combined_track_summary,
634 STGCRegionSelector=
"",
638 result.setPrivateTools(tool)
644 recovery_tool = result.popToolsAndMerge(
648 MuonHoleRecovery=recovery_tool)
650 tool = result.popToolsAndMerge(acc)
651 result.setPrivateTools(tool)
656 from MuonConfig.MuonRecToolsConfig
import MuonTrackSummaryHelperToolCfg, MuonRefitToolCfg
658 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
661 if flags.IOVDb.DatabaseInstance ==
'COMP200' or \
662 'HLT' in flags.IOVDb.GlobalTag
or flags.Common.isOnline
or flags.Muon.MuonTrigger:
665 flags, name=
"MuidRefitTool", AlignmentErrors=useAlignErrs,
667 tool = CompFactory.Muon.MuonErrorOptimisationTool(name, **kwargs)
668 result.setPrivateTools(tool)
674 from MuonConfig.MuonGeometryConfig
import TrackingVolumesSvcCfg
676 kwargs.setdefault(
"HistoName",
"ThetaScattering")
678 "InFile",
"MuonCombinedBaseTools/AlignmentUncertainties/201029_initial/ID_MS_Uncertainties.root")
679 tool = CompFactory.Muon.MuonAlignmentUncertTool(name, **kwargs)
680 result.addPublicTool(tool)
686 kwargs.setdefault(
"HistoName",
"PhiScattering")
687 from MuonConfig.MuonGeometryConfig
import TrackingVolumesSvcCfg
690 "InFile",
"MuonCombinedBaseTools/AlignmentUncertainties/201029_initial/ID_MS_Uncertainties.root")
691 tool = CompFactory.Muon.MuonAlignmentUncertTool(name, **kwargs)
692 result.addPublicTool(tool)
699 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import CscClusterOnTrackCreatorCfg, MdtDriftCircleOnTrackCreatorCfg, MuonClusterOnTrackCreatorCfg
700 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
704 from MuonConfig.MuonGeometryConfig
import TrackingVolumesSvcCfg
707 kwargs.setdefault(
"CaloEnergyParam", result.popToolsAndMerge(
709 kwargs.setdefault(
"CaloTSOS", result.popToolsAndMerge(
711 kwargs.setdefault(
"Cleaner", result.popToolsAndMerge(
714 kwargs.setdefault(
"AlignmentUncertToolPhi",
715 result.getPublicTool(
'MuonAlignmentUncertToolPhi'))
717 kwargs.setdefault(
"AlignmentUncertToolTheta",
718 result.getPublicTool(
'MuonAlignmentUncertToolTheta'))
720 if flags.Detector.GeometryCSC
and not flags.Muon.MuonTrigger:
721 kwargs.setdefault(
"CscRotCreator", result.popToolsAndMerge(
724 kwargs.setdefault(
"CscRotCreator",
"")
726 kwargs.setdefault(
"Extrapolator", result.popToolsAndMerge(
732 kwargs.setdefault(
"MaterialAllocator", result.popToolsAndMerge(
734 kwargs.setdefault(
"MdtRotCreator", result.popToolsAndMerge(
736 kwargs.setdefault(
"MuonRotCreator", result.popToolsAndMerge(
740 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import (
741 TrackingGeometryCondAlgCfg)
743 geom_cond_key = result.getPrimaryAndMerge(
745 kwargs.setdefault(
"TrackingGeometryReadKey", geom_cond_key)
747 kwargs.setdefault(
"CleanCombined",
True)
748 kwargs.setdefault(
"CleanStandalone",
True)
749 kwargs.setdefault(
"BadFitChi2", 2.5)
750 kwargs.setdefault(
"LargeMomentumError", 0.5)
751 kwargs.setdefault(
"LineMomentum", flags.Muon.straightLineFitMomentum)
752 kwargs.setdefault(
"LowMomentum", 10.*GeV)
753 kwargs.setdefault(
"MinEnergy", 0.3*GeV)
754 kwargs.setdefault(
"PerigeeAtSpectrometerEntrance",
False)
755 kwargs.setdefault(
"ReallocateMaterial",
False)
756 kwargs.setdefault(
"Vertex2DSigmaRPhi", 100.*mm)
757 kwargs.setdefault(
"Vertex3DSigmaRPhi", 6.*mm)
758 kwargs.setdefault(
"Vertex3DSigmaZ", 60.*mm)
759 kwargs.setdefault(
"UseCaloTG",
True)
761 kwargs.setdefault(
"CaloMaterialProvider", result.popToolsAndMerge(
763 kwargs.setdefault(
"TrackQuery", result.popToolsAndMerge(
766 if flags.Muon.SAMuonTrigger:
767 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
768 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
771 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
774 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import MuonCombinedPropagatorCfg, RungeKuttaPropagatorCfg
776 if flags.Muon.MuonTrigger:
780 kwargs.setdefault(
"Propagator", propagator)
781 kwargs.setdefault(
"SLPropagator", propagator)
782 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
785 if flags.Beam.Type
is BeamType.Cosmics:
786 kwargs.setdefault(
"MdtRotCreator",
"")
787 kwargs.setdefault(
"MuonRotCreator",
"")
788 kwargs.setdefault(
"LowMomentum", 1.5*GeV)
789 kwargs.setdefault(
"ReallocateMaterial",
False)
790 kwargs.setdefault(
"Vertex2DSigmaRPhi", 100.*mm)
791 kwargs.setdefault(
"Vertex3DSigmaRPhi", 100.*mm)
792 kwargs.setdefault(
"Vertex3DSigmaZ", 1.*meter)
795 if flags.Muon.enableErrorTuning
and 'MuonErrorOptimizer' not in kwargs:
797 flags, name=
"MuidErrorOptimisationTool", PrepareForFit=
False, RecreateStartingParameters=
False))
798 kwargs.setdefault(
"MuonErrorOptimizer", erroropt)
800 kwargs.setdefault(
"MuonErrorOptimizer",
"")
802 if flags.Muon.MuonTrigger:
803 kwargs.setdefault(
"MuonHoleRecovery",
"")
805 if "MuonHoleRecovery" not in kwargs:
807 muon_combined_track_summary = result.popToolsAndMerge(
810 flags, name=
"MuidSegmentRegionRecoveryTool", TrackSummaryTool=muon_combined_track_summary)
811 kwargs.setdefault(
"MuonHoleRecovery", acc.popPrivateTools())
814 if flags.Muon.doSegmentT0Fit:
815 kwargs.setdefault(
"MdtRotCreator",
"")
816 tool = CompFactory.Rec.CombinedMuonTrackBuilder(name, **kwargs)
817 result.setPrivateTools(tool)
824 from MuonConfig.MuonTrackBuildingConfig
import MuonChamberHoleRecoveryToolCfg
826 kwargs.setdefault(
"PerigeeAtSpectrometerEntrance",
True)
827 kwargs.setdefault(
"UseCaloTG",
False)
828 if flags.Muon.MuonTrigger:
829 kwargs.setdefault(
"MuonErrorOptimizer",
"")
831 kwargs.setdefault(
"MuonErrorOptimizer", result.popToolsAndMerge(
833 kwargs.setdefault(
"MuonHoleRecovery", result.popToolsAndMerge(
837 flags, name, **kwargs))
838 result.setPrivateTools(tool)
844 from MuonConfig.MuonTrackBuildingConfig
import EMEO_MuonChamberHoleRecoveryToolCfg
845 if not flags.Muon.MuonTrigger:
846 trk_builder = result.popToolsAndMerge(
848 kwargs.setdefault(
"MuonHoleRecovery", trk_builder)
850 kwargs.setdefault(
"MuonHoleRecovery",
"")
851 kwargs.setdefault(
"MuonRotCreator",
"")
853 flags, name, **kwargs))
854 result.setPrivateTools(tool)
860 kwargs.setdefault(
"TagTool", result.popPrivateTools())
861 kwargs.setdefault(
"TrackQuery", result.popToolsAndMerge(
864 tool = CompFactory.Rec.MuonMatchQuality(name, **kwargs)
865 result.setPrivateTools(tool)
871 kwargs.setdefault(
"Extrapolator", result.popPrivateTools())
872 kwargs.setdefault(
"TrackBuilder", result.popToolsAndMerge(
875 if "ResidualPullCalculator" not in kwargs:
876 from TrkConfig.TrkResidualPullCalculatorConfig
import (
877 ResidualPullCalculatorCfg)
878 kwargs.setdefault(
"ResidualPullCalculator", result.popToolsAndMerge(
881 tool = CompFactory.Rec.MuidMuonRecovery(name, **kwargs)
882 result.setPrivateTools(tool)
888 kwargs.setdefault(
"ExtrapolatorTool", result.popPrivateTools())
889 kwargs.setdefault(
"Chi2Cut", 50000.)
890 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import TrackingGeometryCondAlgCfg
892 kwargs.setdefault(
"TrackingGeometryReadKey",
"AtlasTrackingGeometry")
893 tool = CompFactory.MuonCombined.MuonTrackTagTestTool(name, **kwargs)
894 result.setPrivateTools(tool)
901 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg, ParticleCaloCellAssociationToolCfg
903 kwargs.setdefault(
"ParticleCaloExtensionTool",
905 kwargs.setdefault(
"ExtrapolatorHandle", result.popToolsAndMerge(
907 kwargs.setdefault(
"ParticleCaloCellAssociationTool",
909 tool = CompFactory.TrackDepositInCaloTool(name, **kwargs)
910 result.setPrivateTools(tool)
915 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
917 kwargs.setdefault(
"ParticleCaloExtensionTool",
919 tool = CompFactory.CaloMuonLikelihoodTool(name, **kwargs)
920 result.setPrivateTools(tool)
925 from TrackToCalo.TrackToCaloConfig
import ParticleCaloCellAssociationToolCfg
927 kwargs.setdefault(
"ParticleCaloCellAssociationTool",
929 tool = CompFactory.CaloMuonScoreTool(name, **kwargs)
930 result.setPrivateTools(tool)
936 the_tool = CompFactory.CaloMuonTag(name, **kwargs)
937 result.setPrivateTools(the_tool)
943 kwargs.setdefault(
"CaloMuonTagLoose",
944 result.popToolsAndMerge(
CaloMuonTagCfg(flags, name=
"CaloMuonTagLoose", TagMode=
"Loose")))
945 kwargs.setdefault(
"CaloMuonTagTight",
947 kwargs.setdefault(
"CaloMuonLikelihoodTool",
949 kwargs.setdefault(
"CaloMuonScoreTool",
951 kwargs.setdefault(
"TrackDepositInCaloTool",
953 from InDetConfig.InDetTrackSelectorToolConfig
import CaloTrkMuIdAlgTrackSelectorToolCfg
954 kwargs.setdefault(
"TrackSelectorTool",
956 kwargs.setdefault(
"doCaloLR",
False)
957 the_tool = CompFactory.MuonCombined.MuonCaloTagTool(name, **kwargs)
958 result.setPrivateTools(the_tool)
965 from MuonConfig.MuonSegmentFindingConfig
import DCMathSegmentMakerCfg, MuonNSWSegmentFinderToolCfg, MuonPRDSelectionToolCfg
968 from MuonConfig.MuonSegmentFindingConfig
import Csc2dSegmentMakerCfg, Csc4dSegmentMakerCfg
969 kwargs.setdefault(
"Csc2DSegmentMaker", result.popToolsAndMerge(
971 kwargs.setdefault(
"Csc4DSegmentMaker", result.popToolsAndMerge(
974 kwargs.setdefault(
"MuonPRDSelectionTool", result.popToolsAndMerge(
976 kwargs.setdefault(
"SegmentMaker", result.popToolsAndMerge(
978 kwargs.setdefault(
"NSWMuonClusterSegmentFinderTool",
982 from AthenaConfiguration.Enums
import LHCPeriod
983 if flags.GeoModel.Run < LHCPeriod.Run3
or flags.Muon.MuonTrigger:
984 kwargs.setdefault(
"InSegmentContainer",
"")
985 kwargs.setdefault(
"MuonLayerSegmentMatchingTool",
"")
987 kwargs.setdefault(
"MuonLayerSegmentMatchingTool", result.popToolsAndMerge(
989 tool = CompFactory.Muon.MuonLayerSegmentFinderTool(name, **kwargs)
990 result.setPrivateTools(tool)
996 kwargs.setdefault(
"Extrapolator", result.popPrivateTools())
998 kwargs.setdefault(
"MatchTool", MuTagTool)
1000 tool = CompFactory.Muon.MuonLayerSegmentMatchingTool(name, **kwargs)
1001 result.setPrivateTools(tool)
1006 from MuonConfig.MuonRecToolsConfig
import MuonAmbiProcessorCfg
1007 if flags.Muon.MuonTrigger:
1008 kwargs.setdefault(
"VertexContainer",
"")
1011 layersegmentfindertool = result.popToolsAndMerge(
1013 kwargs.setdefault(
"MuonLayerSegmentFinderTool", layersegmentfindertool)
1014 kwargs.setdefault(
"MuonLayerSegmentMatchingTool", result.popToolsAndMerge(
1016 kwargs.setdefault(
"MuonLayerAmbiguitySolverTool", result.popToolsAndMerge(
1018 kwargs.setdefault(
"MuonCandidateTrackBuilderTool", result.popToolsAndMerge(
1020 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
1021 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(
1023 kwargs.setdefault(
"MuonTrackBuilder", result.popToolsAndMerge(
1025 kwargs.setdefault(
"TrackAmbiguityProcessor",
1028 tool = CompFactory.MuonCombined.MuonInsideOutRecoTool(name, **kwargs)
1029 result.setPrivateTools(tool)
1035 kwargs.setdefault(
"MuonTrackBuilder", result.popPrivateTools())
1036 muoncandidatetrackbuilder = CompFactory.Muon.MuonCandidateTrackBuilderTool(
1038 result.setPrivateTools(muoncandidatetrackbuilder)
1043 if flags.Input.isMC
is False:
1044 kwargs.setdefault(
"GoodADCFractionCut", 0.5)
1045 kwargs.setdefault(
"MinADCPerSegmentCut", 100)
1047 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
1049 muon_segment_hit_summary_tool = result.popToolsAndMerge(
1051 kwargs.setdefault(
"MuonSegmentHitSummaryTool",
1052 muon_segment_hit_summary_tool)
1053 result.addPublicTool(muon_segment_hit_summary_tool)
1055 result.setPrivateTools(
1056 CompFactory.Muon.MuonSegmentSelectionTool(name, **kwargs))
1061 from MuonConfig.MuonTrackBuildingConfig
import MuonSegmentMatchingToolCfg, MooTrackBuilderCfg
1063 kwargs.setdefault(
"MuonSegmentSelectionTool", result.popPrivateTools())
1064 kwargs.setdefault(
"MuonSegmentMatchingTool", result.popToolsAndMerge(
1067 kwargs.setdefault(
"MuonSegmentTrackBuilder",
1068 result.popToolsAndMerge(
MooTrackBuilderCfg(flags, name=
'MooMuonTrackBuilder', prefix=
'MuSt_')))
1069 kwargs.setdefault(
"MuonEDMPrinterTool", result.getPrimaryAndMerge(
1072 result.setPrivateTools(
1073 CompFactory.Muon.MuonLayerAmbiguitySolverTool(name, **kwargs))
1078 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg, MdtCalibWindowNumber, MdtCalibToolForRotsCfg
1080 kwargs.setdefault(
"TimingMode", 3)
1083 result.setPrivateTools(the_tool)
1090 from MuonConfig.MuonSegmentFindingConfig
import DCMathSegmentMakerCfg, MuonPRDSelectionToolCfg
1091 from MuonConfig.MuonTrackBuildingConfig
import MuonChamberHoleRecoveryToolCfg
1092 from MuonConfig.MuonRecToolsConfig
import MuonAmbiProcessorCfg, MuonSeededSegmentFinderCfg
1093 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg
1094 from MuonConfig.MuonSegmentFindingConfig
import MuonLayerHoughAlgCfg
1095 kwargs.setdefault(
"DoSummary", flags.Muon.printSummary)
1096 kwargs.setdefault(
"ConsideredPDGs", [13, -13, 1000015, -1000015])
1097 kwargs.setdefault(
"DoTruth", flags.Input.isMC)
1098 kwargs.setdefault(
"AddMDTExtrasMuGirlLowBeta", flags.MuonCombined.addMDTExtrasMuGirlLowBeta)
1108 kwargs.setdefault(
"MuonPRDSelectionToolStau",
1110 "MuonPRDSelectionToolStau",
1111 MdtDriftCircleOnTrackCreator=staurotcreator)))
1114 flags, name=
"DCMathStauSegmentMaker", MdtCreator=staurotcreator))
1116 kwargs.setdefault(
"MuonSegmentMaker", segmentmaker)
1118 flags, name=
"DCMathT0FitSegmentMaker", doSegmentT0Fit=
True)))
1121 kwargs.setdefault(
"MuonLayerSegmentMatchingTool", result.popToolsAndMerge(
1125 kwargs.setdefault(
"TrackAmbiguityProcessor",
1128 kwargs.setdefault(
"MuonPRDSelectionTool", result.popToolsAndMerge(
1130 kwargs.setdefault(
"MuonPRDSelectionToolStau", result.popToolsAndMerge(
1132 kwargs.setdefault(
"MdtDriftCircleOnTrackCreator", result.popToolsAndMerge(
1134 kwargs.setdefault(
"MdtDriftCircleOnTrackCreatorStau", staurotcreator)
1138 sTgcPrepDataContainer=
"",
1139 MMPrepDataContainer=
""))
1140 seededsegmentfinder = result.popToolsAndMerge(
MuonSeededSegmentFinderCfg(flags, name=
"MuonStauSeededSegmentFinder", MdtRotCreator=staurotcreator,
1141 SegmentMaker=segmentmaker, SegmentMakerNoHoles=segmentmaker))
1143 flags, name=
"CombinedStauTrackBuilderFit", MdtRotCreator=staurotcreator))
1144 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
1145 muon_combined_track_summary = result.popToolsAndMerge(
1147 muidsegmentregionrecovery = result.popToolsAndMerge(
MuonSegmentRegionRecoveryToolCfg(flags, name=
"MuonStauSegmentRegionRecoveryTool", SeededSegmentFinder=seededsegmentfinder,
1148 RecoverMM=
False, RecoverSTGC=
False, MMRegionSelector=
"", STGCRegionSelector=
"",
1149 ChamberHoleRecoveryTool=chamberholerecoverytool, Fitter=fitter, TrackSummaryTool=muon_combined_track_summary))
1151 flags, name=
"CombinedStauTrackBuilder", MdtRotCreator=staurotcreator, MuonHoleRecovery=muidsegmentregionrecovery))
1152 muoncandidatetrackbuilder = CompFactory.Muon.MuonCandidateTrackBuilderTool(
1153 name=
"MuonStauCandidateTrackBuilderTool", MuonTrackBuilder=trackbuilder)
1154 kwargs.setdefault(
"MuonInsideOutRecoTool", result.popToolsAndMerge(
1155 MuonInsideOutRecoToolCfg(flags, name=
'MuonStauInsideOutRecoTool', MuonCandidateTrackBuilderTool=muoncandidatetrackbuilder)))
1158 tool = CompFactory.MuonCombined.MuonStauRecoTool(name, **kwargs)
1159 result.setPrivateTools(tool)
1166 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
1167 from MuonConfig.MuonRecToolsConfig
import MuonEDMPrinterToolCfg
1170 kwargs.setdefault(
"Printer", result.addPublicTool(result.getPrimaryAndMerge(
MuonEDMPrinterToolCfg(flags))) )
1171 kwargs.setdefault(
"ParticleCaloExtensionTool",
1173 name=
'MuonParticleCaloExtensionTool')))
1176 muon_ext_tool = CompFactory.Muon.MuonSystemExtensionTool(
"MuonSystemExtensionTool", **kwargs)
1177 result.setPrivateTools(muon_ext_tool)
1182 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
1183 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
1186 kwargs.setdefault(
"AssumeLocalErrors",
True)
1187 kwargs.setdefault(
"PhiCut", 30.)
1188 kwargs.setdefault(
"GlobalPhiCut", 1.)
1189 kwargs.setdefault(
"ThetaCut", 5.)
1190 kwargs.setdefault(
"GlobalThetaCut", 0.5)
1191 kwargs.setdefault(
"ThetaAngleCut", 5.)
1192 kwargs.setdefault(
"DoDistanceCut",
True)
1193 kwargs.setdefault(
"CombinedPullCut", 3.0)
1196 kwargs.setdefault(
"IExtrapolator", result.popPrivateTools())
1197 kwargs.setdefault(
"Propagator", result.popToolsAndMerge(
1199 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
1201 kwargs.setdefault(
"MuonSegmentHitSummary", result.popToolsAndMerge(
1203 kwargs.setdefault(
"MuonSegmentSelection", result.popToolsAndMerge(
1206 if "ResidualPullCalculator" not in kwargs:
1207 from TrkConfig.TrkResidualPullCalculatorConfig
import (
1208 ResidualPullCalculatorCfg)
1209 kwargs.setdefault(
"ResidualPullCalculator", result.popToolsAndMerge(
1212 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import (
1213 TrackingGeometryCondAlgCfg)
1215 geom_cond_key = acc.getPrimary().TrackingGeometryWriteKey
1217 kwargs.setdefault(
"TrackingGeometryReadKey", geom_cond_key)
1219 tool = CompFactory.MuTagMatchingTool(name, **kwargs)
1221 result.addPublicTool(tool, primary=
True)
1226 from MuonConfig.MuonTrackBuildingConfig
import MuonSegmentMatchingToolCfg
1228 kwargs.setdefault(
"RejectOuterEndcap",
True)
1229 kwargs.setdefault(
"RejectMatchPhi",
True)
1232 kwargs.setdefault(
"MuonSegmentMatchingTool", result.popToolsAndMerge(
1236 tool = CompFactory.MuTagAmbiguitySolverTool(name, **kwargs)
1237 result.addPublicTool(tool, primary=
True)
1244 kwargs.setdefault(
"MuTagMatchingTool", mu_tag_matching)
1246 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(
1248 kwargs.setdefault(
"MuTagAmbiguitySolverTool", result.getPrimaryAndMerge(
1250 kwargs.setdefault(
"MuonSegmentSelectionTool", result.getPrimaryAndMerge(
1252 kwargs.setdefault(
"MuonSegmentHitSummaryTool", result.getPrimaryAndMerge(
1255 result.setPrivateTools(
1256 CompFactory.MuonCombined.MuonSegmentTagTool(name, **kwargs))