ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCombinedRecToolsConfig Namespace Reference

Functions

 InDetCandidateToolCfg (flags, name="InDetCandidateTool", **kwargs)
 MuonInDetForwardCandidateToolCfg (flags, name='InDetForwardCandidateTool', **kwargs)
 MuonCaloEnergyToolCfg (flags, name="MuonCaloEnergyTool", **kwargs)
 MuonMaterialProviderToolCfg (flags, name="MuonTrkMaterialProviderTool", **kwargs)
 MuonSegmentHitSummaryToolCfg (flags, name="MuonSegmentHitSummaryTool", **kwargs)
 MuonSegmentConverterToolCfg (flags, name="MuonSegmentConverterTool", **kwargs)
 MuonDressingToolCfg (flags, name="MuonDressingTool", **kwargs)
 MuonCreatorToolCfg (flags, name="MuonCreatorTool", **kwargs)
 ExtrapolateMuonToIPToolCfg (flags, name="ExtrapolateMuonToIPTool", **kwargs)
 MuonCandidateToolCfg (flags, name="MuonCandidateTool", **kwargs)
 MuonCombinedFitTagToolCfg (flags, name="MuonCombinedFitTagTool", **kwargs)
 MuonCombinedStacoTagToolCfg (flags, name="MuonCombinedStacoTagTool", **kwargs)
 MuidMaterialAllocatorCfg (flags, name='MuidMaterialAllocator', **kwargs)
 iPatFitterCfg (flags, name='iPatFitter', **kwargs)
 iPatSLFitterCfg (flags, name='iPatSLFitter', **kwargs)
 MuidTrackCleanerCfg (flags, name='MuidTrackCleaner', **kwargs)
 MuidCaloEnergyParam (flags, name='MuidCaloEnergyParam', **kwargs)
 MuidCaloEnergyMeasCfg (flags, name='MuidCaloEnergyMeas', **kwargs)
 MuidCaloEnergyToolParamCfg (flags, name='MuidCaloEnergyToolParam', **kwargs)
 MuidTrackIsolationCfg (flags, name='MuidTrackIsolation', **kwargs)
 MuidCaloEnergyToolCfg (flags, name='MuidCaloEnergyTool', **kwargs)
 MuidCaloTrackStateOnSurfaceCfg (flags, name='MuidCaloTrackStateOnSurface', **kwargs)
 MuidCaloTrackStateOnSurfaceParamCfg (flags, name='MuidCaloTrackStateOnSurfaceParam', **kwargs)
 MuidMaterialEffectsOnTrackProviderCfg (flags, name='MuidMaterialEffectsOnTrackProvider', **kwargs)
 MuidMaterialEffectsOnTrackProviderParamCfg (flags, name='MuidMaterialEffectsOnTrackProviderParam', **kwargs)
 MuonTrackQueryCfg (flags, name="MuonTrackQuery", **kwargs)
 MuidErrorOptimisationToolCfg (flags, name='MuidErrorOptimisationTool', **kwargs)
 MuonAlignmentUncertToolThetaCfg (flags, name="MuonAlignmentUncertToolTheta", **kwargs)
 MuonAlignmentUncertToolPhiCfg (flags, name="MuonAlignmentUncertToolPhi", **kwargs)
 CombinedMuonTrackBuilderCfg (flags, name='CombinedMuonTrackBuilder', **kwargs)
 CombinedMuonTrackBuilderFitCfg (flags, name='CombinedMuonTrackBuilderFit', **kwargs)
 MuonMatchQualityCfg (flags, name='MuonMatchQuality', **kwargs)
 MuidMuonRecoveryCfg (flags, name='MuidMuonRecovery', **kwargs)
 CombinedMuonTagTestToolCfg (flags, name='CombinedMuonTagTestTool', **kwargs)
 TrackDepositInCaloToolCfg (flags, name='TrackDepositInCaloTool', **kwargs)
 CaloMuonScoreToolCfg (flags, name='CaloMuonScoreTool', **kwargs)
 CaloMuonTagCfg (flags, name="CaloMuonTag", **kwargs)
 MuonCaloTagToolCfg (flags, name='MuonCaloTagTool', **kwargs)
 MuonLayerSegmentFinderToolCfg (flags, name="MuonLayerSegmentFinderTool", **kwargs)
 MuonLayerSegmentMatchingToolCfg (flags, name="MuonLayerSegmentMatchingTool", **kwargs)
 MuonInsideOutRecoToolCfg (flags, name="MuonInsideOutRecoTool", **kwargs)
 MuonCandidateTrackBuilderToolCfg (flags, name="MuonCandidateTrackBuilderTool", **kwargs)
 MuonSegmentSelectionToolCfg (flags, name="MuonSegmentSelectionTool", **kwargs)
 MuonLayerAmbiguitySolverToolCfg (flags, name="MuonLayerAmbiguitySolverTool", **kwargs)
 MdtDriftCircleOnTrackCreatorStauCfg (flags, name="MdtDriftCircleOnTrackCreatorStau", **kwargs)
 MuonStauRecoToolCfg (flags, name="MuonStauRecoTool", **kwargs)
 MuonSystemExtensionToolCfg (flags, **kwargs)
 MuTagMatchingToolCfg (flags, name='MuTagMatchingTool', **kwargs)
 MuTagAmbiguitySolverToolCfg (flags, name='MuTagAmbiguitySolverTool', **kwargs)
 MuonSegmentTagToolCfg (flags, name="MuonSegmentTagTool", **kwargs)

Function Documentation

◆ CaloMuonScoreToolCfg()

MuonCombinedRecToolsConfig.CaloMuonScoreToolCfg ( flags,
name = 'CaloMuonScoreTool',
** kwargs )

Definition at line 784 of file MuonCombinedRecToolsConfig.py.

784def CaloMuonScoreToolCfg(flags, name='CaloMuonScoreTool', **kwargs):
785 from TrackToCalo.TrackToCaloConfig import ParticleCaloCellAssociationToolCfg
786 result = ComponentAccumulator()
787 kwargs.setdefault("ParticleCaloCellAssociationTool",
788 result.popToolsAndMerge(ParticleCaloCellAssociationToolCfg(flags)))
789 tool = CompFactory.CaloMuonScoreTool(name, **kwargs)
790 result.setPrivateTools(tool)
791 return result
792
793

◆ CaloMuonTagCfg()

MuonCombinedRecToolsConfig.CaloMuonTagCfg ( flags,
name = "CaloMuonTag",
** kwargs )

Definition at line 794 of file MuonCombinedRecToolsConfig.py.

794def CaloMuonTagCfg(flags, name="CaloMuonTag", **kwargs):
795 result = ComponentAccumulator()
796 the_tool = CompFactory.CaloMuonTag(name, **kwargs)
797 result.setPrivateTools(the_tool)
798 return result
799
800

◆ CombinedMuonTagTestToolCfg()

MuonCombinedRecToolsConfig.CombinedMuonTagTestToolCfg ( flags,
name = 'CombinedMuonTagTestTool',
** kwargs )

Definition at line 755 of file MuonCombinedRecToolsConfig.py.

755def CombinedMuonTagTestToolCfg(flags, name='CombinedMuonTagTestTool', **kwargs):
756 result = AtlasExtrapolatorCfg(flags)
757 kwargs.setdefault("ExtrapolatorTool", result.popPrivateTools())
758 kwargs.setdefault("Chi2Cut", 50000.)
759 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
760 result.merge(TrackingGeometryCondAlgCfg(flags))
761 kwargs.setdefault("TrackingGeometryReadKey", "AtlasTrackingGeometry")
762 tool = CompFactory.MuonCombined.MuonTrackTagTestTool(name, **kwargs)
763 result.setPrivateTools(tool)
764 return result
765
766# From MuonCaloTagTool.py
767
768

◆ CombinedMuonTrackBuilderCfg()

MuonCombinedRecToolsConfig.CombinedMuonTrackBuilderCfg ( flags,
name = 'CombinedMuonTrackBuilder',
** kwargs )

Definition at line 583 of file MuonCombinedRecToolsConfig.py.

