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()

python.LArDigitizationConfig.LArAutoCorrNoiseCondSCAlgCfg ( flags,
** kwargs )

Definition at line 292 of file LArDigitizationConfig.py.

292def LArAutoCorrNoiseCondSCAlgCfg(flags, **kwargs):
293 acc = ComponentAccumulator()
294
295 requiredConditions=["AutoCorrSC"]
296 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBMCSCCfg
297 acc.merge(LArElecCalibDBMCSCCfg(flags,requiredConditions))
298 kwargs.setdefault("LArAutoCorrObjKey", "LArAutoCorrSC") # Provided by LArFlatConditionsAlg<LArAutoCorrSC>
299
300 from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg
301 acc.merge(LArOnOffIdMappingSCCfg(flags))
302 kwargs.setdefault("LArOnOffIdMappingObjKey", 'LArOnOffIdMapSC')
303 kwargs.setdefault("nSampl", flags.LAr.ROD.nSamples + 2) # See ATLASSIM-5483
304 kwargs.setdefault("isSuperCell", True)
305 kwargs.setdefault("LArAutoCorrNoiseObjKey", "LArAutoCorrNoiseSC") # output
306 acc.addCondAlgo(CompFactory.LArAutoCorrNoiseCondAlg(name="LArAutoCorrNoiseSCCondAlg", **kwargs))
307 return acc
308
309

◆ LArDigitizationBasicCfg()

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

Definition at line 237 of file LArDigitizationConfig.py.

237def LArDigitizationBasicCfg(flags, **kwargs):
238 """Return ComponentAccumulator with LAr digitization configuration"""
239 acc = ComponentAccumulator()
240 if "PileUpTools" not in kwargs:
241 PileUpTools = acc.popToolsAndMerge(LArPileUpToolCfg(flags))
242 kwargs["PileUpTools"] = PileUpTools
243 acc.merge(PileUpToolsCfg(flags, **kwargs))
244
245 acc.merge(LArHitEMapToDigitAlgCfg(flags))
246 if flags.LAr.ROD.NNRawChannelBuilding:
247 acc.merge(LArNNRawChannelBuilderCfg(flags))
248 elif flags.LAr.ROD.OFFCRawChannelBuilding:
249 acc.merge(LArOFFCRawChannelBuilderCfg(flags))
250 else:
251 acc.merge(LArRawChannelBuilderAlgCfg(flags))
252
253 if flags.Digitization.AddCaloDigiThinned:
254 acc.merge(LArDigitThinnerCfg(flags))
255 return acc
256
257

◆ LArDigitizationCfg()

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

Definition at line 258 of file LArDigitizationConfig.py.

258def LArDigitizationCfg(flags, **kwargs):
259 """Return ComponentAccumulator with LAr digitization and Output"""
260 acc = LArDigitizationBasicCfg(flags, **kwargs)
261 acc.merge(LArOutputCfg(flags))
262 return acc
263
264

◆ LArHitEMapToDigitAlgCfg()

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

Definition at line 161 of file LArDigitizationConfig.py.

