Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
LArConditions2Ntuple.py
Go to the documentation of this file.
1 #!/bin/env python
2 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
6 
7 if __name__=='__main__':
8 
9  import os,sys
10  import argparse
11 
12  # now process the CL options and assign defaults
13  parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
14  parser.add_argument('-r','--run', dest='run', default=0x7fffffff, help='Run number', type=int)
15  parser.add_argument('--sqlite', dest='sqlite', default=None, help='sqlite file to read from (default: oracle)', type=str)
16  parser.add_argument('-t','--tag',dest='dbtag',default=None,help="Global conditions tag", type=str)
17  parser.add_argument('-f','--ftag',dest='ftag',default=None,help="folder tag suffig", type=str)
18  parser.add_argument('-o','--out', dest='out', default="LArConditions.root", help='Output root file', type=str)
19  parser.add_argument('--ofcfolder',dest='ofcfolder',default="", help="OFC flavor",type=str)
20  parser.add_argument('-s','--isSC', dest='isSC', action='store_true', default=False, help='is SC?')
21  parser.add_argument('-m','--isMC', dest='isMC', action='store_true', default=False, help='is MC?')
22 
23  parser.add_argument("--objects",dest="objects",default="PEDESTAL,RAMP",help="List of conditions types to be dumped",type=str)
24  parser.add_argument("--folders",dest="folders",default="/LAR/ElecCalibFlat/Pedestal,/LAR/ElecCalibFlat/Ramp",help="List of folders to be taken from sqlite",type=str)
25  parser.add_argument('--offline',dest="offline", action='store_true', default=False, help='is offline folder?')
26  parser.add_argument('--poolcat',dest="poolcat", default="", type=str, help='is offline folder?')
27  parser.add_argument('-n', '--ntuple', dest='ntname', default='', help='output ntuple name (if different from default)', type=str)
28  parser.add_argument('--oLevel', dest='olevel', default=3, help='OutputLevel of the job', type=int)
29 
30  args = parser.parse_args()
31  if help in args and args.help is not None and args.help:
32  parser.print_help()
33  sys.exit(0)
34 
35 
36  #Translation table ... with a few potential variant spellings
37  objTable={"RAMP":"Ramp",
38  "DAC2UA":"DAC2uA",
39  "DACUA":"DAC2uA",
40  "PEDESTAL":"Pedestal",
41  "PED":"Pedestal",
42  "UA2MEV":"uA2MeV",
43  "UAMEV":"uA2MeV",
44  "MPHYSOVERMCAL":"MphysOverMcal",
45  "MPHYSMCAL":"MphysOverMcal",
46  "MPMC":"MphysOverMcal",
47  "OFC":"OFC",
48  "SHAPE":"Shape",
49  "HVSCALECORR":"HVScaleCorr",
50  "HVSCALE":"HVScaleCorr",
51  "FSAMPL":"fSampl",
52  "AUTOCORR":"AutoCorr",
53  "AC":"AutoCorr",
54  "CALIWAVE":"CaliWave",
55  "PHYSWAVE":"PhysWave",
56  "OFCCALI":"OFCCali",
57  "ACORR":"AutoCorr",
58  "DSPTHR":"DSPThr",
59  "MINBIAS":"MinBias",
60  "PHYSAC":"PhysAutoCorr",
61  }
62 
63  objects=set()
64  objectsOnl=set()
65  for obj in args.objects.split(","):
66  objU=obj.upper()
67  if objU not in objTable:
68  print("ERROR: Unknown conditions type",obj)
69  sys.exit(0)
70 
71  objects.add(objTable[objU])
72  if "OFCCALI" not in obj.upper() and 'WAVE' not in obj.upper() and 'DSPTHR' not in obj.upper() and 'MINBIAS' not in obj.upper() and not args.offline:
73  objectsOnl.add(objTable[objU])
74 
75  flds=set()
76  for fld in args.folders.split(","):
77  flds.add(fld)
78 
79  from AthenaConfiguration.AllConfigFlags import initConfigFlags
81  from LArCalibProcessing.LArCalibConfigFlags import addLArCalibFlags
82  addLArCalibFlags(flags, args.isSC)
83 
84  flags.Input.RunNumbers=[args.run]
85  from AthenaConfiguration.TestDefaults import defaultGeometryTags
86  flags.GeoModel.AtlasVersion=defaultGeometryTags.RUN3
87 
88  flags.Input.Files=[]
89 
90  flags.Input.isMC=args.isMC
91  flags.LArCalib.isSC=args.isSC
92 
93  flags.LAr.doAlign=False
94 
95  flags.LAr.OFCShapeFolder=args.ofcfolder
96 
97  from AthenaConfiguration.Enums import LHCPeriod
98  if flags.Input.RunNumbers[0] < 222222:
99  #Set to run1 for early run-numbers
100  flags.GeoModel.Run=LHCPeriod.Run1
101  flags.IOVDb.DatabaseInstance="OFLP200" if flags.Input.isMC else "COMP200"
102  else:
103  flags.GeoModel.Run=LHCPeriod.Run2
104  flags.IOVDb.DatabaseInstance="OFLP200" if flags.Input.isMC else "CONDBR2"
105 
106  if args.dbtag:
107  flags.IOVDb.GlobalTag=args.dbtag
108  elif flags.Input.isMC:
109  flags.IOVDb.GlobalTag="OFLCOND-MC16-SDR-20"
110  elif flags.IOVDb.DatabaseInstance == "COMP200":
111  flags.IOVDb.GlobalTag="COMCOND-BLKPA-RUN1-09"
112  else:
113  flags.IOVDb.GlobalTag="CONDBR2-ES1PA-2024-01"
114 
115  flags.Exec.OutputLevel=args.olevel
116  flags.Debug.DumpCondStore=True
117  flags.Debug.DumpDetStore=True
118 
119  if (args.sqlite):
120  flags.IOVDb.SqliteInput=args.sqlite
121  flags.IOVDb.SqliteFolders=tuple(flds)
122  if len(objects)!=len(objectsOnl):
123  flags.IOVDb.DBConnection="COOLOFL_LAR/CONDBR2"
124 
125  flags.lock()
126 
127  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
128  cfg=MainServicesCfg(flags)
129 
130  #MC Event selector since we have no input data file
131  from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
132  cfg.merge(McEventSelectorCfg(flags,
133  EventsPerRun = 1,
134  FirstEvent = 1,
135  InitialTimeStamp = 0,
136  TimeStampInterval = 1))
137 
138 
139 
140  #Get LAr basic services and cond-algos
141  from LArGeoAlgsNV.LArGMConfig import LArGMCfg
142  cfg.merge(LArGMCfg(flags))
143 
144  if flags.LArCalib.isSC:
145  #Setup SuperCell cabling
146  from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg, LArCalibIdMappingSCCfg, LArLATOMEMappingCfg
147  cfg.merge(LArOnOffIdMappingSCCfg(flags))
148  cfg.merge(LArCalibIdMappingSCCfg(flags))
149  cfg.merge(LArLATOMEMappingCfg(flags))
150  if not args.offline:
151  from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBSCCfg
152  cfg.merge(LArElecCalibDBSCCfg(flags,objectsOnl))
153  else:
154  #Setup regular cabling
155  from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg, LArCalibIdMappingCfg
156  cfg.merge(LArOnOffIdMappingCfg(flags))
157  cfg.merge(LArCalibIdMappingCfg(flags))
158  if not args.offline:
159  from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBCfg
160  cfg.merge(LArElecCalibDBCfg(flags,objectsOnl))
161 
162  from LArBadChannelTool.LArBadChannelConfig import LArBadChannelCfg
163  cfg.merge(LArBadChannelCfg(flags, isSC=flags.LArCalib.isSC))
164 
165  bcKey = "LArBadChannelSC" if flags.LArCalib.isSC else "LArBadChannel"
166 
167  if "Pedestal" in objects:
168  ckey = "LArPedestalSC" if flags.LArCalib.isSC else "LArPedestal"
169  cfg.addEventAlgo(CompFactory.LArPedestals2Ntuple(ContainerKey = ckey,
170  AddFEBTempInfo = False,
171  AddCalib = True,
172  isSC = flags.LArCalib.isSC,
173  BadChanKey = bcKey
174  ))
175 
176  if "AutoCorr" in objects:
177  from IOVDbSvc.IOVDbSvcConfig import addFolders
178  if flags.LArCalib.isSC:
179  cfg.merge(addFolders(flags,'/LAR/ElecCalibOflSC/AutoCorrs/AutoCorr',modifiers='<key>LArAutoCorrSC</key>',className='LArAutoCorrComplete'))
180  else:
181  if args.ftag:
182  cfg.merge(addFolders(flags,'/LAR/ElecCalibOfl/AutoCorrs/AutoCorr',tag="".join('/LAR/ElecCalibOfl/AutoCorrs/AutoCorr'.split('/')) + args.ftag))
183  else:
184  cfg.merge(addFolders(flags,'/LAR/ElecCalibOfl/AutoCorrs/AutoCorr',className='LArAutoCorrComplete'))
185  ckey="LArAutoCorrSC" if flags.LArCalib.isSC else "LArAutoCorr"
186  cfg.addEventAlgo(CompFactory.LArAutoCorr2Ntuple(ContainerKey = "LArAutoCorrSym" if flags.Input.isMC else ckey,
187  AddFEBTempInfo = False,
188  AddCalib = True,
189  isSC = flags.LArCalib.isSC,
190  ApplyCorrection = True,
191  AddCorrUndo = True,
192  BadChanKey = bcKey,
193 
194  ))
195 
196  if "PhysAutoCorr" in objects:
197  from IOVDbSvc.IOVDbSvcConfig import addFolders
198  if flags.LArCalib.isSC:
199  cfg.merge(addFolders(flags,'/LAR/ElecCalibOflSC/AutoCorrs/PhysicsAutoCorr',modifiers='<key>LArAutoCorrSC</key>',className='LArAutoCorrComplete'))
200  else:
201  if args.ftag:
202  cfg.merge(addFolders(flags,'/LAR/ElecCalibOfl/AutoCorrs/PhysicsAutoCorr',tag="".join('/LAR/ElecCalibOfl/AutoCorrs/PhysicsAutoCorr'.split('/')) + args.ftag))
203  else:
204  cfg.merge(addFolders(flags,'/LAR/ElecCalibOfl/AutoCorrs/PhysicsAutoCorr',className='LArAutoCorrComplete'))
205  ckey="LArPhysAutoCorrSC" if flags.LArCalib.isSC else "LArPhysAutoCorr"
206  cfg.addEventAlgo(CompFactory.LArAutoCorr2Ntuple(ContainerKey = ckey,
207  AddFEBTempInfo = False,
208  AddCalib = True,
209  isSC = flags.LArCalib.isSC,
210  ApplyCorrection = not flags.Input.isMC,
211  AddCorrUndo = not flags.Input.isMC,
212  BadChanKey = bcKey,
213 
214  ))
215 
216  if "Ramp" in objects:
217  ckey = "LArRampSC" if flags.LArCalib.isSC else "LArRamp"
218  if args.offline:
219  from IOVDbSvc.IOVDbSvcConfig import addFolders
220  if flags.LArCalib.isSC:
221  cfg.merge(addFolders(flags,'/LAR/ElecCalibOflSC/Ramps/RampLinea',modifiers='<key>LArRampSC</key>',className='LArRampComplete'))
222  else:
223  cfg.merge(addFolders(flags,'/LAR/ElecCalibOfl/Ramps/RampLinea',className='LArRampComplete'))
224  cfg.addEventAlgo(CompFactory.LArRamps2Ntuple(RampKey="LArRampSym" if flags.Input.isMC else ckey,
225  AddFEBTempInfo = False,
226  AddCalib = True,
227  isSC = flags.LArCalib.isSC,
228  ApplyCorr = True,
229  AddCorrUndo = True,
230  BadChanKey = bcKey
231  ))
232 
233  if "OFC" in objects:
234  if args.offline:
235  from IOVDbSvc.IOVDbSvcConfig import addFolders
236  for fld in flds:
237  if 'OFC' in fld:
238  if args.ftag:
239  cfg.merge(addFolders(flags,fld,tag="".join(foldername.split('/')) + args.ftag))
240  else:
241  cfg.merge(addFolders(flags,fld))
242  ckey= 'LArOFC' if '1phase' in fld else 'LArLArOFCPhys4samples'
243  ntname= 'OFC' if '1phase' in fld else 'OFC_1ns'
244  break
245  else:
246  ckey = "LArOFCSC" if flags.LArCalib.isSC else "LArOFC"
247  ntname = 'OFC'
248  cfg.addEventAlgo(CompFactory.LArOFC2Ntuple(AddFEBTempInfo = False,
249  ContainerKey=ckey,
250  NtupleName=ntname,
251  isSC = flags.LArCalib.isSC,
252  BadChanKey = bcKey
253  ))
254 
255  if "OFCCali" in objects:
256  if args.offline:
257  from IOVDbSvc.IOVDbSvcConfig import addFolders
258  for fld in flds:
259  if 'OFC' in fld:
260  if args.ftag:
261  cfg.merge(addFolders(flags,fld,tag="".join(foldername.split('/')) + args.ftag))
262  else:
263  cfg.merge(addFolders(flags,fld))
264  ckey= 'LArOFC' if '1phase' in fld else 'LArOFC'
265  break
266  else:
267  ckey = "LArOFCSCCali" if flags.LArCalib.isSC else "LArOFCCali"
268  fldr = "/LAR/ElecCalibFlatSC/OFCCali" if flags.LArCalib.isSC else "/LAR/ElecCalibFlat/OFCCali"
269  dbString = "<db>sqlite://;schema="+args.sqlite+";dbname=CONDBR2" if args.sqlite else "<db>COOLONL_LAR/CONDBR2</db>"
270  from IOVDbSvc.IOVDbSvcConfig import addFolders
271  cfg.merge(addFolders(flags,fldr,detDb=dbString,className="CondAttrListCollection"))
272  LArOFCSCCondAlg = CompFactory.getComp("LArFlatConditionsAlg<LArOFCSC>")("LArOFCSCCaliCondAlg")
273  LArOFCSCCondAlg.ReadKey=fldr
274  LArOFCSCCondAlg. WriteKey=ckey
275  cfg.addCondAlgo(LArOFCSCCondAlg)
276 
277  cfg.addEventAlgo(CompFactory.LArOFC2Ntuple("LArOFC2NtupleCali",
278  AddFEBTempInfo = False,
279  ContainerKey=ckey,
280  NtupleName="OFCCali" if args.ntname=='' else args.ntname,
281  isSC = flags.LArCalib.isSC,
282  BadChanKey = bcKey
283  ))
284 
285 
286  if "Shape" in objects:
287  ckey = "LArShapeSC" if flags.LArCalib.isSC else "LArShape"
288  if flags.Input.isMC:
289  ckey="LArShapeSym"
290  cfg.addEventAlgo(CompFactory.LArShape2Ntuple(ContainerKey=ckey,
291  AddFEBTempInfo = False,
292  AddCalib = True,
293  isSC = flags.LArCalib.isSC,
294  BadChanKey = bcKey
295 
296  ))
297  if "MphysOverMcal" in objects:
298  cfg.addEventAlgo(CompFactory.LArMphysOverMcal2Ntuple(ContainerKey = "LArMphysOverMcalSC" if flags.LArCalib.isSC else "LArMphysOverMcal",
299  AddFEBTempInfo = False,
300  AddCalib = True,
301  isSC = flags.LArCalib.isSC,
302  BadChanKey = bcKey
303  ))
304 
305  #ADC2MeV and DACuA are handled by the same ntuple dumper
306  if "DAC2uA" in objects or "uA2MeV" in objects:
307  uackey = "LAruA2MeVSC" if flags.LArCalib.isSC else "LAruA2MeV"
308  dackey = "LArDAC2uASC" if flags.LArCalib.isSC else "LArDAC2uA"
309  ua2MeVKey="LAruA2MeVSym" if flags.Input.isMC else uackey
310  dac2uAKey="LArDAC2uASym" if flags.Input.isMC else dackey
311 
312  cfg.addEventAlgo(CompFactory.LAruA2MeV2Ntuple(uA2MeVKey=ua2MeVKey if "uA2MeV" in objects else "",
313  DAC2uAKey=dac2uAKey if "DAC2uA" in objects else "",
314  isSC = flags.LArCalib.isSC,
315  BadChanKey = bcKey
316  ))
317 
318 
319  if "HVScaleCorr" in objects:
320  # hack to read from sqlite created by HV computations
321  iovDbSvc=cfg.getService("IOVDbSvc")
322  for i in range(0,len(iovDbSvc.Folders)):
323  if (iovDbSvc.Folders[i].find("HVScaleCorr")>=0):
324  iovDbSvc.Folders[i]+="<key>/LAR/ElecCalibFlatSC/HVScaleCorr</key>"
325 
326  cfg.addEventAlgo(CompFactory.LArHVScaleCorr2Ntuple(ContainerKey= "LArHVScaleCorrSC" if flags.LArCalib.isSC else "LArHVScaleCorr",
327  AddFEBTempInfo = False,
328  isSC = flags.LArCalib.isSC,
329  BadChanKey = bcKey
330  ))
331 
332  if "fSampl" in objects:
333  cfg.addEventAlgo(CompFactory.LArfSampl2Ntuple(ContainerKey="LArfSamplSC" if flags.LArCalib.isSC else "LArfSamplSym",
334  isSC=flags.LArCalib.isSC
335  ))
336 
337  if "CaliWave" in objects:
338  if flags.Input.isMC:
339  print('No CaliWave in MC')
340  else:
341  fld = "/LAR/ElecCalibOflSC/CaliWaves/CaliWave" if flags.LArCalib.isSC else "/LAR/ElecCalibOfl/CaliWaves/CaliWave"
342  from IOVDbSvc.IOVDbSvcConfig import addFolders
343  cfg.merge(addFolders(flags,fld,modifiers='<key>LArCaliWave</key><typeName>LArCaliWaveContainer</typeName>'))
344  cfg.addEventAlgo(CompFactory.LArCaliWaves2Ntuple(KeyList = ["LArCaliWave"],
345  NtupleName = "CALIWAVE",
346  AddFEBTempInfo = False,
347  SaveDerivedInfo = True,
348  AddCalib = True,
349  SaveJitter = True,
350  isFlat = False,
351  isSC = flags.LArCalib.isSC,
352  BadChanKey = bcKey
353  ))
354 
355  if "PhysWave" in objects:
356  if flags.Input.isMC:
357  print('No PhysWave in MC yet')
358  else:
359  fld = "/LAR/ElecCalibOflSC/PhysWaves/RTM" if flags.LArCalib.isSC else "/LAR/ElecCalibOfl/PhysWaves/RTM"
360  from IOVDbSvc.IOVDbSvcConfig import addFolders
361  cfg.merge(addFolders(flags,fld))
362  cfg.addEventAlgo(CompFactory.LArPhysWaves2Ntuple(KeyList = ["LArPhysWave"],
363  NtupleName = "PHYSWAVE",
364  AddFEBTempInfo = False,
365  SaveDerivedInfo = True,
366  AddCalib = True,
367  isFlat = False,
368  isSC = flags.LArCalib.isSC,
369  BadChanKey = bcKey
370  ))
371 
372  if "DSPThr" in objects:
373  from IOVDbSvc.IOVDbSvcConfig import addFolders
374  cfg.merge(addFolders(flags,"/LAR/Configuration/DSPThresholdFlat/Thresholds",detDb="LAR_ONL"))
375  cfg.addEventAlgo(CompFactory.LArDSPThresholds2Ntuple(DumpFlat=True,FlatFolder="/LAR/Configuration/DSPThresholdFlat/Thresholds"))
376 
377  if "MinBias" in objects:
378  #FIXME different for MC
379  from IOVDbSvc.IOVDbSvcConfig import addFolders
380  if args.offline:
381  myfld="/LAR/ElecCalibOfl/LArPileupAverage"
382  mydb="LAR_OFL"
383  else:
384  myfld="/LAR/LArPileup/LArPileupAverage"
385  mydb="LAR_ONL"
386  if args.ftag:
387  cfg.merge(addFolders(flags,myfld,detDb=mydb,className="LArMinBiasAverageMC",tag="".join(myfld.split('/')) + args.ftag))
388  else:
389  cfg.merge(addFolders(flags,myfld,detDb=mydb,className="LArMinBiasAverageMC"))
390  LArMinBiasAverageSymAlg = CompFactory.getComp("LArSymConditionsAlg<LArMinBiasAverageMC, LArMinBiasAverageSym>")
391  LArMCSymCondAlg=CompFactory.LArMCSymCondAlg
392  cfg.addCondAlgo(LArMCSymCondAlg(ReadKey="LArOnOffIdMap"))
393  cfg.addCondAlgo(LArMinBiasAverageSymAlg(ReadKey="LArPileupAverage",WriteKey="LArSymPileupAverage"))
394  cfg.addEventAlgo(CompFactory.LArMinBias2Ntuple(ContainerKey="",ContainerKeyAv="LArSymPileupAverage"))
395 
396  rootfile=args.out
397  if os.path.exists(rootfile):
398  os.remove(rootfile)
399  cfg.addService(CompFactory.NTupleSvc(Output = [ "FILE1 DATAFILE='"+rootfile+"' OPT='NEW'" ]))
400  cfg.setAppProperty("HistogramPersistency","ROOT")
401 
402  if args.dbtag and 'CALIB' in args.dbtag:
403  cfg.getService("IOVDbSvc").DBInstance=""
404 
405  if args.poolcat:
406  cfg.getService("PoolSvc").ReadCatalog+=["xmlcatalog_file:%s"%args.poolcat,]
407 
408  cfg.run(1)
409  sys.exit(0)
410 
python.LArElecCalibDBConfig.LArElecCalibDBCfg
def LArElecCalibDBCfg(flags, condObjs)
Definition: LArElecCalibDBConfig.py:47
LArCablingConfig.LArOnOffIdMappingSCCfg
def LArOnOffIdMappingSCCfg(configFlags)
Definition: LArCablingConfig.py:65
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
LArConditions2Ntuple.LArMinBiasAverageSymAlg
LArMinBiasAverageSymAlg
Definition: LArConditions2Ntuple.py:390
python.LArBadChannelConfig.LArBadChannelCfg
def LArBadChannelCfg(configFlags, tag=None, isSC=False)
Definition: LArBadChannelConfig.py:8
LArCablingConfig.LArLATOMEMappingCfg
def LArLATOMEMappingCfg(configFlags)
Definition: LArCablingConfig.py:95
LArMCSymCondAlg
Definition: LArMCSymCondAlg.h:17
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:260
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
python.McEventSelectorConfig.McEventSelectorCfg
def McEventSelectorCfg(flags, **kwargs)
Definition: McEventSelectorConfig.py:5
python.IOVDbSvcConfig.addFolders
def addFolders(flags, folderStrings, detDb=None, className=None, extensible=False, tag=None, db=None, modifiers='')
Definition: IOVDbSvcConfig.py:81
LArCablingConfig.LArOnOffIdMappingCfg
def LArOnOffIdMappingCfg(configFlags)
Definition: LArCablingConfig.py:62
LArGMConfig.LArGMCfg
def LArGMCfg(flags)
Definition: LArGMConfig.py:8
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:232
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
LArCablingConfig.LArCalibIdMappingSCCfg
def LArCalibIdMappingSCCfg(configFlags)
Definition: LArCablingConfig.py:86
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.LArElecCalibDBConfig.LArElecCalibDBSCCfg
def LArElecCalibDBSCCfg(flags, condObjs, sqlite=None)
Definition: LArElecCalibDBConfig.py:126
python.LArCalibConfigFlags.addLArCalibFlags
def addLArCalibFlags(flags, isSC=False)
Definition: LArCalibConfigFlags.py:3
LArCablingConfig.LArCalibIdMappingCfg
def LArCalibIdMappingCfg(configFlags)
Definition: LArCablingConfig.py:83
Trk::split
@ split
Definition: LayerMaterialProperties.h:38