ATLAS Offline Software
Loading...
Searching...
No Matches
python.LArDigitizationConfig Namespace Reference

Functions

 useLArFloat (flags)
 LArRangeEMCfg (flags, name="LArRangeEM", **kwargs)
 LArRangeHECCfg (flags, name="LArRangeHEC", **kwargs)
 LArRangeFCALCfg (flags, name="LArRangeFCAL", **kwargs)
 LArPileUpToolCfg (flags, name="LArPileUpTool", **kwargs)
 LArHitEMapToDigitAlgCfg (flags, name="LArHitEMapToDigitAlg", **kwargs)
 LArOutputCfg (flags)
 LArDigitizationBasicCfg (flags, **kwargs)
 LArDigitizationCfg (flags, **kwargs)
 LArOverlayDigitizationBasicCfg (flags, name="digitmaker1", **kwargs)
 LArOverlayCfg (flags, **kwargs)
 LArAutoCorrNoiseCondSCAlgCfg (flags, **kwargs)
 LArSCL1MakerCfg (flags, **kwargs)
 LArTriggerDigitizationBasicCfg (flags, **kwargs)
 LArTriggerDigitizationCfg (flags, **kwargs)
 LArOverlayTriggerDigitizationBasicCfg (flags, **kwargs)
 LArSuperCellOverlayCfg (flags, **kwargs)

Detailed Description

Define functions for LAr Digitization with ComponentAccumulator

Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration

Function Documentation

◆ LArAutoCorrNoiseCondSCAlgCfg()

LArAutoCorrNoiseCondSCAlgCfg ( flags,
** kwargs )

Definition at line 327 of file LArDigitizationConfig.py.

327def LArAutoCorrNoiseCondSCAlgCfg(flags, **kwargs):
328 acc = ComponentAccumulator()
329
330 requiredConditions=["AutoCorrSC"]
331 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBMCSCCfg
332 acc.merge(LArElecCalibDBMCSCCfg(flags,requiredConditions))
333 kwargs.setdefault("LArAutoCorrObjKey", "LArAutoCorrSC") # Provided by LArFlatConditionsAlg<LArAutoCorrSC>
334
335 from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg
336 acc.merge(LArOnOffIdMappingSCCfg(flags))
337 kwargs.setdefault("LArOnOffIdMappingObjKey", 'LArOnOffIdMapSC')
338 kwargs.setdefault("nSampl", flags.LAr.ROD.nSamples + 2) # See ATLASSIM-5483
339 kwargs.setdefault("isSuperCell", True)
340 kwargs.setdefault("LArAutoCorrNoiseObjKey", "LArAutoCorrNoiseSC") # output
341 acc.addCondAlgo(CompFactory.LArAutoCorrNoiseCondAlg(name="LArAutoCorrNoiseSCCondAlg", **kwargs))
342 return acc
343
344

◆ LArDigitizationBasicCfg()

LArDigitizationBasicCfg ( flags,
** kwargs )
Return ComponentAccumulator with LAr digitization configuration

Definition at line 261 of file LArDigitizationConfig.py.

261def LArDigitizationBasicCfg(flags, **kwargs):
262 """Return ComponentAccumulator with LAr digitization configuration"""
263 acc = ComponentAccumulator()
264 if "PileUpTools" not in kwargs:
265 PileUpTools = acc.popToolsAndMerge(LArPileUpToolCfg(flags))
266 kwargs["PileUpTools"] = PileUpTools
267 acc.merge(PileUpToolsCfg(flags, **kwargs))
268
269 acc.merge(LArHitEMapToDigitAlgCfg(flags))
270
271 if flags.LAr.ROD.ApplyRODBCIDCorr:
272 mlog = logging.getLogger('LArDigitizationBasicCfg')
273 mlog.info('LAr.ROD.ApplyRODBCIDCorr is set: scheduling LArRODBCIDCorrAlg '
274 'to subtract the BCID-dependent pile-up offset from the digits')
275 if (flags.hasFlag('Calo.Cell.doPileupOffsetBCIDCorr')
276 and flags.Calo.Cell.doPileupOffsetBCIDCorr):
277 mlog.warning('Calo.Cell.doPileupOffsetBCIDCorr is also enabled: the '
278 'pile-up offset will be subtracted twice')
279 acc.merge(LArRODBCIDCorrAlgCfg(flags))
280
281 if flags.LAr.ROD.NNRawChannelBuilding:
282 acc.merge(LArNNRawChannelBuilderCfg(flags))
283 elif flags.LAr.ROD.OFFCRawChannelBuilding:
284 acc.merge(LArOFFCRawChannelBuilderCfg(flags))
285 else:
286 acc.merge(LArRawChannelBuilderAlgCfg(flags))
287
288 if flags.Digitization.AddCaloDigiThinned:
289 acc.merge(LArDigitThinnerCfg(flags))
290 return acc
291
292