583def CombinedMuonTrackBuilderCfg(flags, name='CombinedMuonTrackBuilder', **kwargs):
584 from AthenaCommon.SystemOfUnits import meter
585 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import CscClusterOnTrackCreatorCfg, MdtDriftCircleOnTrackCreatorCfg, MuonClusterOnTrackCreatorCfg
586 from TrkConfig.TrkTrackSummaryToolConfig import MuonCombinedTrackSummaryToolCfg
587
588 result = ComponentAccumulator()
589
590 from MuonConfig.MuonGeometryConfig import TrackingVolumesSvcCfg
591 kwargs.setdefault("TrackingVolumesSvc", result.getPrimaryAndMerge(TrackingVolumesSvcCfg(flags)))
592
593 kwargs.setdefault("CaloEnergyParam", result.popToolsAndMerge(
594 MuidCaloEnergyToolParamCfg(flags)))
595 kwargs.setdefault("CaloTSOS", result.popToolsAndMerge(
596 MuidCaloTrackStateOnSurfaceCfg(flags)))
597 kwargs.setdefault("Cleaner", result.popToolsAndMerge(
598 MuidTrackCleanerCfg(flags)))
599 result.merge(MuonAlignmentUncertToolPhiCfg(flags))
600 kwargs.setdefault("AlignmentUncertToolPhi",
601 result.getPublicTool('MuonAlignmentUncertToolPhi'))
602 result.merge(MuonAlignmentUncertToolThetaCfg(flags))
603 kwargs.setdefault("AlignmentUncertToolTheta",
604 result.getPublicTool('MuonAlignmentUncertToolTheta'))
605
606 if flags.Detector.GeometryCSC and not flags.Muon.MuonTrigger:
607 kwargs.setdefault("CscRotCreator", result.popToolsAndMerge(
608 CscClusterOnTrackCreatorCfg(flags)))
609 else:
610 kwargs.setdefault("CscRotCreator", "")
611
612 kwargs.setdefault("Extrapolator", result.popToolsAndMerge(
613 AtlasExtrapolatorCfg(flags)))
614 kwargs.setdefault(
615 "Fitter", result.popToolsAndMerge(iPatFitterCfg(flags)))
616 kwargs.setdefault(
617 "SLFitter", result.popToolsAndMerge(iPatSLFitterCfg(flags)))
618 kwargs.setdefault("MaterialAllocator", result.popToolsAndMerge(
619 MuidMaterialAllocatorCfg(flags)))
620 kwargs.setdefault("MdtRotCreator", result.popToolsAndMerge(
621 MdtDriftCircleOnTrackCreatorCfg(flags)))
622 kwargs.setdefault("MuonRotCreator", result.popToolsAndMerge(
623 MuonClusterOnTrackCreatorCfg(flags)))
624
625 # Tracking Geometry
626 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import (
627 TrackingGeometryCondAlgCfg)
628
629 geom_cond_key = result.getPrimaryAndMerge(
630 TrackingGeometryCondAlgCfg(flags)).TrackingGeometryWriteKey
631 kwargs.setdefault("TrackingGeometryReadKey", geom_cond_key)
632
633 kwargs.setdefault("CleanCombined", True)
634 kwargs.setdefault("CleanStandalone", True)
635 kwargs.setdefault("BadFitChi2", 2.5)
636 kwargs.setdefault("LargeMomentumError", 0.5)
637 kwargs.setdefault("LineMomentum", flags.Muon.straightLineFitMomentum)
638 kwargs.setdefault("LowMomentum", 10.*GeV)
639 kwargs.setdefault("MinEnergy", 0.3*GeV)
640 kwargs.setdefault("PerigeeAtSpectrometerEntrance", False)
641 kwargs.setdefault("ReallocateMaterial", False)
642 kwargs.setdefault("Vertex2DSigmaRPhi", 100.*mm)
643 kwargs.setdefault("Vertex3DSigmaRPhi", 6.*mm)
644 kwargs.setdefault("Vertex3DSigmaZ", 60.*mm)
645 kwargs.setdefault("UseCaloTG", True)
646
647 kwargs.setdefault("CaloMaterialProvider", result.popToolsAndMerge(
648 MuonMaterialProviderToolCfg(flags)))
649 kwargs.setdefault("TrackQuery", result.popToolsAndMerge(
650 MuonTrackQueryCfg(flags)))
651
652 if flags.Muon.SAMuonTrigger:
653 from TrkConfig.TrkTrackSummaryToolConfig import MuonTrackSummaryToolCfg
654 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
655 MuonTrackSummaryToolCfg(flags)))
656 else:
657 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
658 MuonCombinedTrackSummaryToolCfg(flags)))
659
660 from TrkConfig.TrkExRungeKuttaPropagatorConfig import MuonCombinedPropagatorCfg, RungeKuttaPropagatorCfg
661 propagator = None
662 if flags.Muon.MuonTrigger:
663 propagator = result.popToolsAndMerge(RungeKuttaPropagatorCfg(flags))
664 else:
665 propagator = result.popToolsAndMerge(MuonCombinedPropagatorCfg(flags))
666 kwargs.setdefault("Propagator", propagator)
667 kwargs.setdefault("SLPropagator", propagator)
668 kwargs.setdefault("Printer", result.getPrimaryAndMerge(
669 MuonEDMPrinterToolCfg(flags)))
670
671 if flags.Beam.Type is BeamType.Cosmics:
672 kwargs.setdefault("MdtRotCreator", "")
673 kwargs.setdefault("MuonRotCreator", "")
674 kwargs.setdefault("LowMomentum", 1.5*GeV)
675 kwargs.setdefault("ReallocateMaterial", False)
676 kwargs.setdefault("Vertex2DSigmaRPhi", 100.*mm)
677 kwargs.setdefault("Vertex3DSigmaRPhi", 100.*mm)
678 kwargs.setdefault("Vertex3DSigmaZ", 1.*meter)
679
680 # configure tools for data reprocessing
681 if flags.Muon.enableErrorTuning and 'MuonErrorOptimizer' not in kwargs:
682 erroropt = result.popToolsAndMerge(MuidErrorOptimisationToolCfg(
683 flags, name="MuidErrorOptimisationTool", PrepareForFit=False, RecreateStartingParameters=False))
684 kwargs.setdefault("MuonErrorOptimizer", erroropt)
685 else:
686 kwargs.setdefault("MuonErrorOptimizer", "")
687
688 if flags.Muon.MuonTrigger:
689 kwargs.setdefault("MuonHoleRecovery", "")
690 else:
691 if "MuonHoleRecovery" not in kwargs:
692 # Meeded to resolve circular dependency since MuonSegmentRegionRecoveryToolCfg calls CombinedMuonTrackBuilderCfg (i.e. this)!
693 muon_combined_track_summary = result.popToolsAndMerge(
694 MuonCombinedTrackSummaryToolCfg(flags))
695 acc = MuonSegmentRegionRecoveryToolCfg(
696 flags, name="MuidSegmentRegionRecoveryTool", TrackSummaryTool=muon_combined_track_summary)
697 kwargs.setdefault("MuonHoleRecovery", acc.popPrivateTools())
698 result.merge(acc)
699
700 if flags.Muon.doSegmentT0Fit:
701 kwargs.setdefault("MdtRotCreator", "")
702 tool = CompFactory.Rec.CombinedMuonTrackBuilder(name, **kwargs)
703 result.setPrivateTools(tool)
704 return result
705
706

◆ CombinedMuonTrackBuilderFitCfg()

MuonCombinedRecToolsConfig.CombinedMuonTrackBuilderFitCfg ( flags,
name = 'CombinedMuonTrackBuilderFit',
** kwargs )

Definition at line 707 of file MuonCombinedRecToolsConfig.py.

707def CombinedMuonTrackBuilderFitCfg(flags, name='CombinedMuonTrackBuilderFit', **kwargs):
708 # In the old configuration we had duplication between CombinedMuonTrackBuilder and CombinedMuonTrackBuilderFit
709 # Here we just call the Combined
710 from MuonConfig.MuonTrackBuildingConfig import MuonChamberHoleRecoveryToolCfg
711 result = ComponentAccumulator()
712 kwargs.setdefault("PerigeeAtSpectrometerEntrance", True)
713 kwargs.setdefault("UseCaloTG", False)
714 if flags.Muon.MuonTrigger:
715 kwargs.setdefault("MuonErrorOptimizer", "")
716 else:
717 kwargs.setdefault("MuonErrorOptimizer", result.popToolsAndMerge(
718 MuidErrorOptimisationToolCfg(flags, PrepareForFit=False, RecreateStartingParameters=False)))
719 kwargs.setdefault("MuonHoleRecovery", result.popToolsAndMerge(
720 MuonChamberHoleRecoveryToolCfg(flags)))
721
722 tool = result.popToolsAndMerge(CombinedMuonTrackBuilderCfg(
723 flags, name, **kwargs)) # Need to reset this to be the primary tool
724 result.setPrivateTools(tool)
725 return result
726

◆ ExtrapolateMuonToIPToolCfg()

MuonCombinedRecToolsConfig.ExtrapolateMuonToIPToolCfg ( flags,
name = "ExtrapolateMuonToIPTool",
** kwargs )

Definition at line 201 of file MuonCombinedRecToolsConfig.py.

201def ExtrapolateMuonToIPToolCfg(flags, name="ExtrapolateMuonToIPTool", **kwargs):
202 result = AtlasExtrapolatorCfg(flags)
203 kwargs.setdefault("Extrapolator", result.popPrivateTools())
204 from TrkConfig.AtlasExtrapolatorConfig import MuonExtrapolatorCfg
205 kwargs.setdefault("MuonExtrapolator", result.popToolsAndMerge(
206 MuonExtrapolatorCfg(flags)))
207
208 if flags.Muon.MuonTrigger:
209 from TrkConfig.TrkTrackSummaryToolConfig import MuonTrackSummaryToolCfg
210 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
211 MuonTrackSummaryToolCfg(flags)))
212 else:
213 from TrkConfig.TrkTrackSummaryToolConfig import MuonCombinedTrackSummaryToolCfg
214 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
215 MuonCombinedTrackSummaryToolCfg(flags)))
216 kwargs.setdefault("Printer", result.getPrimaryAndMerge(
217 MuonEDMPrinterToolCfg(flags)))
218 result.setPrivateTools(CompFactory.ExtrapolateMuonToIPTool(name, **kwargs))
219 return result
220
221

◆ InDetCandidateToolCfg()

MuonCombinedRecToolsConfig.InDetCandidateToolCfg ( flags,
name = "InDetCandidateTool",
** kwargs )

Definition at line 18 of file MuonCombinedRecToolsConfig.py.

18def InDetCandidateToolCfg(flags, name="InDetCandidateTool", **kwargs):
19 from InDetConfig.InDetTrackSelectorToolConfig import MuonCombinedInDetDetailedTrackSelectorToolCfg
20 result = MuonCombinedInDetDetailedTrackSelectorToolCfg(flags)
21 kwargs.setdefault("TrackSelector", result.popPrivateTools())
22 result.setPrivateTools(
23 CompFactory.MuonCombined.InDetCandidateTool(name, **kwargs))
24 return result
25
26

◆ iPatFitterCfg()

MuonCombinedRecToolsConfig.iPatFitterCfg ( flags,
name = 'iPatFitter',
** kwargs )

Definition at line 329 of file MuonCombinedRecToolsConfig.py.

329def iPatFitterCfg(flags, name='iPatFitter', **kwargs):
330 from TrkConfig.SolenoidalIntersectorConfig import SolenoidalIntersectorCfg
331 from TrkConfig.TrkExSTEP_PropagatorConfig import AtlasSTEP_PropagatorCfg
332
333 kwargs.setdefault("AggregateMaterial", True)
334 kwargs.setdefault("FullCombinedFit", True)
335 result = MuidMaterialAllocatorCfg(flags)
336 kwargs.setdefault("MaterialAllocator", result.popPrivateTools())
337 # RungeKuttaIntersector needs a AtlasFieldCacheCondObj, but it's impossible to get here without that being configured already so let's be lazy
338 # It does not otherwise require explicit configuration
339 kwargs.setdefault('SolenoidalIntersector', result.popToolsAndMerge(
340 SolenoidalIntersectorCfg(flags)))
341 kwargs.setdefault('Propagator', result.popToolsAndMerge(
342 AtlasSTEP_PropagatorCfg(flags)))
343 # StraightLineIntersector does not need explicit configuration
344 if flags.Muon.MuonTrigger:
345 kwargs.setdefault("MaxIterations", 15)
346 if flags.Muon.SAMuonTrigger:
347 from TrkConfig.TrkTrackSummaryToolConfig import MuonTrackSummaryToolCfg
348 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
349 MuonTrackSummaryToolCfg(flags)))
350 else:
351 from TrkConfig.TrkTrackSummaryToolConfig import MuonCombinedTrackSummaryToolCfg
352 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
353 MuonCombinedTrackSummaryToolCfg(flags)))
354
355 tool = CompFactory.Trk.iPatFitter(name, **kwargs)
356 result.setPrivateTools(tool)
357 return result
358
359

