Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Plot_BCAL_LED_Ratio_high_up_quadavg.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_high_up_quadavg(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 
84  TProfile *run1_high_up_1 = NULL;
85  TProfile *run1_high_up_2 = NULL;
86  TProfile *run1_high_up_3 = NULL;
87  TProfile *run1_high_up_4 = NULL;
88 
89  TProfile *run2_high_up_1 = NULL;
90  TProfile *run2_high_up_2 = NULL;
91  TProfile *run2_high_up_3 = NULL;
92  TProfile *run2_high_up_4 = NULL;
93 
94  TH1D *run1_high_up_1_hist=NULL;
95  TH1D *run1_high_up_2_hist=NULL;
96  TH1D *run1_high_up_3_hist=NULL;
97  TH1D *run1_high_up_4_hist=NULL;
98 
99  TH1D *run2_high_up_1_hist=NULL;
100  TH1D *run2_high_up_2_hist=NULL;
101  TH1D *run2_high_up_3_hist=NULL;
102  TH1D *run2_high_up_4_hist=NULL;
103 
104 // sprintf(string,"hd_root.root");
105 // sprintf(string,"0%03i/bcalled0%03i.root",runnumber1,runnumber1);
106  printf ("Histogram input filename=%s\n",infilename.c_str());
107  TFile *run1in = new TFile(infilename.c_str(),"read");
108 
109 // TProfile *sector1_up_peak_vevent3 = (TProfile*)run1in->Get("bcalLED/sector1_up_peak_vevent3");
110 // if (sector1_up_peak_vevent3->FindLastBinAbove(0,1) > 100)
111  run1_high_up_1 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_1_peak_vchannel");
112 
113 // TProfile *sector2_up_peak_vevent3 = (TProfile*)run1in->Get("bcalLED/sector2_up_peak_vevent3");
114 // if (sector2_up_peak_vevent3->FindLastBinAbove(0,1) > 100)
115  run1_high_up_2 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_2_peak_vchannel");
116 
117 // TProfile *sector3_up_peak_vevent3 = (TProfile*)run1in->Get("bcalLED/sector3_up_peak_vevent3");
118 // if (sector3_up_peak_vevent3->FindLastBinAbove(0,1) > 100)
119  run1_high_up_3 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_3_peak_vchannel");
120 
121 // TProfile *sector4_up_peak_vevent3 = (TProfile*)run1in->Get("bcalLED/sector4_up_peak_vevent3");
122 // if (sector4_up_peak_vevent3->FindLastBinAbove(0,1) > 100)
123  run1_high_up_4 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_4_peak_vchannel");
124 
125  //sprintf(string,"BCAL_LED_Reference_Spring2016.root");
126  //printf ("Histogram input filename=%s\n",string);
127  //TFile *run2in = new TFile(string,"read");
128  TFile *run2in = GetReferenceFile(run);
129 
130  run2_high_up_1 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_1_peak_vchannel");
131  run2_high_up_2 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_2_peak_vchannel");
132  run2_high_up_3 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_3_peak_vchannel");
133  run2_high_up_4 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_4_peak_vchannel");
134 
135  cout << "input profiles, projecting into histograms" << "\n";
136 
137  run1_high_up_1_hist = run1_high_up_1->ProjectionX("run1_high_up_1_projectionx");
138  run1_high_up_2_hist = run1_high_up_2->ProjectionX("run1_high_up_2_projectionx");
139  run1_high_up_3_hist = run1_high_up_3->ProjectionX("run1_high_up_3_projectionx");
140  run1_high_up_4_hist = run1_high_up_4->ProjectionX("run1_high_up_4_projectionx");
141 
142  run2_high_up_1_hist = run2_high_up_1->ProjectionX("run2_high_up_1_projectionx");
143  run2_high_up_2_hist = run2_high_up_2->ProjectionX("run2_high_up_2_projectionx");
144  run2_high_up_3_hist = run2_high_up_3->ProjectionX("run2_high_up_3_projectionx");
145  run2_high_up_4_hist = run2_high_up_4->ProjectionX("run2_high_up_4_projectionx");
146 
147  cout << "profiles projected into histograms" << "\n";
148 
149  run1_high_up_1_hist->SetTitle("6.25v Upstream sector 1");
150  run1_high_up_2_hist->SetTitle("6.25v Upstream sector 2");
151  run1_high_up_3_hist->SetTitle("6.25v Upstream sector 3");
152  run1_high_up_4_hist->SetTitle("6.25v Upstream sector 4");
153 
154  cout << "Dividing over quadrant average" << "\n";
155 
156  cout << "Dividing over quadrant average" << "\n";
157 
158  double quad1sector1avgrun1 = run1_high_up_1_hist->Integral(0,191);
159  double quad2sector1avgrun1 = run1_high_up_1_hist->Integral(192,383);
160  double quad3sector1avgrun1 = run1_high_up_1_hist->Integral(384,575);
161  double quad4sector1avgrun1 = run1_high_up_1_hist->Integral(576,767);
162  double quad5sector1avgrun1 = run1_high_up_1_hist->Integral(768,959);
163  double quad6sector1avgrun1 = run1_high_up_1_hist->Integral(960,1151);
164  double quad7sector1avgrun1 = run1_high_up_1_hist->Integral(1152,1343);
165  double quad8sector1avgrun1 = run1_high_up_1_hist->Integral(1344,1535);
166 
167  double quad1sector2avgrun1 = run1_high_up_2_hist->Integral(0,191);
168  double quad2sector2avgrun1 = run1_high_up_2_hist->Integral(192,383);
169  double quad3sector2avgrun1 = run1_high_up_2_hist->Integral(384,575);
170  double quad4sector2avgrun1 = run1_high_up_2_hist->Integral(576,767);
171  double quad5sector2avgrun1 = run1_high_up_2_hist->Integral(768,959);
172  double quad6sector2avgrun1 = run1_high_up_2_hist->Integral(960,1151);
173  double quad7sector2avgrun1 = run1_high_up_2_hist->Integral(1152,1343);
174  double quad8sector2avgrun1 = run1_high_up_2_hist->Integral(1344,1535);
175 
176  double quad1sector3avgrun1 = run1_high_up_3_hist->Integral(0,191);
177  double quad2sector3avgrun1 = run1_high_up_3_hist->Integral(192,383);
178  double quad3sector3avgrun1 = run1_high_up_3_hist->Integral(384,575);
179  double quad4sector3avgrun1 = run1_high_up_3_hist->Integral(576,767);
180  double quad5sector3avgrun1 = run1_high_up_3_hist->Integral(768,959);
181  double quad6sector3avgrun1 = run1_high_up_3_hist->Integral(960,1151);
182  double quad7sector3avgrun1 = run1_high_up_3_hist->Integral(1152,1343);
183  double quad8sector3avgrun1 = run1_high_up_3_hist->Integral(1344,1535);
184 
185  double quad1sector4avgrun1 = run1_high_up_4_hist->Integral(0,191);
186  double quad2sector4avgrun1 = run1_high_up_4_hist->Integral(192,383);
187  double quad3sector4avgrun1 = run1_high_up_4_hist->Integral(384,575);
188  double quad4sector4avgrun1 = run1_high_up_4_hist->Integral(576,767);
189  double quad5sector4avgrun1 = run1_high_up_4_hist->Integral(768,959);
190  double quad6sector4avgrun1 = run1_high_up_4_hist->Integral(960,1151);
191  double quad7sector4avgrun1 = run1_high_up_4_hist->Integral(1152,1343);
192  double quad8sector4avgrun1 = run1_high_up_4_hist->Integral(1344,1535);
193 
194  double quad1avgrun1 = quad1sector1avgrun1 + quad1sector2avgrun1 + quad1sector3avgrun1 + quad1sector4avgrun1;
195  double quad2avgrun1 = quad2sector1avgrun1 + quad2sector2avgrun1 + quad2sector3avgrun1 + quad2sector4avgrun1;
196  double quad3avgrun1 = quad3sector1avgrun1 + quad3sector2avgrun1 + quad3sector3avgrun1 + quad3sector4avgrun1;
197  double quad4avgrun1 = quad4sector1avgrun1 + quad4sector2avgrun1 + quad4sector3avgrun1 + quad4sector4avgrun1;
198  double quad5avgrun1 = quad5sector1avgrun1 + quad5sector2avgrun1 + quad5sector3avgrun1 + quad5sector4avgrun1;
199  double quad6avgrun1 = quad6sector1avgrun1 + quad6sector2avgrun1 + quad6sector3avgrun1 + quad6sector4avgrun1;
200  double quad7avgrun1 = quad7sector1avgrun1 + quad7sector2avgrun1 + quad7sector3avgrun1 + quad7sector4avgrun1;
201  double quad8avgrun1 = quad8sector1avgrun1 + quad8sector2avgrun1 + quad8sector3avgrun1 + quad8sector4avgrun1;
202 
203  double quadav, bincontent1, bincontent2, bincontent3, bincontent4;
204 
205  for (int chid=0; chid < 1536 ; chid++)
206  {
207  quadav=0;
208  bincontent1=0;
209  bincontent2=0;
210  bincontent3=0;
211  bincontent4=0;
212  if (chid < 192 && chid > -1) {quadav = quad1avgrun1;}
213  if (chid < 384 && chid > 191) {quadav = quad2avgrun1;}
214  if (chid < 576 && chid > 383) {quadav = quad3avgrun1;}
215  if (chid < 768 && chid > 575) {quadav = quad4avgrun1;}
216  if (chid < 960 && chid > 767) {quadav = quad5avgrun1;}
217  if (chid < 1152 && chid > 959) {quadav = quad6avgrun1;}
218  if (chid < 1344 && chid > 1151) {quadav = quad7avgrun1;}
219  if (chid < 1536 && chid > 1343) {quadav = quad8avgrun1;}
220  bincontent1 = run1_high_up_1_hist->GetBinContent(chid);
221  bincontent2 = run1_high_up_2_hist->GetBinContent(chid);
222  bincontent3 = run1_high_up_3_hist->GetBinContent(chid);
223  bincontent4 = run1_high_up_4_hist->GetBinContent(chid);
224  run1_high_up_1_hist->SetBinContent(chid, bincontent1/quadav);
225  run1_high_up_2_hist->SetBinContent(chid, bincontent2/quadav);
226  run1_high_up_3_hist->SetBinContent(chid, bincontent3/quadav);
227  run1_high_up_4_hist->SetBinContent(chid, bincontent4/quadav);
228  }
229 
230  double quad1sector1avgrun2 = run2_high_up_1_hist->Integral(0,191);
231  double quad2sector1avgrun2 = run2_high_up_1_hist->Integral(192,383);
232  double quad3sector1avgrun2 = run2_high_up_1_hist->Integral(384,575);
233  double quad4sector1avgrun2 = run2_high_up_1_hist->Integral(576,767);
234  double quad5sector1avgrun2 = run2_high_up_1_hist->Integral(768,959);
235  double quad6sector1avgrun2 = run2_high_up_1_hist->Integral(960,1151);
236  double quad7sector1avgrun2 = run2_high_up_1_hist->Integral(1152,1343);
237  double quad8sector1avgrun2 = run2_high_up_1_hist->Integral(1344,1535);
238 
239  double quad1sector2avgrun2 = run2_high_up_2_hist->Integral(0,191);
240  double quad2sector2avgrun2 = run2_high_up_2_hist->Integral(192,383);
241  double quad3sector2avgrun2 = run2_high_up_2_hist->Integral(384,575);
242  double quad4sector2avgrun2 = run2_high_up_2_hist->Integral(576,767);
243  double quad5sector2avgrun2 = run2_high_up_2_hist->Integral(768,959);
244  double quad6sector2avgrun2 = run2_high_up_2_hist->Integral(960,1151);
245  double quad7sector2avgrun2 = run2_high_up_2_hist->Integral(1152,1343);
246  double quad8sector2avgrun2 = run2_high_up_2_hist->Integral(1344,1535);
247 
248  double quad1sector3avgrun2 = run2_high_up_3_hist->Integral(0,191);
249  double quad2sector3avgrun2 = run2_high_up_3_hist->Integral(192,383);
250  double quad3sector3avgrun2 = run2_high_up_3_hist->Integral(384,575);
251  double quad4sector3avgrun2 = run2_high_up_3_hist->Integral(576,767);
252  double quad5sector3avgrun2 = run2_high_up_3_hist->Integral(768,959);
253  double quad6sector3avgrun2 = run2_high_up_3_hist->Integral(960,1151);
254  double quad7sector3avgrun2 = run2_high_up_3_hist->Integral(1152,1343);
255  double quad8sector3avgrun2 = run2_high_up_3_hist->Integral(1344,1535);
256 
257  double quad1sector4avgrun2 = run2_high_up_4_hist->Integral(0,191);
258  double quad2sector4avgrun2 = run2_high_up_4_hist->Integral(192,383);
259  double quad3sector4avgrun2 = run2_high_up_4_hist->Integral(384,575);
260  double quad4sector4avgrun2 = run2_high_up_4_hist->Integral(576,767);
261  double quad5sector4avgrun2 = run2_high_up_4_hist->Integral(768,959);
262  double quad6sector4avgrun2 = run2_high_up_4_hist->Integral(960,1151);
263  double quad7sector4avgrun2 = run2_high_up_4_hist->Integral(1152,1343);
264  double quad8sector4avgrun2 = run2_high_up_4_hist->Integral(1344,1535);
265 
266  double quad1avgrun2 = quad1sector1avgrun2 + quad1sector2avgrun2 + quad1sector3avgrun2 + quad1sector4avgrun2;
267  double quad2avgrun2 = quad2sector1avgrun2 + quad2sector2avgrun2 + quad2sector3avgrun2 + quad2sector4avgrun2;
268  double quad3avgrun2 = quad3sector1avgrun2 + quad3sector2avgrun2 + quad3sector3avgrun2 + quad3sector4avgrun2;
269  double quad4avgrun2 = quad4sector1avgrun2 + quad4sector2avgrun2 + quad4sector3avgrun2 + quad4sector4avgrun2;
270  double quad5avgrun2 = quad5sector1avgrun2 + quad5sector2avgrun2 + quad5sector3avgrun2 + quad5sector4avgrun2;
271  double quad6avgrun2 = quad6sector1avgrun2 + quad6sector2avgrun2 + quad6sector3avgrun2 + quad6sector4avgrun2;
272  double quad7avgrun2 = quad7sector1avgrun2 + quad7sector2avgrun2 + quad7sector3avgrun2 + quad7sector4avgrun2;
273  double quad8avgrun2 = quad8sector1avgrun2 + quad8sector2avgrun2 + quad8sector3avgrun2 + quad8sector4avgrun2;
274 
275  for (int chid=0; chid < 1536 ; chid++)
276  {
277  quadav=0;
278  bincontent1=0;
279  bincontent2=0;
280  bincontent3=0;
281  bincontent4=0;
282  if (chid < 192 && chid > -1) {quadav = quad1avgrun2;}
283  if (chid < 384 && chid > 191) {quadav = quad2avgrun2;}
284  if (chid < 576 && chid > 383) {quadav = quad3avgrun2;}
285  if (chid < 768 && chid > 575) {quadav = quad4avgrun2;}
286  if (chid < 960 && chid > 767) {quadav = quad5avgrun2;}
287  if (chid < 1152 && chid > 959) {quadav = quad6avgrun2;}
288  if (chid < 1344 && chid > 1151) {quadav = quad7avgrun2;}
289  if (chid < 1536 && chid > 1343) {quadav = quad8avgrun2;}
290  bincontent1 = run2_high_up_1_hist->GetBinContent(chid);
291  bincontent2 = run2_high_up_2_hist->GetBinContent(chid);
292  bincontent3 = run2_high_up_3_hist->GetBinContent(chid);
293  bincontent4 = run2_high_up_4_hist->GetBinContent(chid);
294  run2_high_up_1_hist->SetBinContent(chid, bincontent1/quadav);
295  run2_high_up_2_hist->SetBinContent(chid, bincontent2/quadav);
296  run2_high_up_3_hist->SetBinContent(chid, bincontent3/quadav);
297  run2_high_up_4_hist->SetBinContent(chid, bincontent4/quadav);
298  }
299 
300 
301  cout << "Dividing histograms" << "\n";
302 
303  run1_high_up_1_hist->Divide(run2_high_up_1_hist);
304  run1_high_up_2_hist->Divide(run2_high_up_2_hist);
305  run1_high_up_3_hist->Divide(run2_high_up_3_hist);
306  run1_high_up_4_hist->Divide(run2_high_up_4_hist);
307 
308  cout << "Histograms divided" << "\n";
309 
310  run1_high_up_1_hist->SetMinimum(0.8);
311  run1_high_up_1_hist->SetMaximum(1.2);
312  run1_high_up_2_hist->SetMinimum(0.8);
313  run1_high_up_2_hist->SetMaximum(1.2);
314  run1_high_up_3_hist->SetMinimum(0.8);
315  run1_high_up_3_hist->SetMaximum(1.2);
316  run1_high_up_4_hist->SetMinimum(0.8);
317  run1_high_up_4_hist->SetMaximum(1.2);
318 
319 
320 
321 // run1_high_up_1_hist->SetMaximum(run1_high_up_1_hist->GetBinContent(run1_high_up_1_hist->GetMaximumBin())*1.05);
322 // run1_high_up_1_hist->SetMinimum(run1_high_up_1_hist->GetMinimum(0.1)*0.95);
323 //
324 // run1_high_up_2_hist->SetMaximum(run1_high_up_2_hist->GetBinContent(run1_high_up_2_hist->GetMaximumBin())*1.05);
325 // run1_high_up_2_hist->SetMinimum(run1_high_up_2_hist->GetMinimum(0.1)*0.95);
326 //
327 // run1_high_up_3_hist->SetMaximum(run1_high_up_3_hist->GetBinContent(run1_high_up_3_hist->GetMaximumBin())*1.01);
328 // run1_high_up_3_hist->SetMinimum(run1_high_up_3_hist->GetMinimum(0.1)*0.95);
329 //
330 // run1_high_up_4_hist->SetMaximum(run1_high_up_4_hist->GetBinContent(run1_high_up_4_hist->GetMaximumBin())*1.01);
331 // run1_high_up_4_hist->SetMinimum(run1_high_up_4_hist->GetMinimum(0.1)*0.95);
332 
333 
334 ///////////////////////////////////////////////////////////////////////////
335  TCanvas *c3 = new TCanvas("c3","c3 pedsubpeak ",200,10,1200,1200);
336  c3->Divide(2,2);
337 
338 
339  TVirtualPad *c3_1 = c3->cd(1);
340  c3_1->SetBorderMode(0);
341  c3_1->SetFillColor(0);
342 
343  c3_1->SetGridx();
344  c3_1->SetGridy();
345  c3_1->SetBorderMode(0);
346  c3_1->SetFillColor(0);
347 
348  if (errorbars ==0) {run1_high_up_1_hist->Draw("hist p");}
349  else {run1_high_up_1_hist->Draw("E1 X0");}
350  run1_high_up_1_hist->SetMarkerColor(2);
351  run1_high_up_1_hist->SetMarkerStyle(2);
352 
353 
354  sprintf(string,"Run ratio to reference");
355 // sprintf(string,"Run %05d ratio to reference",runnumber1);
356  TLatex *t1 = new TLatex(0.15,0.92,string);
357  t1->SetNDC();
358  t1->SetTextSize(0.03);
359  t1->Draw();
360 
361 
362 ///////////////////////////////////////////////////////////////////////////
363  TVirtualPad *c3_2 = c3->cd(2);
364  c3_2->SetBorderMode(0);
365  c3_2->SetFillColor(0);
366 
367 
368  c3_2->SetGridx();
369  c3_2->SetGridy();
370  c3_2->SetBorderMode(0);
371  c3_2->SetFillColor(0);
372 
373 
374 
375  if (errorbars ==0) {run1_high_up_2_hist->Draw("hist p");}
376  else {run1_high_up_2_hist->Draw("E1 X0");}
377  run1_high_up_2_hist->SetMarkerColor(2);
378  run1_high_up_2_hist->SetMarkerStyle(2);
379 
380 ///////////////////////////////////////////////////////////////////////////
381  TVirtualPad *c3_3 = c3->cd(3);
382  c3_3->SetBorderMode(0);
383  c3_3->SetFillColor(0);
384 
385 
386  c3_3->SetGridx();
387  c3_3->SetGridy();
388  c3_3->SetBorderMode(0);
389  c3_3->SetFillColor(0);
390 
391 
392 
393  if (errorbars ==0) {run1_high_up_3_hist->Draw("hist p");}
394  else {run1_high_up_3_hist->Draw("E1 X0");}
395  run1_high_up_3_hist->SetMarkerColor(2);
396  run1_high_up_3_hist->SetMarkerStyle(2);
397 
398 
399 ///////////////////////////////////////////////////////////////////////////
400  TVirtualPad *c3_4 = c3->cd(4);
401  c3_4->SetBorderMode(0);
402  c3_4->SetFillColor(0);
403 
404  c3_4->SetGridx();
405  c3_4->SetGridy();
406  c3_4->SetBorderMode(0);
407  c3_4->SetFillColor(0);
408 
409 
410 
411  if (errorbars ==0) {run1_high_up_4_hist->Draw("hist p");}
412  else {run1_high_up_4_hist->Draw("E1 X0");}
413  run1_high_up_4_hist->SetMarkerColor(2);
414  run1_high_up_4_hist->SetMarkerStyle(2);
415 
416 
417  ///////////////////////////////////////////////////////////////////////////////////////////
418 
419 
420 
421 
422 // sprintf(string,"bcalled_highup_quadavg.pdf");
423 // sprintf(string,"bcalled_%05d_highup.pdf",runnumber1);
424 // c3->SaveAs(string);
425 
426 //gApplication->Terminate();
427 }
428 
void Plot_BCAL_LED_Ratio_high_up_quadavg(string infilename="hd_root.root", int run=20000)
char string[256]
sprintf(text,"Post KinFit Cut")
TString filename
TF1 * f
Definition: FitGains.C:21
TLatex * t1
TFile * GetReferenceFile(Int_t run, TString variation="default")
void split(const std::string &s, char delim, std::vector< std::string > &elems)
TCanvas * c3
printf("string=%s", string)