◆ LArDigitizationCfg()

LArDigitizationCfg ( flags,
** kwargs )
Return ComponentAccumulator with LAr digitization and Output

Definition at line 293 of file LArDigitizationConfig.py.

293def LArDigitizationCfg(flags, **kwargs):
294 """Return ComponentAccumulator with LAr digitization and Output"""
295 acc = LArDigitizationBasicCfg(flags, **kwargs)
296 acc.merge(LArOutputCfg(flags))
297 return acc
298
299

◆ LArHitEMapToDigitAlgCfg()

LArHitEMapToDigitAlgCfg ( flags,
name = "LArHitEMapToDigitAlg",
** kwargs )
Return ComponentAccumulator with configured LArHitEMapToDigitAlg

Definition at line 169 of file LArDigitizationConfig.py.

169def LArHitEMapToDigitAlgCfg(flags, name="LArHitEMapToDigitAlg", **kwargs):
170 """Return ComponentAccumulator with configured LArHitEMapToDigitAlg"""
171 acc = LArGMCfg(flags)
172
173 #The LArHitEMapToDigit needs: Noise, fSampl, Pedestal,Shape ADC2MeV
174 # AutoCorrNoise, the list of bad FEBs and the cabling
175 acc.merge(LArADC2MeVCondAlgCfg(flags))
176 acc.merge(LArBadFebCfg(flags))
177 acc.merge(LArBadChannelCfg(flags))
178 if flags.Overlay.DataOverlay:
179 kwargs.setdefault("ShapeKey", "LArShape")
180 #kwargs.setdefault("AutoCorrNoiseKey", "LArAutoCorr")
181 if not flags.Digitization.DoCaloNoise:
182 requiredConditons=["fSampl", "Pedestal", "Shape"]
183 else:
184 requiredConditons=["Noise", "fSampl", "Pedestal", "Shape"]
185 acc.merge(LArElecCalibDBCfg(flags,requiredConditons))
186
187 if not flags.Common.isOverlay:
188 acc.merge(LArAutoCorrNoiseCondAlgCfg(flags))
189 #kwargs.setdefault('AutoCorrNoiseKey','LArAutoCorr')
190
191 if "ProblemsToMask" not in kwargs:
192 kwargs["ProblemsToMask"] = ["deadReadout", "deadPhys"]
193 # defaults
194 if flags.Common.isOverlay:
195 # Some noise needs to be added during MC Overlay
196 # No noise should be added during Data Overlay
197 kwargs.setdefault("NoiseOnOff", not flags.Overlay.DataOverlay)
198 else :
199 kwargs.setdefault("NoiseOnOff", flags.Digitization.DoCaloNoise)
200 kwargs.setdefault("DoDigiTruthReconstruction", flags.Digitization.EnableCaloHSTruthRecoInputs)
201 kwargs.setdefault("RandomSeedOffset", flags.Digitization.RandomSeedOffset)
202
203 if flags.GeoModel.Run==LHCPeriod.Run4 and flags.IOVDb.UseCREST:
204 #The run 4 readout electronics has only 2 gains
205 for subdet in ("EM","HEC","FCAL","EMECIW"):
206 kwargs.setdefault("GainRange"+subdet,(0,1))
207 kwargs.setdefault("LowGainThresh"+subdet,0xFFFFFFFF) #Low gains doesn't exist any more in R 4
208 #Gain switching threshold in the lower gain (aka MEDIUM)
209 #Assume gain switch at 80% of pre-amp saturation in HG. -> 9000 ADC counts in the lower gain
210 kwargs.setdefault("HighGainThresh"+subdet,9000)
211 kwargs.setdefault("maxADC",32767)
212 else:
213 #Run 1/2/3 case:
214 if (not flags.Digitization.HighGainFCal) and (not flags.Common.isOverlay):
215 kwargs.setdefault("HighGainThreshFCAL", 0)
216 kwargs.setdefault("GainRangeFCAL",[int(CaloGain.LARMEDIUMGAIN),int(CaloGain.LARLOWGAIN)])
217 if (not flags.Digitization.HighGainEMECIW) and (not flags.Common.isOverlay):
218 kwargs.setdefault("HighGainThreshEMECIW", 0)
219 kwargs.setdefault("GainRangeEMECIW",[int(CaloGain.LARMEDIUMGAIN),int(CaloGain.LARLOWGAIN)])
220
221
222 kwargs.setdefault("RndmEvtOverlay", flags.Common.isOverlay)
223 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
224 kwargs.setdefault("DigitContainer", flags.Overlay.BkgPrefix + "LArDigitContainer_MC")
225 else:
226 kwargs.setdefault("DigitContainer", "LArDigitContainer_MC") # FIXME - should not be hard-coded
227 # if doing MC+MC overlay
228 if flags.Common.isOverlay and flags.Input.isMC:
229 kwargs.setdefault("isMcOverlay", True)
230 kwargs.setdefault("Nsamples", flags.LAr.ROD.nSamples)
231 kwargs.setdefault("firstSample", #Need to set a negative value to include preceeding samples
232 -flags.LAr.ROD.nPreceedingSamples if flags.LAr.ROD.nPreceedingSamples!=0 else flags.LAr.ROD.FirstSample)
233
234
235 LArHitEMapToDigitAlg = CompFactory.LArHitEMapToDigitAlg
236 acc.addEventAlgo(LArHitEMapToDigitAlg(name, **kwargs))
237 return acc
238

