theta23vsdeltamsq32.C
Go to the documentation of this file.
1 //Author: Prabhjot Singh (prabhjot@fnal.gov).
2 //Dated: June 28, 2016 08:48 am
3 //This macro makes star plots for the numu analysis for the maximal mixing and sa best fit point.
4 
6  gStyle->SetOptStat(" ");
7 
8  bool maxmixing_before_fakedatabug;
9  bool maxmixing_after_fakedatabug;
10  bool sabestfit_before_fakedatabug;
11  bool sabestfit_after_fakedatabug;
12  bool contours;
13 
14  maxmixing_before_fakedatabug = false;
15  maxmixing_after_fakedatabug = false;
16  sabestfit_before_fakedatabug = false;
17  sabestfit_after_fakedatabug = true;
18 
19  contours = true;
20 
21  if(!maxmixing_before_fakedatabug && !maxmixing_after_fakedatabug && !sabestfit_before_fakedatabug && !sabestfit_after_fakedatabug){
22  std::cout << ">>>>>>>>>>>>>>>> ALL CASES ARE OFF>>>>>>>>>>>>>>>" << std::endl;
23  std::cout << ">>>>>>>>>>>>>>>> Make atleast one case TRUE>>>>>>>>>>>>>>>" << std::endl;
24  abort();
25  }
26 
27  if( (maxmixing_before_fakedatabug && maxmixing_after_fakedatabug) || (maxmixing_before_fakedatabug && sabestfit_before_fakedatabug) || (maxmixing_before_fakedatabug && sabestfit_after_fakedatabug) || (maxmixing_after_fakedatabug && sabestfit_before_fakedatabug) ||
28  (maxmixing_after_fakedatabug && sabestfit_after_fakedatabug) || (sabestfit_before_fakedatabug && sabestfit_after_fakedatabug) ){
29  std::cout << ">>>>>>>>>>>>>> MORE THAN ONE CASES ARE TRUE>>>>>>>>>>>>" << std::endl;
30  std::cout << ">>>>>>>>>>>>>> Only one case is allowed to be TRUE>>>>>>>>>>>>" << std::endl;
31  abort();
32  }
33 
34  char* canvas;
35  char* hist;
36 
37  char* c_maxmixing;
38  char* c_sabestfitpoint;
39 
40  canvas = "contours/GaussianContoursCanv";
41  hist = "Th23Dmsq32CLContours";
42 
43  //call for contour files only if you want to make contours.
44  if(contours){
45  c_maxmixing = "/nova/ana/users/prabhjot/FNEX/SystematicsTest/fitpointjobs/interactive/fakedata_bugfix/maxmix/contour_hist_maxmixing_withoutfitpointjob.root";
46  c_sabestfitpoint = "/nova/ana/users/prabhjot/FNEX/SystematicsTest/fitpointjobs/interactive/fakedata_bugfix/sabestfit/contour_hist_sabestfit.root";
47 
48  TFile* f_max = new TFile(c_maxmixing, "read");
49  TFile* f_sa = new TFile(c_sabestfitpoint, "read");
50  }
51  //Max mixing before fakedata bug
52  if(maxmixing_before_fakedatabug){
53  Double_t th23_max = 0.7854;
54  Double_t th23_nosys = 0.7748;
55 
56  Double_t th23_mec_plus = 0.7987;
57  Double_t th23_rpa_plus = 0.7763;
58  Double_t th23_lepEabs_plus = 0.7833;
59  Double_t th23_lepErel_plus = 0.8004;
60  Double_t th23_hadE_plus = 0.8005;
61  Double_t th23_tau_plus = 0.7753;
62  Double_t th23_nc_plus = 0.7531;
63  Double_t th23_cosmic_plus = 0.7722;
64  Double_t th23_abs_plus = 0.7814;
65  Double_t th23_rel_plus = 0.7781;
66  Double_t th23_beamnd_plus = 0.7748;
67  Double_t th23_rock_plus = 0.7852;
68 
69 
70  Double_t th23_mec_minus = 0.7881;
71  Double_t th23_rpa_minus = 0.7748;
72  Double_t th23_lepEabs_minus = 0.7728;
73  Double_t th23_lepErel_minus = 0.7672;
74  Double_t th23_hadE_minus = 0.7463;
75  Double_t th23_tau_minus = 0.7784;
76  Double_t th23_nc_minus = 0.8004;
77  Double_t th23_cosmic_minus = 0.7829;
78  Double_t th23_abs_minus = 0.7748;
79  Double_t th23_rel_minus = 0.7775;
80  Double_t th23_beamnd_minus = 0.7748;
81  Double_t th23_rock_minus = 0.7738;
82 
83  Double_t M32_max = 2.5;
84  Double_t M32_nosys = 2.5008;
85 
86  Double_t M32_mec_plus = 2.4965;
87  Double_t M32_rpa_plus = 2.4975;
88  Double_t M32_lepEabs_plus = 2.5064;
89  Double_t M32_lepErel_plus = 2.5014;
90  Double_t M32_hadE_plus = 2.5056;
91  Double_t M32_tau_plus = 2.5007;
92  Double_t M32_nc_plus = 2.5149;
93  Double_t M32_cosmic_plus = 2.5017;
94  Double_t M32_abs_plus = 2.4979;
95  Double_t M32_rel_plus = 2.4986;
96  Double_t M32_beamnd_plus = 2.5008;
97  Double_t M32_rock_plus = 2.5072;
98 
99  Double_t M32_mec_minus = 2.4914;
100  Double_t M32_rpa_minus = 2.5008;
101  Double_t M32_lepEabs_minus = 2.4817;
102  Double_t M32_lepErel_minus = 2.4980;
103  Double_t M32_hadE_minus = 2.5158;
104  Double_t M32_tau_minus = 2.5025;
105  Double_t M32_nc_minus = 2.4960;
106  Double_t M32_cosmic_minus = 2.4985;
107  Double_t M32_abs_minus = 2.5048;
108  Double_t M32_rel_minus = 2.5052;
109  Double_t M32_beamnd_minus = 2.5008;
110  Double_t M32_rock_minus = 2.4911;
111  }
112  //For Max Mixing after fakedata bug
113  if(maxmixing_after_fakedatabug){
114  Double_t th23_max = 0.7854;
115  Double_t th23_nosys = 0.7854;
116 
117  Double_t th23_mec_plus = 0.7900;
118  Double_t th23_rpa_plus = 0.7828;
119  Double_t th23_lepEabs_plus = 0.7932;
120  Double_t th23_lepErel_plus = 0.8007;
121  Double_t th23_hadE_plus = 0.8007;
122  Double_t th23_tau_plus = 0.7833;
123  Double_t th23_nc_plus = 0.7559;
124  Double_t th23_cosmic_plus = 0.7801;
125  Double_t th23_abs_plus = 0.7854;
126  Double_t th23_rel_plus = 0.7761;
127  Double_t th23_beamnd_plus = 0.7854;
128  Double_t th23_rock_plus = 0.7982;
129 
130 
131  Double_t th23_mec_minus = 0.7814;
132  Double_t th23_rpa_minus = 0.7854;
133  Double_t th23_lepEabs_minus = 0.7812;
134  Double_t th23_lepErel_minus = 0.7638;
135  Double_t th23_hadE_minus = 0.7611;
136  Double_t th23_tau_minus = 0.7881;
137  Double_t th23_nc_minus = 0.8006;
138  Double_t th23_cosmic_minus = 0.7930;
139  Double_t th23_abs_minus = 0.7860;
140  Double_t th23_rel_minus = 0.7995;
141  Double_t th23_beamnd_minus = 0.7854;
142  Double_t th23_rock_minus = 0.7777;
143 
144  Double_t M32_max = 2.5;
145  Double_t M32_nosys = 2.5;
146 
147  Double_t M32_mec_plus = 2.5034;
148  Double_t M32_rpa_plus = 2.4952;
149  Double_t M32_lepEabs_plus = 2.5253;
150  Double_t M32_lepErel_plus = 2.5111;
151  Double_t M32_hadE_plus = 2.5110;
152  Double_t M32_tau_plus = 2.4998;
153  Double_t M32_nc_plus = 2.5205;
154  Double_t M32_cosmic_plus = 2.5005;
155  Double_t M32_abs_plus = 2.5000;
156  Double_t M32_rel_plus = 2.4903;
157  Double_t M32_beamnd_plus = 2.5000;
158  Double_t M32_rock_plus = 2.5083;
159 
160 
161  Double_t M32_mec_minus = 2.4962;
162  Double_t M32_rpa_minus = 2.5000;
163  Double_t M32_lepEabs_minus = 2.4724;
164  Double_t M32_lepErel_minus = 2.4998;
165  Double_t M32_hadE_minus = 2.5028;
166  Double_t M32_tau_minus = 2.5004;
167  Double_t M32_nc_minus = 2.4980;
168  Double_t M32_cosmic_minus = 2.4999;
169  Double_t M32_abs_minus = 2.5000;
170  Double_t M32_rel_minus = 2.5117;
171  Double_t M32_beamnd_minus = 2.5000;
172  Double_t M32_rock_minus = 2.4918;
173  }
174  //SA best fit before fakedata bug
175  if(sabestfit_before_fakedatabug){
176  Double_t th23_max = 0.68594;
177  Double_t th23_nosys = 0.68482;
178 
179  Double_t th23_mec_plus = 0.68553;
180  Double_t th23_rpa_plus = 0.68236;
181  Double_t th23_lepEabs_plus = 0.68627;
182  Double_t th23_lepErel_plus = 0.68989;
183  Double_t th23_hadE_plus = 0.69198;
184  Double_t th23_tau_plus = 0.68422;
185  Double_t th23_nc_plus = 0.67994;
186  Double_t th23_cosmic_plus = 0.68332;
187  Double_t th23_abs_plus = 0.68510;
188  Double_t th23_rel_plus = 0.68390;
189  Double_t th23_beamnd_plus = 0.68482;
190  Double_t th23_rock_plus = 0.68872;
191 
192 
193  Double_t th23_mec_minus = 0.68497;
194  Double_t th23_rpa_minus = 0.68482;
195  Double_t th23_lepEabs_minus = 0.68148;
196  Double_t th23_lepErel_minus = 0.68193;
197  Double_t th23_hadE_minus = 0.67657;
198  Double_t th23_tau_minus = 0.68396;
199  Double_t th23_nc_minus = 0.68992;
200  Double_t th23_cosmic_minus = 0.68526;
201  Double_t th23_abs_minus = 0.68499;
202  Double_t th23_rel_minus = 0.68617;
203  Double_t th23_beamnd_minus = 0.68482;
204  Double_t th23_rock_minus = 0.68127;
205 
206  Double_t M32_max = 2.6566;
207  Double_t M32_nosys = 2.6582;
208 
209  Double_t M32_mec_plus = 2.6531;
210  Double_t M32_rpa_plus = 2.6517;
211  Double_t M32_lepEabs_plus = 2.6569;
212  Double_t M32_lepErel_plus = 2.6412;
213  Double_t M32_hadE_plus = 2.6387;
214  Double_t M32_tau_plus = 2.6598;
215  Double_t M32_nc_plus = 2.6776;
216  Double_t M32_cosmic_plus = 2.6591;
217  Double_t M32_abs_plus = 2.6572;
218  Double_t M32_rel_plus = 2.6518;
219  Double_t M32_beamnd_plus = 2.6582;
220  Double_t M32_rock_plus = 2.6609;
221 
222  Double_t M32_mec_minus = 2.6550;
223  Double_t M32_rpa_minus = 2.6582;
224  Double_t M32_lepEabs_minus = 2.6485;
225  Double_t M32_lepErel_minus = 2.6644;
226  Double_t M32_hadE_minus = 2.6846;
227  Double_t M32_tau_minus = 2.6639;
228  Double_t M32_nc_minus = 2.6413;
229  Double_t M32_cosmic_minus = 2.6584;
230  Double_t M32_abs_minus = 2.6579;
231  Double_t M32_rel_minus = 2.6599;
232  Double_t M32_beamnd_minus = 2.6582;
233  Double_t M32_rock_minus = 2.6509;
234  }//sabestfitg_before_fakedatabug()
235 
236  //For SA best fitpoint after fakedata bug
237  if(sabestfit_after_fakedatabug){
238  Double_t th23_max = 0.68594;
239  Double_t th23_nosys = 0.68594;
240 
241  Double_t th23_mec_plus = 0.6867;
242  Double_t th23_rpa_plus = 0.6851;
243  Double_t th23_lepEabs_plus = 0.6888;
244  Double_t th23_lepErel_plus = 0.6922;
245  Double_t th23_hadE_plus = 0.6927;
246  Double_t th23_tau_plus = 0.6857;
247  Double_t th23_nc_plus = 0.6812;
248  Double_t th23_cosmic_plus = 0.6852;
249  Double_t th23_abs_plus = 0.6859;
250  Double_t th23_rel_plus = 0.6815;
251  Double_t th23_beamnd_plus = 0.6859;
252  Double_t th23_rock_plus = 0.6894;
253 
254  Double_t th23_mec_minus = 0.6851;
255  Double_t th23_rpa_minus = 0.6859;
256  Double_t th23_lepEabs_minus = 0.6831;
257  Double_t th23_lepErel_minus = 0.6798;
258  Double_t th23_hadE_minus = 0.6792;
259  Double_t th23_tau_minus = 0.6862;
260  Double_t th23_nc_minus = 0.6912;
261  Double_t th23_cosmic_minus = 0.6867;
262  Double_t th23_abs_minus = 0.6860;
263  Double_t th23_rel_minus = 0.6904;
264  Double_t th23_beamnd_minus = 0.6859;
265  Double_t th23_rock_minus = 0.6823;
266 
267  Double_t M32_max = 2.6566;
268  Double_t M32_nosys = 2.6566;
269 
270  Double_t M32_mec_plus = 2.6592;
271  Double_t M32_rpa_plus = 2.6521;
272  Double_t M32_lepEabs_plus = 2.6747;
273  Double_t M32_lepErel_plus = 2.6412;
274  Double_t M32_hadE_plus = 2.6710;
275  Double_t M32_tau_plus = 2.6560;
276  Double_t M32_nc_plus = 2.6738;
277  Double_t M32_cosmic_plus = 2.6569;
278  Double_t M32_abs_plus = 2.6565;
279  Double_t M32_rel_plus = 2.6503;
280  Double_t M32_beamnd_plus = 2.6566;
281  Double_t M32_rock_plus = 2.6622;
282 
283  Double_t M32_mec_minus = 2.6536;
284  Double_t M32_rpa_minus = 2.6566;
285  Double_t M32_lepEabs_minus = 2.6359;
286  Double_t M32_lepErel_minus = 2.6749;
287  Double_t M32_hadE_minus = 2.6765;
288  Double_t M32_tau_minus = 2.6572;
289  Double_t M32_nc_minus = 2.6387;
290  Double_t M32_cosmic_minus = 2.6564;
291  Double_t M32_abs_minus = 2.6567;
292  Double_t M32_rel_minus = 2.6636;
293  Double_t M32_beamnd_minus = 2.6566;
294  Double_t M32_rock_minus = 2.6513;
295  }//sabestfitg_after _fakedatabug
296  ////////////////////////////////////////////////////////////////////////////////////////
297 
298  if(maxmixing_before_fakedatabug || maxmixing_after_fakedatabug || sabestfit_before_fakedatabug || sabestfit_after_fakedatabug){
299 
300  if(maxmixing_after_fakedatabug && contours){
301  f_max->cd();
302  TCanvas* c = (TCanvas*)f_max->Get(canvas);
303  c->Draw();
304  }//end of maxmixing_after_fakedatabug()
305 
306  if(sabestfit_after_fakedatabug && contours){
307  f_sa->cd();
308  TCanvas* c = (TCanvas*)f_sa->Get(canvas);
309  c->Draw();
310  }//end of sabestfit_after_fakedatabug()
311  if(maxmixing_before_fakedatabug || sabestfit_before_fakedatabug ){
312  TCanvas *Canvas_1 = new TCanvas("Canvas_1", "Canvas_1",800,800);
313  Canvas_1->SetFillColor(0);
314  Canvas_1->SetBorderMode(0);
315  Canvas_1->SetBorderSize(2);
316  Canvas_1->SetFrameBorderMode(0);
317  Canvas_1->SetFrameBorderMode(0);
318  }//condition on new canvas;
319  if(!contours){
320  TCanvas *Canvas_1 = new TCanvas("Canvas_1", "Canvas_1",800,800);
321  Canvas_1->SetFillColor(0);
322  Canvas_1->SetBorderMode(0);
323  Canvas_1->SetBorderSize(2);
324  Canvas_1->SetFrameBorderMode(0);
325  Canvas_1->SetFrameBorderMode(0);
326  }//condition on new canvas;
327 
328  TH2F* hno = new TH2F("hno","", 10000, 0, 1, 10000, 2, 3);
329  hno->SetMarkerStyle(21);
330  hno->SetMarkerColor(kBlue);
331  hno->Fill(pow(sin(th23_nosys), 2), M32_nosys);
332  hno->Draw("same");
333 
334  TH2F* hin = new TH2F("hin","", 10000, 0, 1, 10000, 2, 3);
335  hin->SetMarkerStyle(20);
336  hin->SetMarkerColor(kRed);
337  hin->Fill(pow(sin(th23_max), 2), M32_max);
338 
339  //mec
340  TLine *l_mec_p;
341  l_mec_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_mec_plus), 2), M32_mec_plus);
342  l_mec_p->SetLineColor(kBlack);
343  l_mec_p->SetLineWidth(5);
344  l_mec_p->Draw();
345 
346  TLine *l_mec_m;
347  l_mec_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_mec_minus), 2), M32_mec_minus);
348  l_mec_m->SetLineColor(kBlack);
349  l_mec_m->SetLineWidth(5);
350  l_mec_m->SetLineStyle(kDotted);
351  l_mec_m->Draw();
352 
353  //rpa
354  TLine *l_rpa_p;
355  l_rpa_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_rpa_plus), 2), M32_rpa_plus);
356  l_rpa_p->SetLineColor(kRed);
357  l_rpa_p->SetLineWidth(5);
358  l_rpa_p->Draw();
359 
360  TLine *l_rpa_m;
361  l_rpa_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_rpa_minus), 2), M32_rpa_minus);
362  l_rpa_m->SetLineColor(kRed);
363  l_rpa_m->SetLineWidth(5);
364  l_rpa_m->SetLineStyle(kDotted);
365  l_rpa_m->Draw("same");
366 
367  //LepE Abs.
368  TLine *l_lepeabs_p;
369  l_lepeabs_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_lepEabs_plus), 2), M32_lepEabs_plus);
370  l_lepeabs_p->SetLineColor(kMagenta);
371  l_lepeabs_p->SetLineWidth(5);
372  l_lepeabs_p->Draw();
373 
374  TLine *l_lepeabs_m;
375  l_lepeabs_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_lepEabs_minus), 2), M32_lepEabs_minus);
376  l_lepeabs_m->SetLineColor(kMagenta);
377  l_lepeabs_m->SetLineWidth(5);
378  l_lepeabs_m->SetLineStyle(kDotted);
379  l_lepeabs_m->Draw("same");
380 
381  //LepE. Rel.
382  TLine *l_leperel_p;
383  l_leperel_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_lepErel_plus), 2), M32_lepErel_plus);
384  l_leperel_p->SetLineColor(kGreen);
385  l_leperel_p->SetLineWidth(5);
386  l_leperel_p->Draw();
387 
388  TLine *l_leperel_m;
389  l_leperel_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_lepErel_minus), 2), M32_lepErel_minus);
390  l_leperel_m->SetLineColor(kGreen);
391  l_leperel_m->SetLineWidth(5);
392  l_leperel_m->SetLineStyle(kDotted);
393  l_leperel_m->Draw("same");
394 
395  //HadE.
396  TLine *l_hade_p;
397  l_hade_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_hadE_plus), 2), M32_hadE_plus);
398  l_hade_p->SetLineColor(4);
399  l_hade_p->SetLineWidth(5);
400  l_hade_p->Draw();
401 
402  TLine *l_hade_m;
403  l_hade_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_hadE_minus), 2), M32_hadE_minus);
404  l_hade_m->SetLineColor(4);
405  l_hade_m->SetLineWidth(5);
406  l_hade_m->SetLineStyle(kDotted);
407  l_hade_m->Draw("same");
408 
409  //Tau background
410  TLine *l_tau_p;
411  l_tau_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_tau_plus), 2), M32_tau_plus);
412  l_tau_p->SetLineColor(7);
413  l_tau_p->SetLineWidth(5);
414  l_tau_p->Draw();
415 
416  TLine *l_tau_m;
417  l_tau_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_tau_minus), 2), M32_tau_minus);
418  l_tau_m->SetLineColor(7);
419  l_tau_m->SetLineWidth(5);
420  l_tau_m->SetLineStyle(kDotted);
421  l_tau_m->Draw("same");
422 
423  //NC background
424  TLine *l_nc_p;
425  l_nc_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_nc_plus), 2), M32_nc_plus);
426  l_nc_p->SetLineColor(30);
427  l_nc_p->SetLineWidth(5);
428  l_nc_p->Draw();
429 
430  TLine *l_nc_m;
431  l_nc_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_nc_minus), 2), M32_nc_minus);
432  l_nc_m->SetLineColor(30);
433  l_nc_m->SetLineWidth(5);
434  l_nc_m->SetLineStyle(kDotted);
435  l_nc_m->Draw("same");
436 
437  //Cosmic Muon
438  TLine *l_cosmic_p;
439  l_cosmic_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_cosmic_plus), 2), M32_cosmic_plus);
440  l_cosmic_p->SetLineColor(5);
441  l_cosmic_p->SetLineWidth(5);
442  l_cosmic_p->Draw();
443 
444  TLine *l_cosmic_m;
445  l_cosmic_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_cosmic_minus), 2), M32_cosmic_minus);
446  l_cosmic_m->SetLineColor(5);
447  l_cosmic_m->SetLineWidth(5);
448  l_cosmic_m->SetLineStyle(kDotted);
449  l_cosmic_m->Draw("same");
450 
451  //Abs. Norm.
452  TLine *l_abs_p;
453  l_abs_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_abs_plus), 2), M32_abs_plus);
454  l_abs_p->SetLineColor(28);
455  l_abs_p->SetLineWidth(5);
456  l_abs_p->Draw();
457 
458  TLine *l_abs_m;
459  l_abs_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_abs_minus), 2), M32_abs_minus);
460  l_abs_m->SetLineColor(28);
461  l_abs_m->SetLineWidth(5);
462  l_abs_m->SetLineStyle(kDotted);
463  l_abs_m->Draw("same");
464 
465  //Rel. Norm
466  TLine *l_rel_p;
467  l_rel_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_rel_plus), 2), M32_rel_plus);
468  l_rel_p->SetLineColor(46);
469  l_rel_p->SetLineWidth(5);
470  l_rel_p->Draw();
471 
472  TLine *l_rel_m;
473  l_rel_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_rel_minus), 2), M32_rel_minus);
474  l_rel_m->SetLineColor(46);
475  l_rel_m->SetLineWidth(5);
476  l_rel_m->SetLineStyle(kDotted);
477  l_rel_m->Draw("same");
478 
479  //Beam
480  TLine *l_beam_p;
481  l_beam_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_beamnd_plus), 2), M32_beamnd_plus);
482  l_beam_p->SetLineColor(41);
483  l_beam_p->SetLineWidth(5);
484  l_beam_p->Draw();
485 
486  TLine *l_beam_m;
487  l_beam_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_beamnd_minus), 2), M32_beamnd_minus);
488  l_beam_m->SetLineColor(41);
489  l_beam_m->SetLineWidth(5);
490  l_beam_m->SetLineStyle(kDotted);
491  l_beam_m->Draw();
492 
493  //Rock
494  TLine *l_rock_p;
495  l_rock_p = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_rock_plus), 2), M32_rock_plus);
496  l_rock_p->SetLineColor(40);
497  l_rock_p->SetLineWidth(5);
498  l_rock_p->Draw();
499 
500  TLine *l_rock_m;
501  l_rock_m = new TLine(pow(sin(th23_nosys), 2), M32_nosys, pow(sin(th23_rock_minus), 2), M32_rock_minus);
502  l_rock_m->SetLineColor(40);
503  l_rock_m->SetLineWidth(5);
504  l_rock_m->SetLineStyle(kDotted);
505  l_rock_m->Draw("same");
506 
507 
508  Int_t ci; // for color index setting
509  TColor *color; // for color definition with alpha
510  ci = TColor::GetColor("#000099");
511  hno->SetLineColor(ci);
512  hno->GetXaxis()->SetLabelFont(42);
513  hno->GetXaxis()->SetLabelSize(0.035);
514  hno->GetXaxis()->SetTitleSize(0.035);
515  hno->GetXaxis()->SetTitleFont(42);
516  hno->GetXaxis()->SetTitle("sin^{2}#theta_{23}");
517  hno->GetXaxis()->CenterTitle();
518  hno->GetXaxis()->SetTitleOffset(1.20);
519  if(sabestfit_before_fakedatabug || sabestfit_after_fakedatabug)
520  hno->GetXaxis()->SetRangeUser(0.38, 0.45);
521  if(maxmixing_before_fakedatabug || maxmixing_after_fakedatabug)
522  hno->GetXaxis()->SetRangeUser(0.45, 0.52); //max mixing
523 
524  hno->GetYaxis()->SetLabelFont(42);
525  hno->GetYaxis()->SetLabelSize(0.035);
526  hno->GetYaxis()->SetTitleSize(0.035);
527  hno->GetYaxis()->SetTitleFont(42);
528  hno->GetYaxis()->SetTitle("#Delta m^{2}_{32} #times 10^{-3} eV^{2}");
529  if(sabestfit_before_fakedatabug || sabestfit_after_fakedatabug)
530  hno->GetYaxis()->SetRangeUser(2.63, 2.70); // SA best fit point
531  if(maxmixing_before_fakedatabug)
532  hno->GetYaxis()->SetRangeUser(2.48, 2.55); //max mixing before fakedata bug fix
533  if(maxmixing_after_fakedatabug)
534  hno->GetYaxis()->SetRangeUser(2.46, 2.53); //max mixing after fakedata bug fix
535  hno->GetYaxis()->CenterTitle();
536  hno->GetYaxis()->SetTitleOffset(1.40);
537  hno->GetYaxis()->SetLabelSize(0.03);
538  hno->GetYaxis()->SetDecimals();
539 
540  hno->GetZaxis()->SetLabelFont(42);
541  hno->GetZaxis()->SetLabelSize(0.035);
542  hno->GetZaxis()->SetTitleSize(0.035);
543  hno->GetZaxis()->SetTitleFont(42);
544 
545  if(maxmixing_before_fakedatabug || sabestfit_before_fakedatabug){
546  Canvas_1->Modified();
547  Canvas_1->cd();
548  Canvas_1->SetSelected(Canvas_1);
549  }
550 
551 
552  hno->Draw("same");
553  hin->Draw("same");
554 
555  if(sabestfit_before_fakedatabug) TLegend *legend = new TLegend(.58,.16,.97,.85); //SA best fit before fakedatabug fix
556  if(sabestfit_after_fakedatabug) TLegend *legend = new TLegend(.11,.31,.43,.88); //SA best fit after fakedatabug fix
557  if(sabestfit_after_fakedatabug && contours) TLegend *legend = new TLegend(.45,.32,.59,.83); //SA best fit after fakedatabug fix with contours
558 
559  if(maxmixing_before_fakedatabug)TLegend *legend = new TLegend(.39,.44,.99,.89); //max mixing before fakedata bug fix
560  if(maxmixing_after_fakedatabug)TLegend *legend = new TLegend(.11,.31,.43,.88); //max mixing after fakedata bug fix
561  legend->SetBorderSize(0);
562  legend->SetFillStyle(0);
563  legend->AddEntry(hno, "No syst." , "p");
564  legend->AddEntry(hin, "Initial Guess" , "p");
565  legend->AddEntry(l_mec_p, "MEC" , "l");
566  legend->AddEntry(l_rpa_p, "RPA" , "l");
567  legend->AddEntry(l_lepeabs_p, "LepE. Abs." , "l");
568  legend->AddEntry(l_leperel_p, "LepE. Rel." , "l");
569  legend->AddEntry(l_hade_p, "HadE." , "l");
570  legend->AddEntry(l_tau_p, "Tau back." , "l");
571  legend->AddEntry(l_nc_p, "NC back." , "l");
572  legend->AddEntry(l_cosmic_p, "Cosmic Muon" , "l");
573  legend->AddEntry(l_abs_p, "Abs. Norm" , "l");
574  legend->AddEntry(l_rel_p, "Rel. Norm" , "l");
575  legend->AddEntry(l_beam_p, "Beam" , "l");
576  legend->AddEntry(l_rock_p, "Rock" , "l");
577  legend->Draw();
578 
579  if(contours){
580  if(maxmixing_after_fakedatabug){
581  TLegend *leg_para = new TLegend(.39,.72,.61,.89);
582  TLegend *leg_para_initial = new TLegend(.72,.33,.88,.46);
583  }
584  if(sabestfit_after_fakedatabug){
585  TLegend *leg_para = new TLegend(.46,.12,.68,.28);
586  TLegend *leg_para_initial = new TLegend(.27,.12,.49,.29);
587  }
588  leg_para->SetBorderSize(0);
589  leg_para->SetFillStyle(0);
590  leg_para->AddEntry(hno, "No Syst.", "");
591  leg_para->AddEntry(hno, Form("sin^{2}#theta_{23} = %0.3f",pow(sin(th23_nosys), 2)), "");
592  leg_para->AddEntry(hno, Form("#Delta m^{2}_{32} = %0.2f #times 10^{-3}",M32_nosys), "");
593  leg_para->Draw();
594 
595 
596  leg_para_initial->SetBorderSize(0);
597  leg_para_initial->SetFillStyle(0);
598  leg_para_initial->AddEntry(hin, "Intial Guess", "");
599  leg_para_initial->AddEntry(hin, Form("sin^{2}#theta_{23} = %0.3f",pow(sin(th23_max), 2)), "");
600  leg_para_initial->AddEntry(hin, Form("#Delta m^{2}_{32} = %0.2f #times 10^{-3}",M32_max), "");
601  leg_para_initial->Draw();
602  }//legends only for contours()
603 
604  // Canvas_1->SaveAs("/home/prabhjot/TMP/fnex/SystematicsTest/interactive/fakedata_bugfix/Images/theta23vsdeltaMSq32.pdf");
605  // if(contours) c->SaveAs("/home/prabhjot/TMP/fnex/SystematicsTest/interactive/fakedata_bugfix/Images/contours.pdf");
606  }//end of different cases.
607 }//end of program
enum BeamMode kRed
constexpr T pow(T x)
Definition: pow.h:75
OStream cout
Definition: OStream.cxx:6
T sin(T number)
Definition: d0nt_math.hpp:132
theta23vsdeltamsq32()
enum BeamMode kGreen
enum BeamMode kBlue