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

Functions

 MuonPhiHoughTransformAlgCfg (flags, name="MuonPhiHoughTransformAlg", **kwargs)
 MuonNSWSegmentFinderAlgCfg (flags, name="MuonNswSegmentFinderAlg", **kwargs)
 MuonEtaHoughTransformAlgCfg (flags, name="MuonEtaHoughTransformAlg", **kwargs)
 MuonSegmentFittingAlgCfg (flags, name="MuonSegmentFittingAlg", **kwargs)
 ActsMuonSegmentRefitAlgCfg (flags, name="ActsMuonSegmentRefitAlg", **kwargs)
 MuonPatternRecognitionCfg (flags, suffix="")
 Main config fragment for pattern recognition.

Function Documentation

◆ ActsMuonSegmentRefitAlgCfg()

ActsMuonSegmentRefitAlgCfg ( flags,
name = "ActsMuonSegmentRefitAlg",
** kwargs )

Definition at line 62 of file MuonPatternRecognitionConfig.py.

62def ActsMuonSegmentRefitAlgCfg(flags,name="ActsMuonSegmentRefitAlg", **kwargs):
63 result = ComponentAccumulator()
64 from MuonTrackFindingAlgs.TrackFindingConfig import SegmentSelectorCfg
65 kwargs.setdefault("SegmentSelectionTool", result.popToolsAndMerge(SegmentSelectorCfg(flags)))
66 from MuonSpacePointCalibrator.CalibrationConfig import MuonSpacePointCalibratorCfg
67 kwargs.setdefault("Calibrator", result.popToolsAndMerge(MuonSpacePointCalibratorCfg(flags)))
68 from ActsConfig.ActsGeometryConfig import ActsTrackingGeometrySvcCfg
69 result.merge(ActsTrackingGeometrySvcCfg(flags))
70 kwargs.setdefault("SegmentContainer", "MuonSegmentsFromR4")
71 theAlg = CompFactory.MuonR4.SegmentActsRefitAlg(name, **kwargs)
72 result.addEventAlgo(theAlg, primary = True)
73 return result
74

◆ MuonEtaHoughTransformAlgCfg()

MuonEtaHoughTransformAlgCfg ( flags,
name = "MuonEtaHoughTransformAlg",
** kwargs )

Definition at line 29 of file MuonPatternRecognitionConfig.py.

29def MuonEtaHoughTransformAlgCfg(flags, name = "MuonEtaHoughTransformAlg", **kwargs):
30 result = ComponentAccumulator()
31 kwargs.setdefault("downWeightPrdMultiplicity", True)
32 theAlg = CompFactory.MuonR4.EtaHoughTransformAlg(name, **kwargs)
33 result.addEventAlgo(theAlg, primary=True)
34 return result
35

◆ MuonNSWSegmentFinderAlgCfg()

MuonNSWSegmentFinderAlgCfg ( flags,
name = "MuonNswSegmentFinderAlg",
** kwargs )

Definition at line 15 of file MuonPatternRecognitionConfig.py.

15def MuonNSWSegmentFinderAlgCfg(flags, name = "MuonNswSegmentFinderAlg", **kwargs):
16 result = ComponentAccumulator()
17 from MuonSpacePointCalibrator.CalibrationConfig import MuonSpacePointCalibratorCfg
18 calibrator_kwargs = {}
19 if flags.Input.isMC:
20 #See !90511, possibility to adjust precision strips with sTgcPrecCoordErrorScale and both eta and stereo MMG with mmStripErrorScale
21 calibrator_kwargs["sTgcNonPrecCoordErrorScale"] = 4.
22
23 kwargs.setdefault("Calibrator", result.popToolsAndMerge(MuonSpacePointCalibratorCfg(flags, **calibrator_kwargs)))
24 theAlg = CompFactory.MuonR4.NswSegmentFinderAlg(name, **kwargs)
25 result.addEventAlgo(theAlg, primary=True)
26 return result
27
28

◆ MuonPatternRecognitionCfg()

MuonPatternRecognitionCfg ( flags,
suffix = "" )

Main config fragment for pattern recognition.

The suffix allows to specify in the Event Filter whether the algothms run in RoI or FS.

Definition at line 76 of file MuonPatternRecognitionConfig.py.