◆ LArOutputCfg()

LArOutputCfg ( flags)
Return ComponentAccumulator with Output for LAr. Not standalone.

Definition at line 239 of file LArDigitizationConfig.py.

239def LArOutputCfg(flags):
240 """Return ComponentAccumulator with Output for LAr. Not standalone."""
241 acc = ComponentAccumulator()
242 if flags.Output.doWriteRDO:
243 ItemList = []
244 if flags.Digitization.AddCaloDigi:
245 ItemList.append("LArDigitContainer#*")
246 elif flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
247 ItemList.append("LArDigitContainer#" + flags.Overlay.BkgPrefix + "LArDigitContainer_MC")
248 elif flags.Digitization.AddCaloDigiThinned:
249 ItemList.append("LArDigitContainer#LArDigitContainer_MC_Thinned")
250 if flags.Common.ProductionStep != ProductionStep.PileUpPresampling:
251 ItemList.append("LArRawChannelContainer#LArRawChannels")
252 if flags.Overlay.DataOverlay:
253 ItemList.append("LArFebHeaderContainer#LArFebHeader")
254 if flags.Digitization.EnableTruth:
255 ItemList.append("CaloCalibrationHitContainer#*")
256 acc.merge(TruthDigitizationOutputCfg(flags))
257 acc.merge(OutputStreamCfg(flags, "RDO", ItemList))
258 return acc
259
260

◆ LArOverlayCfg()

LArOverlayCfg ( flags,
** kwargs )
Return ComponentAccumulator with LAr overlay and Output

Definition at line 320 of file LArDigitizationConfig.py.

320def LArOverlayCfg(flags, **kwargs):
321 """Return ComponentAccumulator with LAr overlay and Output"""
322 acc = LArOverlayDigitizationBasicCfg(flags, **kwargs)
323 acc.merge(LArOutputCfg(flags))
324 return acc
325
326

◆ LArOverlayDigitizationBasicCfg()

LArOverlayDigitizationBasicCfg ( flags,
name = "digitmaker1",
** kwargs )
Return ComponentAccumulator with LAr Overlay digitization configuration

Definition at line 300 of file LArDigitizationConfig.py.

300def LArOverlayDigitizationBasicCfg(flags, name="digitmaker1", **kwargs):
301 """Return ComponentAccumulator with LAr Overlay digitization configuration"""
302 acc = ComponentAccumulator()
303
304 if "LArPileUpTool" not in kwargs:
305 kwargs["LArPileUpTool"] = acc.popToolsAndMerge(LArPileUpToolCfg(flags))
306
307 if flags.Concurrency.NumThreads > 0:
308 kwargs.setdefault('Cardinality', flags.Concurrency.NumThreads)
309
310 LArHitEMapMaker = CompFactory.LArHitEMapMaker
311 acc.addEventAlgo(LArHitEMapMaker(name, **kwargs))
312 acc.merge(LArHitEMapToDigitAlgCfg(flags))
313
314 acc.merge(LArRawChannelBuilderAlgCfg(flags))
315 if flags.Digitization.AddCaloDigiThinned:
316 acc.merge(LArDigitThinnerCfg(flags))
317 return acc
318
319

