Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Plot_BCAL_LED_Ratio_stack.C
Go to the documentation of this file.
1 #include <unistd.h>
2 using namespace std;
3 
4 
5 void split(const std::string &s, char delim, std::vector<std::string> &elems) {
6  std::stringstream ss;
7  ss.str(s);
8  std::string item;
9  while (std::getline(ss, item, delim)) {
10  elems.push_back(item);
11  }
12 }
13 
14 TFile *GetReferenceFile(Int_t run, TString variation = "default"){
15  char command[1024];
16  // first get the location of the file
17  sprintf(command, "ccdb dump %s:%i:%s", "/BCAL/LED_monitoring/reference_file", run, variation.Data());
18  FILE* inputPipe = gSystem->OpenPipe(command, "r");
19  if(inputPipe == NULL)
20  return NULL;
21  //get the first (comment) line
22  char buff[1024];
23  if(fgets(buff, sizeof(buff), inputPipe) == NULL)
24  return NULL;
25  //get the actual data
26  if(fgets(buff, sizeof(buff), inputPipe) == NULL)
27  return NULL;
28  stringstream ss;
29  ss << buff;
30  char url_base[1024], path_name[1024];
31  ss >> url_base >> path_name;
32  //Close the pipe
33  gSystem->ClosePipe(inputPipe);
34 
35  // build URL of the location of the file
36  stringstream ss_url;
37  //cout << url_base << endl;
38  //cout << table_name << endl;
39  ss_url << url_base << "/" << path_name;
40 
41  // figure out the name of the file
42  vector<string> tokens;
43  split(path_name, '/', tokens);
44  string filename = *(tokens.end()-1);
45 
46  // download the file if it doesn't already exist
47  ifstream f(filename.c_str());
48  if(!f.good()) {
49  sprintf(command, "curl -O %s", ss_url.str().c_str());
50  gSystem->Exec(command);
51  } else {
52  f.close();
53  }
54 
55 
56  // open it and return
57  TFile *rootfile = new TFile(filename.c_str());
58 
59  // error check
60 
61  return rootfile;
62 }
63 
64 void Plot_BCAL_LED_Ratio_stack(string infilename = "hd_root.root", int run = 20000)
65 {
66  // #include <TRandom.h>
67 
68  //gROOT->Reset();
69 gStyle->SetPalette(1,0);
70 gStyle->SetOptStat(kFALSE);
71 // gStyle->SetOptStat(11111111);
72 gStyle->SetPadRightMargin(0.15);
73 gStyle->SetPadLeftMargin(0.15);
74 gStyle->SetPadBottomMargin(0.15);
75 //
76 
77  char string[256];
78  //char path[256];
79  Int_t j,k;
80  Int_t n;
81  Int_t errorbars = 0;
82 
83  TProfile *run1_low_up_1 = NULL;
84  TProfile *run1_low_up_2 = NULL;
85  TProfile *run1_low_up_3 = NULL;
86  TProfile *run1_low_up_4 = NULL;
87  TProfile *run1_low_down_1 = NULL;
88  TProfile *run1_low_down_2 = NULL;
89  TProfile *run1_low_down_3 = NULL;
90  TProfile *run1_low_down_4 = NULL;
91 
92  TProfile *run1_high_up_1 = NULL;
93  TProfile *run1_high_up_2 = NULL;
94  TProfile *run1_high_up_3 = NULL;
95  TProfile *run1_high_up_4 = NULL;
96  TProfile *run1_high_down_1 = NULL;
97  TProfile *run1_high_down_2 = NULL;
98  TProfile *run1_high_down_3 = NULL;
99  TProfile *run1_high_down_4 = NULL;
100 
101  TProfile *run2_low_up_1 = NULL;
102  TProfile *run2_low_up_2 = NULL;
103  TProfile *run2_low_up_3 = NULL;
104  TProfile *run2_low_up_4 = NULL;
105  TProfile *run2_low_down_1 = NULL;
106  TProfile *run2_low_down_2 = NULL;
107  TProfile *run2_low_down_3 = NULL;
108  TProfile *run2_low_down_4 = NULL;
109 
110  TProfile *run2_high_up_1 = NULL;
111  TProfile *run2_high_up_2 = NULL;
112  TProfile *run2_high_up_3 = NULL;
113  TProfile *run2_high_up_4 = NULL;
114  TProfile *run2_high_down_1 = NULL;
115  TProfile *run2_high_down_2 = NULL;
116  TProfile *run2_high_down_3 = NULL;
117  TProfile *run2_high_down_4 = NULL;
118 
119  TH1D *run1_low_up_1_hist = NULL;
120  TH1D *run1_low_up_2_hist = NULL;
121  TH1D *run1_low_up_3_hist = NULL;
122  TH1D *run1_low_up_4_hist = NULL;
123  TH1D *run1_low_down_1_hist = NULL;
124  TH1D *run1_low_down_2_hist = NULL;
125  TH1D *run1_low_down_3_hist = NULL;
126  TH1D *run1_low_down_4_hist = NULL;
127 
128  TH1D *run1_high_up_1_hist = NULL;
129  TH1D *run1_high_up_2_hist = NULL;
130  TH1D *run1_high_up_3_hist = NULL;
131  TH1D *run1_high_up_4_hist = NULL;
132  TH1D *run1_high_down_1_hist = NULL;
133  TH1D *run1_high_down_2_hist = NULL;
134  TH1D *run1_high_down_3_hist = NULL;
135  TH1D *run1_high_down_4_hist = NULL;
136 
137  TH1D *run2_low_up_1_hist = NULL;
138  TH1D *run2_low_up_2_hist = NULL;
139  TH1D *run2_low_up_3_hist = NULL;
140  TH1D *run2_low_up_4_hist = NULL;
141  TH1D *run2_low_down_1_hist = NULL;
142  TH1D *run2_low_down_2_hist = NULL;
143  TH1D *run2_low_down_3_hist = NULL;
144  TH1D *run2_low_down_4_hist = NULL;
145 
146  TH1D *run2_high_up_1_hist = NULL;
147  TH1D *run2_high_up_2_hist = NULL;
148  TH1D *run2_high_up_3_hist = NULL;
149  TH1D *run2_high_up_4_hist = NULL;
150  TH1D *run2_high_down_1_hist = NULL;
151  TH1D *run2_high_down_2_hist = NULL;
152  TH1D *run2_high_down_3_hist = NULL;
153  TH1D *run2_high_down_4_hist = NULL;
154 
155 
156 // sprintf(string,"hd_root.root");
157 // sprintf(string,"0%03i/bcalled0%03i.root",runnumber1,runnumber1);
158  printf ("Histogram input filename=%s\n",infilename.c_str());
159  TFile *run1in = new TFile(infilename.c_str(),"read");
160 
161 
162 
163  run1_low_up_1 = (TProfile*)run1in->Get("bcalLED/low_bias_up_sector_1_peak_vchannel");
164  run1_low_up_2 = (TProfile*)run1in->Get("bcalLED/low_bias_up_sector_2_peak_vchannel");
165  run1_low_up_3 = (TProfile*)run1in->Get("bcalLED/low_bias_up_sector_3_peak_vchannel");
166  run1_low_up_4 = (TProfile*)run1in->Get("bcalLED/low_bias_up_sector_4_peak_vchannel");
167  run1_low_down_1 = (TProfile*)run1in->Get("bcalLED/low_bias_down_sector_1_peak_vchannel");
168  run1_low_down_2 = (TProfile*)run1in->Get("bcalLED/low_bias_down_sector_2_peak_vchannel");
169  run1_low_down_3 = (TProfile*)run1in->Get("bcalLED/low_bias_down_sector_3_peak_vchannel");
170  run1_low_down_4 = (TProfile*)run1in->Get("bcalLED/low_bias_down_sector_4_peak_vchannel");
171 
172  run1_high_up_1 = (TProfile*)run1in->Get("bcalLED/high_bias_up_sector_1_peak_vchannel");
173  run1_high_up_2 = (TProfile*)run1in->Get("bcalLED/high_bias_up_sector_2_peak_vchannel");
174  run1_high_up_3 = (TProfile*)run1in->Get("bcalLED/high_bias_up_sector_3_peak_vchannel");
175  run1_high_up_4 = (TProfile*)run1in->Get("bcalLED/high_bias_up_sector_4_peak_vchannel");
176  run1_high_down_1 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_1_peak_vchannel");
177  run1_high_down_2 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_2_peak_vchannel");
178  run1_high_down_3 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_3_peak_vchannel");
179  run1_high_down_4 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_4_peak_vchannel");
180 
181  //sprintf(string,"BCAL_LED_Reference_Spring2016.root");
182  //printf ("Histogram input filename=%s\n",string);
183  //TFile *run2in = new TFile(string,"read");
184  TFile *run2in = GetReferenceFile(run);
185 
186  run2_low_up_1 = (TProfile*)run2in->Get("bcalLED/low_bias_up_sector_1_peak_vchannel");
187  run2_low_up_2 = (TProfile*)run2in->Get("bcalLED/low_bias_up_sector_2_peak_vchannel");
188  run2_low_up_3 = (TProfile*)run2in->Get("bcalLED/low_bias_up_sector_3_peak_vchannel");
189  run2_low_up_4 = (TProfile*)run2in->Get("bcalLED/low_bias_up_sector_4_peak_vchannel");
190  run2_low_down_1 = (TProfile*)run2in->Get("bcalLED/low_bias_down_sector_1_peak_vchannel");
191  run2_low_down_2 = (TProfile*)run2in->Get("bcalLED/low_bias_down_sector_2_peak_vchannel");
192  run2_low_down_3 = (TProfile*)run2in->Get("bcalLED/low_bias_down_sector_3_peak_vchannel");
193  run2_low_down_4 = (TProfile*)run2in->Get("bcalLED/low_bias_down_sector_4_peak_vchannel");
194 
195  run2_high_up_1 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_1_peak_vchannel");
196  run2_high_up_2 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_2_peak_vchannel");
197  run2_high_up_3 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_3_peak_vchannel");
198  run2_high_up_4 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_4_peak_vchannel");
199  run2_high_down_1 = (TProfile*)run2in->Get("bcalLED/high_bias_down_sector_1_peak_vchannel");
200  run2_high_down_2 = (TProfile*)run2in->Get("bcalLED/high_bias_down_sector_2_peak_vchannel");
201  run2_high_down_3 = (TProfile*)run2in->Get("bcalLED/high_bias_down_sector_3_peak_vchannel");
202  run2_high_down_4 = (TProfile*)run2in->Get("bcalLED/high_bias_down_sector_4_peak_vchannel");
203 
204  cout << "input profiles, projecting into histograms" << "\n";
205 
206  run1_low_up_1_hist = run1_low_up_1->ProjectionX("run1_low_up_1_projectionx");
207  run1_low_up_2_hist = run1_low_up_2->ProjectionX("run1_low_up_2_projectionx");
208  run1_low_up_3_hist = run1_low_up_3->ProjectionX("run1_low_up_3_projectionx");
209  run1_low_up_4_hist = run1_low_up_4->ProjectionX("run1_low_up_4_projectionx");
210  run1_low_down_1_hist = run1_low_down_1->ProjectionX("run1_low_down_1_projectionx");
211  run1_low_down_2_hist = run1_low_down_2->ProjectionX("run1_low_down_2_projectionx");
212  run1_low_down_3_hist = run1_low_down_3->ProjectionX("run1_low_down_3_projectionx");
213  run1_low_down_4_hist = run1_low_down_4->ProjectionX("run1_low_down_4_projectionx");
214 
215  run1_high_up_1_hist = run1_high_up_1->ProjectionX("run1_high_up_1_projectionx");
216  run1_high_up_2_hist = run1_high_up_2->ProjectionX("run1_high_up_2_projectionx");
217  run1_high_up_3_hist = run1_high_up_3->ProjectionX("run1_high_up_3_projectionx");
218  run1_high_up_4_hist = run1_high_up_4->ProjectionX("run1_high_up_4_projectionx");
219  run1_high_down_1_hist = run1_high_down_1->ProjectionX("run1_high_down_1_projectionx");
220  run1_high_down_2_hist = run1_high_down_2->ProjectionX("run1_high_down_2_projectionx");
221  run1_high_down_3_hist = run1_high_down_3->ProjectionX("run1_high_down_3_projectionx");
222  run1_high_down_4_hist = run1_high_down_4->ProjectionX("run1_high_down_4_projectionx");
223 
224  run2_low_up_1_hist = run2_low_up_1->ProjectionX("run2_low_up_1_projectionx");
225  run2_low_up_2_hist = run2_low_up_2->ProjectionX("run2_low_up_2_projectionx");
226  run2_low_up_3_hist = run2_low_up_3->ProjectionX("run2_low_up_3_projectionx");
227  run2_low_up_4_hist = run2_low_up_4->ProjectionX("run2_low_up_4_projectionx");
228  run2_low_down_1_hist = run2_low_down_1->ProjectionX("run2_low_down_1_projectionx");
229  run2_low_down_2_hist = run2_low_down_2->ProjectionX("run2_low_down_2_projectionx");
230  run2_low_down_3_hist = run2_low_down_3->ProjectionX("run2_low_down_3_projectionx");
231  run2_low_down_4_hist = run2_low_down_4->ProjectionX("run2_low_down_4_projectionx");
232 
233  run2_high_up_1_hist = run2_high_up_1->ProjectionX("run2_high_up_1_projectionx");
234  run2_high_up_2_hist = run2_high_up_2->ProjectionX("run2_high_up_2_projectionx");
235  run2_high_up_3_hist = run2_high_up_3->ProjectionX("run2_high_up_3_projectionx");
236  run2_high_up_4_hist = run2_high_up_4->ProjectionX("run2_high_up_4_projectionx");
237  run2_high_down_1_hist = run2_high_down_1->ProjectionX("run2_high_down_1_projectionx");
238  run2_high_down_2_hist = run2_high_down_2->ProjectionX("run2_high_down_2_projectionx");
239  run2_high_down_3_hist = run2_high_down_3->ProjectionX("run2_high_down_3_projectionx");
240  run2_high_down_4_hist = run2_high_down_4->ProjectionX("run2_high_down_4_projectionx");
241 
242 
243  cout << "profiles projected into histograms" << "\n";
244 
245  run1_low_up_1_hist->SetTitle("6v Upstream sector 1");
246  run1_low_up_2_hist->SetTitle("6v Upstream sector 2");
247  run1_low_up_3_hist->SetTitle("6v Upstream sector 3");
248  run1_low_up_4_hist->SetTitle("6v Upstream sector 4");
249  run1_low_down_1_hist->SetTitle("6v Downstream sector 1");
250  run1_low_down_2_hist->SetTitle("6v Downstream sector 2");
251  run1_low_down_3_hist->SetTitle("6v Downstream sector 3");
252  run1_low_down_4_hist->SetTitle("6v Downstream sector 4");
253 
254  run1_high_up_1_hist->SetTitle("6.25v Upstream sector 1");
255  run1_high_up_2_hist->SetTitle("6.25v Upstream sector 2");
256  run1_high_up_3_hist->SetTitle("6.25v Upstream sector 3");
257  run1_high_up_4_hist->SetTitle("6.25v Upstream sector 4");
258  run1_high_down_1_hist->SetTitle("6.25v Downstream sector 1");
259  run1_high_down_2_hist->SetTitle("6.25v Downstream sector 2");
260  run1_high_down_3_hist->SetTitle("6.25v Downstream sector 3");
261  run1_high_down_4_hist->SetTitle("6.25v Downstream sector 4");
262 
263  cout << "Divideing histograms" << "\n";
264 
265  run1_low_up_1_hist->Divide(run2_low_up_1_hist);
266  run1_low_up_2_hist->Divide(run2_low_up_2_hist);
267  run1_low_up_3_hist->Divide(run2_low_up_3_hist);
268  run1_low_up_4_hist->Divide(run2_low_up_4_hist);
269  run1_low_down_1_hist->Divide(run2_low_down_1_hist);
270  run1_low_down_2_hist->Divide(run2_low_down_2_hist);
271  run1_low_down_3_hist->Divide(run2_low_down_3_hist);
272  run1_low_down_4_hist->Divide(run2_low_down_4_hist);
273 
274  run1_high_up_1_hist->Divide(run2_high_up_1_hist);
275  run1_high_up_2_hist->Divide(run2_high_up_2_hist);
276  run1_high_up_3_hist->Divide(run2_high_up_3_hist);
277  run1_high_up_4_hist->Divide(run2_high_up_4_hist);
278  run1_high_down_1_hist->Divide(run2_high_down_1_hist);
279  run1_high_down_2_hist->Divide(run2_high_down_2_hist);
280  run1_high_down_3_hist->Divide(run2_high_down_3_hist);
281  run1_high_down_4_hist->Divide(run2_high_down_4_hist);
282 
283  cout << "Histograms divided" << "\n";
284  run1_low_up_1_hist->SetMinimum(0.8);
285  run1_low_up_1_hist->SetMaximum(1.2);
286  run1_low_up_2_hist->SetMinimum(0.8);
287  run1_low_up_2_hist->SetMaximum(1.2);
288  run1_low_up_3_hist->SetMinimum(0.8);
289  run1_low_up_3_hist->SetMaximum(1.2);
290  run1_low_up_4_hist->SetMinimum(0.8);
291  run1_low_up_4_hist->SetMaximum(1.2);
292 
293  run1_low_down_1_hist->SetMinimum(0.8);
294  run1_low_down_1_hist->SetMaximum(1.2);
295  run1_low_down_2_hist->SetMinimum(0.8);
296  run1_low_down_2_hist->SetMaximum(1.2);
297  run1_low_down_3_hist->SetMinimum(0.8);
298  run1_low_down_3_hist->SetMaximum(1.2);
299  run1_low_down_4_hist->SetMinimum(0.8);
300  run1_low_down_4_hist->SetMaximum(1.2);
301 
302  run1_high_up_1_hist->SetMinimum(0.8);
303  run1_high_up_1_hist->SetMaximum(1.2);
304  run1_high_up_2_hist->SetMinimum(0.8);
305  run1_high_up_2_hist->SetMaximum(1.2);
306  run1_high_up_3_hist->SetMinimum(0.8);
307  run1_high_up_3_hist->SetMaximum(1.2);
308  run1_high_up_4_hist->SetMinimum(0.8);
309  run1_high_up_4_hist->SetMaximum(1.2);
310 
311  run1_high_down_1_hist->SetMinimum(0.8);
312  run1_high_down_1_hist->SetMaximum(1.2);
313  run1_high_down_2_hist->SetMinimum(0.8);
314  run1_high_down_2_hist->SetMaximum(1.2);
315  run1_high_down_3_hist->SetMinimum(0.8);
316  run1_high_down_3_hist->SetMaximum(1.2);
317  run1_high_down_4_hist->SetMinimum(0.8);
318  run1_high_down_4_hist->SetMaximum(1.2);
319 
320 
321  TCanvas *c1 = new TCanvas("c1","c1 pedsubpeak ",200,10,1200,1200);
322  c1->Divide(2,2);
323 
324 ////////////////////////////////////////////////
325  TVirtualPad *c1_1 = c1->cd(1);
326  c1_1->SetBorderMode(0);
327  c1_1->SetFillColor(0);
328 
329  c1_1->SetGridx();
330  c1_1->SetGridy();
331  c1_1->SetBorderMode(0);
332  c1_1->SetFillColor(0);
333 
334  if (errorbars ==0) {run1_low_up_1_hist->Draw("hist p");
335  run1_low_up_2_hist->Draw("same hist p");
336  run1_low_up_3_hist->Draw("same hist p");
337  run1_low_up_4_hist->Draw("same hist p");
338  }
339  else {run1_low_up_1_hist->Draw("E1 X0");
340  run1_low_up_2_hist->Draw("same E1 X0");
341  run1_low_up_3_hist->Draw("same E1 X0");
342  run1_low_up_4_hist->Draw("same E1 X0");
343  }
344 
345  run1_low_up_1_hist->SetMarkerColor(1);
346  run1_low_up_1_hist->SetMarkerStyle(2);
347  run1_low_up_2_hist->SetMarkerColor(2);
348  run1_low_up_1_hist->SetMarkerStyle(2);
349  run1_low_up_3_hist->SetMarkerColor(3);
350  run1_low_up_1_hist->SetMarkerStyle(2);
351  run1_low_up_4_hist->SetMarkerColor(4);
352  run1_low_up_1_hist->SetMarkerStyle(2);
353 
354 
355  sprintf(string,"Run ratio to reference");
356 // sprintf(string,"Run %05d ratio to reference",runnumber1);
357  TLatex *t1 = new TLatex(0.15,0.92,string);
358  t1->SetNDC();
359  t1->SetTextSize(0.03);
360  t1->Draw();
361 
362 ///////////////////////////////////////////////////////////////////////////
363  TVirtualPad *c1_2 = c1->cd(2);
364  c1_2->SetBorderMode(0);
365  c1_2->SetFillColor(0);
366 
367  c1_2->SetGridx();
368  c1_2->SetGridy();
369  c1_2->SetBorderMode(0);
370  c1_2->SetFillColor(0);
371 
372  if (errorbars ==0) {run1_low_down_1_hist->Draw("hist p");
373  run1_low_down_2_hist->Draw("same hist p");
374  run1_low_down_3_hist->Draw("same hist p");
375  run1_low_down_4_hist->Draw("same hist p");
376  }
377  else {run1_low_down_1_hist->Draw("E1 X0");
378  run1_low_down_2_hist->Draw("same E1 X0");
379  run1_low_down_3_hist->Draw("same E1 X0");
380  run1_low_down_4_hist->Draw("same E1 X0");
381  }
382 
383  run1_low_down_1_hist->SetMarkerColor(1);
384  run1_low_down_1_hist->SetMarkerStyle(2);
385  run1_low_down_2_hist->SetMarkerColor(2);
386  run1_low_down_1_hist->SetMarkerStyle(2);
387  run1_low_down_3_hist->SetMarkerColor(3);
388  run1_low_down_1_hist->SetMarkerStyle(2);
389  run1_low_down_4_hist->SetMarkerColor(4);
390  run1_low_down_1_hist->SetMarkerStyle(2);
391 
392 ///////////////////////////////////////////////////////////////////////////
393  TVirtualPad *c1_3 = c1->cd(3);
394  c1_3->SetBorderMode(0);
395  c1_3->SetFillColor(0);
396 
397 
398  c1_3->SetGridx();
399  c1_3->SetGridy();
400  c1_3->SetBorderMode(0);
401  c1_3->SetFillColor(0);
402 
403  if (errorbars ==0) {run1_high_up_1_hist->Draw("hist p");
404  run1_high_up_2_hist->Draw("same hist p");
405  run1_high_up_3_hist->Draw("same hist p");
406  run1_high_up_4_hist->Draw("same hist p");
407  }
408  else {run1_high_up_1_hist->Draw("E1 X0");
409  run1_high_up_2_hist->Draw("same E1 X0");
410  run1_high_up_3_hist->Draw("same E1 X0");
411  run1_high_up_4_hist->Draw("same E1 X0");
412  }
413 
414  run1_high_up_1_hist->SetMarkerColor(1);
415  run1_high_up_1_hist->SetMarkerStyle(2);
416  run1_high_up_2_hist->SetMarkerColor(2);
417  run1_high_up_1_hist->SetMarkerStyle(2);
418  run1_high_up_3_hist->SetMarkerColor(3);
419  run1_high_up_1_hist->SetMarkerStyle(2);
420  run1_high_up_4_hist->SetMarkerColor(4);
421  run1_high_up_1_hist->SetMarkerStyle(2);
422 
423 
424  ///////////////////////////////////////////////////////////////////////////
425  TVirtualPad *c1_4 = c1->cd(4);
426  c1_4->SetBorderMode(0);
427  c1_4->SetFillColor(0);
428 
429  c1_4->SetGridx();
430  c1_4->SetGridy();
431  c1_4->SetBorderMode(0);
432  c1_4->SetFillColor(0);
433 
434  if (errorbars ==0) {run1_high_down_1_hist->Draw("hist p");
435  run1_high_down_2_hist->Draw("same hist p");
436  run1_high_down_3_hist->Draw("same hist p");
437  run1_high_down_4_hist->Draw("same hist p");
438  }
439  else {run1_high_down_1_hist->Draw("E1 X0");
440  run1_high_down_2_hist->Draw("same E1 X0");
441  run1_high_down_3_hist->Draw("same E1 X0");
442  run1_high_down_4_hist->Draw("same E1 X0");
443  }
444 
445  run1_high_down_1_hist->SetMarkerColor(1);
446  run1_high_down_1_hist->SetMarkerStyle(2);
447  run1_high_down_2_hist->SetMarkerColor(2);
448  run1_high_down_1_hist->SetMarkerStyle(2);
449  run1_high_down_3_hist->SetMarkerColor(3);
450  run1_high_down_1_hist->SetMarkerStyle(2);
451  run1_high_down_4_hist->SetMarkerColor(4);
452  run1_high_down_1_hist->SetMarkerStyle(2);
453 
454  ///////////////////////////////////////////////////////////////////////////////////////////
455 
456 
457 
458 
459 // sprintf(string,"bcalled_monitoring.pdf");
460 // c1->SaveAs(string);
461 
462 
463 // sprintf(string,"bcalled_%05d_monitoring.pdf",runnumber1);
464 // c1->SaveAs(string);
465 
466 
467 //gApplication->Terminate();
468 }
469 
char string[256]
sprintf(text,"Post KinFit Cut")
TString filename
Double_t c1[2][NMODULES]
Definition: tw_corr.C:68
TF1 * f
Definition: FitGains.C:21
void Plot_BCAL_LED_Ratio_stack(string infilename="hd_root.root", int run=20000)
TLatex * t1
TFile * GetReferenceFile(Int_t run, TString variation="default")
void split(const std::string &s, char delim, std::vector< std::string > &elems)
printf("string=%s", string)