void BkgContrPlot(){ const nPoints = 5; double Pbeam[5]={1.5,4.06,8.9,11.91,15}; // const nPoints = 2; // double Pbeam[nPoints]={4.06,15}; // // //No Cut, No Dipole -------------------------------------------------------------- // double SigEl[nPoints]={1366.04, 1436.61}; // double SigEl_err[nPoints]={2.66, 3.09}; // double BkgEl[nPoints]={92.08, 89.21}; // double BkgEl_err[nPoints]={0.47, 0.15}; // double BkgElSec[nPoints]={9.50, 109.47}; // double BkgElSec_err[nPoints]={0.34, 0.48}; // double BkgInel[nPoints]={84.28, 392.15}; // double BkgInel_err[nPoints]={0.39, 1.63}; // double BkgInelSec[nPoints]={18.89, 105.88}; // double BkgInelSec_err[nPoints]={0.57, 0.89}; // // //[END]No Cut ------------------------------------------------------- // //No Cut -------------------------------------------------------------- // double SigEl[5]={10963.6, 1364.94, 920.34, 1123.7, 1437.47}; // double SigEl_err[5]={11.87,3.34,1.32,0.81,2.15}; // double BkgEl[5]={391.96,92.01,89.99,90.78,96.32}; // double BkgEl_err[5]={1.28, 0.31, 0.33, 0.61, 0.14}; // double BkgElSec[5]={ 8.96,6.73,23.59,40.54 ,60.51}; // double BkgElSec_err[5]={0.23,0.13,0.37,0.29, 0.11}; // double BkgInel[5]={8.61,19.94,40.95, 58.44, 80.21}; // double BkgInel_err[5]={0.15, 0.13, 0.49, 0.66, 0.41}; // double BkgInelSec[5]={2.65, 5.10, 17.65, 32.51, 55.12}; // double BkgInelSec_err[5]={0.12, 0.19, 0.15, 0.39, 0.44}; // //[END]No Cut ------------------------------------------------------- // //X&Y Cut -------------------------------------------------------------- // double SigEl[5]={10762.9, 1362.56, 889.38, 1120.98, 1437.25}; // double SigEl_err[5]={4.72, 2.65, 2.75, 2.13, 1.67}; // double BkgEl[5]={177.16, 27.98, 22.26, 24.94, 28.42}; // double BkgEl_err[5]={0.44, 0.23, 0.59, 0.26, 0.37}; // double BkgElSec[5]={0.004, 0.035, 0.052, 0.11, 0.17}; // double BkgElSec_err[5]={0.006, 0.004, 0.005, 0.01, 0.04}; // double BkgInel[5]={1.09, 1.79, 2.09, 3.38, 5.17}; // double BkgInel_err[5]={0.05, 0.09, 0.12, 0.08, 0.18}; // double BkgInelSec[5]={0.042, 0.017, 0.071, 0.078, 0.12}; // double BkgInelSec_err[5]={0.012, 0.009, 0.016, 0.011, 0.01}; // //[END] X&Y Cut ------------------------------------------------------- //M Cut -------------------------------------------------------------- double SigEl_noCut[5]={10963.6, 1364.94, 920.34, 1123.7, 1437.47}; double SigEl_err_noCut[5]={11.87,3.34,4.32,0.81,2.15}; double SigEl_XY[5]={10762.9, 1362.56, 889.38, 1120.98, 1437.25}; double SigEl_XY_err[5]={4.72, 2.65, 3.75, 2.13, 1.67}; double SigEl[5]={10708.2,1357.74, 888.04, 1118.6, 1434.35, }; double SigEl_err[5]={5.20,1.82, 2.66, 2.23, 1.70}; double BkgEl[5]={63.99, 15.20, 10.66, 11.70, 13.27, }; double BkgEl_err[5]={0.14,0.39, 0.24, 0.17, 0.27}; double BkgElSec[5]={0.004, 0.007, 0.008, 0.028, 0.054}; double BkgElSec_err[5]={0.006, 0.006, 0.011, 0.007, 0.019}; double BkgInel[5]={1.05, 0.88, 0.91, 1.55, 2.59}; double BkgInel_err[5]={0.06, 0.08, 0.05, 0.12, 0.17}; double BkgInelSec[5]={0.033, 0.002, 0.019, 0.014, 0.034}; double BkgInelSec_err[5]={0.016, 0.004, 0.005, 0.005, 0.005}; //[END] M Cut ------------------------------------------------------- double BkgTOT[nPoints]; double BkgTOT_err[nPoints]; // double Eff[5]; double Eff_err[5]; // double Eff_noCut[5]; double Eff_err_noCut[5]; // // double SigEl[5]={9563.84,1355.74,898.96,1119.26,1435.0}; // // double SigEl_err[5]={6.87,4.67,6.43,0.22,0.89}; // // double BkgEl[5]={ 2.80,15.64,10.66,11.80,13.47}; // // double BkgEl_err[5]={0.10,0.19,0.25,0.0059,0.13}; // // double BkgElSec[5]={0.0042,0.007,0.017, 0.021,0.035}; // // double BkgElSec_err[5]={0.0059,0.005,0.003,0.001,0.004}; for(int ip=0;ip (dz/z)^2 = (dx/x)^2+(dy/y)^2 => dz*y=sqrt(dx^2+(z*dy)^2) // Eff[ip] = 100.*SigEl[ip]/SigEl_noCut[ip]; // Eff_err[ip] = 100.*SigEl_err[ip]/SigEl_noCut[ip]; // Eff_noCut[ip] = 100.*SigEl_XY[ip]/SigEl_noCut[ip]; // Eff_err_noCut[ip] = 100.*SigEl_XY_err[ip]/SigEl_noCut[ip]; // // Eff_err[ip] = 100.*sqrt(SigEl_err[ip]*SigEl_err[ip]+Eff[ip]*Eff[ip]*SigEl_XY_err[ip]*SigEl_XY_err[ip])/SigEl_XY[ip]; BkgEl[ip] = 100.*BkgEl[ip]/SigEl[ip]; BkgEl_err[ip] = 100.*sqrt(BkgEl_err[ip]*BkgEl_err[ip]+BkgEl[ip]*BkgEl[ip]*SigEl_err[ip]*SigEl_err[ip])/SigEl[ip]; BkgElSec[ip] = 100.*BkgElSec[ip]/SigEl[ip]; BkgElSec_err[ip] = 100.*sqrt(BkgElSec_err[ip]*BkgElSec_err[ip]+BkgElSec[ip]*BkgElSec[ip]*SigEl_err[ip]*SigEl_err[ip])/SigEl[ip]; BkgInel[ip] = 100.*BkgInel[ip]/SigEl[ip]; BkgInel_err[ip] =100.*sqrt(BkgInel_err[ip]*BkgInel_err[ip]+BkgInel[ip]*BkgInel[ip]*SigEl_err[ip]*SigEl_err[ip])/SigEl[ip]; BkgInelSec[ip] = 100.*BkgInelSec[ip]/SigEl[ip]; BkgInelSec_err[ip] = 100.*sqrt(BkgInelSec_err[ip]*BkgInelSec_err[ip]+BkgInelSec[ip]*BkgInelSec[ip]*SigEl_err[ip]*SigEl_err[ip])/SigEl[ip]; BkgTOT[ip] = BkgEl[ip]+BkgElSec[ip]+BkgInel[ip]+BkgInelSec[ip]; BkgTOT_err[ip] = sqrt(BkgEl_err[ip]*BkgEl_err[ip]+BkgElSec_err[ip]*BkgElSec_err[ip]+BkgInel_err[ip]*BkgInel_err[ip]+BkgInelSec_err[ip]*BkgInelSec_err[ip]); cout<<"TOT @"<SetMarkerColor(kOrange+7); // gr_Sig->SetMarkerSize(2.); // gr_Sig->SetMarkerStyle(20); // // gr_Sig->Draw("AP"); // TGraphErrors *gr_Sig_noCut = new TGraphErrors(nPoints,Pbeam,Eff_noCut,0,Eff_err_noCut); // gr_Sig_noCut->SetMarkerColor(kOrange+1); // gr_Sig_noCut->SetMarkerSize(2.); // gr_Sig_noCut->SetMarkerStyle(20); // TMultiGraph *mgr = new TMultiGraph(); // mgr->Add(gr_Sig); // mgr->Add(gr_Sig_noCut); // mgr->Draw("AP"); // TLegend *leg = new TLegend(0.45,0.2,0.95,0.55); // leg->SetHeader("Signal efficiency"); // leg->SetTextAlign(12); // leg->SetTextSize(0.04); // leg->SetFillColor(0); // // leg->AddEntry(gr_Sig,"Signal","ep"); // leg->AddEntry(gr_Sig_noCut,"after X&Y cut","ep"); // leg->AddEntry(gr_Sig,"after M cut","ep"); // leg->Draw(); // // gr_Sig_noCut->Draw("AP"); TGraphErrors *gr_BkgTot = new TGraphErrors(nPoints,Pbeam,BkgTOT,0,BkgTOT_err); gr_BkgTot->SetMarkerColor(1); gr_BkgTot->SetMarkerSize(2.); gr_BkgTot->SetMarkerStyle(20); TGraphErrors *gr_BkgEl = new TGraphErrors(nPoints,Pbeam,BkgEl,0,BkgEl_err); gr_BkgEl->SetMarkerColor(kRed+1); gr_BkgEl->SetMarkerSize(2.); gr_BkgEl->SetMarkerStyle(21); TGraphErrors *gr_BkgElSec = new TGraphErrors(nPoints,Pbeam,BkgElSec,0,BkgElSec_err); gr_BkgElSec->SetMarkerColor(kRed-7); gr_BkgElSec->SetMarkerSize(2.); gr_BkgElSec->SetMarkerStyle(21); TGraphErrors *gr_BkgInel = new TGraphErrors(nPoints,Pbeam,BkgInel,0,BkgInel_err); gr_BkgInel->SetMarkerColor(kGreen+4); gr_BkgInel->SetMarkerSize(2.); gr_BkgInel->SetMarkerStyle(21); TGraphErrors *gr_BkgInelSec = new TGraphErrors(nPoints,Pbeam,BkgInelSec,0,BkgInelSec_err); gr_BkgInelSec->SetMarkerColor(kGreen-2); gr_BkgInelSec->SetMarkerSize(2.); gr_BkgInelSec->SetMarkerStyle(21); TMultiGraph *mgr = new TMultiGraph(); //mgr->Add(gr_Sig); mgr->Add(gr_BkgEl); mgr->Add(gr_BkgElSec); mgr->Add(gr_BkgInel); mgr->Add(gr_BkgInelSec); mgr->Add(gr_BkgTot); mgr->Draw("AP"); mgr->GetXaxis()->SetTitle("P_{beam}, GeV/c"); mgr->GetYaxis()->SetTitle("N_{bkg}/N_{sig}, %"); TLegend *leg = new TLegend(0.45,0.2,0.95,0.55); leg->SetHeader("Bkg with M cut"); leg->SetTextAlign(12); leg->SetTextSize(0.04); leg->SetFillColor(0); // leg->AddEntry(gr_Sig,"Signal","ep"); leg->AddEntry(gr_BkgEl,"elastic","ep"); leg->AddEntry(gr_BkgElSec,"secondaries from elastic","ep"); leg->AddEntry(gr_BkgInel,"inelastic","ep"); leg->AddEntry(gr_BkgInelSec,"secondaries from inelastic","ep"); leg->AddEntry(gr_BkgTot,"Total","ep"); leg->Draw(); // // leg->SetHeader("The Legend Title"); }