xf3_nu.C
Go to the documentation of this file.
1 //
2 // Data vs GENIE neutrino xF3 comparisons
3 //
4 // Contributed to GENIE/ValidationTools by Debdatta Bhattacharya (Pittsburgh Univ.)
5 // Jan 15h, 2009
6 //
7 // Revisions:
8 //
9 
10 {
11 
12 gROOT->Reset();
13 gStyle->SetOptStat(0000);
14 
15 // input neugen
16 const int nfile = 3672;
17 // original f2,xf3 from neugen
18 ifstream base_neugen("data/extract_sf.txt");
19 
20 Double_t row1_base[nfile];
21 Double_t row2_base[nfile];
22 Double_t row3_base[nfile];
23 Double_t row4_base[nfile];
24 Double_t row5_base[nfile];
25 
26 for(int i=0;i<nfile;i++){
27  base_neugen>>row1_base[i]>>row2_base[i]>>row3_base[i]>>row4_base[i]>>row5_base[i];
28  //cout<<" "<<row1_base[i]<<" "<<row2_base[i]<<" "<<row3_base[i]<<" "<<row4_base[i]<<" "<<row5_base[i]<<endl;
29 }
30 
31 base_neugen.close();
32 
33 ifstream lo_neugen("data/lo_extract_sf.txt");
34 
35 Double_t lo_row1_base[nfile];
36 Double_t lo_row2_base[nfile];
37 Double_t lo_row3_base[nfile];
38 Double_t lo_row4_base[nfile];
39 Double_t lo_row5_base[nfile];
40 
41 for(int i=0;i<nfile;i++){
42  lo_neugen>>lo_row1_base[i]>>lo_row2_base[i]>>lo_row3_base[i]>>lo_row4_base[i]>>lo_row5_base[i];
43  //cout<<" "<<row1_base[i]<<" "<<row2_base[i]<<" "<<row3_base[i]<<" "<<row4_base[i]<<" "<<row5_base[i]<<endl;
44 }
45 
46 lo_neugen.close();
47 
48 // nutev
49 ifstream nutev("data/final_nutev_xf3.txt",ios::in);
50 int nnutev = 75;
51 Double_t nutev1[nnutev];
52 Double_t nutev2[nnutev];
53 Double_t nutev3[nnutev];
54 Double_t nutev4[nnutev];
55 
56 for(int i=0;i<nnutev;i++){
57  nutev>>nutev1[i]>>nutev2[i]>>nutev3[i]>>nutev4[i];
58  //cout<<" "<<nutev1[i]<<" "<<nutev2[i]<<" "<<nutev3[i]<<" "<<nutev4[i]<<endl;
59 }
60 
61 nutev.close();
62 
63 //cdhsw
64 ifstream cdhsw("data/final_cdhsw_xf3.txt",ios::in);
65 int ncdhsw = 143;
66 Double_t cdhsw1[ncdhsw];
67 Double_t cdhsw2[ncdhsw];
68 Double_t cdhsw3[ncdhsw];
69 Double_t cdhsw4[ncdhsw];
70 
71 for(int i=0;i<ncdhsw;i++){
72  cdhsw>>cdhsw1[i]>>cdhsw2[i]>>cdhsw3[i]>>cdhsw4[i];
73  //cout<<" "<<cdhsw1[i]<<" "<<cdhsw2[i]<<" "<<cdhsw3[i]<<" "<<cdhsw4[i]<<endl;
74 }
75 
76 cdhsw.close();
77 
78 //ccfr
79 ifstream ccfr("data/ccfr_f2xf3fe.txt",ios::in);
80 int nccfr = 116;
81 Double_t ccfr1[nccfr];
82 Double_t ccfr2[nccfr];
83 Double_t ccfr3[nccfr];
84 Double_t ccfr4[nccfr];
85 Double_t ccfr5[nccfr];
86 Double_t ccfr6[nccfr];
87 Double_t ccfr7[nccfr];
88 
89 for(int i=0;i<nccfr;i++){
90  ccfr>>ccfr1[i]>>ccfr2[i]>>ccfr3[i]>>ccfr4[i]>>ccfr5[i]>>ccfr6[i]>>ccfr7[i];
91  //cout<<" "<<ccfr1[i]<<" "<<ccfr2[i]<<" "<<ccfr3[i]<<" "<<ccfr4[i]<<endl;
92 }
93 
94 ccfr.close();
95 
96 int num = 306;
97 float x[12];
98 
99 x[0] = 0.015;
100 x[1] = 0.045;
101 x[2] = 0.080;
102 x[3] = 0.125;
103 x[4] = 0.175;
104 x[5] = 0.225;
105 x[6] = 0.275;
106 x[7] = 0.350;
107 x[8] = 0.450;
108 x[9] = 0.550;
109 x[10] = 0.650;
110 x[11] = 0.750;
111 
112 Double_t q2[12][num];
113 Double_t xf3[12][num];
114 
115 Int_t count[12];
116 Int_t num1[12]={20,5,1,5,2,1,5,2,1,5,2,1};
117 
118 for(int k=0;k<12;k++){
119  count[k]=0;
120 }
121 
122 for(int k=0;k<nfile;k++){
123  for(int l=0;l<12;l++){
124  if(fabs(row1_base[k]-x[l])<.001){
125 
126  q2[l][count[l]] = row2_base[k];
127  xf3[l][count[l]] = num1[l]*row5_base[k];
128 
129  count[l]++;
130  }
131  }
132 }
133 
134 
135 
136 // lo neugen sf
137 
138 Double_t lo_q2[12][num];
139 Double_t lo_xf3[12][num];
140 
141 Int_t lo_count[12];
142 
143 for(int k=0;k<12;k++){
144  lo_count[k]=0;
145 }
146 
147 for(int k=0;k<nfile;k++){
148  for(int l=0;l<12;l++){
149  if(fabs(lo_row1_base[k]-x[l])<.001){
150 
151  lo_q2[l][lo_count[l]] = lo_row2_base[k];
152  lo_xf3[l][lo_count[l]] = num1[l]*lo_row5_base[k];
153 
154  lo_count[l]++;
155  }
156  }
157 }
158 
159 
160 Double_t nutev_q2[12][num];
161 Double_t nutev_xf3[12][num];
162 Double_t nutev_q2err[12][num];
163 Double_t nutev_err[12][num];
164 Int_t nutev_count[12];
165 
166 for(int k=0;k<12;k++){
167  nutev_count[k]=0;
168 }
169 
170 for(int k=0;k<nnutev;k++){
171  for(int l=0;l<12;l++){
172  if(fabs(nutev1[k]-x[l])<.001){
173 
174  nutev_q2[l][nutev_count[l]] = nutev2[k];
175  nutev_q2err[l][nutev_count[l]] = 0;
176  nutev_xf3[l][nutev_count[l]] = num1[l]*nutev3[k];
177  nutev_err[l][nutev_count[l]] = num1[l]*nutev4[k];
178 
179  nutev_count[l]++;
180  }
181  }
182 }
183 
184 //cdhsw
185 Double_t cdhsw_q2[12][num];
186 Double_t cdhsw_xf3[12][num];
187 Double_t cdhsw_q2err[12][num];
188 Double_t cdhsw_err[12][num];
189 Int_t cdhsw_count[12];
190 
191 for(int k=0;k<12;k++){
192  cdhsw_count[k]=0;
193 }
194 
195 for(int k=0;k<ncdhsw;k++){
196  for(int l=0;l<12;l++){
197  if(fabs(cdhsw1[k]-x[l])<.001){
198 
199  cdhsw_q2[l][cdhsw_count[l]] = cdhsw2[k];
200  cdhsw_q2err[l][cdhsw_count[l]] = 0;
201  cdhsw_xf3[l][cdhsw_count[l]] = num1[l]*cdhsw3[k];
202  cdhsw_err[l][cdhsw_count[l]] = num1[l]*cdhsw4[k];
203  cdhsw_count[l]++;
204  }
205  }
206 }
207 
208 
209 //ccfr
210 Double_t ccfr_q2[12][num];
211 Double_t ccfr_xf3[12][num];
212 Double_t ccfr_q2err[12][num];
213 Double_t ccfr_err[12][num];
214 Int_t ccfr_count[12];
215 
216 for(int k=0;k<12;k++){
217  ccfr_count[k]=0;
218 }
219 
220 for(int k=0;k<nccfr;k++){
221  for(int l=0;l<12;l++){
222  if(fabs(ccfr1[k]-x[l])<.001){
223 
224  ccfr_q2[l][ccfr_count[l]] = ccfr2[k];
225  ccfr_q2err[l][ccfr_count[l]] = 0;
226  ccfr_xf3[l][ccfr_count[l]] = num1[l]*ccfr5[k];
227  ccfr_err[l][ccfr_count[l]] = num1[l]*ccfr6[k];
228  ccfr_count[l]++;
229  }
230  }
231 }
232 
233 Int_t count_sp1=0;
234 Int_t count_sp2=0;
235 
236 Double_t temp_q21[num];
237 Double_t temp_sp1[num];
238 Double_t temp_errsp1[num];
239 
240 Double_t temp_q22[num];
241 Double_t temp_sp2[num];
242 Double_t temp_errsp2[num];
243 
244 //special ccfr case - x=0.015
245 for(int k=0;k<nccfr;k++){
246 
247  if(fabs(ccfr1[k]-0.0125)<.001){
248 
249  temp_q21[count_sp1]= ccfr2[k];
250  temp_sp1[count_sp1]= ccfr5[k];
251  temp_errsp1[count_sp1]= ccfr6[k];
252 
253  //cout<<temp_sp1[count_sp1]<<endl;
254  count_sp1++;
255  }
256 
257  if(fabs(ccfr1[k]-0.0175)<.001){
258 
259  temp_q22[count_sp2]= ccfr2[k];
260  temp_sp2[count_sp2]= ccfr5[k];
261  temp_errsp2[count_sp2]= ccfr6[k];
262 
263  //cout<<temp_sp2[count_sp2]<<endl;
264  count_sp2++;
265  }
266 }
267 
268 ccfr_count[0] = count_sp1;
269 
270 for(int k=0;k<ccfr_count[0];k++){
271 
272  ccfr_q2[0][k] = temp_q21[k];
273  ccfr_q2err[0][k] = 0;
274 
275  ccfr_xf3[0][k] = (20*(temp_sp1[k]+temp_sp2[k]))/2;
276  ccfr_err[0][k] = (20*(temp_errsp1[k]+temp_errsp2[k]))/2;
277 }
278 
279 
280 count_sp1=0;
281 count_sp2=0;
282 
283 //special ccfr case - x=0.0425
284 for(int k=0;k<nccfr;k++){
285 
286  if(fabs(ccfr1[k]-0.035)<.001){
287 
288  temp_q21[count_sp1]= ccfr2[k];
289  temp_sp1[count_sp1]= ccfr5[k];
290  temp_errsp1[count_sp1]= ccfr6[k];
291 
292  //cout<<temp_sp1[count_sp1]<<endl;
293  count_sp1++;
294  }
295 
296  if(fabs(ccfr1[k]-0.050)<.001){
297 
298  temp_q22[count_sp2]= ccfr2[k];
299  temp_sp2[count_sp2]= ccfr5[k];
300  temp_errsp2[count_sp2]= ccfr6[k];
301 
302  //cout<<temp_sp2[count_sp2]<<endl;
303  count_sp2++;
304  }
305 }
306 
307 ccfr_count[1] = count_sp1;
308 
309 for(int k=0;k<ccfr_count[1];k++){
310 
311  ccfr_q2[1][k] = temp_q21[k];
312  ccfr_q2err[1][k] = 0;
313 
314  ccfr_xf3[1][k] = (5*(temp_sp1[k]+temp_sp2[k]))/2;
315  ccfr_err[1][k] = (5*(temp_errsp1[k]+temp_errsp2[k]))/2;
316 
317  //cout<<ccfr_q2[1][k]<<" "<<ccfr_xf3[1][k]<<endl;
318 }
319 
320 count_sp1=0;
321 count_sp2=0;
322 
323 //special ccfr case - x=0.0425
324 for(int k=0;k<nccfr;k++){
325 
326  if(fabs(ccfr1[k]-0.070)<.001){
327 
328  temp_q21[count_sp1]= ccfr2[k];
329  temp_sp1[count_sp1]= ccfr5[k];
330  temp_errsp1[count_sp1]= ccfr6[k];
331 
332  //cout<<temp_sp1[count_sp1]<<endl;
333  count_sp1++;
334  }
335 
336  if(fabs(ccfr1[k]-0.090)<.001){
337 
338  temp_q22[count_sp2]= ccfr2[k];
339  temp_sp2[count_sp2]= ccfr5[k];
340  temp_errsp2[count_sp2]= ccfr6[k];
341 
342  //cout<<temp_sp2[count_sp2]<<endl;
343  count_sp2++;
344  }
345 }
346 
347 ccfr_count[2] = count_sp1;
348 
349 for(int k=0;k<ccfr_count[2];k++){
350 
351  ccfr_q2[2][k] = temp_q21[k];
352  ccfr_q2err[2][k] = 0;
353 
354  ccfr_xf3[2][k] = ((temp_sp1[k]+temp_sp2[k]))/2;
355  ccfr_err[2][k] = ((temp_errsp1[k]+temp_errsp2[k]))/2;
356 
357  //cout<<ccfr_q2[2][k]<<" "<<ccfr_xf3[2][k]<<endl;
358 }
359 
360 
361 count_sp1=0;
362 count_sp2=0;
363 
364 //special ccfr case - x=0.125
365 for(int k=0;k<nccfr;k++){
366 
367  if(fabs(ccfr1[k]-0.110)<.001){
368 
369  temp_q21[count_sp1]= ccfr2[k];
370  temp_sp1[count_sp1]= ccfr5[k];
371  temp_errsp1[count_sp1]= ccfr6[k];
372 
373  //cout<<temp_sp1[count_sp1]<<endl;
374  count_sp1++;
375  }
376 
377  if(fabs(ccfr1[k]-0.140)<.001){
378 
379  temp_q22[count_sp2]= ccfr2[k];
380  temp_sp2[count_sp2]= ccfr5[k];
381  temp_errsp2[count_sp2]= ccfr6[k];
382 
383  //cout<<temp_sp2[count_sp2]<<endl;
384  count_sp2++;
385  }
386 }
387 
388 ccfr_count[3] = count_sp1;
389 
390 for(int k=0;k<ccfr_count[3];k++){
391 
392  ccfr_q2[3][k] = temp_q21[k];
393  ccfr_q2err[3][k] = 0;
394 
395  ccfr_xf3[3][k] = (5*(temp_sp1[k]+temp_sp2[k]))/2;
396  ccfr_err[3][k] = (5*(temp_errsp1[k]+temp_errsp2[k]))/2;
397 
398  //cout<<ccfr_q2[2][k]<<" "<<ccfr_xf3[2][k]<<endl;
399 }
400 
401 
402 count_sp1=0;
403 count_sp2=0;
404 
405 //special ccfr case - x=0.180
406 for(int k=0;k<nccfr;k++){
407 
408  if(fabs(ccfr1[k]-0.180)<.001){
409 
410  ccfr_q2[4][ccfr_count[4]] = ccfr2[k];
411  ccfr_q2err[4][ccfr_count[4]] = 0;
412 
413  ccfr_xf3[4][ccfr_count[4]] = 2*ccfr5[k];
414  ccfr_err[4][ccfr_count[4]] = 2*ccfr6[k];
415 
416  ccfr_count[4]++;
417  }
418 }
419 
420 cout<<"MAKE THE PLOTS"<<endl;
421 
422 TCanvas c2("c2","",0,0,1300,900);
423 c2->Divide(2,2);
424 
425 c2->cd(1);
426 TH1F *a1 = new TH1F("a1","",10,0.005,2000);
427 a1->SetAxisRange(0.01,30,"y");
428 a1->Draw();
429 a1->GetXaxis()->SetTitle("Q2");
430 a1->GetYaxis()->SetTitle("xF3");
431 gPad->SetLogy();
432 gPad->SetLogx();
433 
434 TGraph *gr_015 = new TGraph(count[0],q2[0],xf3[0]);
435 gr_015->SetLineWidth(2);
436 gr_015->Draw("C");
437 
438 TGraph *lo_gr_015 = new TGraph(count[0],lo_q2[0],lo_xf3[0]);
439 lo_gr_015->SetLineWidth(2);
440 lo_gr_015->SetLineColor(2);
441 lo_gr_015->Draw("C");
442 
443 TGraph *gr_045 = new TGraph(count[1],q2[1],xf3[1]);
444 gr_045->SetLineWidth(2);
445 gr_045->Draw("C");
446 
447 TGraph *lo_gr_045 = new TGraph(count[0],lo_q2[1],lo_xf3[1]);
448 lo_gr_045->SetLineWidth(2);
449 lo_gr_045->SetLineColor(2);
450 lo_gr_045->Draw("C");
451 
452 TGraph *gr_080 = new TGraph(count[2],q2[2],xf3[2]);
453 gr_080->SetLineWidth(2);
454 gr_080->Draw("C");
455 
456 TGraph *lo_gr_080 = new TGraph(count[2],lo_q2[2],lo_xf3[2]);
457 lo_gr_080->SetLineWidth(2);
458 lo_gr_080->SetLineColor(2);
459 lo_gr_080->Draw("C");
460 
461 TLatex *tex = new TLatex();
462 tex->SetTextAlign(22); //centers the text on the chosen coordinates
463 tex->SetTextSize(0.045);//a reasonably large size
464 tex->DrawLatex(80, 8.0, "x = 0.015(20*xF3)");
465 tex->DrawLatex(80, 2.22, "x = 0.045(5*xF3)");
466 tex->DrawLatex(80, 0.520, "x = 0.080");
467 
468 
469 TLegend *leg1 = new TLegend(0.356,0.262,0.81668,0.541984);
470 leg1->AddEntry(gr_015,"standard neugen xF3","l");
471 leg1->AddEntry(lo_gr_015,"+ no B-Y correction","l");
472 leg1->Draw();
473 
474 
475 
476 c2->cd(2);
477 TH1F *a2 = new TH1F("a2","",10,0.005,2000);
478 a2->SetAxisRange(0.01,30,"y");
479 a2->Draw();
480 a2->GetXaxis()->SetTitle("Q2");
481 a2->GetYaxis()->SetTitle("xF3");
482 gPad->SetLogy();
483 gPad->SetLogx();
484 
485 TGraph *gr_125 = new TGraph(count[3],q2[3],xf3[3]);
486 gr_125->SetLineWidth(2);
487 gr_125->Draw("C");
488 
489 TGraph *lo_gr_125 = new TGraph(count[3],lo_q2[3],lo_xf3[3]);
490 lo_gr_125->SetLineWidth(2);
491 lo_gr_125->SetLineColor(2);
492 lo_gr_125->Draw("C");
493 
494 TGraph *gr_175 = new TGraph(count[4],q2[4],xf3[4]);
495 gr_175->SetLineWidth(2);
496 gr_175->Draw("C");
497 
498 TGraph *lo_gr_175 = new TGraph(count[4],lo_q2[4],lo_xf3[4]);
499 lo_gr_175->SetLineWidth(2);
500 lo_gr_175->SetLineColor(2);
501 lo_gr_175->Draw("C");
502 
503 TGraph *gr_225 = new TGraph(count[5],q2[5],xf3[5]);
504 gr_225->SetLineWidth(2);
505 gr_225->Draw("C");
506 
507 TGraph *lo_gr_225 = new TGraph(count[5],lo_q2[5],lo_xf3[5]);
508 lo_gr_225->SetLineWidth(2);
509 lo_gr_225->SetLineColor(2);
510 lo_gr_225->Draw("C");
511 
512 tex->DrawLatex(80, 9, "x = 0.125(5*xF3)");
513 tex->DrawLatex(80, 2.4, "x = 0.175(2*xF3)");
514 tex->DrawLatex(80, 0.5, "x = 0.225");
515 
516 c2->cd(3);
517 TH1F *a3 = new TH1F("a3","",10,0.005,2000);
518 a3->SetAxisRange(0.01,30,"y");
519 a3->Draw();
520 a3->GetXaxis()->SetTitle("Q2");
521 a3->GetYaxis()->SetTitle("xF3");
522 gPad->SetLogy();
523 gPad->SetLogx();
524 
525 TGraph *gr_275 = new TGraph(count[6],q2[6],xf3[6]);
526 gr_275->SetLineWidth(2);
527 gr_275->Draw("C");
528 
529 TGraph *lo_gr_275 = new TGraph(count[6],lo_q2[6],lo_xf3[6]);
530 lo_gr_275->SetLineWidth(2);
531 lo_gr_275->SetLineColor(2);
532 lo_gr_275->Draw("C");
533 
534 TGraph *gr_350 = new TGraph(count[7],q2[7],xf3[7]);
535 gr_350->SetLineWidth(2);
536 gr_350->Draw("C");
537 
538 TGraph *lo_gr_350 = new TGraph(count[7],lo_q2[7],lo_xf3[7]);
539 lo_gr_350->SetLineWidth(2);
540 lo_gr_350->SetLineColor(2);
541 lo_gr_350->Draw("C");
542 
543 TGraph *gr_450 = new TGraph(count[8],q2[8],xf3[8]);
544 gr_450->SetLineWidth(2);
545 gr_450->Draw("C");
546 
547 TGraph *lo_gr_450 = new TGraph(count[8],lo_q2[8],lo_xf3[8]);
548 lo_gr_450->SetLineWidth(2);
549 lo_gr_450->SetLineColor(2);
550 lo_gr_450->Draw("C");
551 
552 tex->DrawLatex(80,8, "x = 0.275(5*xF3)");
553 tex->DrawLatex(80, 1.65161, "x = 0.350(2*xF3)");
554 tex->DrawLatex(80, 0.2, "x = 0.450");
555 
556 c2->cd(4);
557 TH1F *a4 = new TH1F("a4","",10,0.005,2000);
558 a4->SetAxisRange(0.01,30,"y");
559 a4->Draw();
560 a4->GetXaxis()->SetTitle("Q2");
561 a4->GetYaxis()->SetTitle("xF3");
562 gPad->SetLogy();
563 gPad->SetLogx();
564 
565 TGraph *gr_550 = new TGraph(count[9],q2[9],xf3[9]);
566 gr_550->SetLineWidth(2);
567 gr_550->Draw("C");
568 
569 TGraph *lo_gr_550 = new TGraph(count[9],lo_q2[9],lo_xf3[9]);
570 lo_gr_550->SetLineWidth(2);
571 lo_gr_550->SetLineColor(2);
572 lo_gr_550->Draw("C");
573 
574 
575 TGraph *gr_650 = new TGraph(count[10],q2[10],xf3[10]);
576 gr_650->SetLineWidth(2);
577 gr_650->Draw("C");
578 
579 TGraph *lo_gr_650 = new TGraph(count[10],lo_q2[10],lo_xf3[10]);
580 lo_gr_650->SetLineWidth(2);
581 lo_gr_650->SetLineColor(2);
582 lo_gr_650->Draw("C");
583 
584 
585 TGraph *gr_750 = new TGraph(count[11],q2[11],xf3[11]);
586 gr_750->SetLineWidth(2);
587 gr_750->Draw("C");
588 
589 TGraph *lo_gr_750 = new TGraph(count[11],lo_q2[11],lo_xf3[11]);
590 lo_gr_750->SetLineWidth(2);
591 lo_gr_750->SetLineColor(2);
592 lo_gr_750->Draw("C");
593 
594 
595 tex->DrawLatex(55.9193, 1.914, "x = 0.550(5*xF3)");
596 tex->DrawLatex(93.45, 0.312631, "x = 0.650(2*xF3)");
597 tex->DrawLatex(95.565, 0.0456784, "x = 0.750");
598 
599 c2->Print("xf3_nu.eps");
600 
601 
602 }
603 
604 
605 /*TGraphErrors *grnutev_015 = new TGraphErrors(nutev_count[0],nutev_q2[0],nutev_xf3[0],nutev_q2err[0],nutev_err[0]);
606 grnutev_015->Draw("P*");
607 grnutev_015->SetMarkerColor(kBlue);
608 grnutev_015->SetMarkerStyle(20);
609 grnutev_015->SetMarkerSize(0.9);
610 grnutev_015->SetLineColor(kBlue);
611 TGraphErrors *grcdhsw_015 = new TGraphErrors(cdhsw_count[0],cdhsw_q2[0],cdhsw_xf3[0],cdhsw_q2err[0],cdhsw_err[0]);
612 grcdhsw_015->Draw("P*");
613 grcdhsw_015->SetMarkerColor(kGreen);
614 grcdhsw_015->SetLineColor(kGreen);
615 TGraphErrors *grccfr_015 = new TGraphErrors(ccfr_count[0],ccfr_q2[0],ccfr_xf3[0],ccfr_q2err[0],ccfr_err[0]);
616 grccfr_015->Draw("P*");
617 grccfr_015->SetMarkerColor(kMagenta);
618 grccfr_015->SetLineColor(kMagenta);*/
619 
620 /*TGraphErrors *grnutev_045 = new TGraphErrors(nutev_count[1],nutev_q2[1],nutev_xf3[1],nutev_q2err[1],nutev_q2err[1]);
621 grnutev_045->Draw("P*");
622 grnutev_045->SetMarkerColor(kBlue);
623 grnutev_045->SetMarkerStyle(20);
624 grnutev_045->SetMarkerSize(0.9);
625 grnutev_045->SetLineColor(kBlue);
626 TGraphErrors *grcdhsw_045 = new TGraphErrors(cdhsw_count[1],cdhsw_q2[1],cdhsw_xf3[1],cdhsw_q2err[1],cdhsw_q2err[1]);
627 grcdhsw_045->Draw("P*");
628 grcdhsw_045->SetMarkerColor(kGreen);
629 grcdhsw_045->SetLineColor(kGreen);
630 TGraphErrors *grccfr_045 = new TGraphErrors(ccfr_count[1],ccfr_q2[1],ccfr_xf3[1],ccfr_q2err[1],ccfr_err[1]);
631 grccfr_045->Draw("P*");
632 grccfr_045->SetMarkerColor(kMagenta);
633 grccfr_045->SetLineColor(kMagenta);*/
634 
635 /*TGraphErrors *grnutev_080 = new TGraphErrors(nutev_count[2],nutev_q2[2],nutev_xf3[2],nutev_q2err[2],nutev_q2err[2]);
636 grnutev_080->Draw("P*");
637 grnutev_080->SetMarkerColor(kBlue);
638 grnutev_080->SetMarkerStyle(20);
639 grnutev_080->SetMarkerSize(0.9);
640 grnutev_080->SetLineColor(kBlue);
641 TGraphErrors *grcdhsw_080 = new TGraphErrors(cdhsw_count[2],cdhsw_q2[2],cdhsw_xf3[2],cdhsw_q2err[2],cdhsw_q2err[2]);
642 grcdhsw_080->Draw("P*");
643 grcdhsw_080->SetMarkerColor(kGreen);
644 grcdhsw_080->SetLineColor(kGreen);
645 TGraphErrors *grccfr_080 = new TGraphErrors(ccfr_count[2],ccfr_q2[2],ccfr_xf3[2],ccfr_q2err[2],ccfr_err[2]);
646 grccfr_080->Draw("P*");
647 grccfr_080->SetMarkerColor(kMagenta);
648 grccfr_080->SetLineColor(kMagenta);*/
649 
650 /*TGraphErrors *grnutev_125 = new TGraphErrors(nutev_count[3],nutev_q2[3],nutev_xf3[3],nutev_q2err[3],nutev_q2err[3]);
651 grnutev_125->Draw("P*");
652 grnutev_125->SetMarkerColor(kBlue);
653 grnutev_125->SetMarkerStyle(20);
654 grnutev_125->SetMarkerSize(0.9);
655 grnutev_125->SetLineColor(kBlue);
656 TGraphErrors *grcdhsw_125 = new TGraphErrors(cdhsw_count[3],cdhsw_q2[3],cdhsw_xf3[3],cdhsw_q2err[3],cdhsw_q2err[3]);
657 grcdhsw_125->Draw("P*");
658 grcdhsw_125->SetMarkerColor(kGreen);
659 grcdhsw_125->SetLineColor(kGreen);
660 TGraphErrors *grccfr_125 = new TGraphErrors(ccfr_count[3],ccfr_q2[3],ccfr_xf3[3],ccfr_q2err[3],ccfr_q2err[3]);
661 grccfr_125->Draw("P*");
662 grccfr_125->SetMarkerColor(kMagenta);
663 grccfr_125->SetLineColor(kMagenta);*/
664 
665 /*TGraphErrors *grnutev_175 = new TGraphErrors(nutev_count[4],nutev_q2[4],nutev_xf3[4],nutev_q2err[4],nutev_q2err[4]);
666 grnutev_175->Draw("P*");
667 grnutev_175->SetMarkerColor(kBlue);
668 grnutev_175->SetMarkerStyle(20);
669 grnutev_175->SetMarkerSize(0.9);
670 grnutev_175->SetLineColor(kBlue);
671 TGraphErrors *grcdhsw_175 = new TGraphErrors(cdhsw_count[4],cdhsw_q2[4],cdhsw_xf3[4],cdhsw_q2err[4],cdhsw_q2err[4]);
672 grcdhsw_175->Draw("P*");
673 grcdhsw_175->SetMarkerColor(kGreen);
674 grcdhsw_175->SetLineColor(kGreen);
675 TGraphErrors *grccfr_175 = new TGraphErrors(ccfr_count[4],ccfr_q2[4],ccfr_xf3[4],ccfr_q2err[4],ccfr_q2err[4]);
676 grccfr_175->Draw("P*");
677 grccfr_175->SetMarkerColor(kMagenta);
678 grccfr_175->SetLineColor(kMagenta);*/
679 
680 /*TGraphErrors *grnutev_225 = new TGraphErrors(nutev_count[5],nutev_q2[5],nutev_xf3[5],nutev_q2err[5],nutev_q2err[5]);
681 grnutev_225->Draw("P*");
682 grnutev_225->SetMarkerColor(kBlue);
683 grnutev_225->SetMarkerStyle(20);
684 grnutev_225->SetMarkerSize(0.9);
685 grnutev_225->SetLineColor(kBlue);
686 TGraphErrors *grcdhsw_225 = new TGraphErrors(cdhsw_count[5],cdhsw_q2[5],cdhsw_xf3[5],cdhsw_q2err[5],cdhsw_q2err[5]);
687 grcdhsw_225->Draw("P*");
688 grcdhsw_225->SetMarkerColor(kGreen);
689 grcdhsw_225->SetLineColor(kGreen);
690 TGraphErrors *grccfr_225 = new TGraphErrors(ccfr_count[5],ccfr_q2[5],ccfr_xf3[5],ccfr_q2err[5],ccfr_q2err[5]);
691 grccfr_225->Draw("P*");
692 grccfr_225->SetMarkerColor(kMagenta);
693 grccfr_225->SetLineColor(kMagenta);*/
694 
695 /*TGraphErrors *grnutev_275 = new TGraphErrors(nutev_count[6],nutev_q2[6],nutev_xf3[6],nutev_q2err[6],nutev_q2err[6]);
696 grnutev_275->Draw("P*");
697 grnutev_275->SetMarkerColor(kBlue);
698 grnutev_275->SetMarkerStyle(20);
699 grnutev_275->SetMarkerSize(0.9);
700 grnutev_275->SetLineColor(kBlue);
701 TGraphErrors *grcdhsw_275 = new TGraphErrors(cdhsw_count[6],cdhsw_q2[6],cdhsw_xf3[6],cdhsw_q2err[6],cdhsw_q2err[6]);
702 grcdhsw_275->Draw("P*");
703 grcdhsw_275->SetMarkerColor(kGreen);
704 grcdhsw_275->SetLineColor(kGreen);
705 TGraphErrors *grccfr_275 = new TGraphErrors(ccfr_count[6],ccfr_q2[6],ccfr_xf3[6],ccfr_q2err[6],ccfr_q2err[6]);
706 grccfr_275->Draw("P*");
707 grccfr_275->SetMarkerColor(kMagenta);
708 grccfr_275->SetLineColor(kMagenta);*/
709 
710 /*TGraphErrors *grnutev_350 = new TGraphErrors(nutev_count[7],nutev_q2[7],nutev_xf3[7],nutev_q2err[7],nutev_q2err[7]);
711 grnutev_350->Draw("P*");
712 grnutev_350->SetMarkerColor(kBlue);
713 grnutev_350->SetMarkerStyle(20);
714 grnutev_350->SetMarkerSize(0.9);
715 grnutev_350->SetLineColor(kBlue);
716 TGraphErrors *grcdhsw_350 = new TGraphErrors(cdhsw_count[7],cdhsw_q2[7],cdhsw_xf3[7],cdhsw_q2err[7],cdhsw_q2err[7]);
717 grcdhsw_350->Draw("P*");
718 grcdhsw_350->SetMarkerColor(kGreen);
719 grcdhsw_350->SetLineColor(kGreen);
720 TGraphErrors *grccfr_350 = new TGraphErrors(ccfr_count[7],ccfr_q2[7],ccfr_xf3[7],ccfr_q2err[7],ccfr_q2err[7]);
721 grccfr_350->Draw("P*");
722 grccfr_350->SetMarkerColor(kMagenta);
723 grccfr_350->SetLineColor(kMagenta);*/
724 
725 /*TGraphErrors *grnutev_450 = new TGraphErrors(nutev_count[8],nutev_q2[8],nutev_xf3[8],nutev_q2err[8],nutev_q2err[8]);
726 grnutev_450->Draw("P*");
727 grnutev_450->SetMarkerColor(kBlue);
728 grnutev_450->SetMarkerStyle(20);
729 grnutev_450->SetMarkerSize(0.9);
730 grnutev_450->SetLineColor(kBlue);
731 TGraphErrors *grcdhsw_450 = new TGraphErrors(cdhsw_count[8],cdhsw_q2[8],cdhsw_xf3[8],cdhsw_q2err[8],cdhsw_q2err[8]);
732 grcdhsw_450->Draw("P*");
733 grcdhsw_450->SetMarkerColor(kGreen);
734 grcdhsw_450->SetLineColor(kGreen);
735 TGraphErrors *grccfr_450 = new TGraphErrors(ccfr_count[8],ccfr_q2[8],ccfr_xf3[8],ccfr_q2err[8],ccfr_q2err[8]);
736 grccfr_450->Draw("P*");
737 grccfr_450->SetMarkerColor(kMagenta);
738 grccfr_450->SetLineColor(kMagenta);*/
739 
740 /*TGraphErrors *grnutev_550 = new TGraphErrors(nutev_count[9],nutev_q2[9],nutev_xf3[9],nutev_q2err[9],nutev_q2err[9]);
741 grnutev_550->Draw("P*");
742 grnutev_550->SetMarkerColor(kBlue);
743 grnutev_550->SetMarkerStyle(20);
744 grnutev_550->SetMarkerSize(0.9);
745 grnutev_550->SetLineColor(kBlue);
746 TGraphErrors *grcdhsw_550 = new TGraphErrors(cdhsw_count[9],cdhsw_q2[9],cdhsw_xf3[9],cdhsw_q2err[9],cdhsw_q2err[9]);
747 grcdhsw_550->Draw("P*");
748 grcdhsw_550->SetMarkerColor(kGreen);
749 grcdhsw_550->SetLineColor(kGreen);
750 TGraphErrors *grccfr_550 = new TGraphErrors(ccfr_count[9],ccfr_q2[9],ccfr_xf3[9],ccfr_q2err[9],ccfr_q2err[9]);
751 grccfr_550->Draw("P*");
752 grccfr_550->SetMarkerColor(kMagenta);
753 grccfr_550->SetLineColor(kMagenta);*/
754 
755 
756 /*TGraphErrors *grnutev_650 = new TGraphErrors(nutev_count[10],nutev_q2[10],nutev_xf3[10],nutev_q2err[10],nutev_q2err[10]);
757 grnutev_650->Draw("P*");
758 grnutev_650->SetMarkerColor(kBlue);
759 grnutev_650->SetMarkerStyle(20);
760 grnutev_650->SetMarkerSize(0.9);
761 grnutev_650->SetLineColor(kBlue);
762 TGraphErrors *grcdhsw_650 = new TGraphErrors(cdhsw_count[10],cdhsw_q2[10],cdhsw_xf3[10],cdhsw_q2err[10],cdhsw_q2err[10]);
763 grcdhsw_650->Draw("P*");
764 grcdhsw_650->SetMarkerColor(kGreen);
765 grcdhsw_650->SetLineColor(kGreen);
766 TGraphErrors *grccfr_650 = new TGraphErrors(ccfr_count[10],ccfr_q2[10],ccfr_xf3[10],ccfr_q2err[10],ccfr_q2err[10]);
767 grccfr_650->Draw("P*");
768 grccfr_650->SetMarkerColor(kMagenta);
769 grccfr_650->SetLineColor(kMagenta);*/
770 
771 /*TGraphErrors *grnutev_750 = new TGraphErrors(nutev_count[11],nutev_q2[11],nutev_xf3[11],nutev_q2err[11],nutev_q2err[11]);
772 grnutev_750->Draw("P*");
773 grnutev_750->SetMarkerColor(kBlue);
774 grnutev_750->SetMarkerStyle(20);
775 grnutev_750->SetMarkerSize(0.9);
776 grnutev_750->SetLineColor(kBlue);
777 TGraphErrors *grccfr_750 = new TGraphErrors(ccfr_count[11],ccfr_q2[11],ccfr_xf3[11],ccfr_q2err[11],ccfr_q2err[11]);
778 grccfr_750->Draw("P*");
779 grccfr_750->SetMarkerColor(kMagenta);
780 grccfr_750->SetLineColor(kMagenta);*/
Int_t nutev_count[12]
Definition: xf3_nu.C:164
Double_t ccfr1[nccfr]
Definition: xf3_nu.C:81
ifstream lo_neugen("data/lo_extract_sf.txt")
TGraph * lo_gr_015
Definition: xf3_nu.C:438
Double_t nutev1[nnutev]
Definition: xf3_nu.C:51
TGraph * gr_275
Definition: xf3_nu.C:525
TCanvas * c2
Definition: drawXsec.C:3
TGraph * gr_450
Definition: xf3_nu.C:543
Double_t lo_row5_base[nfile]
Definition: xf3_nu.C:39
size_t i(0)
Double_t ccfr7[nccfr]
Definition: xf3_nu.C:87
ifstream base_neugen("data/extract_sf.txt")
TGraph * lo_gr_750
Definition: xf3_nu.C:589
Double_t cdhsw_q2[12][num]
Definition: xf3_nu.C:185
Double_t ccfr2[nccfr]
Definition: xf3_nu.C:82
const int nfile
Definition: xf3_nu.C:16
TGraph * gr_650
Definition: xf3_nu.C:575
TGraph * lo_gr_080
Definition: xf3_nu.C:456
Int_t cdhsw_count[12]
Definition: xf3_nu.C:189
Int_t num1[12]
Definition: xf3_nu.C:116
Double_t ccfr6[nccfr]
Definition: xf3_nu.C:86
the ParameterSet object passed in for the configuration of a destination should be the only source that can affect the behavior of that destination This is to eliminate the dependencies of configuring a destination from multiple mostly from the defaults It suppresses possible glitches about changing the configuration file somewhere outside of a destination segament might still affect the behavior of that destination In the previous configuration for a specific the value of a certain e may come from following and have been suppressed It the configuring ParameterSet object for each destination will be required to carry a parameter list as complete as possible If a parameter still cannot be found in the ParameterSet the configuration code will go look for a hardwired default directly The model is a great simplicity comparing with the previous especially when looking for default values Another great advantage is most of the parameters now have very limited places that allows to appear Usually they can only appear at one certain level in a configuration file For in the old configuring model or in a default ParameterSet object inside of a or in a category or in a severity object This layout of multiple sources for a single parameter brings great confusion in both writing a configuration and in processing the configuration file Under the new the only allowed place for the parameter limit to appear is inside of a category which is inside of a destination object Other improvements simplify the meaning of a destination name In the old a destination name has multiple folds of meanings the e cout and cerr have the special meaning of logging messages to standard output or standard error the name also serves as the output filename if the destination is a file these names are also references to look up for detailed configurations in configuring the MessageFacility The multi purpose of the destination name might cause some unwanted behavior in either writing or parsing the configuration file To amend in the new model the destination name is now merely a name for a which might represent the literal purpose of this or just an id All other meanings of the destinations names now go into the destination ParameterSet as individual such as the type parameter and filename parameter Following is the deatiled rule for the new configuring Everything that is related with MessageFacility configuration must be wrapped in a single ParameterSet object with the name MessageFacility The MessageFacility ParameterSet object contains a series of top level parameters These parameters can be chosen a vector of string listing the name of debug enabled models Or use *to enable debug messages in all modules a vector of string a vector of string a vector of string a ParameterSet object containing the list of all destinations The destinations ParameterSet object is a combination of ParameterSet objects for individual destinations There are two types of destinations that you can insert in the destinations ParameterSet ordinary including cout
TGraph * gr_350
Definition: xf3_nu.C:534
TGraph * gr_015
Definition: xf3_nu.C:434
Double_t nutev_err[12][num]
Definition: xf3_nu.C:163
TGraph * gr_175
Definition: xf3_nu.C:494
Double_t row3_base[nfile]
Definition: xf3_nu.C:22
Double_t lo_xf3[12][num]
Definition: xf3_nu.C:139
Double_t ccfr3[nccfr]
Definition: xf3_nu.C:83
TGraph * lo_gr_045
Definition: xf3_nu.C:447
Double_t temp_errsp2[num]
Definition: xf3_nu.C:242
TGraph * gr_550
Definition: xf3_nu.C:565
Double_t lo_row3_base[nfile]
Definition: xf3_nu.C:37
Double_t cdhsw_q2err[12][num]
Definition: xf3_nu.C:187
int nccfr
Definition: xf3_nu.C:80
Double_t lo_row4_base[nfile]
Definition: xf3_nu.C:38
TGraph * lo_gr_175
Definition: xf3_nu.C:498
TH1F * a1
Definition: xf3_nu.C:426
TGraph * lo_gr_125
Definition: xf3_nu.C:489
int num
Definition: xf3_nu.C:96
Double_t row1_base[nfile]
Definition: xf3_nu.C:20
Double_t nutev_xf3[12][num]
Definition: xf3_nu.C:161
Double_t cdhsw_err[12][num]
Definition: xf3_nu.C:188
Double_t nutev2[nnutev]
Definition: xf3_nu.C:52
Double_t lo_row2_base[nfile]
Definition: xf3_nu.C:36
int nnutev
Definition: xf3_nu.C:50
Double_t cdhsw3[ncdhsw]
Definition: xf3_nu.C:68
Double_t ccfr_q2[12][num]
Definition: xf3_nu.C:210
TGraph * lo_gr_650
Definition: xf3_nu.C:579
TGraph * lo_gr_225
Definition: xf3_nu.C:507
Double_t ccfr_q2err[12][num]
Definition: xf3_nu.C:212
TGraph * gr_125
Definition: xf3_nu.C:485
float x[12]
Definition: xf3_nu.C:97
Double_t cdhsw1[ncdhsw]
Definition: xf3_nu.C:66
TH1F * a4
Definition: xf3_nu.C:557
ifstream nutev("data/final_nutev_xf3.txt", ios::in)
Int_t ccfr_count[12]
Definition: xf3_nu.C:214
Int_t lo_count[12]
Definition: xf3_nu.C:141
Double_t ccfr5[nccfr]
Definition: xf3_nu.C:85
Double_t lo_row1_base[nfile]
Definition: xf3_nu.C:35
int ncdhsw
Definition: xf3_nu.C:65
Double_t q2[12][num]
Definition: xf3_nu.C:112
TGraph * lo_gr_550
Definition: xf3_nu.C:569
Double_t nutev_q2[12][num]
Definition: xf3_nu.C:160
ifstream cdhsw("data/final_cdhsw_xf3.txt", ios::in)
Double_t xf3[12][num]
Definition: xf3_nu.C:113
Double_t temp_q21[num]
Definition: xf3_nu.C:236
TGraph * gr_225
Definition: xf3_nu.C:503
Double_t row5_base[nfile]
Definition: xf3_nu.C:24
TGraph * lo_gr_275
Definition: xf3_nu.C:529
Int_t count_sp2
Definition: xf3_nu.C:234
This add method has three it adds this message xid and id to the appropriate and it updates the dynamic information in counts The sequence is as the static apppropriate and timespan will be in the mapped CountAndLimit and there will be no need to recompute them If this xid is not yet in see if the category is in limits if the appropriate counts struct can be formed by using the precedence rules above to combine the limit and interval found in limits along with the severityLimits and severityIntervals arrays found in the ELlimitsTable Along the way the limits map for this category is filled in
Double_t temp_q22[num]
Definition: xf3_nu.C:240
Double_t cdhsw2[ncdhsw]
Definition: xf3_nu.C:67
Double_t ccfr4[nccfr]
Definition: xf3_nu.C:84
Double_t nutev_q2err[12][num]
Definition: xf3_nu.C:162
TGraph * gr_080
Definition: xf3_nu.C:452
TH1F * a3
Definition: xf3_nu.C:517
TGraph * lo_gr_450
Definition: xf3_nu.C:547
Double_t temp_errsp1[num]
Definition: xf3_nu.C:238
TLegend * leg1
Definition: xf3_nu.C:469
Double_t row2_base[nfile]
Definition: xf3_nu.C:21
TLatex * tex
Definition: xf3_nu.C:461
Double_t ccfr_xf3[12][num]
Definition: xf3_nu.C:211
Double_t cdhsw4[ncdhsw]
Definition: xf3_nu.C:69
Double_t temp_sp2[num]
Definition: xf3_nu.C:241
ifstream ccfr("data/ccfr_f2xf3fe.txt", ios::in)
TH1F * a2
Definition: xf3_nu.C:477
Double_t nutev3[nnutev]
Definition: xf3_nu.C:53
Double_t cdhsw_xf3[12][num]
Definition: xf3_nu.C:186
Double_t temp_sp1[num]
Definition: xf3_nu.C:237
Double_t lo_q2[12][num]
Definition: xf3_nu.C:138
TGraph * lo_gr_350
Definition: xf3_nu.C:538
TGraph * gr_750
Definition: xf3_nu.C:585
Int_t count[12]
Definition: xf3_nu.C:115
TGraph * gr_045
Definition: xf3_nu.C:443
Double_t nutev4[nnutev]
Definition: xf3_nu.C:54
Double_t row4_base[nfile]
Definition: xf3_nu.C:23
Double_t ccfr_err[12][num]
Definition: xf3_nu.C:213
Int_t count_sp1
Definition: xf3_nu.C:233