161def LArHitEMapToDigitAlgCfg(flags, name="LArHitEMapToDigitAlg", **kwargs):
162 """Return ComponentAccumulator with configured LArHitEMapToDigitAlg"""
163 acc = LArGMCfg(flags)
164
165 #The LArHitEMapToDigit needs: Noise, fSampl, Pedestal,Shape ADC2MeV
166 # AutoCorrNoise, the list of bad FEBs and the cabling
167 acc.merge(LArADC2MeVCondAlgCfg(flags))
168 acc.merge(LArBadFebCfg(flags))
169 acc.merge(LArBadChannelCfg(flags))
170 if flags.Overlay.DataOverlay:
171 kwargs.setdefault("ShapeKey", "LArShape")
172 #kwargs.setdefault("AutoCorrNoiseKey", "LArAutoCorr")
173 if not flags.Digitization.DoCaloNoise:
174 requiredConditons=["fSampl", "Pedestal", "Shape"]
175 else:
176 requiredConditons=["Noise", "fSampl", "Pedestal", "Shape"]
177 acc.merge(LArElecCalibDBCfg(flags,requiredConditons))
178
179 if not flags.Common.isOverlay:
180 acc.merge(LArAutoCorrNoiseCondAlgCfg(flags))
181 #kwargs.setdefault('AutoCorrNoiseKey','LArAutoCorr')
182
183 if "ProblemsToMask" not in kwargs:
184 kwargs["ProblemsToMask"] = ["deadReadout", "deadPhys"]
185 # defaults
186 if flags.Common.isOverlay:
187 # Some noise needs to be added during MC Overlay
188 # No noise should be added during Data Overlay
189 kwargs.setdefault("NoiseOnOff", not flags.Overlay.DataOverlay)
190 else :
191 kwargs.setdefault("NoiseOnOff", flags.Digitization.DoCaloNoise)
192 kwargs.setdefault("DoDigiTruthReconstruction", flags.Digitization.EnableCaloHSTruthRecoInputs)
193 kwargs.setdefault("RandomSeedOffset", flags.Digitization.RandomSeedOffset)
194 if (not flags.Digitization.HighGainFCal) and (not flags.Common.isOverlay):
195 kwargs.setdefault("HighGainThreshFCAL", 0)
196 kwargs.setdefault("GainRangeFCAL",[int(CaloGain.LARMEDIUMGAIN),int(CaloGain.LARLOWGAIN)])
197 if (not flags.Digitization.HighGainEMECIW) and (not flags.Common.isOverlay):
198 kwargs.setdefault("HighGainThreshEMECIW", 0)
199 kwargs.setdefault("GainRangeEMECIW",[int(CaloGain.LARMEDIUMGAIN),int(CaloGain.LARLOWGAIN)])
200 kwargs.setdefault("RndmEvtOverlay", flags.Common.isOverlay)
201 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
202 kwargs.setdefault("DigitContainer", flags.Overlay.BkgPrefix + "LArDigitContainer_MC")
203 else:
204 kwargs.setdefault("DigitContainer", "LArDigitContainer_MC") # FIXME - should not be hard-coded
205 # if doing MC+MC overlay
206 if flags.Common.isOverlay and flags.Input.isMC:
207 kwargs.setdefault("isMcOverlay", True)
208 kwargs.setdefault("Nsamples", flags.LAr.ROD.nSamples)
209 kwargs.setdefault("firstSample", #Need to set a negative value to include preceeding samples
210 -flags.LAr.ROD.nPreceedingSamples if flags.LAr.ROD.nPreceedingSamples!=0 else flags.LAr.ROD.FirstSample)
211 LArHitEMapToDigitAlg = CompFactory.LArHitEMapToDigitAlg
212 acc.addEventAlgo(LArHitEMapToDigitAlg(name, **kwargs))
213 return acc
214

◆ LArOutputCfg()

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

Definition at line 215 of file LArDigitizationConfig.py.

215def LArOutputCfg(flags):
216 """Return ComponentAccumulator with Output for LAr. Not standalone."""
217 acc = ComponentAccumulator()
218 if flags.Output.doWriteRDO:
219 ItemList = []
220 if flags.Digitization.AddCaloDigi:
221 ItemList.append("LArDigitContainer#*")
222 elif flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
223 ItemList.append("LArDigitContainer#" + flags.Overlay.BkgPrefix + "LArDigitContainer_MC")
224 elif flags.Digitization.AddCaloDigiThinned:
225 ItemList.append("LArDigitContainer#LArDigitContainer_MC_Thinned")
226 if flags.Common.ProductionStep != ProductionStep.PileUpPresampling:
227 ItemList.append("LArRawChannelContainer#LArRawChannels")
228 if flags.Overlay.DataOverlay:
229 ItemList.append("LArFebHeaderContainer#LArFebHeader")
230 if flags.Digitization.EnableTruth:
231 ItemList.append("CaloCalibrationHitContainer#*")
232 acc.merge(TruthDigitizationOutputCfg(flags))
233 acc.merge(OutputStreamCfg(flags, "RDO", ItemList))
234 return acc
235
236

◆ LArOverlayCfg()

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

Definition at line 285 of file LArDigitizationConfig.py.

285def LArOverlayCfg(flags, **kwargs):
286 """Return ComponentAccumulator with LAr overlay and Output"""
287 acc = LArOverlayDigitizationBasicCfg(flags, **kwargs)
288 acc.merge(LArOutputCfg(flags))
289 return acc
290
291

◆ LArOverlayDigitizationBasicCfg()

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

Definition at line 265 of file LArDigitizationConfig.py.