◆ iPatSLFitterCfg()

MuonCombinedRecToolsConfig.iPatSLFitterCfg ( flags,
name = 'iPatSLFitter',
** kwargs )

Definition at line 360 of file MuonCombinedRecToolsConfig.py.

360def iPatSLFitterCfg(flags, name='iPatSLFitter', **kwargs):
361 kwargs.setdefault("LineFit", True)
362 kwargs.setdefault("LineMomentum", flags.Muon.straightLineFitMomentum)
363 return iPatFitterCfg(flags, name, **kwargs)
364
365# track cleaner configured to use the same fitter
366
367

◆ MdtDriftCircleOnTrackCreatorStauCfg()

MuonCombinedRecToolsConfig.MdtDriftCircleOnTrackCreatorStauCfg ( flags,
name = "MdtDriftCircleOnTrackCreatorStau",
** kwargs )

Definition at line 934 of file MuonCombinedRecToolsConfig.py.

934def MdtDriftCircleOnTrackCreatorStauCfg(flags, name="MdtDriftCircleOnTrackCreatorStau", **kwargs):
935 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import MdtDriftCircleOnTrackCreatorCfg, MdtCalibWindowNumber, MdtCalibToolForRotsCfg
936 result = ComponentAccumulator()
937 kwargs.setdefault("TimingMode", 3)
938 kwargs.setdefault("CalibrationTool", result.popToolsAndMerge(MdtCalibToolForRotsCfg(flags, TimeWindowSetting = MdtCalibWindowNumber('Collision_t0fit') )) )
939 the_tool = result.popToolsAndMerge(MdtDriftCircleOnTrackCreatorCfg(flags, name, **kwargs))
940 result.setPrivateTools(the_tool)
941 return result
942
943

◆ MuidCaloEnergyMeasCfg()

MuonCombinedRecToolsConfig.MuidCaloEnergyMeasCfg ( flags,
name = 'MuidCaloEnergyMeas',
** kwargs )

Definition at line 406 of file MuonCombinedRecToolsConfig.py.

406def MuidCaloEnergyMeasCfg(flags, name='MuidCaloEnergyMeas', **kwargs):
407 result = ComponentAccumulator()
408 muidcaloenergyparam = MuidCaloEnergyParam(flags)
409 kwargs.setdefault("CaloParamTool", muidcaloenergyparam)
410 # FIXME! Need to setup the folders for CaloNoiseKey (which is why this needs a CA)
411 # Not sure how to do : if flags.haveRIO.Calo_on() but TBH, if the cells aren't there it will abort anyway
412 kwargs.setdefault("CellContainerLocation", "AllCalo")
413 kwargs.setdefault("NoiseThresInSigmas", 4.)
414 tool = CompFactory.Rec.MuidCaloEnergyMeas(name, **kwargs)
415 result.setPrivateTools(tool)
416 return result
417
418
AlgTool returning the parametrized value for the calorimeter energy deposited by a traversing muon.

◆ MuidCaloEnergyParam()

MuonCombinedRecToolsConfig.MuidCaloEnergyParam ( flags,
name = 'MuidCaloEnergyParam',
** kwargs )

Definition at line 401 of file MuonCombinedRecToolsConfig.py.

401def MuidCaloEnergyParam(flags, name='MuidCaloEnergyParam', **kwargs):
402 kwargs.setdefault("Cosmics", flags.Beam.Type is BeamType.Cosmics)
403 return CompFactory.Rec.MuidCaloEnergyParam(name, **kwargs)
404
405

◆ MuidCaloEnergyToolCfg()

MuonCombinedRecToolsConfig.MuidCaloEnergyToolCfg ( flags,
name = 'MuidCaloEnergyTool',
** kwargs )

Definition at line 447 of file MuonCombinedRecToolsConfig.py.

447def MuidCaloEnergyToolCfg(flags, name='MuidCaloEnergyTool', **kwargs):
448 result = MuidCaloEnergyMeasCfg(flags)
449 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
450 result.merge(LArGMCfg(flags))
451 kwargs.setdefault("CaloMeasTool", result.popPrivateTools())
452 kwargs.setdefault("CaloParamTool", MuidCaloEnergyParam(flags))
453 kwargs.setdefault("MinFinalEnergy", 1.0*GeV)
454 kwargs.setdefault("MinMuonPt", 10.0*GeV)
455 kwargs.setdefault("MopParametrization", True)
456 if flags.Muon.MuonTrigger:
457 kwargs.setdefault("EnergyLossMeasurement", False)
458 kwargs.setdefault("TrackIsolation", False)
459 else:
460 kwargs.setdefault("EnergyLossMeasurement", True)
461 kwargs.setdefault("TrackIsolation", True)
462
463 kwargs.setdefault("TrackIsolationTool", result.popToolsAndMerge(
464 MuidTrackIsolationCfg(flags)))
465 kwargs.setdefault("Cosmics", flags.Beam.Type is BeamType.Cosmics)
466 result.setPrivateTools(CompFactory.Rec.MuidCaloEnergyTool(name, **kwargs))
467 return result
468
469

◆ MuidCaloEnergyToolParamCfg()

MuonCombinedRecToolsConfig.MuidCaloEnergyToolParamCfg ( flags,
name = 'MuidCaloEnergyToolParam',
** kwargs )

Definition at line 419 of file MuonCombinedRecToolsConfig.py.

419def MuidCaloEnergyToolParamCfg(flags, name='MuidCaloEnergyToolParam', **kwargs):
420 # Some duplication with MuidCaloEnergyToolCfg but probably safer like this, since
421 # we don't want to set e.g. MinFinalEnergy here
422 result = MuidCaloEnergyMeasCfg(flags)
423 kwargs.setdefault("CaloMeasTool", result.popPrivateTools())
424 kwargs.setdefault("EnergyLossMeasurement", False)
425
426 kwargs.setdefault("CaloParamTool", MuidCaloEnergyParam(flags))
427 if flags.Beam.Type is BeamType.Cosmics:
428 kwargs.setdefault("Cosmics", True)
429 kwargs.setdefault("TrackIsolationTool", result.popToolsAndMerge(
430 MuidTrackIsolationCfg(flags)))
431
432 result.setPrivateTools(CompFactory.Rec.MuidCaloEnergyTool(name, **kwargs))
433 return result
434
435

◆ MuidCaloTrackStateOnSurfaceCfg()

MuonCombinedRecToolsConfig.MuidCaloTrackStateOnSurfaceCfg ( flags,
name = 'MuidCaloTrackStateOnSurface',
** kwargs )

Definition at line 470 of file MuonCombinedRecToolsConfig.py.

470def MuidCaloTrackStateOnSurfaceCfg(flags, name='MuidCaloTrackStateOnSurface', **kwargs):
471 result = ComponentAccumulator()
472 from TrkConfig.TrkExRungeKuttaPropagatorConfig import RungeKuttaPropagatorCfg
473 kwargs.setdefault("Propagator", result.popToolsAndMerge(
474 RungeKuttaPropagatorCfg(flags)))
475 kwargs.setdefault("MinRemainingEnergy", 0.2*GeV)
476 kwargs.setdefault("ParamPtCut", 3.0*GeV)
477 kwargs.setdefault("CaloEnergyDeposit", result.popToolsAndMerge(
478 MuidCaloEnergyToolCfg(flags)))
479 kwargs.setdefault("CaloEnergyParam", result.popToolsAndMerge(
480 MuidCaloEnergyToolParamCfg(flags)))
481 # I don't think CaloMaterialParam i.e. MuidCaloMaterialParam needs explicit configuration
482 # Ditto for IntersectorWrapper, since it just uses RKIntersector which doesn't
483 tool = CompFactory.Rec.MuidCaloTrackStateOnSurface(name, **kwargs)
484 result.setPrivateTools(tool)
485 return result
486
487

◆ MuidCaloTrackStateOnSurfaceParamCfg()

MuonCombinedRecToolsConfig.MuidCaloTrackStateOnSurfaceParamCfg ( flags,
name = 'MuidCaloTrackStateOnSurfaceParam',
** kwargs )

Definition at line 488 of file MuonCombinedRecToolsConfig.py.

488def MuidCaloTrackStateOnSurfaceParamCfg(flags, name='MuidCaloTrackStateOnSurfaceParam', **kwargs):
489 result = ComponentAccumulator()
490 from TrkConfig.TrkExRungeKuttaPropagatorConfig import RungeKuttaPropagatorCfg
491 kwargs.setdefault("Propagator", result.popToolsAndMerge(
492 RungeKuttaPropagatorCfg(flags)))
493 kwargs.setdefault("MinRemainingEnergy", 0.2*GeV)
494 kwargs.setdefault("ParamPtCut", 3.0*GeV)
495 kwargs.setdefault("CaloEnergyDeposit", MuidCaloEnergyParam(flags))
496 kwargs.setdefault("CaloEnergyParam", MuidCaloEnergyParam(flags))
497 tool = CompFactory.Rec.MuidCaloTrackStateOnSurface(name, **kwargs)
498 result.setPrivateTools(tool)
499 return result
500
501

◆ MuidErrorOptimisationToolCfg()

MuonCombinedRecToolsConfig.MuidErrorOptimisationToolCfg ( flags,
name = 'MuidErrorOptimisationTool',
** kwargs )

Definition at line 541 of file MuonCombinedRecToolsConfig.py.

541def MuidErrorOptimisationToolCfg(flags, name='MuidErrorOptimisationTool', **kwargs):
542 from MuonConfig.MuonRecToolsConfig import MuonTrackSummaryHelperToolCfg, MuonRefitToolCfg
543 result = ComponentAccumulator()
544 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
545 MuonTrackSummaryHelperToolCfg(flags)))
546 useAlignErrs = True
547 if flags.IOVDb.DatabaseInstance == 'COMP200' or \
548 'HLT' in flags.IOVDb.GlobalTag or flags.Common.isOnline or flags.Muon.MuonTrigger:
549 useAlignErrs = False
550 kwargs.setdefault("RefitTool", result.popToolsAndMerge(MuonRefitToolCfg(
551 flags, name="MuidRefitTool", AlignmentErrors=useAlignErrs,
552 Fitter=result.popToolsAndMerge(iPatFitterCfg(flags)))))
553 tool = CompFactory.Muon.MuonErrorOptimisationTool(name, **kwargs)
554 result.setPrivateTools(tool)
555 return result
556
557

