8 result = ComponentAccumulator()
9 kwargs.setdefault(
"downWeightPrdMultiplicity",
True)
10 theAlg = CompFactory.MuonR4.PhiHoughTransformAlg(name, **kwargs)
11 result.addEventAlgo(theAlg, primary=
True)
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)
25 result = ComponentAccumulator()
26 kwargs.setdefault(
"downWeightPrdMultiplicity",
True)
27 theAlg = CompFactory.MuonR4.EtaHoughTransformAlg(name, **kwargs)
28 result.addEventAlgo(theAlg, primary=
True)
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.)
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)
44 kwargs.setdefault(
"doBeamspotConstraint",
False)
46 kwargs.setdefault(
"useFastPreFitter",
False)
47 if kwargs.get(
"useFastPreFitter"):
48 kwargs.setdefault(
"useFastFitter",
True)
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)
58 result = ComponentAccumulator()
59 from MuonTrackFindingAlgs.TrackFindingConfig
import SegmentSelectorCfg, MSTrackFitterCfg
60 kwargs.setdefault(
"SegmentSelectionTool", result.popToolsAndMerge(SegmentSelectorCfg(flags)))
61 from MuonSpacePointCalibrator.CalibrationConfig
import MuonSpacePointCalibratorCfg
62 kwargs.setdefault(
"Calibrator", result.popToolsAndMerge(MuonSpacePointCalibratorCfg(flags)))
63 kwargs.setdefault(
"FittingTool", result.popToolsAndMerge(MSTrackFitterCfg(flags,
64 DoStraightLine=
True)))
65 from ActsConfig.ActsGeometryConfig
import ActsExtrapolationToolCfg
66 kwargs.setdefault(
"ExtrapolationTool", result.popToolsAndMerge(ActsExtrapolationToolCfg(flags, MaxSteps=10000)))
67 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
68 kwargs.setdefault(
"TrackingGeometryTool", result.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)))
69 kwargs.setdefault(
"SegmentContainer",
"MuonSegmentsFromR4")
70 theAlg = CompFactory.MuonR4.SegmentActsRefitAlg(name, **kwargs)
71 result.addEventAlgo(theAlg, primary =
True)
76 result = ComponentAccumulator()
77 from ActsAlignmentAlgs.AlignmentAlgsConfig
import ActsGeometryContextAlgCfg
78 result.merge(ActsGeometryContextAlgCfg(flags))
80 if flags.Muon.enableMLBucketFilter:
81 from MuonInference.InferenceConfig
import GraphBucketFilterToolCfg, GraphInferenceAlgCfg
82 bucketTool = result.popToolsAndMerge(GraphBucketFilterToolCfg(flags))
83 result.merge(GraphInferenceAlgCfg(flags,
84 name = f
"GraphInferenceAlg{suffix}",
85 InferenceTools=[bucketTool]))
87 segmentContainers = []
88 if flags.Detector.GeometrysTGC
or flags.Detector.GeometryMM:
89 segmentContainers+=[
"MuonNswSegments"]
91 EtaHoughMaxContainer =
"MuonHoughNswMaxima",
92 SpacePointContainer =
"NswSpacePoints"))
94 MuonNswSegmentWriteKey = segmentContainers[-1],
95 MuonNswSegmentSeedWriteKey =
"MuonNswSegmentSeeds",
96 CombinatorialReadKey =
"MuonHoughNswMaxima"))
98 if flags.Detector.GeometryMDT
or flags.Detector.GeometryRPC
or flags.Detector.GeometryTGC:
99 if flags.Muon.enableMLBucketFilter:
101 SpacePointContainer =
"FilteredMlBuckets"))
105 segmentContainers+=[
"R4MuonSegments"]
108 name = f
"MuonSegmentFittingAlg{suffix}",
109 OutSegmentContainer=segmentContainers[-1]))
111 from MuonSegmentCnv.MuonSegmentCnvConfig
import xAODSegmentCnvAlgCfg
112 result.merge(xAODSegmentCnvAlgCfg(flags, name = f
"MuonR4xAODSegmentCnvAlg{suffix}", InSegmentKeys = segmentContainers))
114 from MuonTruthAlgsR4.MuonTruthAlgsConfig
import RecoSegmentTruthAssocCfg
115 result.merge(RecoSegmentTruthAssocCfg(flags,
116 name=f
"MuonSegmentsFromR4TruthMatching{suffix}",
117 SegmentKey=
"MuonSegmentsFromR4"))
118 if flags.Muon.scheduleActsReco:
119 from MuonSegmentCnv.MuonSegmentCnvConfig
import MuonR4SegmentCnvAlgCfg
120 result.merge(MuonR4SegmentCnvAlgCfg(flags,
121 name=f
"MuonR4SegmentCnvAlg{suffix}",
122 ReadSegments = segmentContainers,
123 WriteKey=
"TrackMuonSegments"))