40 """Return ComponentAccumulator with configured MM_DigitizationTool"""
41 result = ComponentAccumulator()
43 from RngComps.RngCompsConfig
import AthRNGSvcCfg
44 kwargs.setdefault(
"RndmSvc", result.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
46 if flags.Digitization.PileUp:
48 if flags.Digitization.DoXingByXingPileUp:
52 intervals += [result.popToolsAndMerge(
MM_RangeCfg(flags))]
53 kwargs.setdefault(
"PileUpMergeSvc", result.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
55 kwargs.setdefault(
"PileUpMergeSvc",
'')
57 kwargs.setdefault(
"OnlyUseContainerName", flags.Digitization.PileUp)
59 kwargs.setdefault(
"OutputObjectName",
"MM_DIGITS")
60 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
61 kwargs.setdefault(
"OutputSDOName", flags.Overlay.BkgPrefix +
"MM_SDO")
63 kwargs.setdefault(
"OutputSDOName",
"MM_SDO")
66 if not flags.Muon.usePhaseIIGeoSetup:
67 from MuonConfig.MuonCalibrationConfig
import NSWCalibToolCfg, MMCalibSmearingToolCfg
68 kwargs.setdefault(
"CalibrationTool", result.popToolsAndMerge(NSWCalibToolCfg(flags)))
69 kwargs.setdefault(
"SmearingTool", result.popToolsAndMerge(MMCalibSmearingToolCfg(flags)))
70 result.merge(AtlasFieldCacheCondAlgCfg(flags))
71 kwargs.setdefault(
"CheckSimHits",
True)
72 the_tool = CompFactory.MM_DigitizationTool(name, **kwargs)
73 elif flags.Muon.doFastMMDigitization:
74 kwargs.setdefault(
"StreamName",
"MmSimForklift")
75 kwargs.setdefault(
"SimHitKey",
"xMmSimHits")
77 from MuonConfig.MuonCondAlgConfig import MmDigitEffiCondAlgCfg
78 result.merge(MmDigitEffiCondAlgCfg(flags,readFromJSON="EffMapMM.json"))
79 kwargs.setdefault("EffiDataKey", "MmDigitEff")
82 kwargs.setdefault(
"EffiDataKey",
"")
84 from MuonConfig.MuonCalibrationConfig
import NswErrorCalibDbAlgCfg
85 result.merge(NswErrorCalibDbAlgCfg(flags))
86 from ActsAlignmentAlgs.AlignmentAlgsConfig
import ActsGeometryContextAlgCfg
87 result.merge(ActsGeometryContextAlgCfg(flags))
88 the_tool = CompFactory.MuonR4.MmFastDigiTool(name, **kwargs)
90 from MuonConfig.MuonCalibrationConfig
import NSWCalibToolCfg, MMCalibSmearingToolCfg
91 kwargs.setdefault(
"CalibrationTool", result.popToolsAndMerge(NSWCalibToolCfg(flags)))
92 kwargs.setdefault(
"SmearingTool", result.popToolsAndMerge(MMCalibSmearingToolCfg(flags)))
93 result.merge(AtlasFieldCacheCondAlgCfg(flags))
94 kwargs.setdefault(
"CheckSimHits",
True)
96 kwargs.setdefault(
"StreamName",
"MmSimForklift")
97 kwargs.setdefault(
"SimHitKey",
"xMmSimHits")
99 kwargs.setdefault(
"EffiDataKey",
"")
101 from MuonConfig.MuonCalibrationConfig
import NswErrorCalibDbAlgCfg
102 result.merge(NswErrorCalibDbAlgCfg(flags))
103 from ActsAlignmentAlgs.AlignmentAlgsConfig
import ActsGeometryContextAlgCfg
104 result.merge(ActsGeometryContextAlgCfg(flags))
105 the_tool = CompFactory.MuonR4.MM_DigitizationTool(name, **kwargs)
108 result.setPrivateTools(the_tool)
113 """Return ComponentAccumulator with MM_DigitizationTool configured for Overlay"""
114 acc= ComponentAccumulator()
115 kwargs.setdefault(
"PileUpMergeSvc",
'')
117 kwargs.setdefault(
"OnlyUseContainerName",
False)
118 kwargs.setdefault(
"OutputObjectName", flags.Overlay.SigPrefix +
"MM_DIGITS")
119 kwargs.setdefault(
"OutputSDOName", flags.Overlay.SigPrefix +
"MM_SDO")
121 acc.setPrivateTools(the_tool)
151 """Return ComponentAccumulator with MM Overlay digitization"""
152 acc = MuonGeoModelCfg(flags)
153 if flags.Common.ProductionStep != ProductionStep.FastChain:
154 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
155 if flags.Muon.usePhaseIIGeoSetup:
156 acc.merge(SGInputLoaderCfg(flags,[
"xAOD::MuonSimHitContainer#xMmSimHits",
157 "xAOD::muonSimHitAuxConatiner#xMmSimHitsAux."]))
159 acc.merge(SGInputLoaderCfg(flags, [
"MMSimHitCollection#MM_Hits"]))
163 if flags.Concurrency.NumThreads > 0:
164 kwargs.setdefault(
"Cardinality", flags.Concurrency.NumThreads)
167 kwargs.setdefault(
"ExtraInputs", flags.Overlay.ExtraInputs)
169 acc.addEventAlgo(CompFactory.MuonDigitizer(name=
"MM_OverlayDigitizer", **kwargs))