◆ MuidMaterialAllocatorCfg()

MuonCombinedRecToolsConfig.MuidMaterialAllocatorCfg ( flags,
name = 'MuidMaterialAllocator',
** kwargs )

Definition at line 308 of file MuonCombinedRecToolsConfig.py.

308def MuidMaterialAllocatorCfg(flags, name='MuidMaterialAllocator', **kwargs):
309 from TrkConfig.TrkExSTEP_PropagatorConfig import AtlasSTEP_PropagatorCfg
310 kwargs.setdefault("AggregateMaterial", True)
311 kwargs.setdefault("AllowReordering", False)
312
313 result = AtlasExtrapolatorCfg(flags)
314 kwargs.setdefault("Extrapolator", result.popPrivateTools())
315 # Intersector (a RungeKuttaIntersector) does not require explicit configuration
316 kwargs.setdefault("STEP_Propagator", result.popToolsAndMerge(
317 AtlasSTEP_PropagatorCfg(flags, name="AtlasSTEP_Propagator")))
318 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
319 result.merge(TrackingGeometryCondAlgCfg(flags))
320 kwargs.setdefault("TrackingGeometryReadKey", "AtlasTrackingGeometry")
321
322 tool = CompFactory.Trk.MaterialAllocator(name, **kwargs)
323 result.setPrivateTools(tool)
324 return result
325
326# and the fitter
327
328

◆ MuidMaterialEffectsOnTrackProviderCfg()

MuonCombinedRecToolsConfig.MuidMaterialEffectsOnTrackProviderCfg ( flags,
name = 'MuidMaterialEffectsOnTrackProvider',
** kwargs )

Definition at line 502 of file MuonCombinedRecToolsConfig.py.

502def MuidMaterialEffectsOnTrackProviderCfg(flags, name='MuidMaterialEffectsOnTrackProvider', **kwargs):
503 result = MuidCaloTrackStateOnSurfaceCfg(flags)
504 kwargs.setdefault("TSOSTool", result.popPrivateTools())
505 acc = MuidCaloTrackStateOnSurfaceParamCfg(flags)
506 kwargs.setdefault("TSOSToolParam", acc.popPrivateTools())
507 result.merge(acc)
508 kwargs.setdefault("Cosmics", flags.Beam.Type is BeamType.Cosmics)
509 tool = CompFactory.Rec.MuidMaterialEffectsOnTrackProvider(name, **kwargs)
510 result.setPrivateTools(tool)
511 return result
512
513

◆ MuidMaterialEffectsOnTrackProviderParamCfg()

MuonCombinedRecToolsConfig.MuidMaterialEffectsOnTrackProviderParamCfg ( flags,
name = 'MuidMaterialEffectsOnTrackProviderParam',
** kwargs )

Definition at line 514 of file MuonCombinedRecToolsConfig.py.

514def MuidMaterialEffectsOnTrackProviderParamCfg(flags, name='MuidMaterialEffectsOnTrackProviderParam', **kwargs):
515 result = MuidCaloTrackStateOnSurfaceParamCfg(flags)
516 muidtsosparam = result.popPrivateTools()
517 kwargs.setdefault("TSOSTool", muidtsosparam)
518 kwargs.setdefault("TSOSToolParam", muidtsosparam)
519 kwargs.setdefault("Cosmics", flags.Beam.Type is BeamType.Cosmics)
520 tool = CompFactory.Rec.MuidMaterialEffectsOnTrackProvider(name, **kwargs)
521 result.setPrivateTools(tool)
522 return result
523
524

◆ MuidMuonRecoveryCfg()

MuonCombinedRecToolsConfig.MuidMuonRecoveryCfg ( flags,
name = 'MuidMuonRecovery',
** kwargs )

Definition at line 738 of file MuonCombinedRecToolsConfig.py.

738def MuidMuonRecoveryCfg(flags, name='MuidMuonRecovery', **kwargs):
739 result = AtlasExtrapolatorCfg(flags)
740 kwargs.setdefault("Extrapolator", result.popPrivateTools())
741 kwargs.setdefault("TrackBuilder", result.popToolsAndMerge(
742 CombinedMuonTrackBuilderCfg(flags)))
743
744 if "ResidualPullCalculator" not in kwargs:
745 from TrkConfig.TrkResidualPullCalculatorConfig import (
746 ResidualPullCalculatorCfg)
747 kwargs.setdefault("ResidualPullCalculator", result.popToolsAndMerge(
748 ResidualPullCalculatorCfg(flags)))
749
750 tool = CompFactory.Rec.MuidMuonRecovery(name, **kwargs)
751 result.setPrivateTools(tool)
752 return result
753
754

◆ MuidTrackCleanerCfg()

MuonCombinedRecToolsConfig.MuidTrackCleanerCfg ( flags,
name = 'MuidTrackCleaner',
** kwargs )

Definition at line 368 of file MuonCombinedRecToolsConfig.py.

368def MuidTrackCleanerCfg(flags, name='MuidTrackCleaner', **kwargs):
369 from MuonConfig.MuonRecToolsConfig import MuonTrackCleanerCfg
370 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
371 if flags.Beam.Type is BeamType.Cosmics:
372 kwargs.setdefault("PullCut", 5.0)
373 kwargs.setdefault("PullCutPhi", 10.0)
374 else:
375 kwargs.setdefault("PullCut", 4.0)
376 kwargs.setdefault("PullCutPhi", 4.0)
377 result = ComponentAccumulator()
378 if flags.Muon.MuonTrigger:
379 kwargs.setdefault("Iterate", False)
380 kwargs.setdefault("RecoverOutliers", False)
381 kwargs.setdefault("Fitter", result.popToolsAndMerge(
382 iPatFitterCfg(flags, 'iPatFitterClean', MaxIterations=4)))
383 else:
384 kwargs.setdefault(
385 "Fitter", result.popToolsAndMerge(iPatFitterCfg(flags)))
386 kwargs.setdefault(
387 "SLFitter", result.popToolsAndMerge(iPatSLFitterCfg(flags)))
388
389 # For these following items, set back to default, because overridden in MuonTrackCleaner and we don't want overrides.
390 # ALL properties that are set in old-style are: PullCut, PullCutPhi, Iterate, RecoverOutliers, Fitter and iPatSLFitter
391 # However since there are defaults we still DO need to explicitly set, it's still probably easier to use MuonTrackCleanerCfg
392 kwargs.setdefault("MaxAvePullSumPerChamber", 3.5)
393 kwargs.setdefault("Chi2Cut", 100.0)
394 kwargs.setdefault("Extrapolator", result.getPrimaryAndMerge(
395 AtlasExtrapolatorCfg(flags)))
396 result.setPrivateTools(result.popToolsAndMerge(
397 MuonTrackCleanerCfg(flags, name, **kwargs)))
398 return result
399
400

◆ MuidTrackIsolationCfg()

MuonCombinedRecToolsConfig.MuidTrackIsolationCfg ( flags,
name = 'MuidTrackIsolation',
** kwargs )

Definition at line 436 of file MuonCombinedRecToolsConfig.py.

436def MuidTrackIsolationCfg(flags, name='MuidTrackIsolation', **kwargs):
437 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
438 kwargs.setdefault("InDetTracksLocation",
439 "CombinedInDetTracks" if flags.Detector.GeometryID else "CombinedITkTracks")
440 # RungeKuttaIntersector requires the magnetic field conditions
441 result = AtlasFieldCacheCondAlgCfg(flags)
442 tool = CompFactory.Rec.MuidTrackIsolation(name, **kwargs)
443 result.setPrivateTools(tool)
444 return result
445
446

◆ MuonAlignmentUncertToolPhiCfg()

MuonCombinedRecToolsConfig.MuonAlignmentUncertToolPhiCfg ( flags,
name = "MuonAlignmentUncertToolPhi",
** kwargs )

Definition at line 570 of file MuonCombinedRecToolsConfig.py.

570def MuonAlignmentUncertToolPhiCfg(flags, name="MuonAlignmentUncertToolPhi", **kwargs):
571 result = ComponentAccumulator()
572 kwargs.setdefault("HistoName", "PhiScattering")
573 from MuonConfig.MuonGeometryConfig import TrackingVolumesSvcCfg
574 kwargs.setdefault("TrackingVolumesSvc", result.getPrimaryAndMerge(TrackingVolumesSvcCfg(flags)))
575 kwargs.setdefault(
576 "InFile", "MuonCombinedBaseTools/AlignmentUncertainties/201029_initial/ID_MS_Uncertainties.root")
577 tool = CompFactory.Muon.MuonAlignmentUncertTool(name, **kwargs)
578 result.addPublicTool(tool, primary=True)
579 return result
580
581
582@AccumulatorCache

◆ MuonAlignmentUncertToolThetaCfg()

MuonCombinedRecToolsConfig.MuonAlignmentUncertToolThetaCfg ( flags,
name = "MuonAlignmentUncertToolTheta",
** kwargs )

Definition at line 558 of file MuonCombinedRecToolsConfig.py.

558def MuonAlignmentUncertToolThetaCfg(flags, name="MuonAlignmentUncertToolTheta", **kwargs):
559 result = ComponentAccumulator()
560 from MuonConfig.MuonGeometryConfig import TrackingVolumesSvcCfg
561 kwargs.setdefault("TrackingVolumesSvc", result.getPrimaryAndMerge(TrackingVolumesSvcCfg(flags)))
562 kwargs.setdefault("HistoName", "ThetaScattering")
563 kwargs.setdefault(
564 "InFile", "MuonCombinedBaseTools/AlignmentUncertainties/201029_initial/ID_MS_Uncertainties.root")
565 tool = CompFactory.Muon.MuonAlignmentUncertTool(name, **kwargs)
566 result.addPublicTool(tool, primary = True)
567 return result
568
569

◆ MuonCaloEnergyToolCfg()

MuonCombinedRecToolsConfig.MuonCaloEnergyToolCfg ( flags,
name = "MuonCaloEnergyTool",
** kwargs )

Definition at line 37 of file MuonCombinedRecToolsConfig.py.

