Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Plot_BCAL_LED_Ratio_stack_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_stack_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  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 // TProfile *sector1_up_peak_vevent1 = (TProfile*)run1in->Get("bcalLED/sector1_up_peak_vevent1");
162 // TProfile *sector1_up_peak_vevent2 = (TProfile*)run1in->Get("bcalLED/sector1_up_peak_vevent2");
163 // TProfile *sector1_up_peak_vevent3 = (TProfile*)run1in->Get("bcalLED/sector1_up_peak_vevent3");
164 // TProfile *sector1_up_peak_vevent4 = (TProfile*)run1in->Get("bcalLED/sector1_up_peak_vevent4");
165 
166  //if (sector1_up_peak_vevent1->FindLastBinAbove(0,1) > 100)
167  run1_low_up_1 = (TProfile*)run1in->Get("bcalLED/low_bias_up_sector_1_peak_vchannel");
168  //if (sector1_up_peak_vevent2->FindLastBinAbove(0,1) > 100)
169  run1_low_down_1 = (TProfile*)run1in->Get("bcalLED/low_bias_down_sector_1_peak_vchannel");
170  //if (sector1_up_peak_vevent3->FindLastBinAbove(0,1) > 100)
171  run1_high_up_1 = (TProfile*)run1in->Get("bcalLED/high_bias_up_sector_1_peak_vchannel");
172  //if (sector1_up_peak_vevent4->FindLastBinAbove(0,1) > 100)
173  run1_high_down_1 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_1_peak_vchannel");
174 
175 // TProfile *sector2_up_peak_vevent1 = (TProfile*)run1in->Get("bcalLED/sector2_up_peak_vevent1");
176 // TProfile *sector2_up_peak_vevent2 = (TProfile*)run1in->Get("bcalLED/sector2_up_peak_vevent2");
177 // TProfile *sector2_up_peak_vevent3 = (TProfile*)run1in->Get("bcalLED/sector2_up_peak_vevent3");
178 // TProfile *sector2_up_peak_vevent4 = (TProfile*)run1in->Get("bcalLED/sector2_up_peak_vevent4");
179 
180  //if (sector2_up_peak_vevent1->FindLastBinAbove(0,1) > 100)
181  run1_low_up_2 = (TProfile*)run1in->Get("bcalLED/low_bias_up_sector_2_peak_vchannel");
182  //if (sector2_up_peak_vevent2->FindLastBinAbove(0,1) > 100)
183  run1_low_down_2 = (TProfile*)run1in->Get("bcalLED/low_bias_down_sector_2_peak_vchannel");
184  //if (sector2_up_peak_vevent3->FindLastBinAbove(0,1) > 100)
185  run1_high_up_2 = (TProfile*)run1in->Get("bcalLED/high_bias_up_sector_2_peak_vchannel");
186  //if (sector2_up_peak_vevent4->FindLastBinAbove(0,1) > 100)
187  run1_high_down_2 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_2_peak_vchannel");
188 
189 // TProfile *sector3_up_peak_vevent1 = (TProfile*)run1in->Get("bcalLED/sector3_up_peak_vevent1");
190 // TProfile *sector3_up_peak_vevent2 = (TProfile*)run1in->Get("bcalLED/sector3_up_peak_vevent2");
191 // TProfile *sector3_up_peak_vevent3 = (TProfile*)run1in->Get("bcalLED/sector3_up_peak_vevent3");
192 // TProfile *sector3_up_peak_vevent4 = (TProfile*)run1in->Get("bcalLED/sector3_up_peak_vevent4");
193 
194  //if (sector3_up_peak_vevent1->FindLastBinAbove(0,1) > 100)
195  run1_low_up_3 = (TProfile*)run1in->Get("bcalLED/low_bias_up_sector_3_peak_vchannel");
196  //if (sector3_up_peak_vevent2->FindLastBinAbove(0,1) > 100)
197  run1_low_down_3 = (TProfile*)run1in->Get("bcalLED/low_bias_down_sector_3_peak_vchannel");
198  //if (sector3_up_peak_vevent3->FindLastBinAbove(0,1) > 100)
199  run1_high_up_3 = (TProfile*)run1in->Get("bcalLED/high_bias_up_sector_3_peak_vchannel");
200  //if (sector3_up_peak_vevent4->FindLastBinAbove(0,1) > 100)
201  run1_high_down_3 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_3_peak_vchannel");
202 
203 // TProfile *sector4_up_peak_vevent1 = (TProfile*)run1in->Get("bcalLED/sector4_up_peak_vevent1");
204 // TProfile *sector4_up_peak_vevent2 = (TProfile*)run1in->Get("bcalLED/sector4_up_peak_vevent2");
205 // TProfile *sector4_up_peak_vevent3 = (TProfile*)run1in->Get("bcalLED/sector4_up_peak_vevent3");
206 // TProfile *sector4_up_peak_vevent4 = (TProfile*)run1in->Get("bcalLED/sector4_up_peak_vevent4");
207 
208  //if (sector4_up_peak_vevent1->FindLastBinAbove(0,1) > 100)
209  run1_low_up_4 = (TProfile*)run1in->Get("bcalLED/low_bias_up_sector_4_peak_vchannel");
210  //if (sector4_up_peak_vevent2->FindLastBinAbove(0,1) > 100)
211  run1_low_down_4 = (TProfile*)run1in->Get("bcalLED/low_bias_down_sector_4_peak_vchannel");
212  //if (sector4_up_peak_vevent3->FindLastBinAbove(0,1) > 100)
213  run1_high_up_4 = (TProfile*)run1in->Get("bcalLED/high_bias_up_sector_4_peak_vchannel");
214  //if (sector4_up_peak_vevent4->FindLastBinAbove(0,1) > 100)
215  run1_high_down_4 = (TProfile*)run1in->Get("bcalLED/high_bias_down_sector_4_peak_vchannel");
216 
217  //sprintf(string,"BCAL_LED_Reference_Spring2017.root");
218  //printf ("Histogram input filename=%s\n",string);
219  //TFile *run2in = new TFile(string,"read");
220  TFile *run2in = GetReferenceFile(run);
221 
222  run2_low_up_1 = (TProfile*)run2in->Get("bcalLED/low_bias_up_sector_1_peak_vchannel");
223  run2_low_up_2 = (TProfile*)run2in->Get("bcalLED/low_bias_up_sector_2_peak_vchannel");
224  run2_low_up_3 = (TProfile*)run2in->Get("bcalLED/low_bias_up_sector_3_peak_vchannel");
225  run2_low_up_4 = (TProfile*)run2in->Get("bcalLED/low_bias_up_sector_4_peak_vchannel");
226  run2_low_down_1 = (TProfile*)run2in->Get("bcalLED/low_bias_down_sector_1_peak_vchannel");
227  run2_low_down_2 = (TProfile*)run2in->Get("bcalLED/low_bias_down_sector_2_peak_vchannel");
228  run2_low_down_3 = (TProfile*)run2in->Get("bcalLED/low_bias_down_sector_3_peak_vchannel");
229  run2_low_down_4 = (TProfile*)run2in->Get("bcalLED/low_bias_down_sector_4_peak_vchannel");
230 
231  run2_high_up_1 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_1_peak_vchannel");
232  run2_high_up_2 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_2_peak_vchannel");
233  run2_high_up_3 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_3_peak_vchannel");
234  run2_high_up_4 = (TProfile*)run2in->Get("bcalLED/high_bias_up_sector_4_peak_vchannel");
235  run2_high_down_1 = (TProfile*)run2in->Get("bcalLED/high_bias_down_sector_1_peak_vchannel");
236  run2_high_down_2 = (TProfile*)run2in->Get("bcalLED/high_bias_down_sector_2_peak_vchannel");
237  run2_high_down_3 = (TProfile*)run2in->Get("bcalLED/high_bias_down_sector_3_peak_vchannel");
238  run2_high_down_4 = (TProfile*)run2in->Get("bcalLED/high_bias_down_sector_4_peak_vchannel");
239 
240  cout << "input profiles, projecting into histograms" << "\n";
241 
242  run1_low_up_1_hist = run1_low_up_1->ProjectionX("run1_low_up_1_projectionx");
243  run1_low_up_2_hist = run1_low_up_2->ProjectionX("run1_low_up_2_projectionx");
244  run1_low_up_3_hist = run1_low_up_3->ProjectionX("run1_low_up_3_projectionx");
245  run1_low_up_4_hist = run1_low_up_4->ProjectionX("run1_low_up_4_projectionx");
246  run1_low_down_1_hist = run1_low_down_1->ProjectionX("run1_low_down_1_projectionx");
247  run1_low_down_2_hist = run1_low_down_2->ProjectionX("run1_low_down_2_projectionx");
248  run1_low_down_3_hist = run1_low_down_3->ProjectionX("run1_low_down_3_projectionx");
249  run1_low_down_4_hist = run1_low_down_4->ProjectionX("run1_low_down_4_projectionx");
250 
251  run1_high_up_1_hist = run1_high_up_1->ProjectionX("run1_high_up_1_projectionx");
252  run1_high_up_2_hist = run1_high_up_2->ProjectionX("run1_high_up_2_projectionx");
253  run1_high_up_3_hist = run1_high_up_3->ProjectionX("run1_high_up_3_projectionx");
254  run1_high_up_4_hist = run1_high_up_4->ProjectionX("run1_high_up_4_projectionx");
255  run1_high_down_1_hist = run1_high_down_1->ProjectionX("run1_high_down_1_projectionx");
256  run1_high_down_2_hist = run1_high_down_2->ProjectionX("run1_high_down_2_projectionx");
257  run1_high_down_3_hist = run1_high_down_3->ProjectionX("run1_high_down_3_projectionx");
258  run1_high_down_4_hist = run1_high_down_4->ProjectionX("run1_high_down_4_projectionx");
259 
260  run2_low_up_1_hist = run2_low_up_1->ProjectionX("run2_low_up_1_projectionx");
261  run2_low_up_2_hist = run2_low_up_2->ProjectionX("run2_low_up_2_projectionx");
262  run2_low_up_3_hist = run2_low_up_3->ProjectionX("run2_low_up_3_projectionx");
263  run2_low_up_4_hist = run2_low_up_4->ProjectionX("run2_low_up_4_projectionx");
264  run2_low_down_1_hist = run2_low_down_1->ProjectionX("run2_low_down_1_projectionx");
265  run2_low_down_2_hist = run2_low_down_2->ProjectionX("run2_low_down_2_projectionx");
266  run2_low_down_3_hist = run2_low_down_3->ProjectionX("run2_low_down_3_projectionx");
267  run2_low_down_4_hist = run2_low_down_4->ProjectionX("run2_low_down_4_projectionx");
268 
269  run2_high_up_1_hist = run2_high_up_1->ProjectionX("run2_high_up_1_projectionx");
270  run2_high_up_2_hist = run2_high_up_2->ProjectionX("run2_high_up_2_projectionx");
271  run2_high_up_3_hist = run2_high_up_3->ProjectionX("run2_high_up_3_projectionx");
272  run2_high_up_4_hist = run2_high_up_4->ProjectionX("run2_high_up_4_projectionx");
273  run2_high_down_1_hist = run2_high_down_1->ProjectionX("run2_high_down_1_projectionx");
274  run2_high_down_2_hist = run2_high_down_2->ProjectionX("run2_high_down_2_projectionx");
275  run2_high_down_3_hist = run2_high_down_3->ProjectionX("run2_high_down_3_projectionx");
276  run2_high_down_4_hist = run2_high_down_4->ProjectionX("run2_high_down_4_projectionx");
277 
278 
279  cout << "profiles projected into histograms" << "\n";
280 
281  run1_low_up_1_hist->SetTitle("6v Upstream");
282  run1_low_up_2_hist->SetTitle("6v Upstream");
283  run1_low_up_3_hist->SetTitle("6v Upstream");
284  run1_low_up_4_hist->SetTitle("6v Upstream");
285  run1_low_down_1_hist->SetTitle("6v Downstream");
286  run1_low_down_2_hist->SetTitle("6v Downstream");
287  run1_low_down_3_hist->SetTitle("6v Downstream");
288  run1_low_down_4_hist->SetTitle("6v Downstream");
289 
290  run1_high_up_1_hist->SetTitle("6.25v Upstream");
291  run1_high_up_2_hist->SetTitle("6.25v Upstream");
292  run1_high_up_3_hist->SetTitle("6.25v Upstream");
293  run1_high_up_4_hist->SetTitle("6.25v Upstream");
294  run1_high_down_1_hist->SetTitle("6.25v Downstream");
295  run1_high_down_2_hist->SetTitle("6.25v Downstream");
296  run1_high_down_3_hist->SetTitle("6.25v Downstream");
297  run1_high_down_4_hist->SetTitle("6.25v Downstream");
298 
299  cout << "Dividing over quadrant average" << "\n";
300 
301  double quad1sector1avgrun1 = run1_low_down_1_hist->Integral(0,191);
302  double quad2sector1avgrun1 = run1_low_down_1_hist->Integral(192,383);
303  double quad3sector1avgrun1 = run1_low_down_1_hist->Integral(384,575);
304  double quad4sector1avgrun1 = run1_low_down_1_hist->Integral(576,767);
305  double quad5sector1avgrun1 = run1_low_down_1_hist->Integral(768,959);
306  double quad6sector1avgrun1 = run1_low_down_1_hist->Integral(960,1151);
307  double quad7sector1avgrun1 = run1_low_down_1_hist->Integral(1152,1343);
308  double quad8sector1avgrun1 = run1_low_down_1_hist->Integral(1344,1535);
309 
310  double quad1sector2avgrun1 = run1_low_down_2_hist->Integral(0,191);
311  double quad2sector2avgrun1 = run1_low_down_2_hist->Integral(192,383);
312  double quad3sector2avgrun1 = run1_low_down_2_hist->Integral(384,575);
313  double quad4sector2avgrun1 = run1_low_down_2_hist->Integral(576,767);
314  double quad5sector2avgrun1 = run1_low_down_2_hist->Integral(768,959);
315  double quad6sector2avgrun1 = run1_low_down_2_hist->Integral(960,1151);
316  double quad7sector2avgrun1 = run1_low_down_2_hist->Integral(1152,1343);
317  double quad8sector2avgrun1 = run1_low_down_2_hist->Integral(1344,1535);
318 
319  double quad1sector3avgrun1 = run1_low_down_3_hist->Integral(0,191);
320  double quad2sector3avgrun1 = run1_low_down_3_hist->Integral(192,383);
321  double quad3sector3avgrun1 = run1_low_down_3_hist->Integral(384,575);
322  double quad4sector3avgrun1 = run1_low_down_3_hist->Integral(576,767);
323  double quad5sector3avgrun1 = run1_low_down_3_hist->Integral(768,959);
324  double quad6sector3avgrun1 = run1_low_down_3_hist->Integral(960,1151);
325  double quad7sector3avgrun1 = run1_low_down_3_hist->Integral(1152,1343);
326  double quad8sector3avgrun1 = run1_low_down_3_hist->Integral(1344,1535);
327 
328  double quad1sector4avgrun1 = run1_low_down_4_hist->Integral(0,191);
329  double quad2sector4avgrun1 = run1_low_down_4_hist->Integral(192,383);
330  double quad3sector4avgrun1 = run1_low_down_4_hist->Integral(384,575);
331  double quad4sector4avgrun1 = run1_low_down_4_hist->Integral(576,767);
332  double quad5sector4avgrun1 = run1_low_down_4_hist->Integral(768,959);
333  double quad6sector4avgrun1 = run1_low_down_4_hist->Integral(960,1151);
334  double quad7sector4avgrun1 = run1_low_down_4_hist->Integral(1152,1343);
335  double quad8sector4avgrun1 = run1_low_down_4_hist->Integral(1344,1535);
336 
337  double quad1avgrun1 = quad1sector1avgrun1 + quad1sector2avgrun1 + quad1sector3avgrun1 + quad1sector4avgrun1;
338  double quad2avgrun1 = quad2sector1avgrun1 + quad2sector2avgrun1 + quad2sector3avgrun1 + quad2sector4avgrun1;
339  double quad3avgrun1 = quad3sector1avgrun1 + quad3sector2avgrun1 + quad3sector3avgrun1 + quad3sector4avgrun1;
340  double quad4avgrun1 = quad4sector1avgrun1 + quad4sector2avgrun1 + quad4sector3avgrun1 + quad4sector4avgrun1;
341  double quad5avgrun1 = quad5sector1avgrun1 + quad5sector2avgrun1 + quad5sector3avgrun1 + quad5sector4avgrun1;
342  double quad6avgrun1 = quad6sector1avgrun1 + quad6sector2avgrun1 + quad6sector3avgrun1 + quad6sector4avgrun1;
343  double quad7avgrun1 = quad7sector1avgrun1 + quad7sector2avgrun1 + quad7sector3avgrun1 + quad7sector4avgrun1;
344  double quad8avgrun1 = quad8sector1avgrun1 + quad8sector2avgrun1 + quad8sector3avgrun1 + quad8sector4avgrun1;
345 
346  double quadav, bincontent1, bincontent2, bincontent3, bincontent4;
347 
348  for (int chid=0; chid < 1536 ; chid++)
349  {
350  quadav=0;
351  bincontent1=0;
352  bincontent2=0;
353  bincontent3=0;
354  bincontent4=0;
355  if (chid < 192 && chid > -1) {quadav = quad1avgrun1;}
356  if (chid < 384 && chid > 191) {quadav = quad2avgrun1;}
357  if (chid < 576 && chid > 383) {quadav = quad3avgrun1;}
358  if (chid < 768 && chid > 575) {quadav = quad4avgrun1;}
359  if (chid < 960 && chid > 767) {quadav = quad5avgrun1;}
360  if (chid < 1152 && chid > 959) {quadav = quad6avgrun1;}
361  if (chid < 1344 && chid > 1151) {quadav = quad7avgrun1;}
362  if (chid < 1536 && chid > 1343) {quadav = quad8avgrun1;}
363  bincontent1 = run1_low_down_1_hist->GetBinContent(chid);
364  bincontent2 = run1_low_down_2_hist->GetBinContent(chid);
365  bincontent3 = run1_low_down_3_hist->GetBinContent(chid);
366  bincontent4 = run1_low_down_4_hist->GetBinContent(chid);
367  run1_low_down_1_hist->SetBinContent(chid, bincontent1/quadav);
368  run1_low_down_2_hist->SetBinContent(chid, bincontent2/quadav);
369  run1_low_down_3_hist->SetBinContent(chid, bincontent3/quadav);
370  run1_low_down_4_hist->SetBinContent(chid, bincontent4/quadav);
371  }
372 
373  double quad1sector1avgrun2 = run2_low_down_1_hist->Integral(0,191);
374  double quad2sector1avgrun2 = run2_low_down_1_hist->Integral(192,383);
375  double quad3sector1avgrun2 = run2_low_down_1_hist->Integral(384,575);
376  double quad4sector1avgrun2 = run2_low_down_1_hist->Integral(576,767);
377  double quad5sector1avgrun2 = run2_low_down_1_hist->Integral(768,959);
378  double quad6sector1avgrun2 = run2_low_down_1_hist->Integral(960,1151);
379  double quad7sector1avgrun2 = run2_low_down_1_hist->Integral(1152,1343);
380  double quad8sector1avgrun2 = run2_low_down_1_hist->Integral(1344,1535);
381 
382  double quad1sector2avgrun2 = run2_low_down_2_hist->Integral(0,191);
383  double quad2sector2avgrun2 = run2_low_down_2_hist->Integral(192,383);
384  double quad3sector2avgrun2 = run2_low_down_2_hist->Integral(384,575);
385  double quad4sector2avgrun2 = run2_low_down_2_hist->Integral(576,767);
386  double quad5sector2avgrun2 = run2_low_down_2_hist->Integral(768,959);
387  double quad6sector2avgrun2 = run2_low_down_2_hist->Integral(960,1151);
388  double quad7sector2avgrun2 = run2_low_down_2_hist->Integral(1152,1343);
389  double quad8sector2avgrun2 = run2_low_down_2_hist->Integral(1344,1535);
390 
391  double quad1sector3avgrun2 = run2_low_down_3_hist->Integral(0,191);
392  double quad2sector3avgrun2 = run2_low_down_3_hist->Integral(192,383);
393  double quad3sector3avgrun2 = run2_low_down_3_hist->Integral(384,575);
394  double quad4sector3avgrun2 = run2_low_down_3_hist->Integral(576,767);
395  double quad5sector3avgrun2 = run2_low_down_3_hist->Integral(768,959);
396  double quad6sector3avgrun2 = run2_low_down_3_hist->Integral(960,1151);
397  double quad7sector3avgrun2 = run2_low_down_3_hist->Integral(1152,1343);
398  double quad8sector3avgrun2 = run2_low_down_3_hist->Integral(1344,1535);
399 
400  double quad1sector4avgrun2 = run2_low_down_4_hist->Integral(0,191);
401  double quad2sector4avgrun2 = run2_low_down_4_hist->Integral(192,383);
402  double quad3sector4avgrun2 = run2_low_down_4_hist->Integral(384,575);
403  double quad4sector4avgrun2 = run2_low_down_4_hist->Integral(576,767);
404  double quad5sector4avgrun2 = run2_low_down_4_hist->Integral(768,959);
405  double quad6sector4avgrun2 = run2_low_down_4_hist->Integral(960,1151);
406  double quad7sector4avgrun2 = run2_low_down_4_hist->Integral(1152,1343);
407  double quad8sector4avgrun2 = run2_low_down_4_hist->Integral(1344,1535);
408 
409  double quad1avgrun2 = quad1sector1avgrun2 + quad1sector2avgrun2 + quad1sector3avgrun2 + quad1sector4avgrun2;
410  double quad2avgrun2 = quad2sector1avgrun2 + quad2sector2avgrun2 + quad2sector3avgrun2 + quad2sector4avgrun2;
411  double quad3avgrun2 = quad3sector1avgrun2 + quad3sector2avgrun2 + quad3sector3avgrun2 + quad3sector4avgrun2;
412  double quad4avgrun2 = quad4sector1avgrun2 + quad4sector2avgrun2 + quad4sector3avgrun2 + quad4sector4avgrun2;
413  double quad5avgrun2 = quad5sector1avgrun2 + quad5sector2avgrun2 + quad5sector3avgrun2 + quad5sector4avgrun2;
414  double quad6avgrun2 = quad6sector1avgrun2 + quad6sector2avgrun2 + quad6sector3avgrun2 + quad6sector4avgrun2;
415  double quad7avgrun2 = quad7sector1avgrun2 + quad7sector2avgrun2 + quad7sector3avgrun2 + quad7sector4avgrun2;
416  double quad8avgrun2 = quad8sector1avgrun2 + quad8sector2avgrun2 + quad8sector3avgrun2 + quad8sector4avgrun2;
417 
418  for (int chid=0; chid < 1536 ; chid++)
419  {
420  quadav=0;
421  bincontent1=0;
422  bincontent2=0;
423  bincontent3=0;
424  bincontent4=0;
425  if (chid < 192 && chid > -1) {quadav = quad1avgrun2;}
426  if (chid < 384 && chid > 191) {quadav = quad2avgrun2;}
427  if (chid < 576 && chid > 383) {quadav = quad3avgrun2;}
428  if (chid < 768 && chid > 575) {quadav = quad4avgrun2;}
429  if (chid < 960 && chid > 767) {quadav = quad5avgrun2;}
430  if (chid < 1152 && chid > 959) {quadav = quad6avgrun2;}
431  if (chid < 1344 && chid > 1151) {quadav = quad7avgrun2;}
432  if (chid < 1536 && chid > 1343) {quadav = quad8avgrun2;}
433  bincontent1 = run2_low_down_1_hist->GetBinContent(chid);
434  bincontent2 = run2_low_down_2_hist->GetBinContent(chid);
435  bincontent3 = run2_low_down_3_hist->GetBinContent(chid);
436  bincontent4 = run2_low_down_4_hist->GetBinContent(chid);
437  run2_low_down_1_hist->SetBinContent(chid, bincontent1/quadav);
438  run2_low_down_2_hist->SetBinContent(chid, bincontent2/quadav);
439  run2_low_down_3_hist->SetBinContent(chid, bincontent3/quadav);
440  run2_low_down_4_hist->SetBinContent(chid, bincontent4/quadav);
441  }
442 
443  quad1sector1avgrun1 = run1_low_up_1_hist->Integral(0,191);
444  quad2sector1avgrun1 = run1_low_up_1_hist->Integral(192,383);
445  quad3sector1avgrun1 = run1_low_up_1_hist->Integral(384,575);
446  quad4sector1avgrun1 = run1_low_up_1_hist->Integral(576,767);
447  quad5sector1avgrun1 = run1_low_up_1_hist->Integral(768,959);
448  quad6sector1avgrun1 = run1_low_up_1_hist->Integral(960,1151);
449  quad7sector1avgrun1 = run1_low_up_1_hist->Integral(1152,1343);
450  quad8sector1avgrun1 = run1_low_up_1_hist->Integral(1344,1535);
451 
452  quad1sector2avgrun1 = run1_low_up_2_hist->Integral(0,191);
453  quad2sector2avgrun1 = run1_low_up_2_hist->Integral(192,383);
454  quad3sector2avgrun1 = run1_low_up_2_hist->Integral(384,575);
455  quad4sector2avgrun1 = run1_low_up_2_hist->Integral(576,767);
456  quad5sector2avgrun1 = run1_low_up_2_hist->Integral(768,959);
457  quad6sector2avgrun1 = run1_low_up_2_hist->Integral(960,1151);
458  quad7sector2avgrun1 = run1_low_up_2_hist->Integral(1152,1343);
459  quad8sector2avgrun1 = run1_low_up_2_hist->Integral(1344,1535);
460 
461  quad1sector3avgrun1 = run1_low_up_3_hist->Integral(0,191);
462  quad2sector3avgrun1 = run1_low_up_3_hist->Integral(192,383);
463  quad3sector3avgrun1 = run1_low_up_3_hist->Integral(384,575);
464  quad4sector3avgrun1 = run1_low_up_3_hist->Integral(576,767);
465  quad5sector3avgrun1 = run1_low_up_3_hist->Integral(768,959);
466  quad6sector3avgrun1 = run1_low_up_3_hist->Integral(960,1151);
467  quad7sector3avgrun1 = run1_low_up_3_hist->Integral(1152,1343);
468  quad8sector3avgrun1 = run1_low_up_3_hist->Integral(1344,1535);
469 
470  quad1sector4avgrun1 = run1_low_up_4_hist->Integral(0,191);
471  quad2sector4avgrun1 = run1_low_up_4_hist->Integral(192,383);
472  quad3sector4avgrun1 = run1_low_up_4_hist->Integral(384,575);
473  quad4sector4avgrun1 = run1_low_up_4_hist->Integral(576,767);
474  quad5sector4avgrun1 = run1_low_up_4_hist->Integral(768,959);
475  quad6sector4avgrun1 = run1_low_up_4_hist->Integral(960,1151);
476  quad7sector4avgrun1 = run1_low_up_4_hist->Integral(1152,1343);
477  quad8sector4avgrun1 = run1_low_up_4_hist->Integral(1344,1535);
478 
479  quad1avgrun1 = quad1sector1avgrun1 + quad1sector2avgrun1 + quad1sector3avgrun1 + quad1sector4avgrun1;
480  quad2avgrun1 = quad2sector1avgrun1 + quad2sector2avgrun1 + quad2sector3avgrun1 + quad2sector4avgrun1;
481  quad3avgrun1 = quad3sector1avgrun1 + quad3sector2avgrun1 + quad3sector3avgrun1 + quad3sector4avgrun1;
482  quad4avgrun1 = quad4sector1avgrun1 + quad4sector2avgrun1 + quad4sector3avgrun1 + quad4sector4avgrun1;
483  quad5avgrun1 = quad5sector1avgrun1 + quad5sector2avgrun1 + quad5sector3avgrun1 + quad5sector4avgrun1;
484  quad6avgrun1 = quad6sector1avgrun1 + quad6sector2avgrun1 + quad6sector3avgrun1 + quad6sector4avgrun1;
485  quad7avgrun1 = quad7sector1avgrun1 + quad7sector2avgrun1 + quad7sector3avgrun1 + quad7sector4avgrun1;
486  quad8avgrun1 = quad8sector1avgrun1 + quad8sector2avgrun1 + quad8sector3avgrun1 + quad8sector4avgrun1;
487 
488  for (int chid=0; chid < 1536 ; chid++)
489  {
490  quadav=0;
491  bincontent1=0;
492  bincontent2=0;
493  bincontent3=0;
494  bincontent4=0;
495  if (chid < 192 && chid > -1) {quadav = quad1avgrun1;}
496  if (chid < 384 && chid > 191) {quadav = quad2avgrun1;}
497  if (chid < 576 && chid > 383) {quadav = quad3avgrun1;}
498  if (chid < 768 && chid > 575) {quadav = quad4avgrun1;}
499  if (chid < 960 && chid > 767) {quadav = quad5avgrun1;}
500  if (chid < 1152 && chid > 959) {quadav = quad6avgrun1;}
501  if (chid < 1344 && chid > 1151) {quadav = quad7avgrun1;}
502  if (chid < 1536 && chid > 1343) {quadav = quad8avgrun1;}
503  bincontent1 = run1_low_up_1_hist->GetBinContent(chid);
504  bincontent2 = run1_low_up_2_hist->GetBinContent(chid);
505  bincontent3 = run1_low_up_3_hist->GetBinContent(chid);
506  bincontent4 = run1_low_up_4_hist->GetBinContent(chid);
507  run1_low_up_1_hist->SetBinContent(chid, bincontent1/quadav);
508  run1_low_up_2_hist->SetBinContent(chid, bincontent2/quadav);
509  run1_low_up_3_hist->SetBinContent(chid, bincontent3/quadav);
510  run1_low_up_4_hist->SetBinContent(chid, bincontent4/quadav);
511  }
512 
513  quad1sector1avgrun2 = run2_low_up_1_hist->Integral(0,191);
514  quad2sector1avgrun2 = run2_low_up_1_hist->Integral(192,383);
515  quad3sector1avgrun2 = run2_low_up_1_hist->Integral(384,575);
516  quad4sector1avgrun2 = run2_low_up_1_hist->Integral(576,767);
517  quad5sector1avgrun2 = run2_low_up_1_hist->Integral(768,959);
518  quad6sector1avgrun2 = run2_low_up_1_hist->Integral(960,1151);
519  quad7sector1avgrun2 = run2_low_up_1_hist->Integral(1152,1343);
520  quad8sector1avgrun2 = run2_low_up_1_hist->Integral(1344,1535);
521 
522  quad1sector2avgrun2 = run2_low_up_2_hist->Integral(0,191);
523  quad2sector2avgrun2 = run2_low_up_2_hist->Integral(192,383);
524  quad3sector2avgrun2 = run2_low_up_2_hist->Integral(384,575);
525  quad4sector2avgrun2 = run2_low_up_2_hist->Integral(576,767);
526  quad5sector2avgrun2 = run2_low_up_2_hist->Integral(768,959);
527  quad6sector2avgrun2 = run2_low_up_2_hist->Integral(960,1151);
528  quad7sector2avgrun2 = run2_low_up_2_hist->Integral(1152,1343);
529  quad8sector2avgrun2 = run2_low_up_2_hist->Integral(1344,1535);
530 
531  quad1sector3avgrun2 = run2_low_up_3_hist->Integral(0,191);
532  quad2sector3avgrun2 = run2_low_up_3_hist->Integral(192,383);
533  quad3sector3avgrun2 = run2_low_up_3_hist->Integral(384,575);
534  quad4sector3avgrun2 = run2_low_up_3_hist->Integral(576,767);
535  quad5sector3avgrun2 = run2_low_up_3_hist->Integral(768,959);
536  quad6sector3avgrun2 = run2_low_up_3_hist->Integral(960,1151);
537  quad7sector3avgrun2 = run2_low_up_3_hist->Integral(1152,1343);
538  quad8sector3avgrun2 = run2_low_up_3_hist->Integral(1344,1535);
539 
540  quad1sector4avgrun2 = run2_low_up_4_hist->Integral(0,191);
541  quad2sector4avgrun2 = run2_low_up_4_hist->Integral(192,383);
542  quad3sector4avgrun2 = run2_low_up_4_hist->Integral(384,575);
543  quad4sector4avgrun2 = run2_low_up_4_hist->Integral(576,767);
544  quad5sector4avgrun2 = run2_low_up_4_hist->Integral(768,959);
545  quad6sector4avgrun2 = run2_low_up_4_hist->Integral(960,1151);
546  quad7sector4avgrun2 = run2_low_up_4_hist->Integral(1152,1343);
547  quad8sector4avgrun2 = run2_low_up_4_hist->Integral(1344,1535);
548 
549  quad1avgrun2 = quad1sector1avgrun2 + quad1sector2avgrun2 + quad1sector3avgrun2 + quad1sector4avgrun2;
550  quad2avgrun2 = quad2sector1avgrun2 + quad2sector2avgrun2 + quad2sector3avgrun2 + quad2sector4avgrun2;
551  quad3avgrun2 = quad3sector1avgrun2 + quad3sector2avgrun2 + quad3sector3avgrun2 + quad3sector4avgrun2;
552  quad4avgrun2 = quad4sector1avgrun2 + quad4sector2avgrun2 + quad4sector3avgrun2 + quad4sector4avgrun2;
553  quad5avgrun2 = quad5sector1avgrun2 + quad5sector2avgrun2 + quad5sector3avgrun2 + quad5sector4avgrun2;
554  quad6avgrun2 = quad6sector1avgrun2 + quad6sector2avgrun2 + quad6sector3avgrun2 + quad6sector4avgrun2;
555  quad7avgrun2 = quad7sector1avgrun2 + quad7sector2avgrun2 + quad7sector3avgrun2 + quad7sector4avgrun2;
556  quad8avgrun2 = quad8sector1avgrun2 + quad8sector2avgrun2 + quad8sector3avgrun2 + quad8sector4avgrun2;
557 
558  for (int chid=0; chid < 1536 ; chid++)
559  {
560  quadav=0;
561  bincontent1=0;
562  bincontent2=0;
563  bincontent3=0;
564  bincontent4=0;
565  if (chid < 192 && chid > -1) {quadav = quad1avgrun2;}
566  if (chid < 384 && chid > 191) {quadav = quad2avgrun2;}
567  if (chid < 576 && chid > 383) {quadav = quad3avgrun2;}
568  if (chid < 768 && chid > 575) {quadav = quad4avgrun2;}
569  if (chid < 960 && chid > 767) {quadav = quad5avgrun2;}
570  if (chid < 1152 && chid > 959) {quadav = quad6avgrun2;}
571  if (chid < 1344 && chid > 1151) {quadav = quad7avgrun2;}
572  if (chid < 1536 && chid > 1343) {quadav = quad8avgrun2;}
573  bincontent1 = run2_low_up_1_hist->GetBinContent(chid);
574  bincontent2 = run2_low_up_2_hist->GetBinContent(chid);
575  bincontent3 = run2_low_up_3_hist->GetBinContent(chid);
576  bincontent4 = run2_low_up_4_hist->GetBinContent(chid);
577  run2_low_up_1_hist->SetBinContent(chid, bincontent1/quadav);
578  run2_low_up_2_hist->SetBinContent(chid, bincontent2/quadav);
579  run2_low_up_3_hist->SetBinContent(chid, bincontent3/quadav);
580  run2_low_up_4_hist->SetBinContent(chid, bincontent4/quadav);
581  }
582 
583 
584 
585  quad1sector1avgrun1 = run1_high_down_1_hist->Integral(0,191);
586  quad2sector1avgrun1 = run1_high_down_1_hist->Integral(192,383);
587  quad3sector1avgrun1 = run1_high_down_1_hist->Integral(384,575);
588  quad4sector1avgrun1 = run1_high_down_1_hist->Integral(576,767);
589  quad5sector1avgrun1 = run1_high_down_1_hist->Integral(768,959);
590  quad6sector1avgrun1 = run1_high_down_1_hist->Integral(960,1151);
591  quad7sector1avgrun1 = run1_high_down_1_hist->Integral(1152,1343);
592  quad8sector1avgrun1 = run1_high_down_1_hist->Integral(1344,1535);
593 
594  quad1sector2avgrun1 = run1_high_down_2_hist->Integral(0,191);
595  quad2sector2avgrun1 = run1_high_down_2_hist->Integral(192,383);
596  quad3sector2avgrun1 = run1_high_down_2_hist->Integral(384,575);
597  quad4sector2avgrun1 = run1_high_down_2_hist->Integral(576,767);
598  quad5sector2avgrun1 = run1_high_down_2_hist->Integral(768,959);
599  quad6sector2avgrun1 = run1_high_down_2_hist->Integral(960,1151);
600  quad7sector2avgrun1 = run1_high_down_2_hist->Integral(1152,1343);
601  quad8sector2avgrun1 = run1_high_down_2_hist->Integral(1344,1535);
602 
603  quad1sector3avgrun1 = run1_high_down_3_hist->Integral(0,191);
604  quad2sector3avgrun1 = run1_high_down_3_hist->Integral(192,383);
605  quad3sector3avgrun1 = run1_high_down_3_hist->Integral(384,575);
606  quad4sector3avgrun1 = run1_high_down_3_hist->Integral(576,767);
607  quad5sector3avgrun1 = run1_high_down_3_hist->Integral(768,959);
608  quad6sector3avgrun1 = run1_high_down_3_hist->Integral(960,1151);
609  quad7sector3avgrun1 = run1_high_down_3_hist->Integral(1152,1343);
610  quad8sector3avgrun1 = run1_high_down_3_hist->Integral(1344,1535);
611 
612  quad1sector4avgrun1 = run1_high_down_4_hist->Integral(0,191);
613  quad2sector4avgrun1 = run1_high_down_4_hist->Integral(192,383);
614  quad3sector4avgrun1 = run1_high_down_4_hist->Integral(384,575);
615  quad4sector4avgrun1 = run1_high_down_4_hist->Integral(576,767);
616  quad5sector4avgrun1 = run1_high_down_4_hist->Integral(768,959);
617  quad6sector4avgrun1 = run1_high_down_4_hist->Integral(960,1151);
618  quad7sector4avgrun1 = run1_high_down_4_hist->Integral(1152,1343);
619  quad8sector4avgrun1 = run1_high_down_4_hist->Integral(1344,1535);
620 
621  quad1avgrun1 = quad1sector1avgrun1 + quad1sector2avgrun1 + quad1sector3avgrun1 + quad1sector4avgrun1;
622  quad2avgrun1 = quad2sector1avgrun1 + quad2sector2avgrun1 + quad2sector3avgrun1 + quad2sector4avgrun1;
623  quad3avgrun1 = quad3sector1avgrun1 + quad3sector2avgrun1 + quad3sector3avgrun1 + quad3sector4avgrun1;
624  quad4avgrun1 = quad4sector1avgrun1 + quad4sector2avgrun1 + quad4sector3avgrun1 + quad4sector4avgrun1;
625  quad5avgrun1 = quad5sector1avgrun1 + quad5sector2avgrun1 + quad5sector3avgrun1 + quad5sector4avgrun1;
626  quad6avgrun1 = quad6sector1avgrun1 + quad6sector2avgrun1 + quad6sector3avgrun1 + quad6sector4avgrun1;
627  quad7avgrun1 = quad7sector1avgrun1 + quad7sector2avgrun1 + quad7sector3avgrun1 + quad7sector4avgrun1;
628  quad8avgrun1 = quad8sector1avgrun1 + quad8sector2avgrun1 + quad8sector3avgrun1 + quad8sector4avgrun1;
629 
630  for (int chid=0; chid < 1536 ; chid++)
631  {
632  quadav=0;
633  bincontent1=0;
634  bincontent2=0;
635  bincontent3=0;
636  bincontent4=0;
637  if (chid < 192 && chid > -1) {quadav = quad1avgrun1;}
638  if (chid < 384 && chid > 191) {quadav = quad2avgrun1;}
639  if (chid < 576 && chid > 383) {quadav = quad3avgrun1;}
640  if (chid < 768 && chid > 575) {quadav = quad4avgrun1;}
641  if (chid < 960 && chid > 767) {quadav = quad5avgrun1;}
642  if (chid < 1152 && chid > 959) {quadav = quad6avgrun1;}
643  if (chid < 1344 && chid > 1151) {quadav = quad7avgrun1;}
644  if (chid < 1536 && chid > 1343) {quadav = quad8avgrun1;}
645  bincontent1 = run1_high_down_1_hist->GetBinContent(chid);
646  bincontent2 = run1_high_down_2_hist->GetBinContent(chid);
647  bincontent3 = run1_high_down_3_hist->GetBinContent(chid);
648  bincontent4 = run1_high_down_4_hist->GetBinContent(chid);
649  run1_high_down_1_hist->SetBinContent(chid, bincontent1/quadav);
650  run1_high_down_2_hist->SetBinContent(chid, bincontent2/quadav);
651  run1_high_down_3_hist->SetBinContent(chid, bincontent3/quadav);
652  run1_high_down_4_hist->SetBinContent(chid, bincontent4/quadav);
653  }
654 
655  quad1sector1avgrun2 = run2_high_down_1_hist->Integral(0,191);
656  quad2sector1avgrun2 = run2_high_down_1_hist->Integral(192,383);
657  quad3sector1avgrun2 = run2_high_down_1_hist->Integral(384,575);
658  quad4sector1avgrun2 = run2_high_down_1_hist->Integral(576,767);
659  quad5sector1avgrun2 = run2_high_down_1_hist->Integral(768,959);
660  quad6sector1avgrun2 = run2_high_down_1_hist->Integral(960,1151);
661  quad7sector1avgrun2 = run2_high_down_1_hist->Integral(1152,1343);
662  quad8sector1avgrun2 = run2_high_down_1_hist->Integral(1344,1535);
663 
664  quad1sector2avgrun2 = run2_high_down_2_hist->Integral(0,191);
665  quad2sector2avgrun2 = run2_high_down_2_hist->Integral(192,383);
666  quad3sector2avgrun2 = run2_high_down_2_hist->Integral(384,575);
667  quad4sector2avgrun2 = run2_high_down_2_hist->Integral(576,767);
668  quad5sector2avgrun2 = run2_high_down_2_hist->Integral(768,959);
669  quad6sector2avgrun2 = run2_high_down_2_hist->Integral(960,1151);
670  quad7sector2avgrun2 = run2_high_down_2_hist->Integral(1152,1343);
671  quad8sector2avgrun2 = run2_high_down_2_hist->Integral(1344,1535);
672 
673  quad1sector3avgrun2 = run2_high_down_3_hist->Integral(0,191);
674  quad2sector3avgrun2 = run2_high_down_3_hist->Integral(192,383);
675  quad3sector3avgrun2 = run2_high_down_3_hist->Integral(384,575);
676  quad4sector3avgrun2 = run2_high_down_3_hist->Integral(576,767);
677  quad5sector3avgrun2 = run2_high_down_3_hist->Integral(768,959);
678  quad6sector3avgrun2 = run2_high_down_3_hist->Integral(960,1151);
679  quad7sector3avgrun2 = run2_high_down_3_hist->Integral(1152,1343);
680  quad8sector3avgrun2 = run2_high_down_3_hist->Integral(1344,1535);
681 
682  quad1sector4avgrun2 = run2_high_down_4_hist->Integral(0,191);
683  quad2sector4avgrun2 = run2_high_down_4_hist->Integral(192,383);
684  quad3sector4avgrun2 = run2_high_down_4_hist->Integral(384,575);
685  quad4sector4avgrun2 = run2_high_down_4_hist->Integral(576,767);
686  quad5sector4avgrun2 = run2_high_down_4_hist->Integral(768,959);
687  quad6sector4avgrun2 = run2_high_down_4_hist->Integral(960,1151);
688  quad7sector4avgrun2 = run2_high_down_4_hist->Integral(1152,1343);
689  quad8sector4avgrun2 = run2_high_down_4_hist->Integral(1344,1535);
690 
691  quad1avgrun2 = quad1sector1avgrun2 + quad1sector2avgrun2 + quad1sector3avgrun2 + quad1sector4avgrun2;
692  quad2avgrun2 = quad2sector1avgrun2 + quad2sector2avgrun2 + quad2sector3avgrun2 + quad2sector4avgrun2;
693  quad3avgrun2 = quad3sector1avgrun2 + quad3sector2avgrun2 + quad3sector3avgrun2 + quad3sector4avgrun2;
694  quad4avgrun2 = quad4sector1avgrun2 + quad4sector2avgrun2 + quad4sector3avgrun2 + quad4sector4avgrun2;
695  quad5avgrun2 = quad5sector1avgrun2 + quad5sector2avgrun2 + quad5sector3avgrun2 + quad5sector4avgrun2;
696  quad6avgrun2 = quad6sector1avgrun2 + quad6sector2avgrun2 + quad6sector3avgrun2 + quad6sector4avgrun2;
697  quad7avgrun2 = quad7sector1avgrun2 + quad7sector2avgrun2 + quad7sector3avgrun2 + quad7sector4avgrun2;
698  quad8avgrun2 = quad8sector1avgrun2 + quad8sector2avgrun2 + quad8sector3avgrun2 + quad8sector4avgrun2;
699 
700  for (int chid=0; chid < 1536 ; chid++)
701  {
702  quadav=0;
703  bincontent1=0;
704  bincontent2=0;
705  bincontent3=0;
706  bincontent4=0;
707  if (chid < 192 && chid > -1) {quadav = quad1avgrun2;}
708  if (chid < 384 && chid > 191) {quadav = quad2avgrun2;}
709  if (chid < 576 && chid > 383) {quadav = quad3avgrun2;}
710  if (chid < 768 && chid > 575) {quadav = quad4avgrun2;}
711  if (chid < 960 && chid > 767) {quadav = quad5avgrun2;}
712  if (chid < 1152 && chid > 959) {quadav = quad6avgrun2;}
713  if (chid < 1344 && chid > 1151) {quadav = quad7avgrun2;}
714  if (chid < 1536 && chid > 1343) {quadav = quad8avgrun2;}
715  bincontent1 = run2_high_down_1_hist->GetBinContent(chid);
716  bincontent2 = run2_high_down_2_hist->GetBinContent(chid);
717  bincontent3 = run2_high_down_3_hist->GetBinContent(chid);
718  bincontent4 = run2_high_down_4_hist->GetBinContent(chid);
719  run2_high_down_1_hist->SetBinContent(chid, bincontent1/quadav);
720  run2_high_down_2_hist->SetBinContent(chid, bincontent2/quadav);
721  run2_high_down_3_hist->SetBinContent(chid, bincontent3/quadav);
722  run2_high_down_4_hist->SetBinContent(chid, bincontent4/quadav);
723  }
724 
725  quad1sector1avgrun1 = run1_high_up_1_hist->Integral(0,191);
726  quad2sector1avgrun1 = run1_high_up_1_hist->Integral(192,383);
727  quad3sector1avgrun1 = run1_high_up_1_hist->Integral(384,575);
728  quad4sector1avgrun1 = run1_high_up_1_hist->Integral(576,767);
729  quad5sector1avgrun1 = run1_high_up_1_hist->Integral(768,959);
730  quad6sector1avgrun1 = run1_high_up_1_hist->Integral(960,1151);
731  quad7sector1avgrun1 = run1_high_up_1_hist->Integral(1152,1343);
732  quad8sector1avgrun1 = run1_high_up_1_hist->Integral(1344,1535);
733 
734  quad1sector2avgrun1 = run1_high_up_2_hist->Integral(0,191);
735  quad2sector2avgrun1 = run1_high_up_2_hist->Integral(192,383);
736  quad3sector2avgrun1 = run1_high_up_2_hist->Integral(384,575);
737  quad4sector2avgrun1 = run1_high_up_2_hist->Integral(576,767);
738  quad5sector2avgrun1 = run1_high_up_2_hist->Integral(768,959);
739  quad6sector2avgrun1 = run1_high_up_2_hist->Integral(960,1151);
740  quad7sector2avgrun1 = run1_high_up_2_hist->Integral(1152,1343);
741  quad8sector2avgrun1 = run1_high_up_2_hist->Integral(1344,1535);
742 
743  quad1sector3avgrun1 = run1_high_up_3_hist->Integral(0,191);
744  quad2sector3avgrun1 = run1_high_up_3_hist->Integral(192,383);
745  quad3sector3avgrun1 = run1_high_up_3_hist->Integral(384,575);
746  quad4sector3avgrun1 = run1_high_up_3_hist->Integral(576,767);
747  quad5sector3avgrun1 = run1_high_up_3_hist->Integral(768,959);
748  quad6sector3avgrun1 = run1_high_up_3_hist->Integral(960,1151);
749  quad7sector3avgrun1 = run1_high_up_3_hist->Integral(1152,1343);
750  quad8sector3avgrun1 = run1_high_up_3_hist->Integral(1344,1535);
751 
752  quad1sector4avgrun1 = run1_high_up_4_hist->Integral(0,191);
753  quad2sector4avgrun1 = run1_high_up_4_hist->Integral(192,383);
754  quad3sector4avgrun1 = run1_high_up_4_hist->Integral(384,575);
755  quad4sector4avgrun1 = run1_high_up_4_hist->Integral(576,767);
756  quad5sector4avgrun1 = run1_high_up_4_hist->Integral(768,959);
757  quad6sector4avgrun1 = run1_high_up_4_hist->Integral(960,1151);
758  quad7sector4avgrun1 = run1_high_up_4_hist->Integral(1152,1343);
759  quad8sector4avgrun1 = run1_high_up_4_hist->Integral(1344,1535);
760 
761  quad1avgrun1 = quad1sector1avgrun1 + quad1sector2avgrun1 + quad1sector3avgrun1 + quad1sector4avgrun1;
762  quad2avgrun1 = quad2sector1avgrun1 + quad2sector2avgrun1 + quad2sector3avgrun1 + quad2sector4avgrun1;
763  quad3avgrun1 = quad3sector1avgrun1 + quad3sector2avgrun1 + quad3sector3avgrun1 + quad3sector4avgrun1;
764  quad4avgrun1 = quad4sector1avgrun1 + quad4sector2avgrun1 + quad4sector3avgrun1 + quad4sector4avgrun1;
765  quad5avgrun1 = quad5sector1avgrun1 + quad5sector2avgrun1 + quad5sector3avgrun1 + quad5sector4avgrun1;
766  quad6avgrun1 = quad6sector1avgrun1 + quad6sector2avgrun1 + quad6sector3avgrun1 + quad6sector4avgrun1;
767  quad7avgrun1 = quad7sector1avgrun1 + quad7sector2avgrun1 + quad7sector3avgrun1 + quad7sector4avgrun1;
768  quad8avgrun1 = quad8sector1avgrun1 + quad8sector2avgrun1 + quad8sector3avgrun1 + quad8sector4avgrun1;
769 
770  for (int chid=0; chid < 1536 ; chid++)
771  {
772  quadav=0;
773  bincontent1=0;
774  bincontent2=0;
775  bincontent3=0;
776  bincontent4=0;
777  if (chid < 192 && chid > -1) {quadav = quad1avgrun1;}
778  if (chid < 384 && chid > 191) {quadav = quad2avgrun1;}
779  if (chid < 576 && chid > 383) {quadav = quad3avgrun1;}
780  if (chid < 768 && chid > 575) {quadav = quad4avgrun1;}
781  if (chid < 960 && chid > 767) {quadav = quad5avgrun1;}
782  if (chid < 1152 && chid > 959) {quadav = quad6avgrun1;}
783  if (chid < 1344 && chid > 1151) {quadav = quad7avgrun1;}
784  if (chid < 1536 && chid > 1343) {quadav = quad8avgrun1;}
785  bincontent1 = run1_high_up_1_hist->GetBinContent(chid);
786  bincontent2 = run1_high_up_2_hist->GetBinContent(chid);
787  bincontent3 = run1_high_up_3_hist->GetBinContent(chid);
788  bincontent4 = run1_high_up_4_hist->GetBinContent(chid);
789  run1_high_up_1_hist->SetBinContent(chid, bincontent1/quadav);
790  run1_high_up_2_hist->SetBinContent(chid, bincontent2/quadav);
791  run1_high_up_3_hist->SetBinContent(chid, bincontent3/quadav);
792  run1_high_up_4_hist->SetBinContent(chid, bincontent4/quadav);
793  }
794 
795  quad1sector1avgrun2 = run2_high_up_1_hist->Integral(0,191);
796  quad2sector1avgrun2 = run2_high_up_1_hist->Integral(192,383);
797  quad3sector1avgrun2 = run2_high_up_1_hist->Integral(384,575);
798  quad4sector1avgrun2 = run2_high_up_1_hist->Integral(576,767);
799  quad5sector1avgrun2 = run2_high_up_1_hist->Integral(768,959);
800  quad6sector1avgrun2 = run2_high_up_1_hist->Integral(960,1151);
801  quad7sector1avgrun2 = run2_high_up_1_hist->Integral(1152,1343);
802  quad8sector1avgrun2 = run2_high_up_1_hist->Integral(1344,1535);
803 
804  quad1sector2avgrun2 = run2_high_up_2_hist->Integral(0,191);
805  quad2sector2avgrun2 = run2_high_up_2_hist->Integral(192,383);
806  quad3sector2avgrun2 = run2_high_up_2_hist->Integral(384,575);
807  quad4sector2avgrun2 = run2_high_up_2_hist->Integral(576,767);
808  quad5sector2avgrun2 = run2_high_up_2_hist->Integral(768,959);
809  quad6sector2avgrun2 = run2_high_up_2_hist->Integral(960,1151);
810  quad7sector2avgrun2 = run2_high_up_2_hist->Integral(1152,1343);
811  quad8sector2avgrun2 = run2_high_up_2_hist->Integral(1344,1535);
812 
813  quad1sector3avgrun2 = run2_high_up_3_hist->Integral(0,191);
814  quad2sector3avgrun2 = run2_high_up_3_hist->Integral(192,383);
815  quad3sector3avgrun2 = run2_high_up_3_hist->Integral(384,575);
816  quad4sector3avgrun2 = run2_high_up_3_hist->Integral(576,767);
817  quad5sector3avgrun2 = run2_high_up_3_hist->Integral(768,959);
818  quad6sector3avgrun2 = run2_high_up_3_hist->Integral(960,1151);
819  quad7sector3avgrun2 = run2_high_up_3_hist->Integral(1152,1343);
820  quad8sector3avgrun2 = run2_high_up_3_hist->Integral(1344,1535);
821 
822  quad1sector4avgrun2 = run2_high_up_4_hist->Integral(0,191);
823  quad2sector4avgrun2 = run2_high_up_4_hist->Integral(192,383);
824  quad3sector4avgrun2 = run2_high_up_4_hist->Integral(384,575);
825  quad4sector4avgrun2 = run2_high_up_4_hist->Integral(576,767);
826  quad5sector4avgrun2 = run2_high_up_4_hist->Integral(768,959);
827  quad6sector4avgrun2 = run2_high_up_4_hist->Integral(960,1151);
828  quad7sector4avgrun2 = run2_high_up_4_hist->Integral(1152,1343);
829  quad8sector4avgrun2 = run2_high_up_4_hist->Integral(1344,1535);
830 
831  quad1avgrun2 = quad1sector1avgrun2 + quad1sector2avgrun2 + quad1sector3avgrun2 + quad1sector4avgrun2;
832  quad2avgrun2 = quad2sector1avgrun2 + quad2sector2avgrun2 + quad2sector3avgrun2 + quad2sector4avgrun2;
833  quad3avgrun2 = quad3sector1avgrun2 + quad3sector2avgrun2 + quad3sector3avgrun2 + quad3sector4avgrun2;
834  quad4avgrun2 = quad4sector1avgrun2 + quad4sector2avgrun2 + quad4sector3avgrun2 + quad4sector4avgrun2;
835  quad5avgrun2 = quad5sector1avgrun2 + quad5sector2avgrun2 + quad5sector3avgrun2 + quad5sector4avgrun2;
836  quad6avgrun2 = quad6sector1avgrun2 + quad6sector2avgrun2 + quad6sector3avgrun2 + quad6sector4avgrun2;
837  quad7avgrun2 = quad7sector1avgrun2 + quad7sector2avgrun2 + quad7sector3avgrun2 + quad7sector4avgrun2;
838  quad8avgrun2 = quad8sector1avgrun2 + quad8sector2avgrun2 + quad8sector3avgrun2 + quad8sector4avgrun2;
839 
840  for (int chid=0; chid < 1536 ; chid++)
841  {
842  quadav=0;
843  bincontent1=0;
844  bincontent2=0;
845  bincontent3=0;
846  bincontent4=0;
847  if (chid < 192 && chid > -1) {quadav = quad1avgrun2;}
848  if (chid < 384 && chid > 191) {quadav = quad2avgrun2;}
849  if (chid < 576 && chid > 383) {quadav = quad3avgrun2;}
850  if (chid < 768 && chid > 575) {quadav = quad4avgrun2;}
851  if (chid < 960 && chid > 767) {quadav = quad5avgrun2;}
852  if (chid < 1152 && chid > 959) {quadav = quad6avgrun2;}
853  if (chid < 1344 && chid > 1151) {quadav = quad7avgrun2;}
854  if (chid < 1536 && chid > 1343) {quadav = quad8avgrun2;}
855  bincontent1 = run2_high_up_1_hist->GetBinContent(chid);
856  bincontent2 = run2_high_up_2_hist->GetBinContent(chid);
857  bincontent3 = run2_high_up_3_hist->GetBinContent(chid);
858  bincontent4 = run2_high_up_4_hist->GetBinContent(chid);
859  run2_high_up_1_hist->SetBinContent(chid, bincontent1/quadav);
860  run2_high_up_2_hist->SetBinContent(chid, bincontent2/quadav);
861  run2_high_up_3_hist->SetBinContent(chid, bincontent3/quadav);
862  run2_high_up_4_hist->SetBinContent(chid, bincontent4/quadav);
863  }
864 
865  cout << "Dividing histograms" << "\n";
866 
867  run1_low_up_1_hist->Divide(run2_low_up_1_hist);
868  run1_low_up_2_hist->Divide(run2_low_up_2_hist);
869  run1_low_up_3_hist->Divide(run2_low_up_3_hist);
870  run1_low_up_4_hist->Divide(run2_low_up_4_hist);
871  run1_low_down_1_hist->Divide(run2_low_down_1_hist);
872  run1_low_down_2_hist->Divide(run2_low_down_2_hist);
873  run1_low_down_3_hist->Divide(run2_low_down_3_hist);
874  run1_low_down_4_hist->Divide(run2_low_down_4_hist);
875 
876  run1_high_up_1_hist->Divide(run2_high_up_1_hist);
877  run1_high_up_2_hist->Divide(run2_high_up_2_hist);
878  run1_high_up_3_hist->Divide(run2_high_up_3_hist);
879  run1_high_up_4_hist->Divide(run2_high_up_4_hist);
880  run1_high_down_1_hist->Divide(run2_high_down_1_hist);
881  run1_high_down_2_hist->Divide(run2_high_down_2_hist);
882  run1_high_down_3_hist->Divide(run2_high_down_3_hist);
883  run1_high_down_4_hist->Divide(run2_high_down_4_hist);
884 
885  cout << "Histograms divided" << "\n";
886  run1_low_up_1_hist->SetMinimum(0.8);
887  run1_low_up_1_hist->SetMaximum(1.2);
888  run1_low_up_2_hist->SetMinimum(0.8);
889  run1_low_up_2_hist->SetMaximum(1.2);
890  run1_low_up_3_hist->SetMinimum(0.8);
891  run1_low_up_3_hist->SetMaximum(1.2);
892  run1_low_up_4_hist->SetMinimum(0.8);
893  run1_low_up_4_hist->SetMaximum(1.2);
894 
895  run1_low_down_1_hist->SetMinimum(0.8);
896  run1_low_down_1_hist->SetMaximum(1.2);
897  run1_low_down_2_hist->SetMinimum(0.8);
898  run1_low_down_2_hist->SetMaximum(1.2);
899  run1_low_down_3_hist->SetMinimum(0.8);
900  run1_low_down_3_hist->SetMaximum(1.2);
901  run1_low_down_4_hist->SetMinimum(0.8);
902  run1_low_down_4_hist->SetMaximum(1.2);
903 
904  run1_high_up_1_hist->SetMinimum(0.8);
905  run1_high_up_1_hist->SetMaximum(1.2);
906  run1_high_up_2_hist->SetMinimum(0.8);
907  run1_high_up_2_hist->SetMaximum(1.2);
908  run1_high_up_3_hist->SetMinimum(0.8);
909  run1_high_up_3_hist->SetMaximum(1.2);
910  run1_high_up_4_hist->SetMinimum(0.8);
911  run1_high_up_4_hist->SetMaximum(1.2);
912 
913  run1_high_down_1_hist->SetMinimum(0.8);
914  run1_high_down_1_hist->SetMaximum(1.2);
915  run1_high_down_2_hist->SetMinimum(0.8);
916  run1_high_down_2_hist->SetMaximum(1.2);
917  run1_high_down_3_hist->SetMinimum(0.8);
918  run1_high_down_3_hist->SetMaximum(1.2);
919  run1_high_down_4_hist->SetMinimum(0.8);
920  run1_high_down_4_hist->SetMaximum(1.2);
921 
922 // run1_low_up_1_hist->SetMaximum(run1_low_up_1_hist->GetBinContent(run1_low_up_1_hist->GetMaximumBin())*1.05);
923 // run1_low_up_1_hist->SetMinimum(run1_low_up_1_hist->GetMinimum(0.1)*0.95);
924 //
925 // run1_low_up_2_hist->SetMaximum(run1_low_up_2_hist->GetBinContent(run1_low_up_2_hist->GetMaximumBin())*1.05);
926 // run1_low_up_2_hist->SetMinimum(run1_low_up_2_hist->GetMinimum(0.1)*0.95);
927 //
928 // run1_low_up_3_hist->SetMaximum(run1_low_up_3_hist->GetBinContent(run1_low_up_3_hist->GetMaximumBin())*1.01);
929 // run1_low_up_3_hist->SetMinimum(run1_low_up_3_hist->GetMinimum(0.1)*0.95);
930 //
931 // run1_low_up_4_hist->SetMaximum(run1_low_up_4_hist->GetBinContent(run1_low_up_4_hist->GetMaximumBin())*1.01);
932 // run1_low_up_4_hist->SetMinimum(run1_low_up_4_hist->GetMinimum(0.1)*0.95);
933 //
934 // run1_low_down_1_hist->SetMaximum(run1_low_down_1_hist->GetBinContent(run1_low_down_1_hist->GetMaximumBin())*1.05);
935 // run1_low_down_1_hist->SetMinimum(run1_low_down_1_hist->GetMinimum(0.1)*0.95);
936 //
937 // run1_low_down_2_hist->SetMaximum(run1_low_down_2_hist->GetBinContent(run1_low_down_2_hist->GetMaximumBin())*1.05);
938 // run1_low_down_2_hist->SetMinimum(run1_low_down_2_hist->GetMinimum(0.1)*0.95);
939 //
940 // run1_low_down_3_hist->SetMaximum(run1_low_down_3_hist->GetBinContent(run1_low_down_3_hist->GetMaximumBin())*1.01);
941 // run1_low_down_3_hist->SetMinimum(run1_low_down_3_hist->GetMinimum(0.1)*0.95);
942 //
943 // run1_low_down_4_hist->SetMaximum(run1_low_down_4_hist->GetBinContent(run1_low_down_4_hist->GetMaximumBin())*1.01);
944 // run1_low_down_4_hist->SetMinimum(run1_low_down_4_hist->GetMinimum(0.1)*0.95);
945 //
946 // run1_high_down_1_hist->SetMaximum(run1_high_down_1_hist->GetBinContent(run1_high_down_1_hist->GetMaximumBin())*1.05);
947 // run1_high_down_1_hist->SetMinimum(run1_high_down_1_hist->GetMinimum(0.1)*0.95);
948 //
949 // run1_high_down_2_hist->SetMaximum(run1_high_down_2_hist->GetBinContent(run1_high_down_2_hist->GetMaximumBin())*1.05);
950 // run1_high_down_2_hist->SetMinimum(run1_high_down_2_hist->GetMinimum(0.1)*0.95);
951 //
952 // run1_high_down_3_hist->SetMaximum(run1_high_down_3_hist->GetBinContent(run1_high_down_3_hist->GetMaximumBin())*1.01);
953 // run1_high_down_3_hist->SetMinimum(run1_high_down_3_hist->GetMinimum(0.1)*0.95);
954 //
955 // run1_high_down_4_hist->SetMaximum(run1_high_down_4_hist->GetBinContent(run1_high_down_4_hist->GetMaximumBin())*1.01);
956 // run1_high_down_4_hist->SetMinimum(run1_high_down_4_hist->GetMinimum(0.1)*0.95);
957 //
958 // run1_high_up_1_hist->SetMaximum(run1_high_up_1_hist->GetBinContent(run1_high_up_1_hist->GetMaximumBin())*1.05);
959 // run1_high_up_1_hist->SetMinimum(run1_high_up_1_hist->GetMinimum(0.1)*0.95);
960 //
961 // run1_high_up_2_hist->SetMaximum(run1_high_up_2_hist->GetBinContent(run1_high_up_2_hist->GetMaximumBin())*1.05);
962 // run1_high_up_2_hist->SetMinimum(run1_high_up_2_hist->GetMinimum(0.1)*0.95);
963 //
964 // run1_high_up_3_hist->SetMaximum(run1_high_up_3_hist->GetBinContent(run1_high_up_3_hist->GetMaximumBin())*1.01);
965 // run1_high_up_3_hist->SetMinimum(run1_high_up_3_hist->GetMinimum(0.1)*0.95);
966 //
967 // run1_high_up_4_hist->SetMaximum(run1_high_up_4_hist->GetBinContent(run1_high_up_4_hist->GetMaximumBin())*1.01);
968 // run1_high_up_4_hist->SetMinimum(run1_high_up_4_hist->GetMinimum(0.1)*0.95);
969 
970 
971  TCanvas *c1 = new TCanvas("c1","c1 pedsubpeak ",200,10,1200,1200);
972  c1->Divide(2,2);
973 
974 ////////////////////////////////////////////////
975  TVirtualPad *c1_1 = c1->cd(1);
976  c1_1->SetBorderMode(0);
977  c1_1->SetFillColor(0);
978 
979  c1_1->SetGridx();
980  c1_1->SetGridy();
981  c1_1->SetBorderMode(0);
982  c1_1->SetFillColor(0);
983 
984  if (errorbars ==0) {run1_low_up_1_hist->Draw("hist p");
985  run1_low_up_2_hist->Draw("same hist p");
986  run1_low_up_3_hist->Draw("same hist p");
987  run1_low_up_4_hist->Draw("same hist p");
988  }
989  else {run1_low_up_1_hist->Draw("E1 X0");
990  run1_low_up_2_hist->Draw("same E1 X0");
991  run1_low_up_3_hist->Draw("same E1 X0");
992  run1_low_up_4_hist->Draw("same E1 X0");
993  }
994 
995  run1_low_up_1_hist->SetMarkerColor(1);
996  run1_low_up_1_hist->SetMarkerStyle(2);
997  run1_low_up_2_hist->SetMarkerColor(2);
998  run1_low_up_2_hist->SetMarkerStyle(2);
999  run1_low_up_3_hist->SetMarkerColor(3);
1000  run1_low_up_3_hist->SetMarkerStyle(2);
1001  run1_low_up_4_hist->SetMarkerColor(4);
1002  run1_low_up_4_hist->SetMarkerStyle(2);
1003 
1004 
1005  sprintf(string,"Run ratio to reference");
1006 // sprintf(string,"Run %05d ratio to reference",runnumber1);
1007  TLatex *t1 = new TLatex(0.15,0.92,string);
1008  t1->SetNDC();
1009  t1->SetTextSize(0.03);
1010  t1->Draw();
1011 
1012 ///////////////////////////////////////////////////////////////////////////
1013  TVirtualPad *c1_2 = c1->cd(2);
1014  c1_2->SetBorderMode(0);
1015  c1_2->SetFillColor(0);
1016 
1017  c1_2->SetGridx();
1018  c1_2->SetGridy();
1019  c1_2->SetBorderMode(0);
1020  c1_2->SetFillColor(0);
1021 
1022  if (errorbars ==0) {run1_low_down_1_hist->Draw("hist p");
1023  run1_low_down_2_hist->Draw("same hist p");
1024  run1_low_down_3_hist->Draw("same hist p");
1025  run1_low_down_4_hist->Draw("same hist p");
1026  }
1027  else {run1_low_down_1_hist->Draw("E1 X0");
1028  run1_low_down_2_hist->Draw("same E1 X0");
1029  run1_low_down_3_hist->Draw("same E1 X0");
1030  run1_low_down_4_hist->Draw("same E1 X0");
1031  }
1032 
1033  run1_low_down_1_hist->SetMarkerColor(1);
1034  run1_low_down_1_hist->SetMarkerStyle(2);
1035  run1_low_down_2_hist->SetMarkerColor(2);
1036  run1_low_down_2_hist->SetMarkerStyle(2);
1037  run1_low_down_3_hist->SetMarkerColor(3);
1038  run1_low_down_3_hist->SetMarkerStyle(2);
1039  run1_low_down_4_hist->SetMarkerColor(4);
1040  run1_low_down_4_hist->SetMarkerStyle(2);
1041 
1042 ///////////////////////////////////////////////////////////////////////////
1043  TVirtualPad *c1_3 = c1->cd(3);
1044  c1_3->SetBorderMode(0);
1045  c1_3->SetFillColor(0);
1046 
1047 
1048  c1_3->SetGridx();
1049  c1_3->SetGridy();
1050  c1_3->SetBorderMode(0);
1051  c1_3->SetFillColor(0);
1052 
1053  if (errorbars ==0) {run1_high_up_1_hist->Draw("hist p");
1054  run1_high_up_2_hist->Draw("same hist p");
1055  run1_high_up_3_hist->Draw("same hist p");
1056  run1_high_up_4_hist->Draw("same hist p");
1057  }
1058  else {run1_high_up_1_hist->Draw("E1 X0");
1059  run1_high_up_2_hist->Draw("same E1 X0");
1060  run1_high_up_3_hist->Draw("same E1 X0");
1061  run1_high_up_4_hist->Draw("same E1 X0");
1062  }
1063 
1064  run1_high_up_1_hist->SetMarkerColor(1);
1065  run1_high_up_1_hist->SetMarkerStyle(2);
1066  run1_high_up_2_hist->SetMarkerColor(2);
1067  run1_high_up_2_hist->SetMarkerStyle(2);
1068  run1_high_up_3_hist->SetMarkerColor(3);
1069  run1_high_up_3_hist->SetMarkerStyle(2);
1070  run1_high_up_4_hist->SetMarkerColor(4);
1071  run1_high_up_4_hist->SetMarkerStyle(2);
1072 
1073 
1074  ///////////////////////////////////////////////////////////////////////////
1075  TVirtualPad *c1_4 = c1->cd(4);
1076  c1_4->SetBorderMode(0);
1077  c1_4->SetFillColor(0);
1078 
1079  c1_4->SetGridx();
1080  c1_4->SetGridy();
1081  c1_4->SetBorderMode(0);
1082  c1_4->SetFillColor(0);
1083 
1084  if (errorbars ==0) {run1_high_down_1_hist->Draw("hist p");
1085  run1_high_down_2_hist->Draw("same hist p");
1086  run1_high_down_3_hist->Draw("same hist p");
1087  run1_high_down_4_hist->Draw("same hist p");
1088  }
1089  else {run1_high_down_1_hist->Draw("E1 X0");
1090  run1_high_down_2_hist->Draw("same E1 X0");
1091  run1_high_down_3_hist->Draw("same E1 X0");
1092  run1_high_down_4_hist->Draw("same E1 X0");
1093  }
1094 
1095  run1_high_down_1_hist->SetMarkerColor(1);
1096  run1_high_down_1_hist->SetMarkerStyle(2);
1097  run1_high_down_2_hist->SetMarkerColor(2);
1098  run1_high_down_2_hist->SetMarkerStyle(2);
1099  run1_high_down_3_hist->SetMarkerColor(3);
1100  run1_high_down_3_hist->SetMarkerStyle(2);
1101  run1_high_down_4_hist->SetMarkerColor(4);
1102  run1_high_down_4_hist->SetMarkerStyle(2);
1103 
1104  ///////////////////////////////////////////////////////////////////////////////////////////
1105 
1106 
1107 
1108 
1109 // sprintf(string,"bcalled_monitoring.pdf");
1110 // sprintf(string,"bcalled_%05d_monitoring.pdf",runnumber1);
1111 // c1->SaveAs(string);
1112 
1113 
1114 //gApplication->Terminate();
1115 }
1116 
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
TLatex * t1
TFile * GetReferenceFile(Int_t run, TString variation="default")
void split(const std::string &s, char delim, std::vector< std::string > &elems)
void Plot_BCAL_LED_Ratio_stack_quadavg(string infilename="hd_root.root", int run=20000)
printf("string=%s", string)