ATLAS Offline Software
CalibDbCool2Calib.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 
4 import getopt
5 import sys
6 import os
7 import CalibDbDefaults
8 
9 cool_database_string = CalibDbDefaults.cool_database_string
10 dbname = CalibDbDefaults.cool_dbname
11 t0_cool_folder=None
12 rt_cool_folder=None
13 cool_tag='CURRENT'
14 
15 
16 def printhelp(argv0):
17  sys.stderr.write("Usage: " + argv0 + " [-h] [-s <cool database string>] [-o <t0 cool folder>] [-r <rt cool folder>] [-t <cool tag>] <run nr>\n")
18  sys.exit(1)
19 
20 optlist, args = getopt.gnu_getopt(sys.argv, 'hs:o:r:t:')
21 
22 for opt, oa in optlist:
23  if opt=='-s':
24  if oa[-2:]=='db':
25  cool_database_string = 'sqlite://;schema=' + oa + ';dbname=' + dbname
26  cool_tag=''
27  else:
28  cool_database_string = oa
29  continue
30  if opt=='-o':
31  t0_cool_folder=oa
32  continue
33  if opt=='-r':
34  rt_cool_folder=oa
35  continue
36  if opt=='-t':
37  cool_tag=oa
38  continue
39  if opt=='-h':
40  printhelp(sys.argv[0])
41 
42 if not len(args)==2:
43  sys.stderr.write("Need Run Number\n")
44  print (len(args), args)
45  printhelp(sys.argv[0])
46 
47 try:
48  run_number=int(args[1])
49 except ValueError:
50  sys.stderr.write("Cannot parse run number " + run_number + "\n")
51  printhelp(sys.argv[0])
52 
53 sys.argv=[ sys.argv[0], '-b' ]
56 from ROOT import *
57 
58 
59 def dump_rt(ident, rt):
60  up=MuonFixedIdUnpack(ident)
61  if up.stationNameString()=="XXX":
62  sys.stderr.write("WARNING: Unknown station found!\n")
63  return
64  f=file("calibration/rts/Rt_" + str(up.stationNameString()) + "_" + str(up.stationPhi()) + "_" + str(up.stationEta()) + ".dat", "w")
65  f.write("v1.0 1 Resolution 1 20000 0 0 0 0 dummy 800 ")
66  f.write(str(rt.GetN()))
67  f.write("\n")
68  for i in range(rt.GetN()):
69  f.write(str(rt.GetX()[i]) + " " + str(rt.GetY()[i]) + " " + str(rt.GetEY()[i]))
70  f.write("\n")
71 
72 
73 
74 
75 
76 if rt_cool_folder:
77  graphs=ReadRtCool(cool_database_string, rt_cool_folder, cool_tag, run_number)[0]
78  try:
79  os.makedirs("calibration/rts")
80  except OSError:
81  try:
82  os.stat("calibration/rts")
83  except OSError:
84  sys.stderr.write("ERROR: Cannot create calibration directory!\n")
85  sys.exit(1)
86  for ident, rt in graphs.items():
87  dump_rt(ident, rt)
88 
89 
CalibDbCool2Calib.printhelp
def printhelp(argv0)
Definition: CalibDbCool2Calib.py:16
MuonFixedIdUnpack
Definition: MuonFixedIdUnpack.py:1
CalibDbCool2Calib.dump_rt
def dump_rt(ident, rt)
Definition: CalibDbCool2Calib.py:59
MuonFixedIdUnpack
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
file
TFile * file
Definition: tile_monitor.h:29
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
ReadCool
str
Definition: BTagTrackIpAccessor.cxx:11
ReadCool.ReadRtCool
def ReadRtCool(db_string, folder, tag, run_number)
Definition: MuonSpectrometer/MuonCalib/MuonCalibDbOperations/python/ReadCool.py:69