37def MuonCaloEnergyToolCfg(flags, name="MuonCaloEnergyTool", **kwargs):
38 from TrackToCalo.TrackToCaloConfig import ParticleCaloCellAssociationToolCfg, ParticleCaloExtensionToolCfg
39
40 result = ParticleCaloExtensionToolCfg(
41 flags, name='MuonParticleCaloExtensionTool')
42 particle_calo_extension_tool = result.getPrimary()
43
44 particle_calo_cell_association_tool = result.popToolsAndMerge(
45 ParticleCaloCellAssociationToolCfg(flags, name='MuonCaloCellAssociationTool', ParticleCaloExtensionTool=particle_calo_extension_tool))
46
47 from TrkConfig.TrkParticleCreatorConfig import MuonCaloParticleCreatorCfg
48 track_particle_creator = result.popToolsAndMerge(
49 MuonCaloParticleCreatorCfg(flags))
50
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)
55 return result
56
57

◆ MuonCaloTagToolCfg()

MuonCombinedRecToolsConfig.MuonCaloTagToolCfg ( flags,
name = 'MuonCaloTagTool',
** kwargs )

Definition at line 801 of file MuonCombinedRecToolsConfig.py.

801def MuonCaloTagToolCfg(flags, name='MuonCaloTagTool', **kwargs):
802 result = ComponentAccumulator()
803 kwargs.setdefault("CaloMuonTagLoose",
804 result.popToolsAndMerge(CaloMuonTagCfg(flags, name="CaloMuonTagLoose", TagMode="Loose")))
805 kwargs.setdefault("CaloMuonTagTight",
806 result.popToolsAndMerge(CaloMuonTagCfg(flags)))
807 kwargs.setdefault("CaloMuonScoreTool",
808 result.popToolsAndMerge(CaloMuonScoreToolCfg(flags)))
809 kwargs.setdefault("TrackDepositInCaloTool",
810 result.popToolsAndMerge(TrackDepositInCaloToolCfg(flags)))
811 from InDetConfig.InDetTrackSelectorToolConfig import CaloTrkMuIdAlgTrackSelectorToolCfg
812 kwargs.setdefault("TrackSelectorTool",
813 result.popToolsAndMerge(CaloTrkMuIdAlgTrackSelectorToolCfg(flags)))
814 the_tool = CompFactory.MuonCombined.MuonCaloTagTool(name, **kwargs)
815 result.setPrivateTools(the_tool)
816 return result
817
818# Misc
819
820

◆ MuonCandidateToolCfg()

MuonCombinedRecToolsConfig.MuonCandidateToolCfg ( flags,
name = "MuonCandidateTool",
** kwargs )

Definition at line 222 of file MuonCombinedRecToolsConfig.py.

222def MuonCandidateToolCfg(flags, name="MuonCandidateTool", **kwargs):
223 from MuonConfig.MuonRecToolsConfig import MuonAmbiProcessorCfg
224 result = ComponentAccumulator()
225 muon_edm_printer = result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags))
226 kwargs.setdefault("Printer", muon_edm_printer)
227 if "TrackBuilder" not in kwargs:
228 kwargs.setdefault("TrackBuilder", result.popToolsAndMerge(
229 CombinedMuonTrackBuilderCfg(flags, name="CombinedMuonTrackBuilder")))
230 # Why was this dependent on cosmics? will now always create this
231 # if flags.Beam.Type is BeamType.Cosmics:
232 if flags.Muon.MuonTrigger and flags.Beam.Type is not BeamType.Cosmics:
233 # trigger definitely only uses the ExtrapolateToIPtool in cosmics mode
234 kwargs.setdefault("TrackExtrapolationTool", "")
235 else:
236 kwargs.setdefault("TrackExtrapolationTool", result.popToolsAndMerge(
237 ExtrapolateMuonToIPToolCfg(flags)))
238 kwargs.setdefault("SegmentContainer", "TrackMuonSegments")
239 kwargs.setdefault("AmbiguityProcessor", result.popToolsAndMerge(
240 MuonAmbiProcessorCfg(flags)))
241
242 from TrkConfig.TrkTrackSummaryToolConfig import MuonTrackSummaryToolCfg
243 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
244 MuonTrackSummaryToolCfg(flags)))
245
246 # MuonIDHelperSvc already configured
247
248 if flags.Beam.Type is BeamType.Cosmics:
249 kwargs.setdefault("ExtrapolationStrategy", 1)
250
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)
256
257 tool = CompFactory.MuonCombined.MuonCandidateTool(name, **kwargs)
258 result.setPrivateTools(tool)
259 return result
260
261

◆ MuonCandidateTrackBuilderToolCfg()

MuonCombinedRecToolsConfig.MuonCandidateTrackBuilderToolCfg ( flags,
name = "MuonCandidateTrackBuilderTool",
** kwargs )

Definition at line 890 of file MuonCombinedRecToolsConfig.py.

890def MuonCandidateTrackBuilderToolCfg(flags, name="MuonCandidateTrackBuilderTool", **kwargs):
891 result = CombinedMuonTrackBuilderCfg(flags)
892 kwargs.setdefault("MuonTrackBuilder", result.popPrivateTools())
893 muoncandidatetrackbuilder = CompFactory.Muon.MuonCandidateTrackBuilderTool(
894 name, **kwargs)
895 result.setPrivateTools(muoncandidatetrackbuilder)
896 return result
897
898

◆ MuonCombinedFitTagToolCfg()

MuonCombinedRecToolsConfig.MuonCombinedFitTagToolCfg ( flags,
name = "MuonCombinedFitTagTool",
** kwargs )

Definition at line 262 of file MuonCombinedRecToolsConfig.py.

262def MuonCombinedFitTagToolCfg(flags, name="MuonCombinedFitTagTool", **kwargs):
263 if flags.Muon.MuonTrigger:
264 kwargs.setdefault("VertexContainer", "")
265
266 result = ComponentAccumulator()
267 kwargs.setdefault("TrackBuilder", result.popToolsAndMerge(
268 CombinedMuonTrackBuilderCfg(flags)))
269
270 kwargs.setdefault("Printer", result.getPrimaryAndMerge(
271 MuonEDMPrinterToolCfg(flags)))
272
273 kwargs.setdefault("TrackQuery", result.popToolsAndMerge(
274 MuonTrackQueryCfg(flags)))
275 kwargs.setdefault("MatchQuality", result.popToolsAndMerge(
276 MuonMatchQualityCfg(flags)))
277
278 from MuonConfig.MuonRecToolsConfig import MuonTrackScoringToolCfg
279 kwargs.setdefault("TrackScoringTool", result.popToolsAndMerge(
280 MuonTrackScoringToolCfg(flags)))
281
282
283 #When both solenoid and toriod are off (e.g. cosmic runs) this cut is likely to kill the combined muon -> loosen up for cosmics
284 if flags.Beam.Type is BeamType.Cosmics and (not flags.BField.endcapToroidOn and not flags.BField.solenoidOn):
285 kwargs.setdefault("MomentumBalanceCut", 1e6)
286
287 tool = CompFactory.MuonCombined.MuonCombinedFitTagTool(name, **kwargs)
288 result.setPrivateTools(tool)
289 return result
290

◆ MuonCombinedStacoTagToolCfg()

MuonCombinedRecToolsConfig.MuonCombinedStacoTagToolCfg ( flags,
name = "MuonCombinedStacoTagTool",
** kwargs )

Definition at line 291 of file MuonCombinedRecToolsConfig.py.

291def MuonCombinedStacoTagToolCfg(flags, name="MuonCombinedStacoTagTool", **kwargs):
292
293 result = ComponentAccumulator()
294 kwargs.setdefault("Printer", result.getPrimaryAndMerge(
295 MuonEDMPrinterToolCfg(flags)))
296 kwargs.setdefault("TagTool", result.popToolsAndMerge(
297 CombinedMuonTagTestToolCfg(flags)))
298 kwargs.setdefault("Extrapolator", result.popToolsAndMerge(
299 AtlasExtrapolatorCfg(flags)))
300
301 tool = CompFactory.MuonCombined.MuonCombinedStacoTagTool(name, **kwargs)
302 result.setPrivateTools(tool)
303 return result
304
305# From Combined fit tools.py
306
307

◆ MuonCreatorToolCfg()

MuonCombinedRecToolsConfig.MuonCreatorToolCfg ( flags,
name = "MuonCreatorTool",
** kwargs )

Definition at line 138 of file MuonCombinedRecToolsConfig.py.

138def MuonCreatorToolCfg(flags, name="MuonCreatorTool", **kwargs):
139 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
140 result = ComponentAccumulator()
141 # Not explicitly setting up MuonIdHelperSvc, nor MuonEDMHelperSvc (configured in top level reco Cfg)
142 muon_edm_printer = result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags))
143 kwargs.setdefault("Printer", muon_edm_printer)
144
145 kwargs.setdefault("MuonPrinter", CompFactory.Rec.MuonPrintingTool(name='MuonPrintingTool',
146 MuonStationPrinter=muon_edm_printer))
147
148 kwargs.setdefault("ParticleCaloExtensionTool",
149 result.popToolsAndMerge(ParticleCaloExtensionToolCfg(flags,
150 name='MuonParticleCaloExtensionTool',
151 StartFromPerigee=True)))
152
153 from TrkConfig.TrkParticleCreatorConfig import MuonCombinedParticleCreatorCfg
154 kwargs.setdefault("TrackParticleCreator", result.popToolsAndMerge(
155 MuonCombinedParticleCreatorCfg(flags)))
156
157 from MuonConfig.MuonRecToolsConfig import MuonAmbiProcessorCfg
158 kwargs.setdefault("AmbiguityProcessor", result.popToolsAndMerge(
159 MuonAmbiProcessorCfg(flags)))
160
161 from TrkConfig.TrkExRungeKuttaPropagatorConfig import RungeKuttaPropagatorCfg
162 kwargs.setdefault("Propagator", result.popToolsAndMerge(
163 RungeKuttaPropagatorCfg(flags)))
164 kwargs.setdefault("MuonDressingTool", result.popToolsAndMerge(
165 MuonDressingToolCfg(flags)))
166 kwargs.setdefault("AddMDTExtrasMuGirlLowBeta", flags.MuonCombined.addMDTExtrasMuGirlLowBeta)
167 # Not explicitly setting up MomentumBalanceTool nor ScatteringAngleTool
168 # Not explicitly setting up MeanMDTdADCTool (but probably should FIXME)
169
170 kwargs.setdefault("CaloMaterialProvider", result.popToolsAndMerge(
171 MuonMaterialProviderToolCfg(flags)))
172
173 kwargs.setdefault("TrackQuery", result.popToolsAndMerge(
174 MuonTrackQueryCfg(flags)))
175 # runCommissioningChain
176 if flags.Muon.SAMuonTrigger:
177 from TrkConfig.TrkTrackSummaryToolConfig import MuonTrackSummaryToolCfg
178 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
179 MuonTrackSummaryToolCfg(flags)))
180 else:
181 from TrkConfig.TrkTrackSummaryToolConfig import MuonCombinedTrackSummaryToolCfg
182 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
183 MuonCombinedTrackSummaryToolCfg(flags)))
184
185 if flags.Muon.MuonTrigger:
186 kwargs.setdefault("MuonSelectionTool", "")
187 kwargs.setdefault("UseCaloCells", False)
188 kwargs.setdefault("CopyUInt8SummaryKeys", [])
189 else:
190 from MuonSelectorTools.MuonSelectorToolsConfig import MuonLoosenedNonCalibratedSelectionToolCfg
191 kwargs.setdefault("MuonSelectionTool", result.popToolsAndMerge(
192 MuonLoosenedNonCalibratedSelectionToolCfg(flags, name='MuonRecoSelTool')))
193 kwargs.setdefault("RequireMSOEforSA", flags.Beam.Type is BeamType.Collisions)
194 kwargs.setdefault("RequireCaloForSA", flags.Beam.Type is BeamType.Collisions)
195
196 tool = CompFactory.MuonCombined.MuonCreatorTool(name, **kwargs)
197 result.setPrivateTools(tool)
198 return result
199
200

