13 gStyle->SetOptStat(0000);
27 base_neugen>>row1_base[
i]>>row2_base[
i]>>row3_base[
i]>>row4_base[
i]>>row5_base[
i];
33 ifstream
lo_neugen(
"data/lo_extract_sf.txt");
42 lo_neugen>>lo_row1_base[
i]>>lo_row2_base[
i]>>lo_row3_base[
i]>>lo_row4_base[
i]>>lo_row5_base[
i];
57 nutev>>nutev1[
i]>>nutev2[
i]>>nutev3[
i]>>nutev4[
i];
72 cdhsw>>cdhsw1[
i]>>cdhsw2[
i]>>cdhsw3[
i]>>cdhsw4[
i];
90 ccfr>>ccfr1[
i]>>ccfr2[
i]>>ccfr3[
i]>>ccfr4[
i]>>ccfr5[
i]>>ccfr6[
i]>>ccfr7[
i];
116 Int_t
num1[12]={20,5,1,5,2,1,5,2,1,5,2,1};
118 for(
int k=0;
k<12;
k++){
123 for(
int l=0;l<12;l++){
124 if(fabs(row1_base[
k]-x[l])<.001){
126 q2[l][count[l]] = row2_base[
k];
127 xf3[l][count[l]] = num1[l]*row5_base[
k];
143 for(
int k=0;
k<12;
k++){
148 for(
int l=0;l<12;l++){
149 if(fabs(lo_row1_base[
k]-x[l])<.001){
151 lo_q2[l][lo_count[l]] = lo_row2_base[
k];
152 lo_xf3[l][lo_count[l]] = num1[l]*lo_row5_base[
k];
166 for(
int k=0;
k<12;
k++){
171 for(
int l=0;l<12;l++){
172 if(fabs(nutev1[
k]-x[l])<.001){
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];
191 for(
int k=0;
k<12;
k++){
196 for(
int l=0;l<12;l++){
197 if(fabs(cdhsw1[
k]-x[l])<.001){
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];
216 for(
int k=0;
k<12;
k++){
221 for(
int l=0;l<12;l++){
222 if(fabs(ccfr1[
k]-x[l])<.001){
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];
247 if(fabs(ccfr1[
k]-0.0125)<.001){
257 if(fabs(ccfr1[
k]-0.0175)<.001){
270 for(
int k=0;
k<ccfr_count[0];
k++){
272 ccfr_q2[0][
k] = temp_q21[
k];
273 ccfr_q2err[0][
k] = 0;
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;
286 if(fabs(ccfr1[
k]-0.035)<.001){
296 if(fabs(ccfr1[
k]-0.050)<.001){
309 for(
int k=0;
k<ccfr_count[1];
k++){
311 ccfr_q2[1][
k] = temp_q21[
k];
312 ccfr_q2err[1][
k] = 0;
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;
326 if(fabs(ccfr1[
k]-0.070)<.001){
336 if(fabs(ccfr1[
k]-0.090)<.001){
349 for(
int k=0;
k<ccfr_count[2];
k++){
351 ccfr_q2[2][
k] = temp_q21[
k];
352 ccfr_q2err[2][
k] = 0;
354 ccfr_xf3[2][
k] = ((temp_sp1[
k]+temp_sp2[
k]))/2;
355 ccfr_err[2][
k] = ((temp_errsp1[
k]+temp_errsp2[
k]))/2;
367 if(fabs(ccfr1[
k]-0.110)<.001){
377 if(fabs(ccfr1[
k]-0.140)<.001){
390 for(
int k=0;
k<ccfr_count[3];
k++){
392 ccfr_q2[3][
k] = temp_q21[
k];
393 ccfr_q2err[3][
k] = 0;
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;
408 if(fabs(ccfr1[
k]-0.180)<.001){
410 ccfr_q2[4][ccfr_count[4]] = ccfr2[
k];
411 ccfr_q2err[4][ccfr_count[4]] = 0;
413 ccfr_xf3[4][ccfr_count[4]] = 2*ccfr5[
k];
414 ccfr_err[4][ccfr_count[4]] = 2*ccfr6[
k];
420 cout<<
"MAKE THE PLOTS"<<endl;
422 TCanvas
c2(
"c2",
"",0,0,1300,900);
426 TH1F *
a1 =
new TH1F(
"a1",
"",10,0.005,2000);
427 a1->SetAxisRange(0.01,30,
"y");
429 a1->GetXaxis()->SetTitle(
"Q2");
430 a1->GetYaxis()->SetTitle(
"xF3");
434 TGraph *
gr_015 =
new TGraph(count[0],q2[0],xf3[0]);
435 gr_015->SetLineWidth(2);
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");
443 TGraph *
gr_045 =
new TGraph(count[1],q2[1],xf3[1]);
444 gr_045->SetLineWidth(2);
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");
452 TGraph *
gr_080 =
new TGraph(count[2],q2[2],xf3[2]);
453 gr_080->SetLineWidth(2);
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");
461 TLatex *
tex =
new TLatex();
462 tex->SetTextAlign(22);
463 tex->SetTextSize(0.045);
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");
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");
477 TH1F *
a2 =
new TH1F(
"a2",
"",10,0.005,2000);
478 a2->SetAxisRange(0.01,30,
"y");
480 a2->GetXaxis()->SetTitle(
"Q2");
481 a2->GetYaxis()->SetTitle(
"xF3");
485 TGraph *
gr_125 =
new TGraph(count[3],q2[3],xf3[3]);
486 gr_125->SetLineWidth(2);
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");
494 TGraph *
gr_175 =
new TGraph(count[4],q2[4],xf3[4]);
495 gr_175->SetLineWidth(2);
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");
503 TGraph *
gr_225 =
new TGraph(count[5],q2[5],xf3[5]);
504 gr_225->SetLineWidth(2);
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");
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");
517 TH1F *
a3 =
new TH1F(
"a3",
"",10,0.005,2000);
518 a3->SetAxisRange(0.01,30,
"y");
520 a3->GetXaxis()->SetTitle(
"Q2");
521 a3->GetYaxis()->SetTitle(
"xF3");
525 TGraph *
gr_275 =
new TGraph(count[6],q2[6],xf3[6]);
526 gr_275->SetLineWidth(2);
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");
534 TGraph *
gr_350 =
new TGraph(count[7],q2[7],xf3[7]);
535 gr_350->SetLineWidth(2);
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");
543 TGraph *
gr_450 =
new TGraph(count[8],q2[8],xf3[8]);
544 gr_450->SetLineWidth(2);
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");
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");
557 TH1F *
a4 =
new TH1F(
"a4",
"",10,0.005,2000);
558 a4->SetAxisRange(0.01,30,
"y");
560 a4->GetXaxis()->SetTitle(
"Q2");
561 a4->GetYaxis()->SetTitle(
"xF3");
565 TGraph *
gr_550 =
new TGraph(count[9],q2[9],xf3[9]);
566 gr_550->SetLineWidth(2);
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");
575 TGraph *
gr_650 =
new TGraph(count[10],q2[10],xf3[10]);
576 gr_650->SetLineWidth(2);
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");
585 TGraph *
gr_750 =
new TGraph(count[11],q2[11],xf3[11]);
586 gr_750->SetLineWidth(2);
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");
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");
599 c2->Print(
"xf3_nu.eps");
ifstream lo_neugen("data/lo_extract_sf.txt")
Double_t lo_row5_base[nfile]
ifstream base_neugen("data/extract_sf.txt")
Double_t cdhsw_q2[12][num]
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
Double_t nutev_err[12][num]
Double_t row3_base[nfile]
Double_t temp_errsp2[num]
Double_t lo_row3_base[nfile]
Double_t cdhsw_q2err[12][num]
Double_t lo_row4_base[nfile]
Double_t row1_base[nfile]
Double_t nutev_xf3[12][num]
Double_t cdhsw_err[12][num]
Double_t lo_row2_base[nfile]
Double_t ccfr_q2[12][num]
Double_t ccfr_q2err[12][num]
ifstream nutev("data/final_nutev_xf3.txt", ios::in)
Double_t lo_row1_base[nfile]
Double_t nutev_q2[12][num]
ifstream cdhsw("data/final_cdhsw_xf3.txt", ios::in)
Double_t row5_base[nfile]
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 nutev_q2err[12][num]
Double_t temp_errsp1[num]
Double_t row2_base[nfile]
Double_t ccfr_xf3[12][num]
ifstream ccfr("data/ccfr_f2xf3fe.txt", ios::in)
Double_t cdhsw_xf3[12][num]
Double_t row4_base[nfile]
Double_t ccfr_err[12][num]