Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
LArDigitizationConfig.py
Go to the documentation of this file.
1 """Define functions for LAr Digitization with ComponentAccumulator
2 
3 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
4 """
5 # utilities
6 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory import CompFactory
8 from AthenaConfiguration.Enums import BeamType, LHCPeriod, ProductionStep
9 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
10 # for PileUpTool
11 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
12 from LArRecUtils.LArADC2MeVCondAlgConfig import LArADC2MeVCondAlgCfg
13 from LArRecUtils.LArXTalkWeightCondAlgConfig import LArXTalkWeightCondAlgCfg
14 from LArRecUtils.LArRecUtilsConfig import LArAutoCorrNoiseCondAlgCfg
15 from LArBadChannelTool.LArBadChannelConfig import LArBadFebCfg,LArBadChannelCfg
16 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBCfg
17 from DigitizationConfig.PileUpToolsConfig import PileUpToolsCfg
18 from DigitizationConfig.PileUpMergeSvcConfig import PileUpMergeSvcCfg, PileUpXingFolderCfg
19 # for Digitization
20 from LArROD.LArRawChannelBuilderAlgConfig import LArRawChannelBuilderAlgCfg
21 from LArROD.LArDigitThinnerConfig import LArDigitThinnerCfg
22 from LArROD.LArNNChannelBuilder import LArNNRawChannelBuilderCfg
23 from DigitizationConfig.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
24 # for Trigger Tower
25 from CaloConditions.CaloConditionsConfig import CaloTriggerTowerCfg
26 from SGComps.AddressRemappingConfig import InputOverwriteCfg
27 
28 def useLArFloat(flags):
29  """Return bool for simplified transient LArHit with float E,time"""
30  # temporary, remapping to LArHitFloat does not seeem to work
31  # with this scheme... => larger memory usage
32  if flags.Digitization.DoXingByXingPileUp or flags.Common.isOverlay:
33  return False
34  # check for fast chain, running digitisation from hits in memory
35  if flags.Sim.DoFullChain:
36  return False
37  return False
38 
39 
40 def LArRangeEMCfg(flags, name="LArRangeEM", **kwargs):
41  """Return a PileUpXingFoldertool for ElectroMagnetic calorimeter"""
42  # bunch crossing range in ns
43  kwargs.setdefault("FirstXing", -751)
44  kwargs.setdefault("LastXing", 101)
45  if useLArFloat(flags):
46  kwargs.setdefault("ItemList", ["LArHitFloatContainer#LArHitEMB",
47  "LArHitFloatContainer#LArHitEMEC"])
48  else:
49  kwargs.setdefault("ItemList", ["LArHitContainer#LArHitEMB",
50  "LArHitContainer#LArHitEMEC"])
51  return PileUpXingFolderCfg(flags, name, **kwargs)
52 
53 
54 def LArRangeHECCfg(flags, name="LArRangeHEC", **kwargs):
55  """Return a PileUpXingFoldertool for Hadronic End-Cap"""
56  # bunch crossing range in ns
57  kwargs.setdefault("FirstXing", -676)
58  kwargs.setdefault("LastXing", 101)
59  if useLArFloat(flags):
60  kwargs.setdefault("ItemList", ["LArHitFloatContainer#LArHitHEC"])
61  else:
62  kwargs.setdefault("ItemList", ["LArHitContainer#LArHitHEC"])
63  return PileUpXingFolderCfg(flags, name, **kwargs)
64 
65 
66 def LArRangeFCALCfg(flags, name="LArRangeFCAL", **kwargs):
67  """Return a PileUpXingFoldertool for Forward Calorimeters"""
68  # bunch crossing range in ns
69  kwargs.setdefault("FirstXing", -551)
70  kwargs.setdefault("LastXing", 101)
71  if useLArFloat(flags):
72  kwargs.setdefault("ItemList", ["LArHitFloatContainer#LArHitFCAL"])
73  else:
74  kwargs.setdefault("ItemList", ["LArHitContainer#LArHitFCAL"])
75  return PileUpXingFolderCfg(flags, name, **kwargs)
76 
77 
78 def LArPileUpToolCfg(flags, name="LArPileUpTool", **kwargs):
79  """Return ComponentAccumulator with configured LArPileUpTool"""
80  acc = LArGMCfg(flags)
81 
82  # add new conditions for LArXTalkWeight
83  acc.merge(LArXTalkWeightCondAlgCfg(flags))
84 
85  # defaults
86  if flags.Common.isOverlay:
87  # Some noise needs to be added during MC Overlay
88  # No noise should be added during Data Overlay
89  kwargs.setdefault("NoiseOnOff", not flags.Overlay.DataOverlay)
90  kwargs.setdefault("NoiseOnOff", flags.Digitization.DoCaloNoise) # For other jobs go with the noise flag setting.
91  kwargs.setdefault("DoDigiTruthReconstruction", flags.Digitization.EnableCaloHSTruthRecoInputs)
92  kwargs.setdefault("RandomSeedOffset", flags.Digitization.RandomSeedOffset)
93  if flags.Digitization.PileUp:
94  intervals = []
95  if flags.Digitization.DoXingByXingPileUp:
96  kwargs.setdefault("FirstXing", -751)
97  kwargs.setdefault("LastXing", 101)
98  else:
99  intervals += [acc.popToolsAndMerge(LArRangeEMCfg(flags))]
100  intervals += [acc.popToolsAndMerge(LArRangeHECCfg(flags))]
101  intervals += [acc.popToolsAndMerge(LArRangeFCALCfg(flags))]
102  kwargs.setdefault("PileUpMergeSvc", acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)).name)
103  else:
104  kwargs.setdefault("PileUpMergeSvc", '')
105  kwargs.setdefault("RndmEvtOverlay", flags.Common.isOverlay)
106  # if doing MC+MC overlay
107  if flags.Common.isOverlay and flags.Input.isMC:
108  kwargs.setdefault("isMcOverlay", True)
109 
110  # cosmics digitization
111  if flags.Beam.Type is BeamType.Cosmics:
112  kwargs.setdefault("UseTriggerTime", True)
113  acc.addEventAlgo(CompFactory.CosTriggerTimeAlg())
114  if flags.Digitization.PileUp or flags.Common.isOverlay:
115  kwargs.setdefault("PileUp", True)
116  kwargs.setdefault("useLArFloat", useLArFloat(flags))
117  if useLArFloat(flags):
118  acc.merge(InputOverwriteCfg("LArHitContainer","LArHitEMB","LArHitFloatContainer","LArHitEMB"))
119  acc.merge(InputOverwriteCfg("LArHitContainer","LArHitEMEC","LArHitFloatContainer","LArHitEMEC"))
120  acc.merge(InputOverwriteCfg("LArHitContainer","LArHitHEC","LArHitFloatContainer","LArHitHEC"))
121  acc.merge(InputOverwriteCfg("LArHitContainer","LArHitFCAL","LArHitFloatContainer","LArHitFCAL"))
122  if flags.Common.isOverlay:
123  from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
124  acc.merge(SGInputLoaderCfg(flags, [
125  "LArHitFloatContainer#LArHitEMB",
126  "LArHitFloatContainer#LArHitEMEC",
127  "LArHitFloatContainer#LArHitFCAL",
128  "LArHitFloatContainer#LArHitHEC",
129  ]))
130  else:
131  if flags.Common.isOverlay and not flags.Sim.DoFullChain:
132  from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
133  acc.merge(SGInputLoaderCfg(flags, [
134  "LArHitContainer#LArHitEMB",
135  "LArHitContainer#LArHitEMEC",
136  "LArHitContainer#LArHitFCAL",
137  "LArHitContainer#LArHitHEC",
138  ]))
139 
140  if flags.Common.isOverlay:
141  kwargs.setdefault("OnlyUseContainerName", False)
142  if flags.Overlay.ByteStream:
143  from LArByteStream.LArRawDataReadingConfig import LArRawDataReadingCfg
144  acc.merge(LArRawDataReadingCfg(flags))
145 
146  kwargs.setdefault("InputDigitContainer", f"{flags.Overlay.BkgPrefix}FREE")
147  else:
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 
161 def 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  if (not flags.Digitization.HighGainEMECIW) and (not flags.Common.isOverlay):
197  kwargs.setdefault("HighGainThreshEMECIW", 0)
198  kwargs.setdefault("RndmEvtOverlay", flags.Common.isOverlay)
199  if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
200  kwargs.setdefault("DigitContainer", flags.Overlay.BkgPrefix + "LArDigitContainer_MC")
201  else:
202  kwargs.setdefault("DigitContainer", "LArDigitContainer_MC") # FIXME - should not be hard-coded
203  # if doing MC+MC overlay
204  if flags.Common.isOverlay and flags.Input.isMC:
205  kwargs.setdefault("isMcOverlay", True)
206  kwargs.setdefault("Nsamples", flags.LAr.ROD.nSamples)
207  kwargs.setdefault("firstSample", #Need to set a negative value to include preceeding samples
208  -flags.LAr.ROD.nPreceedingSamples if flags.LAr.ROD.nPreceedingSamples!=0 else flags.LAr.ROD.FirstSample)
209  LArHitEMapToDigitAlg = CompFactory.LArHitEMapToDigitAlg
210  acc.addEventAlgo(LArHitEMapToDigitAlg(name, **kwargs))
211  return acc
212 
213 def LArOutputCfg(flags):
214  """Return ComponentAccumulator with Output for LAr. Not standalone."""
215  acc = ComponentAccumulator()
216  if flags.Output.doWriteRDO:
217  ItemList = []
218  if flags.Digitization.AddCaloDigi:
219  ItemList.append("LArDigitContainer#*")
220  elif flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
221  ItemList.append("LArDigitContainer#" + flags.Overlay.BkgPrefix + "LArDigitContainer_MC")
222  elif flags.Digitization.AddCaloDigiThinned:
223  ItemList.append("LArDigitContainer#LArDigitContainer_MC_Thinned")
224  if flags.Common.ProductionStep != ProductionStep.PileUpPresampling:
225  ItemList.append("LArRawChannelContainer#LArRawChannels")
226  if flags.Overlay.DataOverlay:
227  ItemList.append("LArFebHeaderContainer#LArFebHeader")
228  if flags.Digitization.EnableTruth:
229  ItemList.append("CaloCalibrationHitContainer#*")
230  acc.merge(TruthDigitizationOutputCfg(flags))
231  acc.merge(OutputStreamCfg(flags, "RDO", ItemList))
232  return acc
233 
234 
235 def LArDigitizationBasicCfg(flags, **kwargs):
236  """Return ComponentAccumulator with LAr digitization configuration"""
237  acc = ComponentAccumulator()
238  if "PileUpTools" not in kwargs:
239  PileUpTools = acc.popToolsAndMerge(LArPileUpToolCfg(flags))
240  kwargs["PileUpTools"] = PileUpTools
241  acc.merge(PileUpToolsCfg(flags, **kwargs))
242 
243  acc.merge(LArHitEMapToDigitAlgCfg(flags))
244  if flags.LAr.ROD.NNRawChannelBuilding:
245  acc.merge(LArNNRawChannelBuilderCfg(flags))
246  else:
247  acc.merge(LArRawChannelBuilderAlgCfg(flags))
248 
249  if flags.Digitization.AddCaloDigiThinned:
250  acc.merge(LArDigitThinnerCfg(flags))
251  return acc
252 
253 
254 def LArDigitizationCfg(flags, **kwargs):
255  """Return ComponentAccumulator with LAr digitization and Output"""
256  acc = LArDigitizationBasicCfg(flags, **kwargs)
257  acc.merge(LArOutputCfg(flags))
258  return acc
259 
260 
261 def LArOverlayDigitizationBasicCfg(flags, name="digitmaker1", **kwargs):
262  """Return ComponentAccumulator with LAr Overlay digitization configuration"""
263  acc = ComponentAccumulator()
264 
265  if "LArPileUpTool" not in kwargs:
266  kwargs["LArPileUpTool"] = acc.popToolsAndMerge(LArPileUpToolCfg(flags))
267 
268  if flags.Concurrency.NumThreads > 0:
269  kwargs.setdefault('Cardinality', flags.Concurrency.NumThreads)
270 
271  LArHitEMapMaker = CompFactory.LArHitEMapMaker
272  acc.addEventAlgo(LArHitEMapMaker(name, **kwargs))
273  acc.merge(LArHitEMapToDigitAlgCfg(flags))
274 
275  acc.merge(LArRawChannelBuilderAlgCfg(flags))
276  if flags.Digitization.AddCaloDigiThinned:
277  acc.merge(LArDigitThinnerCfg(flags))
278  return acc
279 
280 
281 def LArOverlayCfg(flags, **kwargs):
282  """Return ComponentAccumulator with LAr overlay and Output"""
283  acc = LArOverlayDigitizationBasicCfg(flags, **kwargs)
284  acc.merge(LArOutputCfg(flags))
285  return acc
286 
287 
288 def LArAutoCorrNoiseCondSCAlgCfg(flags, **kwargs):
289  acc = ComponentAccumulator()
290 
291  requiredConditions=["AutoCorrSC"]
292  from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBMCSCCfg
293  acc.merge(LArElecCalibDBMCSCCfg(flags,requiredConditions))
294  kwargs.setdefault("LArAutoCorrObjKey", "LArAutoCorrSC") # Provided by LArFlatConditionsAlg<LArAutoCorrSC>
295 
296  from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg
297  acc.merge(LArOnOffIdMappingSCCfg(flags))
298  kwargs.setdefault("LArOnOffIdMappingObjKey", 'LArOnOffIdMapSC')
299  kwargs.setdefault("nSampl", flags.LAr.ROD.nSamples + 2) # See ATLASSIM-5483
300  kwargs.setdefault("isSuperCell", True)
301  kwargs.setdefault("LArAutoCorrNoiseObjKey", "LArAutoCorrNoiseSC") # output
302  acc.addCondAlgo(CompFactory.LArAutoCorrNoiseCondAlg(name="LArAutoCorrNoiseSCCondAlg", **kwargs))
303  return acc
304 
305 
306 def LArSCL1MakerCfg(flags, **kwargs):
307  """Return ComponentAccumulator for LArSCL1Maker"""
308  acc = ComponentAccumulator()
309  if flags.Common.isOverlay:
310  acc.merge(LArOverlayDigitizationBasicCfg(flags))
311  else:
312  acc.merge(LArDigitizationBasicCfg(flags))
313 
314  kwargs.setdefault("LArHitEMapKey", "StoreGateSvc+LArHitEMap") # Provided by LArPileUpTool
315 
316  from LArRecUtils.LArADC2MeVSCCondAlgConfig import LArADC2MeVSCCondAlgCfg
317  acc.merge(LArADC2MeVSCCondAlgCfg(flags))
318  kwargs.setdefault("LArADC2MeVKey", "ConditionStore+LArADC2MeVSC") # Provided by LArADC2MeVSCCondAlg
319 
320  from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg
321  acc.merge(LArOnOffIdMappingSCCfg(flags))
322  # '<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???
323  kwargs.setdefault("ScCablingKey", "ConditionStore+LArOnOffIdMapSC") # Provided by LArOnOffMappingAlgSC
324 
325  requiredConditions=["fSamplSC","ShapeSC","PedestalSC","NoiseSC"]
326  from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBMCSCCfg
327  acc.merge(LArElecCalibDBMCSCCfg(flags,requiredConditions))
328  kwargs.setdefault("FracSKey", "ConditionStore+LArfSamplSC") # Provided by LArFlatConditionsAlg<LArfSamplSC>
329  kwargs.setdefault("ShapeKey", "ConditionStore+LArShapeSC") # Provided by LArFlatConditionsAlg<LArShapeSC>
330  kwargs.setdefault("PedestalKey", "ConditionStore+LArPedestalSC") # Provided by LArFlatConditionsAlg<LArPedestalSC>
331  kwargs.setdefault("LArNoiseKey", "ConditionStore+LArNoiseSC") # Provided by LArFlatConditionsAlg<LArNoiseSC>
332 
333  acc.merge(LArAutoCorrNoiseCondSCAlgCfg(flags))
334  kwargs.setdefault("LArAutoCorrKey", "ConditionStore+LArAutoCorrNoiseSC") # Provided by LArAutoCorrNoiseCondAlg/LArAutoCorrNoiseSCCondAlg
335  kwargs.setdefault("NSamples", flags.LAr.ROD.nSamples + 2) # For consistency with LArAutoCorrNoiseSC - see ATLASSIM-5483
336  from RngComps.RngCompsConfig import AthRNGSvcCfg
337  kwargs.setdefault("RndmSvc",
338  acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)).name)
339  if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
340  kwargs.setdefault("SCL1ContainerName", f"{flags.Overlay.BkgPrefix}LArDigitSCL2") # Output - why L2??
341  if flags.Common.isOverlay:
342  kwargs.setdefault("BkgDigitKey", f"{flags.Overlay.BkgPrefix}LArDigitSCL2")
343 
344  from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
345  acc.merge(SGInputLoaderCfg(flags, [f'LArDigitContainer#{kwargs["BkgDigitKey"]}']))
346  kwargs.setdefault("SCL1ContainerName","LArDigitSCL2") # Output - why L2??
347  acc.addEventAlgo(CompFactory.LArSCL1Maker(**kwargs))
348  return acc
349 
350 
351 def LArTriggerDigitizationBasicCfg(flags, **kwargs):
352  """Return ComponentAccumulator for LAr Trigger Tower"""
353  acc = LArDigitizationBasicCfg(flags)
354  acc.merge(CaloTriggerTowerCfg(flags))
355 
356  kwargs.setdefault("NoiseOnOff", flags.Digitization.DoCaloNoise)
357  kwargs.setdefault("RandomSeedOffset", flags.Digitization.RandomSeedOffset)
358  kwargs.setdefault("PileUp", flags.Digitization.PileUp)
359  if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
360  kwargs.setdefault("EmTTL1ContainerName", flags.Overlay.BkgPrefix + "LArTTL1EM")
361  kwargs.setdefault("HadTTL1ContainerName", flags.Overlay.BkgPrefix + "LArTTL1HAD")
362  acc.addEventAlgo(CompFactory.LArTTL1Maker(**kwargs))
363  if flags.GeoModel.Run >= LHCPeriod.Run3:
364  acc.merge(LArSCL1MakerCfg(flags))
365  if flags.Common.ProductionStep is not ProductionStep.PileUpPresampling:
366  from LArROD.LArSuperCellBuilderConfig import LArSuperCellBuilderAlgCfg, LArSuperCellBCIDAlgCfg
367  acc.merge(LArSuperCellBuilderAlgCfg(flags))
368  acc.merge(LArSuperCellBCIDAlgCfg(flags))
369  return acc
370 
371 
372 def LArTriggerDigitizationCfg(flags, **kwargs):
373  """Return ComponentAccumulator for LAr Trigger Tower and Output"""
374  acc = LArTriggerDigitizationBasicCfg(flags)
375  acc.merge(LArOutputCfg(flags))
376  acc.merge(OutputStreamCfg(flags, "RDO", ["LArTTL1Container#*"]))
377  if flags.GeoModel.Run >= LHCPeriod.Run3:
378  if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
379  acc.merge(OutputStreamCfg(flags, "RDO", ["LArDigitContainer#" + flags.Overlay.BkgPrefix + "LArDigitSCL2"]))
380  else:
381  acc.merge(OutputStreamCfg(flags, "RDO", ["CaloCellContainer#SCell"]))
382  return acc
383 
384 
386  """Return ComponentAccumulator with LAr Overlay Trigger Tower"""
387  acc = LArOverlayDigitizationBasicCfg(flags)
388  acc.merge(CaloTriggerTowerCfg(flags))
389 
390  kwargs.setdefault("NoiseOnOff", flags.Digitization.DoCaloNoise)
391  kwargs.setdefault("RandomSeedOffset", flags.Digitization.RandomSeedOffset)
392  kwargs.setdefault("PileUp", True)
393  kwargs.setdefault("EmTTL1ContainerName", flags.Overlay.SigPrefix + "LArTTL1EM")
394  kwargs.setdefault("HadTTL1ContainerName", flags.Overlay.SigPrefix + "LArTTL1HAD")
395 
396  if flags.Concurrency.NumThreads > 0:
397  kwargs.setdefault('Cardinality', flags.Concurrency.NumThreads)
398 
399  acc.addEventAlgo(CompFactory.LArTTL1Maker(**kwargs))
400  return acc
401 
402 
403 def LArSuperCellOverlayCfg(flags, **kwargs):
404  acc = LArSCL1MakerCfg(flags)
405  from LArROD.LArSuperCellBuilderConfig import LArSuperCellBuilderAlgCfg, LArSuperCellBCIDAlgCfg
406  acc.merge(LArSuperCellBuilderAlgCfg(flags))
407  acc.merge(LArSuperCellBCIDAlgCfg(flags))
408  acc.merge(OutputStreamCfg(flags, "RDO", ["CaloCellContainer#SCell"]))
409  return acc
python.CaloConditionsConfig.CaloTriggerTowerCfg
def CaloTriggerTowerCfg(flags)
Definition: CaloConditionsConfig.py:8
python.LArElecCalibDBConfig.LArElecCalibDBCfg
def LArElecCalibDBCfg(flags, condObjs)
Definition: LArElecCalibDBConfig.py:47
python.LArADC2MeVSCCondAlgConfig.LArADC2MeVSCCondAlgCfg
def LArADC2MeVSCCondAlgCfg(flags)
Definition: LArADC2MeVSCCondAlgConfig.py:6
python.LArDigitizationConfig.LArOverlayCfg
def LArOverlayCfg(flags, **kwargs)
Definition: LArDigitizationConfig.py:281
python.LArElecCalibDBConfig.LArElecCalibDBMCSCCfg
def LArElecCalibDBMCSCCfg(flags, folders, detdb="LAR_OFL")
Definition: LArElecCalibDBConfig.py:241
LArCablingConfig.LArOnOffIdMappingSCCfg
def LArOnOffIdMappingSCCfg(configFlags)
Definition: LArCablingConfig.py:65
LArPileUpTool
Definition: LArPileUpTool.h:61
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
python.LArDigitizationConfig.LArRangeFCALCfg
def LArRangeFCALCfg(flags, name="LArRangeFCAL", **kwargs)
Definition: LArDigitizationConfig.py:66
python.LArDigitizationConfig.LArRangeHECCfg
def LArRangeHECCfg(flags, name="LArRangeHEC", **kwargs)
Definition: LArDigitizationConfig.py:54
python.TruthDigitizationOutputConfig.TruthDigitizationOutputCfg
def TruthDigitizationOutputCfg(flags)
Definition: TruthDigitizationOutputConfig.py:9
python.LArRawDataReadingConfig.LArRawDataReadingCfg
def LArRawDataReadingCfg(flags, **kwargs)
Definition: LArRawDataReadingConfig.py:11
python.LArADC2MeVCondAlgConfig.LArADC2MeVCondAlgCfg
def LArADC2MeVCondAlgCfg(flags)
Definition: LArADC2MeVCondAlgConfig.py:6
python.LArSuperCellBuilderConfig.LArSuperCellBCIDAlgCfg
def LArSuperCellBCIDAlgCfg(flags, name="LArSuperCellBCIDAlgDefault", **kwargs)
Definition: LArSuperCellBuilderConfig.py:40
python.LArBadChannelConfig.LArBadChannelCfg
def LArBadChannelCfg(configFlags, tag=None, isSC=False)
Definition: LArBadChannelConfig.py:8
python.LArRawChannelBuilderAlgConfig.LArRawChannelBuilderAlgCfg
def LArRawChannelBuilderAlgCfg(flags, **kwargs)
Definition: LArRawChannelBuilderAlgConfig.py:9
python.LArDigitizationConfig.LArDigitizationBasicCfg
def LArDigitizationBasicCfg(flags, **kwargs)
Definition: LArDigitizationConfig.py:235
python.LArDigitizationConfig.LArAutoCorrNoiseCondSCAlgCfg
def LArAutoCorrNoiseCondSCAlgCfg(flags, **kwargs)
Definition: LArDigitizationConfig.py:288
python.LArNNChannelBuilder.LArNNRawChannelBuilderCfg
def LArNNRawChannelBuilderCfg(configFlags, name="LArNNRawChannelBuilder", **kwargs)
Definition: LArNNChannelBuilder.py:11
python.LArBadChannelConfig.LArBadFebCfg
def LArBadFebCfg(configFlags, tag=None)
Definition: LArBadChannelConfig.py:46
python.LArDigitThinnerConfig.LArDigitThinnerCfg
def LArDigitThinnerCfg(flags, **kwargs)
Definition: LArDigitThinnerConfig.py:12
python.LArSuperCellBuilderConfig.LArSuperCellBuilderAlgCfg
def LArSuperCellBuilderAlgCfg(flags, **kwargs)
Definition: LArSuperCellBuilderConfig.py:7
AddressRemappingConfig.InputOverwriteCfg
def InputOverwriteCfg(from_type, from_name, to_type, to_name)
Definition: AddressRemappingConfig.py:50
SGInputLoaderConfig.SGInputLoaderCfg
def SGInputLoaderCfg(flags, Load=None, **kwargs)
Definition: SGInputLoaderConfig.py:7
LArHitEMapToDigitAlg
Definition: LArHitEMapToDigitAlg.h:60
python.LArDigitizationConfig.LArHitEMapToDigitAlgCfg
def LArHitEMapToDigitAlgCfg(flags, name="LArHitEMapToDigitAlg", **kwargs)
Definition: LArDigitizationConfig.py:161
python.PileUpToolsConfig.PileUpToolsCfg
def PileUpToolsCfg(flags, **kwargs)
Definition: PileUpToolsConfig.py:14
python.LArDigitizationConfig.LArOverlayDigitizationBasicCfg
def LArOverlayDigitizationBasicCfg(flags, name="digitmaker1", **kwargs)
Definition: LArDigitizationConfig.py:261
python.LArDigitizationConfig.LArSuperCellOverlayCfg
def LArSuperCellOverlayCfg(flags, **kwargs)
Definition: LArDigitizationConfig.py:403
LArGMConfig.LArGMCfg
def LArGMCfg(flags)
Definition: LArGMConfig.py:8
python.LArDigitizationConfig.LArDigitizationCfg
def LArDigitizationCfg(flags, **kwargs)
Definition: LArDigitizationConfig.py:254
python.LArDigitizationConfig.LArTriggerDigitizationBasicCfg
def LArTriggerDigitizationBasicCfg(flags, **kwargs)
Definition: LArDigitizationConfig.py:351
python.LArRecUtilsConfig.LArAutoCorrNoiseCondAlgCfg
def LArAutoCorrNoiseCondAlgCfg(flags, name="LArAutoCorrNoiseCondAlg", **kwargs)
Definition: LArRecUtilsConfig.py:20
LArHitEMapMaker
Definition: LArHitEMapMaker.h:15
python.LArDigitizationConfig.LArOverlayTriggerDigitizationBasicCfg
def LArOverlayTriggerDigitizationBasicCfg(flags, **kwargs)
Definition: LArDigitizationConfig.py:385
python.LArDigitizationConfig.LArOutputCfg
def LArOutputCfg(flags)
Definition: LArDigitizationConfig.py:213
python.LArDigitizationConfig.LArRangeEMCfg
def LArRangeEMCfg(flags, name="LArRangeEM", **kwargs)
Definition: LArDigitizationConfig.py:40
python.PileUpMergeSvcConfig.PileUpXingFolderCfg
def PileUpXingFolderCfg(flags, name="PileUpXingFolder", **kwargs)
Definition: PileUpMergeSvcConfig.py:35
python.PileUpMergeSvcConfig.PileUpMergeSvcCfg
def PileUpMergeSvcCfg(flags, name="PileUpMergeSvc", Intervals=[], **kwargs)
Definition: PileUpMergeSvcConfig.py:10
python.LArDigitizationConfig.LArTriggerDigitizationCfg
def LArTriggerDigitizationCfg(flags, **kwargs)
Definition: LArDigitizationConfig.py:372
python.LArDigitizationConfig.LArSCL1MakerCfg
def LArSCL1MakerCfg(flags, **kwargs)
Definition: LArDigitizationConfig.py:306
python.LArDigitizationConfig.useLArFloat
def useLArFloat(flags)
Definition: LArDigitizationConfig.py:28
python.LArDigitizationConfig.LArPileUpToolCfg
def LArPileUpToolCfg(flags, name="LArPileUpTool", **kwargs)
Definition: LArDigitizationConfig.py:78
python.LArXTalkWeightCondAlgConfig.LArXTalkWeightCondAlgCfg
def LArXTalkWeightCondAlgCfg(flags)
Definition: LArXTalkWeightCondAlgConfig.py:91
RngCompsConfig.AthRNGSvcCfg
def AthRNGSvcCfg(flags, name="AthRNGSvc")
Definition: RngCompsConfig.py:51