◆ MuonDressingToolCfg()

MuonCombinedRecToolsConfig.MuonDressingToolCfg ( flags,
name = "MuonDressingTool",
** kwargs )

Definition at line 128 of file MuonCombinedRecToolsConfig.py.

128def MuonDressingToolCfg(flags, name="MuonDressingTool", **kwargs):
129 from MuonConfig.MuonRecToolsConfig import MuonHitSummaryToolCfg
130 result = MuonHitSummaryToolCfg(flags)
131 kwargs.setdefault("MuonHitSummaryTool", result.popPrivateTools())
132 # HitTimingTool does not need specific configuration
133 tool = CompFactory.MuonCombined.MuonDressingTool(name, **kwargs)
134 result.setPrivateTools(tool)
135 return result
136
137

◆ MuonInDetForwardCandidateToolCfg()

MuonCombinedRecToolsConfig.MuonInDetForwardCandidateToolCfg ( flags,
name = 'InDetForwardCandidateTool',
** kwargs )

Definition at line 27 of file MuonCombinedRecToolsConfig.py.

27def MuonInDetForwardCandidateToolCfg(flags, name='InDetForwardCandidateTool', **kwargs):
28 from InDetConfig.InDetTrackSelectorToolConfig import MuonCombinedInDetDetailedForwardTrackSelectorToolCfg
29 result = MuonCombinedInDetDetailedForwardTrackSelectorToolCfg(flags)
30 kwargs.setdefault("TrackSelector", result.popPrivateTools())
31 kwargs.setdefault("FlagCandidatesAsSiAssociated", True)
32 result.setPrivateTools(result.popToolsAndMerge(
33 InDetCandidateToolCfg(flags, name, **kwargs)))
34 return result # FIXME - is this and the above, actually used?
35
36

◆ MuonInsideOutRecoToolCfg()

MuonCombinedRecToolsConfig.MuonInsideOutRecoToolCfg ( flags,
name = "MuonInsideOutRecoTool",
** kwargs )

Definition at line 862 of file MuonCombinedRecToolsConfig.py.

862def MuonInsideOutRecoToolCfg(flags, name="MuonInsideOutRecoTool", **kwargs):
863 from MuonConfig.MuonRecToolsConfig import MuonAmbiProcessorCfg
864 if flags.Muon.MuonTrigger:
865 kwargs.setdefault("VertexContainer", "")
866 result = ComponentAccumulator()
867 kwargs.setdefault("MuonEDMPrinterTool", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)))
868 layersegmentfindertool = result.popToolsAndMerge(
869 MuonLayerSegmentFinderToolCfg(flags, name="MuonLayerSegmentFinderTool"))
870 kwargs.setdefault("MuonLayerSegmentFinderTool", layersegmentfindertool)
871 kwargs.setdefault("MuonLayerSegmentMatchingTool", result.popToolsAndMerge(
872 MuonLayerSegmentMatchingToolCfg(flags)))
873 kwargs.setdefault("MuonLayerAmbiguitySolverTool", result.popToolsAndMerge(
874 MuonLayerAmbiguitySolverToolCfg(flags)))
875 kwargs.setdefault("MuonCandidateTrackBuilderTool", result.popToolsAndMerge(
876 MuonCandidateTrackBuilderToolCfg(flags)))
877 from TrkConfig.TrkTrackSummaryToolConfig import MuonCombinedTrackSummaryToolCfg
878 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
879 MuonCombinedTrackSummaryToolCfg(flags)))
880 kwargs.setdefault("MuonTrackBuilder", result.popToolsAndMerge(
881 CombinedMuonTrackBuilderCfg(flags)))
882 kwargs.setdefault("TrackAmbiguityProcessor",
883 result.popToolsAndMerge(MuonAmbiProcessorCfg(flags)))
884
885 tool = CompFactory.MuonCombined.MuonInsideOutRecoTool(name, **kwargs)
886 result.setPrivateTools(tool)
887 return result
888
889

◆ MuonLayerAmbiguitySolverToolCfg()

MuonCombinedRecToolsConfig.MuonLayerAmbiguitySolverToolCfg ( flags,
name = "MuonLayerAmbiguitySolverTool",
** kwargs )

Definition at line 917 of file MuonCombinedRecToolsConfig.py.

917def MuonLayerAmbiguitySolverToolCfg(flags, name="MuonLayerAmbiguitySolverTool", **kwargs):
918 from MuonConfig.MuonTrackBuildingConfig import MuonSegmentMatchingToolCfg, MooTrackBuilderCfg
919 result = MuonSegmentSelectionToolCfg(flags)
920 kwargs.setdefault("MuonSegmentSelectionTool", result.popPrivateTools())
921 kwargs.setdefault("MuonSegmentMatchingTool", result.popToolsAndMerge(
922 MuonSegmentMatchingToolCfg(flags, name='MuonSegmentMatchingToolTight', TightSegmentMatching=True)))
923
924 kwargs.setdefault("MuonSegmentTrackBuilder",
925 result.popToolsAndMerge(MooTrackBuilderCfg(flags, name='MooMuonTrackBuilder', prefix='MuSt_')))
926 kwargs.setdefault("MuonEDMPrinterTool", result.getPrimaryAndMerge(
927 MuonEDMPrinterToolCfg(flags)))
928
929 result.setPrivateTools(
930 CompFactory.Muon.MuonLayerAmbiguitySolverTool(name, **kwargs))
931 return result
932
933

◆ MuonLayerSegmentFinderToolCfg()

MuonCombinedRecToolsConfig.MuonLayerSegmentFinderToolCfg ( flags,
name = "MuonLayerSegmentFinderTool",
** kwargs )

Definition at line 821 of file MuonCombinedRecToolsConfig.py.

821def MuonLayerSegmentFinderToolCfg(flags, name="MuonLayerSegmentFinderTool", **kwargs):
822 from MuonConfig.MuonSegmentFindingConfig import DCMathSegmentMakerCfg, MuonNSWSegmentFinderToolCfg, MuonPRDSelectionToolCfg
823 result = ComponentAccumulator()
824
825 from MuonConfig.MuonSegmentFindingConfig import Csc2dSegmentMakerCfg, Csc4dSegmentMakerCfg
826 kwargs.setdefault("Csc2DSegmentMaker", result.popToolsAndMerge(
827 Csc2dSegmentMakerCfg(flags)) if flags.Detector.GeometryCSC else "")
828 kwargs.setdefault("Csc4DSegmentMaker", result.popToolsAndMerge(
829 Csc4dSegmentMakerCfg(flags)) if flags.Detector.GeometryCSC else "")
830
831 kwargs.setdefault("MuonPRDSelectionTool", result.popToolsAndMerge(
832 MuonPRDSelectionToolCfg(flags)))
833 kwargs.setdefault("SegmentMaker", result.popToolsAndMerge(
834 DCMathSegmentMakerCfg(flags, name="DCMathSegmentMaker")))
835 kwargs.setdefault("NSWMuonClusterSegmentFinderTool",
836 result.popToolsAndMerge(MuonNSWSegmentFinderToolCfg(flags, name="MuonNSWSegmentFinderTool")))
837
838
839 from AthenaConfiguration.Enums import LHCPeriod
840 if flags.GeoModel.Run < LHCPeriod.Run3 or flags.Muon.MuonTrigger:
841 kwargs.setdefault("InSegmentContainer", "")
842 kwargs.setdefault("MuonLayerSegmentMatchingTool", "")
843 else:
844 kwargs.setdefault("MuonLayerSegmentMatchingTool", result.popToolsAndMerge(
845 MuonLayerSegmentMatchingToolCfg(flags)))
846 tool = CompFactory.Muon.MuonLayerSegmentFinderTool(name, **kwargs)
847 result.setPrivateTools(tool)
848 return result
849
850

◆ MuonLayerSegmentMatchingToolCfg()

MuonCombinedRecToolsConfig.MuonLayerSegmentMatchingToolCfg ( flags,
name = "MuonLayerSegmentMatchingTool",
** kwargs )

Definition at line 851 of file MuonCombinedRecToolsConfig.py.

851def MuonLayerSegmentMatchingToolCfg(flags, name="MuonLayerSegmentMatchingTool", **kwargs):
852 result = AtlasExtrapolatorCfg(flags)
853 kwargs.setdefault("Extrapolator", result.popPrivateTools())
854 MuTagTool = result.getPrimaryAndMerge(MuTagMatchingToolCfg(flags))
855 kwargs.setdefault("MatchTool", MuTagTool)
856
857 tool = CompFactory.Muon.MuonLayerSegmentMatchingTool(name, **kwargs)
858 result.setPrivateTools(tool)
859 return result
860
861

◆ MuonMatchQualityCfg()

MuonCombinedRecToolsConfig.MuonMatchQualityCfg ( flags,
name = 'MuonMatchQuality',
** kwargs )

Definition at line 727 of file MuonCombinedRecToolsConfig.py.

727def MuonMatchQualityCfg(flags, name='MuonMatchQuality', **kwargs):
728 result = CombinedMuonTagTestToolCfg(flags)
729 kwargs.setdefault("TagTool", result.popPrivateTools())
730 kwargs.setdefault("TrackQuery", result.popToolsAndMerge(
731 MuonTrackQueryCfg(flags)))
732
733 tool = CompFactory.Rec.MuonMatchQuality(name, **kwargs)
734 result.setPrivateTools(tool)
735 return result
736
737