265def LArOverlayDigitizationBasicCfg(flags, name="digitmaker1", **kwargs):
266 """Return ComponentAccumulator with LAr Overlay digitization configuration"""
267 acc = ComponentAccumulator()
268
269 if "LArPileUpTool" not in kwargs:
270 kwargs["LArPileUpTool"] = acc.popToolsAndMerge(LArPileUpToolCfg(flags))
271
272 if flags.Concurrency.NumThreads > 0:
273 kwargs.setdefault('Cardinality', flags.Concurrency.NumThreads)
274
275 LArHitEMapMaker = CompFactory.LArHitEMapMaker
276 acc.addEventAlgo(LArHitEMapMaker(name, **kwargs))
277 acc.merge(LArHitEMapToDigitAlgCfg(flags))
278
279 acc.merge(LArRawChannelBuilderAlgCfg(flags))
280 if flags.Digitization.AddCaloDigiThinned:
281 acc.merge(LArDigitThinnerCfg(flags))
282 return acc
283
284

◆ LArOverlayTriggerDigitizationBasicCfg()

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

Definition at line 389 of file LArDigitizationConfig.py.

389def LArOverlayTriggerDigitizationBasicCfg(flags, **kwargs):
390 """Return ComponentAccumulator with LAr Overlay Trigger Tower"""
391 acc = LArOverlayDigitizationBasicCfg(flags)
392 acc.merge(CaloTriggerTowerCfg(flags))
393
394 kwargs.setdefault("NoiseOnOff", flags.Digitization.DoCaloNoise)
395 kwargs.setdefault("RandomSeedOffset", flags.Digitization.RandomSeedOffset)
396 kwargs.setdefault("PileUp", True)
397 kwargs.setdefault("EmTTL1ContainerName", flags.Overlay.SigPrefix + "LArTTL1EM")
398 kwargs.setdefault("HadTTL1ContainerName", flags.Overlay.SigPrefix + "LArTTL1HAD")
399
400 if flags.Concurrency.NumThreads > 0:
401 kwargs.setdefault('Cardinality', flags.Concurrency.NumThreads)
402
403 acc.addEventAlgo(CompFactory.LArTTL1Maker(**kwargs))
404 return acc
405
406

◆ LArPileUpToolCfg()

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

Definition at line 84 of file LArDigitizationConfig.py.

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

◆ LArRangeEMCfg()

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

Definition at line 46 of file LArDigitizationConfig.py.

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

◆ LArRangeFCALCfg()

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

Definition at line 72 of file LArDigitizationConfig.py.

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

◆ LArRangeHECCfg()

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

Definition at line 60 of file LArDigitizationConfig.py.

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

◆ LArSCL1MakerCfg()

python.LArDigitizationConfig.LArSCL1MakerCfg ( flags,
** kwargs )
Return ComponentAccumulator for LArSCL1Maker

Definition at line 310 of file LArDigitizationConfig.py.

