80 int GMToffset = (t.Convert(
true) - t.Convert());
81 gSystem->Setenv(
"TZ",
"UTC");
82 TString stdP1 =
"run>11495&&par==1";
84 int maxt = t.Convert();
85 int mint = TDatime(20130729,0).Convert();
91 if(ptype==0) dt *= 30;
94 TString tsel =
TString::Format(
"&& lastsec > %d && lastsec < %d",maxt - dt + 2*GMToffset, maxt + 2*GMToffset);
98 TString tlab =
"Date (dd/mm/yy - Central Time)";
99 TString tform =
"%d/%m/%y";
100 TString suf =
"Month";
106 tlab =
"Date (dd/mm - Central Time)";
116 tlab =
"Central Time (hour:min)";
122 TString metricstr =
"run";
124 TString
title =
"Run Number";
129 gStyle->SetTimeOffset(0);
131 if(sel==
"") sel =
"1";
133 if(title==
"") title = metricstr;
135 TString selpre =
"((" + sel +
") && preliminary)";
137 TChain *
mytree =
new TChain(
"mytree");
138 mytree->Add(filenames);
144 bool gotRunLimits = run_highlimit != run_lowlimit;
145 TString runlabel =
"";
148 TString stdP1 =
"run>11495&&par==1";
150 "&& run>=%d && run<=%d",run_lowlimit, run_highlimit);
151 selpre =
"((" + sel +
") && preliminary)";
153 suf =
"CustomRunRange";
155 runlabel =
TString::Format(
"%d < Run < %d",run_lowlimit, run_highlimit);
161 TCanvas *
c1 =
new TCanvas(
"c1",
"c1",1000,600);
162 c1->SetBottomMargin(0.12);
163 c1->SetLeftMargin(0.12);
164 c1->SetRightMargin(0.07);
165 c1->SetTopMargin(0.07);
167 TLegend *
leg =
new TLegend(0.15,0.65,0.65,0.9);
168 TLegend *legpre =
new TLegend(0.67,0.65,0.95,0.9);
169 mytree->Draw(metricstr,sel,
"hist");
171 hAll = (TH1F*)(mytree->GetHistogram())->
Clone(
"");
173 if(xmin == -9999 || xmax == -9999){
175 xmin = hAll->GetXaxis()->GetXmin();
176 xmax = hAll->GetXaxis()->GetXmax();
186 if(
int(xmax-xmin)%nbins!=0){
188 xmax += (nbins -
int(xmax-xmin)%
nbins)/2;
189 xmin -= (nbins -
int(xmax-xmin)%
nbins);
193 nbins = (xmax -
xmin) / nbins;
199 hAll =
new TH1F(
"hAll",
"hAll",nbins,xmin,xmax);
200 mytree->Draw(metricstr+
">>hAll",sel,
"hist");
203 hAll->SetLineColor(1);
204 hAll->SetLineWidth(2);
205 hAll->SetTitle(
";"+title+
";Subruns");
206 hAll->GetXaxis()->SetTitleOffset(1);
207 hAll->GetYaxis()->SetTitleOffset(1);
208 hAll->GetXaxis()->CenterTitle();
209 hAll->GetYaxis()->CenterTitle();
210 hAll->GetXaxis()->SetNdivisions();
211 hAll->GetYaxis()->SetNdivisions();
212 hAll->SetMinimum(0.1);
213 hAll->SetStats(kFALSE);
214 double max = hAll->GetMaximum();
215 hAll->SetMaximum(
pow(10,1.5*(
log10(max)+1)-1));
216 leg->AddEntry(hAll,
"Good Subruns",
"f");
218 mytree->Draw(metricstr,
"!(pass_all && ngoodcdb==14 && !preliminary) && "+sel,
"hist same");
219 mytree->GetHistogram()->SetLineColor(1);
220 mytree->GetHistogram()->SetLineWidth(2);
221 mytree->GetHistogram()->SetFillColor(
kRed-4);
222 leg->AddEntry(mytree->GetHistogram(),
"Partial Detector",
"f");
224 mytree->Draw(metricstr,
"!(pass_all && !preliminary) && "+sel,
"hist same");
225 mytree->GetHistogram()->SetLineColor(1);
226 mytree->GetHistogram()->SetLineWidth(2);
227 mytree->GetHistogram()->SetFillColor(
kOrange+7);
228 leg->AddEntry(mytree->GetHistogram(),
"Failed Reco",
"f");
230 mytree->Draw(metricstr,
"!(pass_time && pass_runlen && pass_hits && pass_db && pass_empty && !preliminary) && "+sel,
"hist same");
231 mytree->GetHistogram()->SetLineColor(1);
232 mytree->GetHistogram()->SetLineWidth(2);
233 mytree->GetHistogram()->SetFillColor(
kGreen+1);
234 leg->AddEntry(mytree->GetHistogram(),
"Failed Diblock",
"f");
236 mytree->Draw(metricstr,
"!(pass_time && pass_runlen && pass_hits && pass_empty && !preliminary) && "+sel,
"hist same");
237 mytree->GetHistogram()->SetLineColor(1);
238 mytree->GetHistogram()->SetLineWidth(2);
239 mytree->GetHistogram()->SetFillColor(4);
240 leg->AddEntry(mytree->GetHistogram(),
"Failed Hit Rate",
"f");
242 mytree->Draw(metricstr,
"!(pass_time && pass_runlen && pass_empty && !preliminary) && "+sel,
"hist same");
243 mytree->GetHistogram()->SetLineColor(1);
244 mytree->GetHistogram()->SetLineWidth(2);
245 mytree->GetHistogram()->SetFillColor(kMagenta+2);
246 leg->AddEntry(mytree->GetHistogram(),
"Failed Live Time",
"f");
248 mytree->Draw(metricstr,
"!(pass_time && pass_empty && !preliminary) && "+sel,
"hist same");
249 mytree->GetHistogram()->SetLineColor(1);
250 mytree->GetHistogram()->SetLineWidth(2);
251 mytree->GetHistogram()->SetFillColor(kBlack);
252 leg->AddEntry(mytree->GetHistogram(),
"Failed Other",
"f");
253 mytree->Draw(metricstr,selpre,
"hist same");
254 mytree->GetHistogram()->SetLineColor(1);
255 mytree->GetHistogram()->SetLineWidth(2);
256 mytree->GetHistogram()->SetFillColor(18);
257 legpre->AddEntry(mytree->GetHistogram(),
" ",
"f");
259 mytree->Draw(metricstr,
"!(pass_all && ngoodcdb==14) && "+selpre,
"hist same");
260 mytree->GetHistogram()->SetLineColor(1);
261 mytree->GetHistogram()->SetLineWidth(2);
262 mytree->GetHistogram()->SetFillColor(kPink-4);
263 legpre->AddEntry(mytree->GetHistogram(),
" ",
"f");
265 mytree->Draw(metricstr,
"!pass_all && "+selpre,
"hist same");
266 mytree->GetHistogram()->SetLineColor(1);
267 mytree->GetHistogram()->SetLineWidth(2);
268 mytree->GetHistogram()->SetFillColor(
kOrange-9);
269 legpre->AddEntry(mytree->GetHistogram(),
" ",
"f");
271 mytree->Draw(metricstr,
"!(pass_time && pass_runlen && pass_hits && pass_db && pass_empty) && "+selpre,
"hist same");
272 mytree->GetHistogram()->SetLineColor(1);
273 mytree->GetHistogram()->SetLineWidth(2);
274 mytree->GetHistogram()->SetFillColor(
kGreen-9);
275 legpre->AddEntry(mytree->GetHistogram(),
" Preliminary",
"f");
277 mytree->Draw(metricstr,
"!(pass_time && pass_runlen && pass_hits && pass_empty) && "+selpre,
"hist same");
278 mytree->GetHistogram()->SetLineColor(1);
279 mytree->GetHistogram()->SetLineWidth(2);
280 mytree->GetHistogram()->SetFillColor(kAzure-4);
281 legpre->AddEntry(mytree->GetHistogram(),
" ",
"f");
283 mytree->Draw(metricstr,
"!(pass_time && pass_runlen && pass_empty) && "+selpre,
"hist same");
284 mytree->GetHistogram()->SetLineColor(1);
285 mytree->GetHistogram()->SetLineWidth(2);
286 mytree->GetHistogram()->SetFillColor(kMagenta-6);
287 legpre->AddEntry(mytree->GetHistogram(),
" ",
"f");
289 mytree->Draw(metricstr,
"!(pass_time && pass_empty) && "+selpre,
"hist same");
290 mytree->GetHistogram()->SetLineColor(1);
291 mytree->GetHistogram()->SetLineWidth(2);
292 mytree->GetHistogram()->SetFillColor(kGray+2);
293 legpre->AddEntry(mytree->GetHistogram(),
" ",
"f");
297 legpre->SetNColumns(2);
299 legpre->SetColumnSeparation(-0.05);
302 MiscText(0.15,0.94,0.055,
"Far Detector");
304 hAll->GetXaxis()->SetNoExponent();
306 if(gotRunLimits)
MiscText(0.7,0.96,0.04,runlabel);
309 c1->SaveAs(
"pngfiles/FarDet-t02-P1GoodDataSelRuns"+suf+
".png");
std::map< std::string, double > xmax
void SetLeg(TLegend *leg)
TLatex * MiscText(float x, float y, float size, TString text)
fvar< T > floor(const fvar< T > &x)
void UpdateStamp(int ptype, int maxt)
void Format(TGraph *gr, int lcol, int lsty, int lwid, int mcol, int msty, double msiz)
T max(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
fvar< T > ceil(const fvar< T > &x)