◆ MuonMaterialProviderToolCfg()

MuonCombinedRecToolsConfig.MuonMaterialProviderToolCfg ( flags,
name = "MuonTrkMaterialProviderTool",
** kwargs )

Definition at line 58 of file MuonCombinedRecToolsConfig.py.

58def MuonMaterialProviderToolCfg(flags, name="MuonTrkMaterialProviderTool", **kwargs):
59 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
60 from TrkConfig.AtlasExtrapolatorToolsConfig import AtlasMultipleScatteringUpdatorCfg
61
62 result = AtlasExtrapolatorCfg(flags)
63 atlas_extrapolator = result.popPrivateTools()
64 kwargs.setdefault("Extrapolator", atlas_extrapolator)
65 result.addPublicTool(atlas_extrapolator)
66 kwargs.setdefault("MuonCaloEnergyTool", result.popToolsAndMerge(
67 MuonCaloEnergyToolCfg(flags, name="MuonCaloEnergyTool")))
68
69 # MuonCaloEnergyTool is actually a private tool
70 calo_meas_tool = result.popToolsAndMerge(MuidCaloEnergyMeasCfg(flags))
71 kwargs.setdefault("CaloMeasTool", calo_meas_tool)
72 result.addPublicTool(calo_meas_tool)
73
74 calo_param_tool = MuidCaloEnergyParam(flags)
75 kwargs.setdefault("CaloParamTool", calo_param_tool)
76 result.addPublicTool(calo_param_tool)
77
78 multiple_scattering_tool = result.popToolsAndMerge(
79 AtlasMultipleScatteringUpdatorCfg(flags))
80 kwargs.setdefault("MultipleScatteringTool", multiple_scattering_tool)
81 result.addPublicTool(multiple_scattering_tool)
82
83 useCaloEnergyMeas = True
84 if flags.Muon.MuonTrigger:
85 useCaloEnergyMeas = False
86 kwargs.setdefault("UseCaloEnergyMeasurement", useCaloEnergyMeas)
87 acc = TrackingGeometryCondAlgCfg(flags)
88 kwargs.setdefault("TrackingGeometryReadKey",
89 acc.getPrimary().TrackingGeometryWriteKey)
90 result.merge(acc)
91
92 energy_loss_updator = result.popToolsAndMerge(
93 AtlasEnergyLossUpdatorCfg(flags))
94 kwargs.setdefault("EnergyLossUpdator",
95 energy_loss_updator) # PublicToolHandle
96 result.addPublicTool(energy_loss_updator)
97
98 track_isolation_tool = result.popToolsAndMerge(
99 MuidTrackIsolationCfg(flags))
100 kwargs.setdefault("TrackIsolationTool", track_isolation_tool)
101 result.addPublicTool(track_isolation_tool)
102
103 tool = CompFactory.Trk.TrkMaterialProviderTool(name=name, **kwargs)
104 result.setPrivateTools(tool)
105 return result
106
107

◆ MuonSegmentConverterToolCfg()

MuonCombinedRecToolsConfig.MuonSegmentConverterToolCfg ( flags,
name = "MuonSegmentConverterTool",
** kwargs )

Definition at line 119 of file MuonCombinedRecToolsConfig.py.

119def MuonSegmentConverterToolCfg(flags, name="MuonSegmentConverterTool", **kwargs):
120 result = MuonSegmentHitSummaryToolCfg(flags)
121 kwargs.setdefault("MuonSegmentHitSummaryTool", result.popPrivateTools())
122 # HitTimingTool does not need specific configuration
123 tool = CompFactory.Muon.MuonSegmentConverterTool(name, **kwargs)
124 result.setPrivateTools(tool)
125 return result
126
127

◆ MuonSegmentHitSummaryToolCfg()

MuonCombinedRecToolsConfig.MuonSegmentHitSummaryToolCfg ( flags,
name = "MuonSegmentHitSummaryTool",
** kwargs )

Definition at line 108 of file MuonCombinedRecToolsConfig.py.

108def MuonSegmentHitSummaryToolCfg(flags, name="MuonSegmentHitSummaryTool", **kwargs):
109 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
110 result = ComponentAccumulator()
111 kwargs.setdefault("Printer", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)))
112 result.merge(MuonGeoModelCfg(flags))
113 kwargs.setdefault("DetectorManagerKey", "MuonDetectorManager")
114 tool = CompFactory.Muon.MuonSegmentHitSummaryTool(name, **kwargs)
115 result.setPrivateTools(tool)
116 return result
117
118

◆ MuonSegmentSelectionToolCfg()

MuonCombinedRecToolsConfig.MuonSegmentSelectionToolCfg ( flags,
name = "MuonSegmentSelectionTool",
** kwargs )

Definition at line 899 of file MuonCombinedRecToolsConfig.py.

899def MuonSegmentSelectionToolCfg(flags, name="MuonSegmentSelectionTool", **kwargs):
900 if flags.Input.isMC is False:
901 kwargs.setdefault("GoodADCFractionCut", 0.5)
902 kwargs.setdefault("MinADCPerSegmentCut", 100)
903 result = ComponentAccumulator()
904 kwargs.setdefault("Printer", result.getPrimaryAndMerge(
905 MuonEDMPrinterToolCfg(flags)))
906 muon_segment_hit_summary_tool = result.popToolsAndMerge(
907 MuonSegmentHitSummaryToolCfg(flags))
908 kwargs.setdefault("MuonSegmentHitSummaryTool",
909 muon_segment_hit_summary_tool)
910 result.addPublicTool(muon_segment_hit_summary_tool)
911
912 result.setPrivateTools(
913 CompFactory.Muon.MuonSegmentSelectionTool(name, **kwargs))
914 return result
915
916

◆ MuonSegmentTagToolCfg()

MuonCombinedRecToolsConfig.MuonSegmentTagToolCfg ( flags,
name = "MuonSegmentTagTool",
** kwargs )

Definition at line 1098 of file MuonCombinedRecToolsConfig.py.

1098def MuonSegmentTagToolCfg(flags, name="MuonSegmentTagTool", **kwargs):
1099 result = ComponentAccumulator()
1100 mu_tag_matching = result.getPrimaryAndMerge(MuTagMatchingToolCfg(flags))
1101 kwargs.setdefault("MuTagMatchingTool", mu_tag_matching)
1102
1103 kwargs.setdefault("Printer", result.getPrimaryAndMerge(
1104 MuonEDMPrinterToolCfg(flags)))
1105 kwargs.setdefault("MuTagAmbiguitySolverTool", result.getPrimaryAndMerge(
1106 MuTagAmbiguitySolverToolCfg(flags)))
1107 kwargs.setdefault("MuonSegmentSelectionTool", result.getPrimaryAndMerge(
1108 MuonSegmentSelectionToolCfg(flags)))
1109 kwargs.setdefault("MuonSegmentHitSummaryTool", result.getPrimaryAndMerge(
1110 MuonSegmentHitSummaryToolCfg(flags)))
1111
1112 result.setPrivateTools(
1113 CompFactory.MuonCombined.MuonSegmentTagTool(name, **kwargs))
1114 return result

◆ MuonStauRecoToolCfg()

MuonCombinedRecToolsConfig.MuonStauRecoToolCfg ( flags,
name = "MuonStauRecoTool",
** kwargs )

Definition at line 944 of file MuonCombinedRecToolsConfig.py.