310def LArSCL1MakerCfg(flags, **kwargs):
311 """Return ComponentAccumulator for LArSCL1Maker"""
312 acc = ComponentAccumulator()
313 if flags.Common.isOverlay:
314 acc.merge(LArOverlayDigitizationBasicCfg(flags))
315 else:
316 acc.merge(LArDigitizationBasicCfg(flags))
317
318 kwargs.setdefault("LArHitEMapKey", "StoreGateSvc+LArHitEMap") # Provided by LArPileUpTool
319
320 from LArRecUtils.LArADC2MeVSCCondAlgConfig import LArADC2MeVSCCondAlgCfg
321 acc.merge(LArADC2MeVSCCondAlgCfg(flags))
322 kwargs.setdefault("LArADC2MeVKey", "ConditionStore+LArADC2MeVSC") # Provided by LArADC2MeVSCCondAlg
323
324 from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg
325 acc.merge(LArOnOffIdMappingSCCfg(flags))
326 # '<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???
327 kwargs.setdefault("ScCablingKey", "ConditionStore+LArOnOffIdMapSC") # Provided by LArOnOffMappingAlgSC
328
329 requiredConditions=["fSamplSC","ShapeSC","PedestalSC","NoiseSC"]
330 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBMCSCCfg
331 acc.merge(LArElecCalibDBMCSCCfg(flags,requiredConditions))
332 kwargs.setdefault("FracSKey", "ConditionStore+LArfSamplSC") # Provided by LArFlatConditionsAlg<LArfSamplSC>
333 kwargs.setdefault("ShapeKey", "ConditionStore+LArShapeSC") # Provided by LArFlatConditionsAlg<LArShapeSC>
334 kwargs.setdefault("PedestalKey", "ConditionStore+LArPedestalSC") # Provided by LArFlatConditionsAlg<LArPedestalSC>
335 kwargs.setdefault("LArNoiseKey", "ConditionStore+LArNoiseSC") # Provided by LArFlatConditionsAlg<LArNoiseSC>
336
337 acc.merge(LArAutoCorrNoiseCondSCAlgCfg(flags))
338 kwargs.setdefault("LArAutoCorrKey", "ConditionStore+LArAutoCorrNoiseSC") # Provided by LArAutoCorrNoiseCondAlg/LArAutoCorrNoiseSCCondAlg
339 kwargs.setdefault("NSamples", flags.LAr.ROD.nSamples + 2) # For consistency with LArAutoCorrNoiseSC - see ATLASSIM-5483
340 from RngComps.RngCompsConfig import AthRNGSvcCfg
341 kwargs.setdefault("RndmSvc",
342 acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
343 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
344 kwargs.setdefault("SCL1ContainerName", f"{flags.Overlay.BkgPrefix}LArDigitSCL2") # Output - why L2??
345 if flags.Common.isOverlay:
346 kwargs.setdefault("BkgDigitKey", f"{flags.Overlay.BkgPrefix}LArDigitSCL2")
347
348 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
349 acc.merge(SGInputLoaderCfg(flags, [f'LArDigitContainer#{kwargs["BkgDigitKey"]}']))
350 kwargs.setdefault("SCL1ContainerName","LArDigitSCL2") # Output - why L2??
351 acc.addEventAlgo(CompFactory.LArSCL1Maker(**kwargs))
352 return acc
353
354

◆ LArSuperCellOverlayCfg()

python.LArDigitizationConfig.LArSuperCellOverlayCfg ( flags,
** kwargs )

Definition at line 407 of file LArDigitizationConfig.py.

407def LArSuperCellOverlayCfg(flags, **kwargs):
408 acc = LArSCL1MakerCfg(flags)
409 from LArROD.LArSuperCellBuilderConfig import LArSuperCellBuilderAlgCfg, LArSuperCellBCIDAlgCfg
410 acc.merge(LArSuperCellBuilderAlgCfg(flags))
411 acc.merge(LArSuperCellBCIDAlgCfg(flags))
412 acc.merge(OutputStreamCfg(flags, "RDO", ["CaloCellContainer#SCell"]))
413 return acc

◆ LArTriggerDigitizationBasicCfg()

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

Definition at line 355 of file LArDigitizationConfig.py.

355def LArTriggerDigitizationBasicCfg(flags, **kwargs):
356 """Return ComponentAccumulator for LAr Trigger Tower"""
357 acc = LArDigitizationBasicCfg(flags)
358 acc.merge(CaloTriggerTowerCfg(flags))
359
360 kwargs.setdefault("NoiseOnOff", flags.Digitization.DoCaloNoise)
361 kwargs.setdefault("RandomSeedOffset", flags.Digitization.RandomSeedOffset)
362 kwargs.setdefault("PileUp", flags.Digitization.PileUp)
363 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
364 kwargs.setdefault("EmTTL1ContainerName", flags.Overlay.BkgPrefix + "LArTTL1EM")
365 kwargs.setdefault("HadTTL1ContainerName", flags.Overlay.BkgPrefix + "LArTTL1HAD")
366 acc.addEventAlgo(CompFactory.LArTTL1Maker(**kwargs))
367 if flags.GeoModel.Run >= LHCPeriod.Run3:
368 acc.merge(LArSCL1MakerCfg(flags))
369 if flags.Common.ProductionStep is not ProductionStep.PileUpPresampling:
370 from LArROD.LArSuperCellBuilderConfig import LArSuperCellBuilderAlgCfg, LArSuperCellBCIDAlgCfg
371 acc.merge(LArSuperCellBuilderAlgCfg(flags))
372 acc.merge(LArSuperCellBCIDAlgCfg(flags))
373 return acc
374
375

◆ LArTriggerDigitizationCfg()

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

Definition at line 376 of file LArDigitizationConfig.py.

376def LArTriggerDigitizationCfg(flags, **kwargs):
377 """Return ComponentAccumulator for LAr Trigger Tower and Output"""
378 acc = LArTriggerDigitizationBasicCfg(flags)
379 acc.merge(LArOutputCfg(flags))
380 acc.merge(OutputStreamCfg(flags, "RDO", ["LArTTL1Container#*"]))
381 if flags.GeoModel.Run >= LHCPeriod.Run3:
382 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
383 acc.merge(OutputStreamCfg(flags, "RDO", ["LArDigitContainer#" + flags.Overlay.BkgPrefix + "LArDigitSCL2"]))
384 else:
385 acc.merge(OutputStreamCfg(flags, "RDO", ["CaloCellContainer#SCell"]))
386 return acc
387
388

◆ useLArFloat()

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

Definition at line 34 of file LArDigitizationConfig.py.

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