void GEsAndGMs(Int_t iprint = 0,Int_t plotProposal=0){ gROOT->Reset(); gStyle->SetOptStat(0); // const Int_t n = 7; // G0 results, expected const Int_t ngo = 18; Double_t G0Q2[ngo] = {0.122, 0.128, 0.136, 0.144, 0.153, 0.164, 0.177, 0.192, 0.210, 0.232, 0.262, 0.299, 0.344, 0.410, 0.511, 0.631, 0.788, 0.997}; Double_t etaG0[ngo] = {0.098, 0.103, 0.109, 0.116, 0.123, 0.132, 0.143, 0.156, 0.170, 0.189, 0.214, 0.245, 0.283, 0.341, 0.431, 0.543, 0.700, 0.932}; Double_t yG0[ngo] = {0.037 , 0.090 , 0.074 , -0.014, 0.034 , 0.010 , -0.028, 0.003 , -0.010, -0.002, 0.038 , 0.002 , 0.033 , 0.053 , 0.019 , 0.060 , 0.036 , 0.076}; Double_t G0sigstat[ngo] = {0.036, 0.032, 0.032, 0.030, 0.028, 0.026, 0.024, 0.025, 0.022, 0.021, 0.019, 0.018, 0.018, 0.014, 0.014, 0.014, 0.018, 0.052}; Double_t G0sigptpt[ngo] = {0.019, 0.016, 0.013, 0.013, 0.019, 0.020, 0.014, 0.011, 0.012, 0.012, 0.004, 0.016, 0.022, 0.019, 0.024, 0.016, 0.024, 0.064}; Double_t G0sigcom[ngo] = {0.015, 0.014, 0.013, 0.012, 0.014, 0.014, 0.011, 0.010, 0.010, 0.010, 0.006, 0.011, 0.014, 0.012, 0.024, 0.016, 0.025, 0.004}; Double_t G0sigmod[ngo] = {0.004, 0.004, 0.004, 0.004, 0.005, 0.005, 0.005, 0.005, 0.006, 0.006, 0.006, 0.007, 0.007, 0.008, 0.008, 0.009, 0.010, 0.010}; Double_t G0sigunc[ngo]; Double_t G0sigcor[ngo]; Double_t G0halfbins[ngo+1]; for (Int_t ig = 0; igSetMarkerColor(4); grG0->SetMarkerStyle(21); grG0->SetMarkerSize(0.9); grG0->SetLineColor(4); grG0->SetLineWidth(2); grG02 = new TGraphErrors(ngo, G0Q2, yG0, 0, G0sigstat); grG02->SetMarkerColor(4); grG02->SetMarkerStyle(21); grG02->SetMarkerSize(0.9); grG02->SetLineColor(4); grG02->SetLineWidth(1); // // // // Q2=0.1 extrapolation // // // // assume ge = Q2*rhos, gm is constant // // so (ge+eta*gm)/Q2 should be fit // sumwt =0.0; // sum=0.0; // gesum=0.0; // q2sum = 0; // for (Int_t ig = ngo-4; igSetMarkerColor(6); gr1->SetMarkerStyle(20); gr1->SetMarkerSize(1.2); gr1->SetLineColor(6); gr1->SetLineWidth(2); gr1->SetLineStyle(1); //MAMI A4, prelim Float_t x2[j] = {0.103+0.005}; Float_t y2[j] = {0.071}; Float_t ey2[j] = {0.036}; gr2 = new TGraphErrors(j, x2, y2, 0, ey2); gr2->SetMarkerColor(6); gr2->SetMarkerStyle(20); gr2->SetMarkerSize(1.2); gr2->SetLineColor(6); gr2->SetLineWidth(2); gr2->SetLineStyle(1); //HAPPEX-I, published Float_t x3[j] = {0.477}; Float_t y3[j] = {0.014}; Float_t ey3[j] = {0.022}; //HAPPEX ('04), final Float_t x5[j] = {0.099}; Float_t y5[j] = {0.0320}; Float_t ey5[j] = {0.029}; gr3 = new TGraphErrors(j, x3, y3, 0, ey3); gr3->SetMarkerColor(1); gr3->SetMarkerStyle(22); gr3->SetMarkerSize(1.2); gr3->SetLineColor(1); gr3->SetLineWidth(2); gr5 = new TGraphErrors(j, x5, y5, 0, ey5); gr5->SetMarkerColor(1); gr5->SetMarkerStyle(23); gr5->SetMarkerSize(1.2); gr5->SetLineColor(1); gr5->SetLineWidth(2); //HAPPEX-HighQ2, proposed Float_t x6[j] = {0.6}; Float_t y6[j] = {0.0}; Float_t ey6[j] = {0.011}; gr6 = new TGraphErrors(j, x6, y6, 0, ey6); gr6->SetMarkerColor(2); gr6->SetMarkerStyle(20); gr6->SetMarkerSize(1.2); gr6->SetLineColor(2); gr6->SetLineWidth(2); TMultiGraph *mg = new TMultiGraph(); if (plotProposal>-1) { mg->Add(grG0); mg->Add(grG02); } mg->Add(gr1); mg->Add(gr2); mg->Add(gr3); // mg->Add(gr4); mg->Add(gr5); if (plotProposal>0) mg->Add(gr6); TCanvas *c1 = new TCanvas("c1","c1",800,500); // TH2F *h2 = new TH2F("h2", "", 40,0., 1.05, 40, -0.10, 0.18); // h2->Draw(); // h2->GetXaxis()->SetTitle("Q^2"); // h2->GetXaxis()->SetTitleSize(0.045); // h2->GetYaxis()->SetTitle("GEs + #eta GMs"); // h2->GetYaxis()->SetTitleSize(0.05); TH1F *h1 = new TH1F("h1", "", 40,0., 1.05); h1->GetXaxis()->SetTitle("Q^{2}"); h1->GetXaxis()->SetTitleOffset(0.5); h1->GetXaxis()->SetTitleSize(0.07); h1->GetYaxis()->SetTitle("G_{E}^{s} + #eta G_{M}^{s}"); h1->GetYaxis()->SetTitleOffset(0.65); h1->GetYaxis()->SetTitleSize(0.07); h1->SetMinimum(-0.13); h1->SetMaximum(0.20); h1->Draw(); // G0h1->Draw("same e3"); TLine t(0.0, 0, 1.05, 0); t.Draw(); mg->Draw("P"); Double_t G0ELine[ngo*2]; Double_t offset = 0.17; Double_t G0EQ[ngo*2]; for (Int_t ig = 0; ig-1) { TPolyLine *poly=new TPolyLine(2*ngo,G0EQ,G0ELine); poly->SetFillColor(4); poly->SetFillStyle(3001); poly->Draw("F"); } leg = new TLegend (0.59, 0.13, 0.87, 0.3); leg->AddEntry(grG0, "G0 (FORWARD)", "p"); // leg->AddEntry(gr1, "MAMI A4, published", "p"); leg->AddEntry(gr3, "HAPPEX-I", "p"); // leg->AddEntry(gr4, "HAPPEX-H", "p"); leg->AddEntry(gr5, "HAPPEX-H (2004)", "p"); // leg->AddEntry(gr2,"MAMI A4 (different #eta)", "p"); leg->Draw(); TLegend* leg2; if (plotProposal>0) { leg2 = new TLegend (0.24, 0.13, 0.57, 0.26); leg2->AddEntry(gr6,"This Proposal", "p"); leg2->AddEntry(gr2,"MAMI A4 (different #eta)", "p"); }else{ leg2 = new TLegend (0.24, 0.13, 0.57, 0.20); leg2->AddEntry(gr2,"MAMI A4 (different #eta)", "p"); } leg2->Draw(); if (iprint==1) { if (plotProposal==-1) { c1->Print("GEsGMs_noG0.gif"); c1->Print("GEsGMs_noG0.eps"); } else if (plotProposal==1) { c1->Print("GEsGMs_proposal.gif"); c1->Print("GEsGMs_proposal.eps"); } else { c1->Print("GEsGMs.gif"); c1->Print("GEsGMs.eps"); } } }