8 result = ComponentAccumulator()
9 if not flags.Input.isMC:
12 from ActsAlignmentAlgs.AlignmentAlgsConfig
import ActsGeometryContextAlgCfg
13 result.merge(ActsGeometryContextAlgCfg(flags))
16 if flags.Detector.EnableMDT: containerNames+=[
"MDT_SDO" if useSDO
else "xMdtSimHits"]
17 if flags.Detector.EnableRPC: containerNames+=[
"RPC_SDO" if useSDO
else "xRpcSimHits"]
18 if flags.Detector.EnableTGC: containerNames+=[
"TGC_SDO" if useSDO
else "xTgcSimHits"]
19 if flags.Detector.EnableMM: containerNames+=[
"MM_SDO" if useSDO
else "xMmSimHits"]
20 if flags.Detector.EnablesTGC: containerNames+=[
"sTGC_SDO" if useSDO
else "xStgcSimHits"]
22 from MuonConfig.MuonCalibrationConfig
import MdtCalibDbAlgCfg, NswErrorCalibDbAlgCfg
23 if flags.Detector.EnableMDT:
24 result.merge(MdtCalibDbAlgCfg(flags))
25 if flags.Detector.EnableMM
or flags.Detector.EnablesTGC:
26 result.merge(NswErrorCalibDbAlgCfg(flags))
27 kwargs.setdefault(
"SimHitKeys", containerNames)
28 kwargs.setdefault(
"includePileUpHits", flags.Muon.includePileUpTruth)
30 the_alg = CompFactory.MuonR4.TruthSegmentMaker(name, **kwargs)
31 result.addEventAlgo(the_alg, primary =
True)
35 result = ComponentAccumulator()
36 from ActsAlignmentAlgs.AlignmentAlgsConfig
import ActsGeometryContextAlgCfg
37 result.merge(ActsGeometryContextAlgCfg(flags))
38 the_alg = CompFactory.MuonR4.PrepDataToSimHitAssocAlg(name, **kwargs)
39 result.addEventAlgo(the_alg, primary =
True)
66 result = ComponentAccumulator()
67 if flags.Detector.GeometryMDT:
68 container =
"xMdtSimHits" if not useSDO
else "MDT_SDO"
69 the_alg = CompFactory.MuonR4.SimHitToTruthPartAssocAlg(
"MuonMdtSimHitToTruthParticleAssoc",
70 SimHitContainer = container,
71 HitIdDecoration =
"truthMdtHits")
72 result.addEventAlgo(the_alg)
73 if flags.Detector.GeometryRPC:
74 container =
"xRpcSimHits" if not useSDO
else "RPC_SDO"
75 the_alg = CompFactory.MuonR4.SimHitToTruthPartAssocAlg(
"MuonRpcSimHitToTruthParticleAssoc",
76 SimHitContainer = container,
77 HitIdDecoration =
"truthRpcHits")
78 result.addEventAlgo(the_alg)
79 if flags.Detector.GeometryTGC:
80 container =
"xTgcSimHits" if not useSDO
else "TGC_SDO"
81 the_alg = CompFactory.MuonR4.SimHitToTruthPartAssocAlg(
"MuonTgcSimHitToTruthParticleAssoc",
82 SimHitContainer = container,
83 HitIdDecoration =
"truthTgcHits")
84 result.addEventAlgo(the_alg)
85 if flags.Detector.GeometryMM:
86 container =
"xMmSimHits" if not useSDO
else "MM_SDO"
87 the_alg = CompFactory.MuonR4.SimHitToTruthPartAssocAlg(
"MuonMmSimHitToTruthParticleAssoc",
88 SimHitContainer = container,
89 HitIdDecoration =
"truthMMHits")
90 result.addEventAlgo(the_alg)
91 if flags.Detector.GeometrysTGC:
92 container =
"xStgcSimHits" if not useSDO
else "sTGC_SDO"
93 the_alg = CompFactory.MuonR4.SimHitToTruthPartAssocAlg(
"MuonsTGCSimHitToTruthParticleAssoc",
94 SimHitContainer = container,
95 HitIdDecoration =
"truthStgcHits")
96 result.addEventAlgo(the_alg)
101 result = ComponentAccumulator()
102 from MuonTrackFindingAlgs.TrackFindingConfig
import TrackSummaryToolCfg, TrackSummaryLockCfg
103 kwargs.setdefault(
"SummaryTool", result.popToolsAndMerge(TrackSummaryToolCfg(flags,
104 fillHoles=
False, fillOutliers=
False,
105 recomputeSegment =
False)))
107 kwargs.setdefault(
"ExtraOutputs", [(
'xAOD::TruthParticleContainer',
'MuonTruthParticles.truthHitSummary')])
108 result.merge(TrackSummaryLockCfg(flags, inContainer=
"MuonTruthParticles", fillHoles =
False,
109 fillOutliers =
False, ExtraInputs = kwargs[
"ExtraOutputs"]))
110 the_alg = CompFactory.MuonR4.TruthHitSummaryAlg(name, **kwargs)
111 result.addEventAlgo(the_alg, primary =
True)
115 result = ComponentAccumulator()
117 kwargs.setdefault(
"SegmentKey",
"")
118 from MuonConfig.MuonDataPrepConfig
import PrimaryMeasContNamesCfg
119 kwargs.setdefault(
"PrdContainer", PrimaryMeasContNamesCfg(flags))
120 the_alg = CompFactory.MuonR4.RecoSegToTruthAssocAlg(**kwargs)
121 result.addEventAlgo(the_alg, primary =
True)
125 result = ComponentAccumulator()
127 if flags.Detector.GeometryMDT: hitDecors+=[
"truthMdtHits"]
128 if flags.Detector.GeometryRPC: hitDecors+=[
"truthRpcHits"]
129 if flags.Detector.GeometryTGC: hitDecors+=[
"truthTgcHits"]
130 if flags.Detector.GeometryMM: hitDecors+=[
"truthMMHits"]
131 if flags.Detector.GeometrysTGC: hitDecors+=[
"truthStgcHits"]
132 kwargs.setdefault(
"SimHitIds", hitDecors)
133 from ActsConfig.ActsGeometryConfig
import ActsExtrapolationToolCfg
134 kwargs.setdefault(
"ExtrapolationTool", result.popToolsAndMerge(ActsExtrapolationToolCfg(flags, MaxSteps=100000)))
135 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
136 kwargs.setdefault(
"TrackingGeometryTool", result.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)))
137 kwargs.setdefault(
"includePileUpObjs", flags.Muon.includePileUpTruth)
138 the_alg = CompFactory.MuonR4.TruthSegToTruthPartAssocAlg(name, **kwargs)
139 result.addEventAlgo(the_alg, primary =
True)
143 result = ComponentAccumulator()
145 if flags.Detector.GeometryMDT: hitDecors+=[
"truthMdtHits"]
146 if flags.Detector.GeometryRPC: hitDecors+=[
"truthRpcHits"]
147 if flags.Detector.GeometryTGC: hitDecors+=[
"truthTgcHits"]
148 if flags.Detector.GeometryMM: hitDecors+=[
"truthMMHits"]
149 if flags.Detector.GeometrysTGC: hitDecors+=[
"truthStgcHits"]
150 kwargs.setdefault(
"SimHitIds", hitDecors)
151 the_alg = CompFactory.MuonR4.TrackToTruthPartAssocAlg(**kwargs)
152 result.addEventAlgo(the_alg, primary =
True)
157 result = ComponentAccumulator()
158 the_alg = CompFactory.MuonR4.TruthSegConnectionAlg(name=name, **kwargs)
159 result.addEventAlgo(the_alg, primary =
True)
164 result = ComponentAccumulator()
165 if not flags.Muon.setupTruthAlgorithms:
168 if flags.Reco.EnableTracking: tracks +=[
"InDetTrackParticles"]
169 kwargs.setdefault(
"TrackKeys", tracks)
170 the_alg = CompFactory.MuonR4.MuonToTruthAssocAlg(name, **kwargs)
171 result.addEventAlgo(the_alg, primary =
True)