9cool_database_string = CalibDbDefaults.cool_database_string
10cool_folder = CalibDbDefaults.cool_folders[calibtype]
11cool_tag = CalibDbDefaults.cool_tags[calibtype]
12dbname = 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")
18optlist, args = getopt.gnu_getopt(sys.argv,
'hs:f:t:')
22for opt, oa
in optlist:
25 cool_database_string =
'sqlite://;schema=' + oa +
';dbname=' + dbname
28 cool_database_string = oa
37run_number=int(args[1])
41reader_password=args[3]
44sys.argv=[ sys.argv[0],
'-b' ]
52outfile=TFile(root_filename,
"RECREATE")
55 cool_tag = GetFolderTag(cool_database_string, cool_folder)
57outfile.mkdir(
"cool").cd()
58print (
"Cool database: " + cool_database_string +
" " + cool_folder +
" " + cool_tag +
" " + str(run_number))
59cool_gr, cool_sp, dummy=ReadRtCool(cool_database_string, cool_folder, cool_tag, run_number)
61outfile.mkdir(
"calibdb").cd()
62print (
"Calibration database: " + db +
"/" + str(head_id))
63calib_gr, calib_sp=ReadRtCalibDb(db, reader_password, head_id)
66tree=TTree(
"tree",
"rt differences")
71tree.Branch(
"region_id", region_id,
"region_id/I")
72tree.Branch(
"station_nm", station_nm,
"station_nm/C")
73tree.Branch(
"station_phi", station_phi,
"station_phi/I")
74tree.Branch(
"station_eta", station_eta,
"station_eta/I")
82tree.Branch(
"n_points", n_points,
"n_points/I")
83tree.Branch(
"n_points_calib", n_points_calib,
"n_points_calib/I")
84tree.Branch(
"n_points_cool", n_points_cool,
"n_points_cool/I")
85tree.Branch(
"dt13", dt13,
"dt13/F")
86tree.Branch(
"dr13", dr13,
"dr13/F")
88for 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)
std::vector< std::string > split(const std::string &s, const std::string &t=":")