◆ LArOverlayTriggerDigitizationBasicCfg()

LArOverlayTriggerDigitizationBasicCfg ( flags,
** kwargs )
Return ComponentAccumulator with LAr Overlay Trigger Tower

Definition at line 424 of file LArDigitizationConfig.py.

424def LArOverlayTriggerDigitizationBasicCfg(flags, **kwargs):
425 """Return ComponentAccumulator with LAr Overlay Trigger Tower"""
426 acc = LArOverlayDigitizationBasicCfg(flags)
427 acc.merge(CaloTriggerTowerCfg(flags))
428
429 kwargs.setdefault("NoiseOnOff", flags.Digitization.DoCaloNoise)
430 kwargs.setdefault("RandomSeedOffset", flags.Digitization.RandomSeedOffset)
431 kwargs.setdefault("PileUp", True)
432 kwargs.setdefault("EmTTL1ContainerName", flags.Overlay.SigPrefix + "LArTTL1EM")
433 kwargs.setdefault("HadTTL1ContainerName", flags.Overlay.SigPrefix + "LArTTL1HAD")
434
435 if flags.Concurrency.NumThreads > 0:
436 kwargs.setdefault('Cardinality', flags.Concurrency.NumThreads)
437
438 acc.addEventAlgo(CompFactory.LArTTL1Maker(**kwargs))
439 return acc
440
441

◆ LArPileUpToolCfg()

LArPileUpToolCfg ( flags,
name = "LArPileUpTool",
** kwargs )
Return ComponentAccumulator with configured LArPileUpTool

Definition at line 89 of file LArDigitizationConfig.py.

