13from DigitizationConfig.PileUpMergeSvcConfig
import PileUpMergeSvcCfg, PileUpXingFolderCfg
39 result = ComponentAccumulator()
41 from RngComps.RngCompsConfig
import AthRNGSvcCfg
42 kwargs.setdefault(
"RndmSvc", result.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
45 if flags.Digitization.PileUp:
47 if flags.Digitization.DoXingByXingPileUp:
52 kwargs.setdefault(
"PileUpMergeSvc", result.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
54 kwargs.setdefault(
"PileUpMergeSvc",
'')
55 kwargs.setdefault(
"OnlyUseContainerName", flags.Digitization.PileUp)
57 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
58 kwargs.setdefault(
"OutputSDOName", flags.Overlay.BkgPrefix +
"sTGC_SDO")
60 kwargs.setdefault(
"OutputSDOName",
"sTGC_SDO")
61 kwargs.setdefault(
"OutputObjectName",
"sTGC_DIGITS")
64 if not flags.Muon.usePhaseIIGeoSetup:
65 from MuonConfig.MuonCalibrationConfig
import NSWCalibToolCfg, STgcCalibSmearingToolCfg
66 kwargs.setdefault(
"CalibrationTool", result.popToolsAndMerge(NSWCalibToolCfg(flags)))
67 kwargs.setdefault(
"SmearingTool", result.popToolsAndMerge(STgcCalibSmearingToolCfg(flags)))
69 kwargs.setdefault(
"doToFCorrection",
True)
70 kwargs.setdefault(
"InputObjectName",
"sTGC_Hits")
71 the_tool = CompFactory.sTgcDigitizationTool(name, **kwargs)
73 elif flags.Muon.doFastsTGCDigitization:
74 from ActsAlignmentAlgs.AlignmentAlgsConfig
import ActsGeometryContextAlgCfg
75 result.merge(ActsGeometryContextAlgCfg(flags))
76 kwargs.setdefault(
"StreamName",
"sTgcSimForklift")
77 kwargs.setdefault(
"SimHitKey",
"xStgcSimHits")
78 kwargs.setdefault(
"EffiDataKey",
"")
80 from MuonConfig.MuonCondAlgConfig import sTgcDigitEffiCondAlgCfg
81 result.merge(sTgcDigitEffiCondAlgCfg(flags,readFromJSON="EffMapsTGC.json"))
82 kwargs.setdefault("EffiDataKey", "sTgcDigitEff")
84 from MuonConfig.MuonCalibrationConfig
import NswErrorCalibDbAlgCfg
85 result.merge(NswErrorCalibDbAlgCfg(flags))
86 the_tool = CompFactory.MuonR4.sTgcFastDigiTool(name, **kwargs)
89 from ActsAlignmentAlgs.AlignmentAlgsConfig
import ActsGeometryContextAlgCfg
90 result.merge(ActsGeometryContextAlgCfg(flags))
91 kwargs.setdefault(
"StreamName",
"sTgcSimForklift")
92 kwargs.setdefault(
"SimHitKey",
"xStgcSimHits")
93 kwargs.setdefault(
"EffiDataKey",
"")
95 from MuonConfig.MuonCalibrationConfig
import NswErrorCalibDbAlgCfg, STgcCalibSmearingToolCfg
96 kwargs.setdefault(
"doToFCorrection",
True)
97 kwargs.setdefault(
"SmearingTool", result.popToolsAndMerge(STgcCalibSmearingToolCfg(flags)))
98 result.merge(NswErrorCalibDbAlgCfg(flags))
99 the_tool = CompFactory.MuonR4.sTgcDigitizationTool(name, **kwargs)
101 result.setPrivateTools(the_tool)
105 """Return ComponentAccumulator with TgcDigitizationTool configured for Overlay"""
106 acc = ComponentAccumulator()
107 kwargs.setdefault(
"PileUpMergeSvc",
'')
108 kwargs.setdefault(
"OnlyUseContainerName",
False)
109 kwargs.setdefault(
"OutputObjectName", flags.Overlay.SigPrefix +
"sTGC_DIGITS")
110 kwargs.setdefault(
"OutputSDOName", flags.Overlay.SigPrefix +
"sTGC_SDO")
112 acc.setPrivateTools(the_tool)
142 """Return ComponentAccumulator with sTGC Overlay digitization"""
143 acc = MuonGeoModelCfg(flags)
144 if flags.Common.ProductionStep != ProductionStep.FastChain:
145 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
146 if flags.Muon.usePhaseIIGeoSetup:
147 acc.merge(SGInputLoaderCfg(flags, [
"xAOD::MuonSimHitContainer#xStgcSimHits",
148 "xAOD::MuonSimHitAuxContainer#xStgcSimHitsAux."]))
150 acc.merge(SGInputLoaderCfg(flags, [
"sTGCSimHitCollection#sTGC_Hits"]))
153 if flags.Concurrency.NumThreads > 0:
154 kwargs.setdefault(
"Cardinality", flags.Concurrency.NumThreads)
157 kwargs.setdefault(
"ExtraInputs", flags.Overlay.ExtraInputs)
159 the_alg = CompFactory.MuonDigitizer(name=
"STGC_OverlayDigitizer", **kwargs)
160 acc.addEventAlgo(the_alg)