9 cool_database_string = CalibDbDefaults.cool_database_string
10 cool_folder = CalibDbDefaults.cool_folders[calibtype]
11 cool_tag = CalibDbDefaults.cool_tags[calibtype]
12 dbname = CalibDbDefaults.cool_dbname
15 sys.stderr.write(
"Usage: " + argv0 +
" [-h] [-s <cool database string>] [-f <cool folder>] [-t <cool tag>] <run number> <calib db>/<head id> <reader password> <root file>\n")
18 optlist, args = getopt.gnu_getopt(sys.argv,
'hs:f:t:')
22 for opt, oa
in optlist:
25 cool_database_string =
'sqlite://;schema=' + oa +
';dbname=' + dbname
28 cool_database_string = oa
37 run_number=
int(args[1])
41 reader_password=args[3]
44 sys.argv=[ sys.argv[0],
'-b' ]
52 outfile=TFile(root_filename,
"RECREATE")
55 cool_tag =
GetFolderTag(cool_database_string, cool_folder)
57 outfile.mkdir(
"cool").
cd()
58 print (
"Cool database: " + cool_database_string +
" " + cool_folder +
" " + cool_tag +
" " +
str(run_number))
59 cool_gr, cool_sp, dummy=
ReadRtCool(cool_database_string, cool_folder, cool_tag, run_number)
61 outfile.mkdir(
"calibdb").
cd()
62 print (
"Calibration database: " + db +
"/" +
str(head_id))
66 tree=TTree(
"tree",
"rt differences")
71 tree.Branch(
"region_id", region_id,
"region_id/I")
72 tree.Branch(
"station_nm", station_nm,
"station_nm/C")
73 tree.Branch(
"station_phi", station_phi,
"station_phi/I")
74 tree.Branch(
"station_eta", station_eta,
"station_eta/I")
82 tree.Branch(
"n_points", n_points,
"n_points/I")
83 tree.Branch(
"n_points_calib", n_points_calib,
"n_points_calib/I")
84 tree.Branch(
"n_points_cool", n_points_cool,
"n_points_cool/I")
85 tree.Branch(
"dt13", dt13,
"dt13/F")
86 tree.Branch(
"dr13", dr13,
"dr13/F")
88 for chamber_id
in cool_gr:
89 if chamber_id
not in calib_gr:
91 region_id[0]=chamber_id
93 st_str=up.stationNameString()
95 station_nm[i]=st_str[i]
96 station_phi[0]=up.stationPhi()
97 station_eta[0]=up.stationEta()
98 co_gr=cool_gr[chamber_id]
99 co_sp=cool_sp[chamber_id]
100 ca_gr=calib_gr[chamber_id]
101 ca_sp=calib_sp[chamber_id]
102 n_points[0] =
min(co_gr.GetN(), ca_gr.GetN(), 100)
103 n_points_calib[0] = ca_gr.GetN()
104 n_points_cool[0] = co_gr.GetN()
105 for i
in range(i, n_points[0]):
106 dr[i]=ca_gr.GetX()[i]
107 dt[i]=ca_gr.GetY()[i]
108 dt13[0] = ca_sp.Eval(13.0) - co_sp.Eval(13.0)
109 dr13[0] = dt13[0] / ca_sp.Derivative(13.0)