89def LArPileUpToolCfg(flags, name="LArPileUpTool", **kwargs):
90 """Return ComponentAccumulator with configured LArPileUpTool"""
91 acc = LArGMCfg(flags)
92
93 # add new conditions for LArXTalkWeight
94 acc.merge(LArXTalkWeightCondAlgCfg(flags))
95
96 # defaults
97 if flags.Common.isOverlay:
98 # Some noise needs to be added during MC Overlay
99 # No noise should be added during Data Overlay
100 kwargs.setdefault("NoiseOnOff", not flags.Overlay.DataOverlay)
101 kwargs.setdefault("NoiseOnOff", flags.Digitization.DoCaloNoise) # For other jobs go with the noise flag setting.
102 kwargs.setdefault("DoDigiTruthReconstruction", flags.Digitization.EnableCaloHSTruthRecoInputs)
103 kwargs.setdefault("RandomSeedOffset", flags.Digitization.RandomSeedOffset)
104 if flags.Digitization.PileUp:
105 intervals = []
106 if flags.Digitization.DoXingByXingPileUp:
107 kwargs.setdefault("FirstXing", -751)
108 kwargs.setdefault("LastXing", 101)
109 else:
110 intervals += [acc.popToolsAndMerge(LArRangeEMCfg(flags))]
111 intervals += [acc.popToolsAndMerge(LArRangeHECCfg(flags))]
112 intervals += [acc.popToolsAndMerge(LArRangeFCALCfg(flags))]
113 kwargs.setdefault("PileUpMergeSvc", acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
114 else:
115 kwargs.setdefault("PileUpMergeSvc", '')
116 kwargs.setdefault("RndmEvtOverlay", flags.Common.isOverlay)
117 # if doing MC+MC overlay
118 if flags.Common.isOverlay and flags.Input.isMC:
119 kwargs.setdefault("isMcOverlay", True)
120
121 # cosmics digitization
122 if flags.Beam.Type is BeamType.Cosmics:
123 kwargs.setdefault("UseTriggerTime", True)
124 acc.addEventAlgo(CompFactory.CosTriggerTimeAlg())
125 if flags.Digitization.PileUp or flags.Common.isOverlay:
126 kwargs.setdefault("PileUp", True)
127 kwargs.setdefault("useLArFloat", useLArFloat(flags))
128 if useLArFloat(flags):
129 acc.merge(InputOverwriteCfg("LArHitContainer","LArHitEMB","LArHitFloatContainer","LArHitEMB"))
130 acc.merge(InputOverwriteCfg("LArHitContainer","LArHitEMEC","LArHitFloatContainer","LArHitEMEC"))
131 acc.merge(InputOverwriteCfg("LArHitContainer","LArHitHEC","LArHitFloatContainer","LArHitHEC"))
132 acc.merge(InputOverwriteCfg("LArHitContainer","LArHitFCAL","LArHitFloatContainer","LArHitFCAL"))
133 if flags.Common.isOverlay:
134 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
135 acc.merge(SGInputLoaderCfg(flags, [
136 "LArHitFloatContainer#LArHitEMB",
137 "LArHitFloatContainer#LArHitEMEC",
138 "LArHitFloatContainer#LArHitFCAL",
139 "LArHitFloatContainer#LArHitHEC",
140 ]))
141 else:
142 if flags.Common.isOverlay and not flags.Sim.DoFullChain:
143 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
144 acc.merge(SGInputLoaderCfg(flags, [
145 "LArHitContainer#LArHitEMB",
146 "LArHitContainer#LArHitEMEC",
147 "LArHitContainer#LArHitFCAL",
148 "LArHitContainer#LArHitHEC",
149 ]))
150
151 if flags.Common.isOverlay:
152 kwargs.setdefault("OnlyUseContainerName", False)
153 if flags.Overlay.IgnoreBkgInputs:
154 kwargs.setdefault("InputDigitContainer", "")
155 elif flags.Input.isMC:
156 kwargs.setdefault("InputDigitContainer", f"{flags.Overlay.BkgPrefix}LArDigitContainer_MC")
157 else:
158 kwargs.setdefault("InputDigitContainer", f"{flags.Overlay.BkgPrefix}LArDigitContainer_data")
159
160 if kwargs["InputDigitContainer"]:
161 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
162 acc.merge(SGInputLoaderCfg(flags, [f'LArDigitContainer#{kwargs["InputDigitContainer"]}']))
163 else:
164 kwargs.setdefault("OnlyUseContainerName", flags.Digitization.PileUp)
165 LArPileUpTool = CompFactory.LArPileUpTool
166 acc.setPrivateTools(LArPileUpTool(name, **kwargs))
167 return acc
168

◆ LArRangeEMCfg()

LArRangeEMCfg ( flags,
name = "LArRangeEM",
** kwargs )
Return a PileUpXingFoldertool for ElectroMagnetic calorimeter

Definition at line 51 of file LArDigitizationConfig.py.

51def LArRangeEMCfg(flags, name="LArRangeEM", **kwargs):
52 """Return a PileUpXingFoldertool for ElectroMagnetic calorimeter"""
53 # bunch crossing range in ns
54 kwargs.setdefault("FirstXing", -751)
55 kwargs.setdefault("LastXing", 101)
56 if useLArFloat(flags):
57 kwargs.setdefault("ItemList", ["LArHitFloatContainer#LArHitEMB",
58 "LArHitFloatContainer#LArHitEMEC"])
59 else:
60 kwargs.setdefault("ItemList", ["LArHitContainer#LArHitEMB",
61 "LArHitContainer#LArHitEMEC"])
62 return PileUpXingFolderCfg(flags, name, **kwargs)
63
64

◆ LArRangeFCALCfg()

LArRangeFCALCfg ( flags,
name = "LArRangeFCAL",
** kwargs )
Return a PileUpXingFoldertool for Forward Calorimeters

Definition at line 77 of file LArDigitizationConfig.py.

77def LArRangeFCALCfg(flags, name="LArRangeFCAL", **kwargs):
78 """Return a PileUpXingFoldertool for Forward Calorimeters"""
79 # bunch crossing range in ns
80 kwargs.setdefault("FirstXing", -551)
81 kwargs.setdefault("LastXing", 101)
82 if useLArFloat(flags):
83 kwargs.setdefault("ItemList", ["LArHitFloatContainer#LArHitFCAL"])
84 else:
85 kwargs.setdefault("ItemList", ["LArHitContainer#LArHitFCAL"])
86 return PileUpXingFolderCfg(flags, name, **kwargs)
87
88

◆ LArRangeHECCfg()

LArRangeHECCfg ( flags,
name = "LArRangeHEC",
** kwargs )
Return a PileUpXingFoldertool for Hadronic End-Cap

Definition at line 65 of file LArDigitizationConfig.py.

65def LArRangeHECCfg(flags, name="LArRangeHEC", **kwargs):
66 """Return a PileUpXingFoldertool for Hadronic End-Cap"""
67 # bunch crossing range in ns
68 kwargs.setdefault("FirstXing", -676)
69 kwargs.setdefault("LastXing", 101)
70 if useLArFloat(flags):
71 kwargs.setdefault("ItemList", ["LArHitFloatContainer#LArHitHEC"])
72 else:
73 kwargs.setdefault("ItemList", ["LArHitContainer#LArHitHEC"])
74 return PileUpXingFolderCfg(flags, name, **kwargs)
75
76

◆ LArSCL1MakerCfg()

LArSCL1MakerCfg ( flags,
** kwargs )
Return ComponentAccumulator for LArSCL1Maker

Definition at line 345 of file LArDigitizationConfig.py.

345def LArSCL1MakerCfg(flags, **kwargs):
346 """Return ComponentAccumulator for LArSCL1Maker"""
347 acc = ComponentAccumulator()
348 if flags.Common.isOverlay:
349 acc.merge(LArOverlayDigitizationBasicCfg(flags))
350 else:
351 acc.merge(LArDigitizationBasicCfg(flags))
352
353 kwargs.setdefault("LArHitEMapKey", "StoreGateSvc+LArHitEMap") # Provided by LArPileUpTool
354
355 from LArRecUtils.LArADC2MeVSCCondAlgConfig import LArADC2MeVSCCondAlgCfg
356 acc.merge(LArADC2MeVSCCondAlgCfg(flags))
357 kwargs.setdefault("LArADC2MeVKey", "ConditionStore+LArADC2MeVSC") # Provided by LArADC2MeVSCCondAlg
358
359 from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg
360 acc.merge(LArOnOffIdMappingSCCfg(flags))
361 # '<prefix>/LAR/IdentifierOfl/OnOffIdMap_SC</prefix> <tag>LARIdentifierOflOnOffIdMap_SC-000</tag>' Do we need to add this override in the IOVDbSvc or just add the conditions properly in the Run3 conditions global tag???
362 kwargs.setdefault("ScCablingKey", "ConditionStore+LArOnOffIdMapSC") # Provided by LArOnOffMappingAlgSC
363
364 requiredConditions=["fSamplSC","ShapeSC","PedestalSC","NoiseSC"]
365 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBMCSCCfg
366 acc.merge(LArElecCalibDBMCSCCfg(flags,requiredConditions))
367 kwargs.setdefault("FracSKey", "ConditionStore+LArfSamplSC") # Provided by LArFlatConditionsAlg<LArfSamplSC>
368 kwargs.setdefault("ShapeKey", "ConditionStore+LArShapeSC") # Provided by LArFlatConditionsAlg<LArShapeSC>
369 kwargs.setdefault("PedestalKey", "ConditionStore+LArPedestalSC") # Provided by LArFlatConditionsAlg<LArPedestalSC>
370 kwargs.setdefault("LArNoiseKey", "ConditionStore+LArNoiseSC") # Provided by LArFlatConditionsAlg<LArNoiseSC>
371
372 acc.merge(LArAutoCorrNoiseCondSCAlgCfg(flags))
373 kwargs.setdefault("LArAutoCorrKey", "ConditionStore+LArAutoCorrNoiseSC") # Provided by LArAutoCorrNoiseCondAlg/LArAutoCorrNoiseSCCondAlg
374 kwargs.setdefault("NSamples", flags.LAr.ROD.nSamples + 2) # For consistency with LArAutoCorrNoiseSC - see ATLASSIM-5483
375 from RngComps.RngCompsConfig import AthRNGSvcCfg
376 kwargs.setdefault("RndmSvc",
377 acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
378 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
379 kwargs.setdefault("SCL1ContainerName", f"{flags.Overlay.BkgPrefix}LArDigitSCL2") # Output - why L2??
380 if flags.Common.isOverlay:
381 kwargs.setdefault("BkgDigitKey", f"{flags.Overlay.BkgPrefix}LArDigitSCL2")
382
383 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
384 acc.merge(SGInputLoaderCfg(flags, [f'LArDigitContainer#{kwargs["BkgDigitKey"]}']))
385 kwargs.setdefault("SCL1ContainerName","LArDigitSCL2") # Output - why L2??
386 acc.addEventAlgo(CompFactory.LArSCL1Maker(**kwargs))
387 return acc
388
389

◆ LArSuperCellOverlayCfg()

LArSuperCellOverlayCfg ( flags,
** kwargs )

Definition at line 442 of file LArDigitizationConfig.py.

442def LArSuperCellOverlayCfg(flags, **kwargs):
443 acc = LArSCL1MakerCfg(flags)
444 from LArROD.LArSuperCellBuilderConfig import LArSuperCellBuilderAlgCfg, LArSuperCellBCIDAlgCfg
445 acc.merge(LArSuperCellBuilderAlgCfg(flags))
446 acc.merge(LArSuperCellBCIDAlgCfg(flags))
447 acc.merge(OutputStreamCfg(flags, "RDO", ["CaloCellContainer#SCell"]))
448 return acc

◆ LArTriggerDigitizationBasicCfg()

LArTriggerDigitizationBasicCfg ( flags,
** kwargs )
Return ComponentAccumulator for LAr Trigger Tower

Definition at line 390 of file LArDigitizationConfig.py.

390def LArTriggerDigitizationBasicCfg(flags, **kwargs):
391 """Return ComponentAccumulator for LAr Trigger Tower"""
392 acc = LArDigitizationBasicCfg(flags)
393 acc.merge(CaloTriggerTowerCfg(flags))
394
395 kwargs.setdefault("NoiseOnOff", flags.Digitization.DoCaloNoise)
396 kwargs.setdefault("RandomSeedOffset", flags.Digitization.RandomSeedOffset)
397 kwargs.setdefault("PileUp", flags.Digitization.PileUp)
398 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
399 kwargs.setdefault("EmTTL1ContainerName", flags.Overlay.BkgPrefix + "LArTTL1EM")
400 kwargs.setdefault("HadTTL1ContainerName", flags.Overlay.BkgPrefix + "LArTTL1HAD")
401 acc.addEventAlgo(CompFactory.LArTTL1Maker(**kwargs))
402 if flags.GeoModel.Run >= LHCPeriod.Run3:
403 acc.merge(LArSCL1MakerCfg(flags))
404 if flags.Common.ProductionStep is not ProductionStep.PileUpPresampling:
405 from LArROD.LArSuperCellBuilderConfig import LArSuperCellBuilderAlgCfg, LArSuperCellBCIDAlgCfg
406 acc.merge(LArSuperCellBuilderAlgCfg(flags))
407 acc.merge(LArSuperCellBCIDAlgCfg(flags))
408 return acc
409
410

◆ LArTriggerDigitizationCfg()

LArTriggerDigitizationCfg ( flags,
** kwargs )
Return ComponentAccumulator for LAr Trigger Tower and Output

Definition at line 411 of file LArDigitizationConfig.py.

411def LArTriggerDigitizationCfg(flags, **kwargs):
412 """Return ComponentAccumulator for LAr Trigger Tower and Output"""
413 acc = LArTriggerDigitizationBasicCfg(flags)
414 acc.merge(LArOutputCfg(flags))
415 acc.merge(OutputStreamCfg(flags, "RDO", ["LArTTL1Container#*"]))
416 if flags.GeoModel.Run >= LHCPeriod.Run3:
417 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
418 acc.merge(OutputStreamCfg(flags, "RDO", ["LArDigitContainer#" + flags.Overlay.BkgPrefix + "LArDigitSCL2"]))
419 else:
420 acc.merge(OutputStreamCfg(flags, "RDO", ["CaloCellContainer#SCell"]))
421 return acc
422
423

◆ useLArFloat()

useLArFloat ( flags)
Return bool for simplified transient LArHit with float E,time

Definition at line 39 of file LArDigitizationConfig.py.

39def useLArFloat(flags):
40 """Return bool for simplified transient LArHit with float E,time"""
41 # temporary, remapping to LArHitFloat does not seeem to work
42 # with this scheme... => larger memory usage
43 if flags.Digitization.DoXingByXingPileUp or flags.Common.isOverlay:
44 return False
45 # check for fast chain, running digitisation from hits in memory
46 if flags.Sim.DoFullChain:
47 return False
48 return False
49
50