76def MuonPatternRecognitionCfg(flags, suffix = ""):
77 result = ComponentAccumulator()
78 from ActsAlignmentAlgs.AlignmentAlgsConfig import ActsGeometryContextAlgCfg
79 result.merge(ActsGeometryContextAlgCfg(flags))
80
81 if flags.Muon.enableMLBucketFilter:
82 from MuonInference.InferenceConfig import GraphBucketFilterToolCfg, GraphInferenceAlgCfg
83 bucketTool = result.popToolsAndMerge(GraphBucketFilterToolCfg(flags))
84 result.merge(GraphInferenceAlgCfg(flags,
85 name = f"GraphInferenceAlg{suffix}",
86 InferenceTools=[bucketTool]))
87
88 segmentContainers = []
89 if flags.Detector.GeometrysTGC or flags.Detector.GeometryMM:
90 segmentContainers+=["MuonNswSegments"]
91 result.merge(MuonEtaHoughTransformAlgCfg(flags, name=f"MuonNswEtaHoughTransformAlg{suffix}",
92 EtaHoughMaxContainer = "MuonHoughNswMaxima",
93 SpacePointContainer = "NswSpacePoints"))
94 result.merge(MuonNSWSegmentFinderAlgCfg(flags, name=f"MuonNswSegmentFinderAlg{suffix}",
95 MuonNswSegmentWriteKey = segmentContainers[-1],
96 MuonNswSegmentSeedWriteKey = "MuonNswSegmentSeeds",
97 CombinatorialReadKey = "MuonHoughNswMaxima"))
98
99 if flags.Detector.GeometryMDT or flags.Detector.GeometryRPC or flags.Detector.GeometryTGC:
100 if flags.Muon.enableMLBucketFilter:
101 result.merge(MuonEtaHoughTransformAlgCfg(flags, name = f"MuonEtaHoughTransformAlg{suffix}",
102 SpacePointContainer = "FilteredMlBuckets"))
103 else:
104 result.merge(MuonEtaHoughTransformAlgCfg(flags, name = f"MuonEtaHoughTransformAlg{suffix}"))
105 result.merge(MuonPhiHoughTransformAlgCfg(flags, name = f"MuonPhiHoughTransformAlg{suffix}"))
106 segmentContainers+=["R4MuonSegments"]
107
108 result.merge(MuonSegmentFittingAlgCfg(flags,
109 name = f"MuonSegmentFittingAlg{suffix}",
110 OutSegmentContainer=segmentContainers[-1]))
111
112 from MuonSegmentCnv.MuonSegmentCnvConfig import xAODSegmentCnvAlgCfg
113 result.merge(xAODSegmentCnvAlgCfg(flags, name = f"MuonR4xAODSegmentCnvAlg{suffix}", InSegmentKeys = segmentContainers))
114 if flags.Muon.setupTruthAlgorithms:
115 from MuonTruthAlgsR4.MuonTruthAlgsConfig import RecoSegmentTruthAssocCfg
116 result.merge(RecoSegmentTruthAssocCfg(flags,
117 name=f"MuonSegmentsFromR4TruthMatching{suffix}",
118 SegmentKey="MuonSegmentsFromR4"))
119 return result

◆ MuonPhiHoughTransformAlgCfg()

MuonPhiHoughTransformAlgCfg ( flags,
name = "MuonPhiHoughTransformAlg",
** kwargs )

Definition at line 7 of file MuonPatternRecognitionConfig.py.

7def MuonPhiHoughTransformAlgCfg(flags, name = "MuonPhiHoughTransformAlg", **kwargs):
8 result = ComponentAccumulator()
9 kwargs.setdefault("downWeightPrdMultiplicity", True)
10 theAlg = CompFactory.MuonR4.PhiHoughTransformAlg(name, **kwargs)
11 result.addEventAlgo(theAlg, primary=True)
12 return result
13
14

◆ MuonSegmentFittingAlgCfg()

MuonSegmentFittingAlgCfg ( flags,
name = "MuonSegmentFittingAlg",
** kwargs )

Definition at line 36 of file MuonPatternRecognitionConfig.py.

36def MuonSegmentFittingAlgCfg(flags, name = "MuonSegmentFittingAlg", **kwargs):
37 result = ComponentAccumulator()
38 from MuonSpacePointCalibrator.CalibrationConfig import MuonSpacePointCalibratorCfg
39 kwargs.setdefault("Calibrator", result.popToolsAndMerge(MuonSpacePointCalibratorCfg(flags)))
40 kwargs.setdefault("ResoSeedHitAssoc", 5. )
41 kwargs.setdefault("RecoveryPull", 3.)
42 # Configure T0 fitting, disabled by default
43 kwargs.setdefault("fitSegmentT0", False)
44 if kwargs.get("fitSegmentT0"):
45 kwargs.setdefault("useHessianResidual", True)
46 kwargs.setdefault("recalibInFit", True)
47 kwargs.setdefault("maxIterations", 400)
48 # temporarily disable beamspot constraint when fitting T0, as it causes FPEs
49 kwargs.setdefault("doBeamspotConstraint", False)
50 # Configure pre-fitting, disabled by default
51 kwargs.setdefault("useFastPreFitter", False)
52 if kwargs.get("useFastPreFitter"):
53 kwargs.setdefault("useFastFitter", True)
54 # Configure main (full) fitting
55 kwargs.setdefault("useFastFitter", False)
56 kwargs.setdefault("recalibInFit", False)
57 kwargs.setdefault("doBeamspotConstraint", True)
58 theAlg = CompFactory.MuonR4.SegmentFittingAlg(name, **kwargs)
59 result.addEventAlgo(theAlg, primary=True)
60 return result
61