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()

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

Definition at line 57 of file MuonPatternRecognitionConfig.py.

57def ActsMuonSegmentRefitAlgCfg(flags,name="ActsMuonSegmentRefitAlg", **kwargs):
58 result = ComponentAccumulator()
59 from MuonTrackFindingAlgs.TrackFindingConfig import SegmentSelectorCfg
60 kwargs.setdefault("SegmentSelectionTool", result.popToolsAndMerge(SegmentSelectorCfg(flags)))
61 from MuonSpacePointCalibrator.CalibrationConfig import MuonSpacePointCalibratorCfg
62 kwargs.setdefault("Calibrator", result.popToolsAndMerge(MuonSpacePointCalibratorCfg(flags)))
63 from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
64 kwargs.setdefault("TrackingGeometryTool", result.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)))
65 kwargs.setdefault("SegmentContainer", "MuonSegmentsFromR4")
66 theAlg = CompFactory.MuonR4.SegmentActsRefitAlg(name, **kwargs)
67 result.addEventAlgo(theAlg, primary = True)
68 return result
69

◆ MuonEtaHoughTransformAlgCfg()

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

Definition at line 24 of file MuonPatternRecognitionConfig.py.

24def MuonEtaHoughTransformAlgCfg(flags, name = "MuonEtaHoughTransformAlg", **kwargs):
25 result = ComponentAccumulator()
26 kwargs.setdefault("downWeightPrdMultiplicity", True)
27 theAlg = CompFactory.MuonR4.EtaHoughTransformAlg(name, **kwargs)
28 result.addEventAlgo(theAlg, primary=True)
29 return result
30

◆ MuonNSWSegmentFinderAlgCfg()

MuonPatternRecognitionConfig.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 kwargs.setdefault("Calibrator", result.popToolsAndMerge(MuonSpacePointCalibratorCfg(flags)))
19 theAlg = CompFactory.MuonR4.NswSegmentFinderAlg(name, **kwargs)
20 result.addEventAlgo(theAlg, primary=True)
21 return result
22
23

◆ MuonPatternRecognitionCfg()

MuonPatternRecognitionConfig.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 71 of file MuonPatternRecognitionConfig.py.

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

◆ MuonPhiHoughTransformAlgCfg()

MuonPatternRecognitionConfig.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()

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

Definition at line 31 of file MuonPatternRecognitionConfig.py.

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