ATLAS Offline Software
LArCalib_HVScale2NtupleConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentFactory import CompFactory
4 from AthenaConfiguration.MainServicesConfig import MainEvgenServicesCfg
5 
6 def LArHVScaleCorr2NtupleCfg(flags, rootfile="hvcorr_read.root", addSC=False):
7 
8  from LArGeoAlgsNV.LArGMConfig import LArGMCfg
9  result=LArGMCfg(flags)
10 
11  from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
12  result.merge(LArOnOffIdMappingCfg(flags))
13 
14  from LArBadChannelTool.LArBadChannelConfig import LArBadChannelCfg
15  result.merge(LArBadChannelCfg(flags))
16 
17  from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBCfg
18  result.merge(LArElecCalibDBCfg(flags,["HVScaleCorr"]))
19 
20  result.addEventAlgo(CompFactory.LArHVScaleCorr2Ntuple("LArHVScaleCorr2Ntuple", AddFEBTempInfo = False, OffId=True))
21 
22  if addSC:
23  from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBSCCfg
24  result.merge(LArElecCalibDBSCCfg(flags,["HVScaleCorr"]))
25 
26  from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg
27  result.merge(LArOnOffIdMappingSCCfg(flags))
28 
29  result.merge(LArBadChannelCfg(flags, isSC=True))
30 
31  result.addEventAlgo(CompFactory.LArHVScaleCorr2Ntuple("LArSCHVScaleCorr2Ntuple", AddFEBTempInfo = False, OffId=True,
32  ContainerKey="LArHVScaleCorrSC",isSC = True, BadChanKey = "LArBadChannelSC"))
33 
34 
35  import os
36  if os.path.exists(rootfile):
37  os.remove(rootfile)
38  result.addService(CompFactory.NTupleSvc(Output = [ "FILE1 DATAFILE='"+rootfile+"' OPT='NEW'" ]))
39  result.setAppProperty("HistogramPersistency","ROOT")
40 
41  return result
42 
43 if __name__=="__main__":
44  import sys
45  from time import strptime
46  from calendar import timegm
47 
48  if len(sys.argv)<2:
49  print("Usage:")
50  print("%s <time> <outputfile> <globaltag>" % sys.argv[0])
51  sys.exit(-1)
52 
53 
54  try:
55  ts=strptime(sys.argv[1]+'/UTC','%Y-%m-%d:%H:%M:%S/%Z')
56  TimeStamp=int(timegm(ts))
57  TimeStamp_ns=TimeStamp*1000000000
58  except ValueError as e:
59  print("ERROR in time specification, use e.g. 2007-05-25:14:01:00")
60  print(e)
61  sys.exit(-1)
62 
63  from LArCalibProcessing.TimeStampToRunLumi import TimeStampToRunLumi
64 
65  rlb=TimeStampToRunLumi(TimeStamp_ns)
66  if rlb is None:
67  rlb=[0xFFFFFFF-1,0]
68  print("WARNING: Failed to convert time",TimeStamp_ns,"into a run/lumi number. Using 'infinite' run-number",rlb[0])
69 
70 
71  from AthenaConfiguration.AllConfigFlags import initConfigFlags
72  flags = initConfigFlags()
73  from LArCalibProcessing.LArCalibConfigFlags import addLArCalibFlags
74  addLArCalibFlags(flags)
75 
76  flags.Input.RunNumbers=[rlb[0]]
77  flags.Input.TimeStamps=[TimeStamp]
78  flags.Input.Files=[]
79  flags.IOVDb.DatabaseInstance="CONDBR2"
80  from AthenaConfiguration.TestDefaults import defaultGeometryTags
81  flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN3
82 
83  rootfile="hvcorr_read.root"
84  if len(sys.argv)>2:
85  rootFile=sys.argv[2]
86 
87  if len(sys.argv)>3:
88  flags.IOVDb.GlobalTag=sys.argv[3]
89 
90  flags.lock()
92  cfg.merge(LArHVScaleCorr2NtupleCfg(flags))
93 
94 
95  print("Start running...")
96  cfg.run(1)
python.LArElecCalibDBConfig.LArElecCalibDBCfg
def LArElecCalibDBCfg(flags, condObjs)
Definition: LArElecCalibDBConfig.py:47
LArCablingConfig.LArOnOffIdMappingSCCfg
def LArOnOffIdMappingSCCfg(configFlags)
Definition: LArCablingConfig.py:65
python.LArBadChannelConfig.LArBadChannelCfg
def LArBadChannelCfg(configFlags, tag=None, isSC=False)
Definition: LArBadChannelConfig.py:8
python.MainServicesConfig.MainEvgenServicesCfg
def MainEvgenServicesCfg(flags, LoopMgr="AthenaEventLoopMgr", withSequences=True)
Definition: MainServicesConfig.py:409
LArCablingConfig.LArOnOffIdMappingCfg
def LArOnOffIdMappingCfg(configFlags)
Definition: LArCablingConfig.py:62
LArGMConfig.LArGMCfg
def LArGMCfg(flags)
Definition: LArGMConfig.py:8
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.LArElecCalibDBConfig.LArElecCalibDBSCCfg
def LArElecCalibDBSCCfg(flags, condObjs, sqlite=None)
Definition: LArElecCalibDBConfig.py:126
LArCalib_HVScale2NtupleConfig.LArHVScaleCorr2NtupleCfg
def LArHVScaleCorr2NtupleCfg(flags, rootfile="hvcorr_read.root", addSC=False)
Definition: LArCalib_HVScale2NtupleConfig.py:6
python.LArCalibConfigFlags.addLArCalibFlags
def addLArCalibFlags(flags, isSC=False)
Definition: LArCalibConfigFlags.py:3
python.TimeStampToRunLumi.TimeStampToRunLumi
def TimeStampToRunLumi(tmstmp, guard=1, dbInstance="CONDBR2")
Definition: TimeStampToRunLumi.py:3