944def MuonStauRecoToolCfg(flags, name="MuonStauRecoTool", **kwargs):
945 # In the old configuration this was split over several functions. But since these Stau tools are only used here,
946 # trying a new approach. We can always refactorise later if necessary.
947 from MuonConfig.MuonSegmentFindingConfig import DCMathSegmentMakerCfg, MuonPRDSelectionToolCfg
948 from MuonConfig.MuonTrackBuildingConfig import MuonChamberHoleRecoveryToolCfg
949 from MuonConfig.MuonRecToolsConfig import MuonAmbiProcessorCfg, MuonSeededSegmentFinderCfg
950 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import MdtDriftCircleOnTrackCreatorCfg
951 from MuonConfig.MuonSegmentFindingConfig import MuonLayerHoughAlgCfg
952 kwargs.setdefault("DoSummary", flags.Muon.printSummary)
953 kwargs.setdefault("ConsideredPDGs", [13, -13, 1000015, -1000015])
954 kwargs.setdefault("DoTruth", flags.Input.isMC)
955 kwargs.setdefault("AddMDTExtrasMuGirlLowBeta", flags.MuonCombined.addMDTExtrasMuGirlLowBeta)
956
957 result = ComponentAccumulator()
958 result.merge(MuonLayerHoughAlgCfg(flags))
959 # Not setting up MuonIdHelperSvc nor MuonEDMHelperSvc
960 kwargs.setdefault("MuonEDMPrinterTool", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)))
961 kwargs.setdefault("MuonPRDSelectionTool", result.popToolsAndMerge(MuonPRDSelectionToolCfg(flags)))
962
963 # This is going to be used in a few tools below
964 staurotcreator = result.popToolsAndMerge(MdtDriftCircleOnTrackCreatorStauCfg(flags))
965 kwargs.setdefault("MuonPRDSelectionToolStau",
966 result.popToolsAndMerge(MuonPRDSelectionToolCfg(flags,
967 "MuonPRDSelectionToolStau",
968 MdtDriftCircleOnTrackCreator=staurotcreator)))
969
970 segmentmaker = result.popToolsAndMerge(DCMathSegmentMakerCfg(
971 flags, name="DCMathStauSegmentMaker", MdtCreator=staurotcreator))
972 # segmentmaker also used by MuonSeededSegmentFinder below
973 kwargs.setdefault("MuonSegmentMaker", segmentmaker)
974 kwargs.setdefault("MuonSegmentMakerT0Fit", result.popToolsAndMerge(DCMathSegmentMakerCfg(
975 flags, name="DCMathT0FitSegmentMaker", doSegmentT0Fit=True)))
976 # ^ doSegmentT0Fit overrides several defaults, including MdtCreatorT0 and MdtSegmentFinder
977
978 kwargs.setdefault("MuonLayerSegmentMatchingTool", result.popToolsAndMerge(
979 MuonLayerSegmentMatchingToolCfg(flags)))
980
981 # Not configuring MuonRecoValidationTool as it is off by default, but it would need configuring if used
982 kwargs.setdefault("TrackAmbiguityProcessor",
983 result.popToolsAndMerge(MuonAmbiProcessorCfg(flags)))
984 # I don't believe MuonHitTimingTool needs configuration.
985 kwargs.setdefault("MuonPRDSelectionTool", result.popToolsAndMerge(
986 MuonPRDSelectionToolCfg(flags)))
987 kwargs.setdefault("MuonPRDSelectionToolStau", result.popToolsAndMerge(
988 MuonPRDSelectionToolCfg(flags, MdtDriftCircleOnTrackCreator=staurotcreator)))
989 kwargs.setdefault("MdtDriftCircleOnTrackCreator", result.popToolsAndMerge(
990 MdtDriftCircleOnTrackCreatorCfg(flags)))
991 kwargs.setdefault("MdtDriftCircleOnTrackCreatorStau", staurotcreator)
992 # Now setup MuonInsideOutRecoTool property of MuonStauRecoTool. Long chain here! Could split for clarity. Another option would be to have a Stau flag on
993 # shared tool functions.
994 chamberholerecoverytool = result.popToolsAndMerge(MuonChamberHoleRecoveryToolCfg(flags,
995 sTgcPrepDataContainer="",
996 MMPrepDataContainer=""))
997 seededsegmentfinder = result.popToolsAndMerge(MuonSeededSegmentFinderCfg(flags, name="MuonStauSeededSegmentFinder", MdtRotCreator=staurotcreator,
998 SegmentMaker=segmentmaker, SegmentMakerNoHoles=segmentmaker))
999 fitter = result.popToolsAndMerge(CombinedMuonTrackBuilderFitCfg(
1000 flags, name="CombinedStauTrackBuilderFit", MdtRotCreator=staurotcreator))
1001 from TrkConfig.TrkTrackSummaryToolConfig import MuonCombinedTrackSummaryToolCfg
1002 muon_combined_track_summary = result.popToolsAndMerge(
1003 MuonCombinedTrackSummaryToolCfg(flags))
1004 muidsegmentregionrecovery = result.popToolsAndMerge(MuonSegmentRegionRecoveryToolCfg(flags, name="MuonStauSegmentRegionRecoveryTool", SeededSegmentFinder=seededsegmentfinder,
1005 RecoverMM=False, RecoverSTGC=False, MMRegionSelector="", STGCRegionSelector="",
1006 ChamberHoleRecoveryTool=chamberholerecoverytool, Fitter=fitter, TrackSummaryTool=muon_combined_track_summary))
1007 trackbuilder = result.popToolsAndMerge(CombinedMuonTrackBuilderCfg(
1008 flags, name="CombinedStauTrackBuilder", MdtRotCreator=staurotcreator, MuonHoleRecovery=muidsegmentregionrecovery))
1009 muoncandidatetrackbuilder = CompFactory.Muon.MuonCandidateTrackBuilderTool(
1010 name="MuonStauCandidateTrackBuilderTool", MuonTrackBuilder=trackbuilder)
1011 kwargs.setdefault("MuonInsideOutRecoTool", result.popToolsAndMerge(
1012 MuonInsideOutRecoToolCfg(flags, name='MuonStauInsideOutRecoTool', MuonCandidateTrackBuilderTool=muoncandidatetrackbuilder)))
1013 # Rest
1014
1015 tool = CompFactory.MuonCombined.MuonStauRecoTool(name, **kwargs)
1016 result.setPrivateTools(tool)
1017 return result
1018
1019

◆ MuonSystemExtensionToolCfg()

MuonCombinedRecToolsConfig.MuonSystemExtensionToolCfg ( flags,
** kwargs )

Definition at line 1020 of file MuonCombinedRecToolsConfig.py.

1020def MuonSystemExtensionToolCfg(flags, **kwargs):
1021 result = ComponentAccumulator()
1022
1023 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
1024 from MuonConfig.MuonRecToolsConfig import MuonEDMPrinterToolCfg
1025
1026 kwargs.setdefault("Extrapolator", result.popToolsAndMerge(AtlasExtrapolatorCfg(flags)))
1027 kwargs.setdefault("Printer", result.addPublicTool(result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags))) )
1028 kwargs.setdefault("ParticleCaloExtensionTool",
1029 result.popToolsAndMerge(ParticleCaloExtensionToolCfg(flags,
1030 name='MuonParticleCaloExtensionTool')))
1031
1032
1033 muon_ext_tool = CompFactory.Muon.MuonSystemExtensionTool("MuonSystemExtensionTool", **kwargs)
1034 result.setPrivateTools(muon_ext_tool)
1035 return result
1036
1037

◆ MuonTrackQueryCfg()

MuonCombinedRecToolsConfig.MuonTrackQueryCfg ( flags,
name = "MuonTrackQuery",
** kwargs )

Definition at line 525 of file MuonCombinedRecToolsConfig.py.

525def MuonTrackQueryCfg(flags, name="MuonTrackQuery", **kwargs):
526 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import MdtDriftCircleOnTrackCreatorCfg
527 result = MdtDriftCircleOnTrackCreatorCfg(flags)
528 kwargs.setdefault("MdtRotCreator", result.popPrivateTools())
529 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
530 result.merge(TrackingGeometryCondAlgCfg(flags))
531 kwargs.setdefault("TrackingGeometryReadKey", "AtlasTrackingGeometry")
532
533 acc = iPatFitterCfg(flags)
534 kwargs.setdefault("Fitter", acc.popPrivateTools())
535 result.merge(acc)
536
537 tool = CompFactory.Rec.MuonTrackQuery(name, **kwargs)
538 result.setPrivateTools(tool)
539 return result
540

◆ MuTagAmbiguitySolverToolCfg()

MuonCombinedRecToolsConfig.MuTagAmbiguitySolverToolCfg ( flags,
name = 'MuTagAmbiguitySolverTool',
** kwargs )

Definition at line 1082 of file MuonCombinedRecToolsConfig.py.

1082def MuTagAmbiguitySolverToolCfg(flags, name='MuTagAmbiguitySolverTool', **kwargs):
1083 from MuonConfig.MuonTrackBuildingConfig import MuonSegmentMatchingToolCfg
1084 #TODO: defaults in cxx
1085 kwargs.setdefault("RejectOuterEndcap", True)
1086 kwargs.setdefault("RejectMatchPhi", True)
1087 result = ComponentAccumulator()
1088 kwargs.setdefault("Printer", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)))
1089 kwargs.setdefault("MuonSegmentMatchingTool", result.popToolsAndMerge(
1090 MuonSegmentMatchingToolCfg(flags, name='MuonSegmentMatchingTool', doPhiMatching=False)))
1091 # EJWM. Not sure where doPhiMatching is set to False in old, but this is what I see in configuration diffs
1092
1093 tool = CompFactory.MuTagAmbiguitySolverTool(name, **kwargs)
1094 result.addPublicTool(tool, primary=True)
1095 return result
1096
1097

◆ MuTagMatchingToolCfg()

MuonCombinedRecToolsConfig.MuTagMatchingToolCfg ( flags,
name = 'MuTagMatchingTool',
** kwargs )

Definition at line 1038 of file MuonCombinedRecToolsConfig.py.

1038def MuTagMatchingToolCfg(flags, name='MuTagMatchingTool', **kwargs):
1039 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
1040 from TrkConfig.TrkExRungeKuttaPropagatorConfig import RungeKuttaPropagatorCfg
1041
1042 #TODO: defaults in cxx
1043 kwargs.setdefault("AssumeLocalErrors", True)
1044 kwargs.setdefault("PhiCut", 30.)
1045 kwargs.setdefault("GlobalPhiCut", 1.)
1046 kwargs.setdefault("ThetaCut", 5.)
1047 kwargs.setdefault("GlobalThetaCut", 0.5)
1048 kwargs.setdefault("ThetaAngleCut", 5.)
1049 kwargs.setdefault("DoDistanceCut", True)
1050 kwargs.setdefault("CombinedPullCut", 3.0)
1051
1052 result = AtlasExtrapolatorCfg(flags)
1053 kwargs.setdefault("IExtrapolator", result.popPrivateTools())
1054 kwargs.setdefault("Propagator", result.popToolsAndMerge(
1055 RungeKuttaPropagatorCfg(flags)))
1056 kwargs.setdefault("Printer", result.getPrimaryAndMerge(
1057 MuonEDMPrinterToolCfg(flags)))
1058 kwargs.setdefault("MuonSegmentHitSummary", result.popToolsAndMerge(
1059 MuonSegmentHitSummaryToolCfg(flags)))
1060 kwargs.setdefault("MuonSegmentSelection", result.popToolsAndMerge(
1061 MuonSegmentSelectionToolCfg(flags)))
1062
1063 if "ResidualPullCalculator" not in kwargs:
1064 from TrkConfig.TrkResidualPullCalculatorConfig import (
1065 ResidualPullCalculatorCfg)
1066 kwargs.setdefault("ResidualPullCalculator", result.popToolsAndMerge(
1067 ResidualPullCalculatorCfg(flags)))
1068
1069 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import (
1070 TrackingGeometryCondAlgCfg)
1071 acc = TrackingGeometryCondAlgCfg(flags)
1072 geom_cond_key = acc.getPrimary().TrackingGeometryWriteKey
1073 result.merge(acc)
1074 kwargs.setdefault("TrackingGeometryReadKey", geom_cond_key)
1075
1076 tool = CompFactory.MuTagMatchingTool(name, **kwargs)
1077
1078 result.addPublicTool(tool, primary=True)
1079 return result
1080
1081

◆ TrackDepositInCaloToolCfg()

MuonCombinedRecToolsConfig.TrackDepositInCaloToolCfg ( flags,
name = 'TrackDepositInCaloTool',
** kwargs )

Definition at line 769 of file MuonCombinedRecToolsConfig.py.

769def TrackDepositInCaloToolCfg(flags, name='TrackDepositInCaloTool', **kwargs):
770 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg, ParticleCaloCellAssociationToolCfg
771 result = ComponentAccumulator()
772 kwargs.setdefault("ParticleCaloExtensionTool",
773 result.popToolsAndMerge(ParticleCaloExtensionToolCfg(flags)))
774 kwargs.setdefault("ExtrapolatorHandle", result.popToolsAndMerge(
775 AtlasExtrapolatorCfg(flags)))
776 kwargs.setdefault("ParticleCaloCellAssociationTool",
777 result.popToolsAndMerge(ParticleCaloCellAssociationToolCfg(flags, name="Rec::ParticleCaloCellAssociationTool")))
778 tool = CompFactory.TrackDepositInCaloTool(name, **kwargs)
779 result.setPrivateTools(tool)
780 return result
781
782
783