double extr_cs(double *x, double *par){ //a = par[0], b = par[1], c = par[2] double mom = x[0]; double cs = par[0]*TMath::Exp(-par[1]*mom)+par[2]/mom; return cs; } void AllarecFunc(){ TF1 *fpiplpimnpi0 = new TF1("pipl_pimn_pi0",extr_cs,0.01,35,3); fpiplpimnpi0->SetParameters(6.1,1.99,1.41); fpiplpimnpi0->SetParNames("a","b","c"); fpiplpimnpi0->SetLineColor(2); fpiplpimnpi0->SetLineWidth(3); fpiplpimnpi0->Draw(); TF1 *f2pipl2pimn = new TF1("2pipl_2pimn",extr_cs,0.01,35,3); f2pipl2pimn->SetParameters(7.05,0.727,0.24); f2pipl2pimn->SetParNames("a","b","c"); f2pipl2pimn->SetLineColor(8); f2pipl2pimn->SetLineWidth(3); f2pipl2pimn->Draw("same"); TF1 *f3pipl3pimn = new TF1("3pipl_3pimn",extr_cs,0.01,35,3); f3pipl3pimn->SetParameters(-10.58,1.949,2.654); f3pipl3pimn->SetParNames("a","b","c"); f3pipl3pimn->SetLineColor(kYellow-8); f3pipl3pimn->SetLineWidth(3); f3pipl3pimn->Draw("same"); TF1 *f2pipl2pimnpi0 = new TF1("2pipl_2pimn_pi0",extr_cs,0.01,35,3); f2pipl2pimnpi0->SetParameters(26.14,0.599,0.26); f2pipl2pimnpi0->SetParNames("a","b","c"); f2pipl2pimnpi0->SetLineColor(9); f2pipl2pimnpi0->SetLineWidth(3); f2pipl2pimnpi0->Draw("same"); // TLegend *leg = new TLegend(0.7,0.7,0.95,0.95); // leg->SetFillColor(0); // leg->AddEntry("pipl_pimn_pi0","#pi^{-}#pi^{0}#pi^{+}","l"); // leg->AddEntry("2pipl_2pimn","2#pi^{-}2#pi^{+}","l"); // leg->AddEntry("3pipl_3pimn","3#pi^{-}3#pi^{+}","l"); // leg->AddEntry("2pipl_2pimn_pi0","2#pi^{-}#pi^{0}2#pi^{+}","l"); // leg->Draw(); Double_t cs_piplpimnpi0_1_5 = fpiplpimnpi0->Eval(1.5); Double_t cs_piplpimnpi0_15 = fpiplpimnpi0->Eval(15); cout<<"for pi^{-}pi^{0}pi^{+} cs(1.5) = "<SetMarkerStyle(21); grpiplpimnpi0_dpm->SetMarkerColor(2); grpiplpimnpi0_dpm->SetMarkerSize(2); grpiplpimnpi0_dpm->Draw("P"); double pmom_2pipl2pimn[]={0.943,1.11,1.176,1.33,1.52,1.61,1.9,2.5,3.28,5.7,5.7, 6.94,0.374,0.4112,0.4399,0.4408,0.4678,0.4906,0.5047,0.5089, 0.5259,0.5432,0.5585,0.5684,0.5965,0.615,0.6396,0.6581,0.6801,2.32, 8.8}; double cs_2pipl2pimn[]={3.6,3.67 , 2.9 , 3 , 2.49 , 1.4 , 1.8 , 1.35 , 0.8 ,0.173 , 0.11 , 0.054,6.25 ,6.98 , 5.82 , 5.16 , 5.56 ,5.7 ,4.74 ,4.87, 5.58, 4.43,4.79,4.91,4.69,4.76,4.67,4.86,4.76,1.49,0.046 }; double cs_err_2pipl2pimn[]={ 0.4, 0.21, 0.2,0.12, 0.19, 0.3, 0.1, 0.1, 0.1, 0.016, 0.03, 0.02, 0.37, 0.39, 0.35, 0.37,0.37,0.38,0.35,0.33,0.37,0.31,0.32,0.29,0.27,0.28,0.27,0.28,0.26,0.09,0.008}; TGraphErrors *gr2pipl2pimn = new TGraphErrors(30,pmom_2pipl2pimn,cs_2pipl2pimn,0,cs_err_2pipl2pimn); gr2pipl2pimn->SetMarkerStyle(20); gr2pipl2pimn->SetMarkerColor(8); gr2pipl2pimn->SetMarkerSize(1.5); gr2pipl2pimn->Draw("P"); double cs_2pipl2pimn_dpm[]={3.82683, 7.5591*1e-3}; double cs_err_2pipl2pimn_dpm[]={0.00822558,0.231196*1e-3}; TGraphErrors *gr2pipl2pimn_dpm = new TGraphErrors(2,pmom_dpm,cs_2pipl2pimn_dpm,0,cs_err_2pipl2pimn_dpm); gr2pipl2pimn_dpm->SetMarkerStyle(21); gr2pipl2pimn_dpm->SetMarkerColor(8); gr2pipl2pimn_dpm->SetMarkerSize(2); gr2pipl2pimn_dpm->Draw("P"); double pmom_3pipl3pimn[]={1.61,3,3.28,3.59,5.7,5.7,6.94,6.94,0.403, 0.48,0.537,0.584,0.63,0.67,2.32,1.11,1.23,1.3, 1.36,1.44,8.8}; double cs_3pipl3pimn[]={1.16, 1.1, 0.9, 0.92, 0.26, 0.31, 0.216, 0.25, 1.68, 1.41, 1.29, 1.07, 1.12, 1.19, 1.14, 1.14, 1.14, 0.99, 1.15, 1.24, 0.14}; double cs_err_3pipl3pimn[]={0.1, 0.07, 0.1, 0.06, 0.06, 0.3, 0.35, 0.03, 0.11, 0.09, 0.09, 0.11, 0.09, 0.1, 0.08, 0.09, 0.14, 0.13, 0.17, 0.27, 0.014}; TGraphErrors *gr3pipl3pimn = new TGraphErrors(20,pmom_3pipl3pimn,cs_3pipl3pimn,0,cs_err_3pipl3pimn); gr3pipl3pimn->SetMarkerStyle(20); gr3pipl3pimn->SetMarkerColor(kYellow-8); gr3pipl3pimn->SetMarkerSize(1.5); gr3pipl3pimn->Draw("P"); double cs_3pipl3pimn_dpm[]={691.534*1e-3,46.8021*1e-3}; double cs_err_3pipl3pimn_dpm[]={2.05639*1e-3,0.291508*1e-3}; TGraphErrors *gr3pipl3pimn_dpm = new TGraphErrors(2,pmom_dpm,cs_3pipl3pimn_dpm,0,cs_err_3pipl3pimn_dpm); gr3pipl3pimn_dpm->SetMarkerStyle(21); gr3pipl3pimn_dpm->SetMarkerColor(kYellow-8); gr3pipl3pimn_dpm->SetMarkerSize(2); gr3pipl3pimn_dpm->Draw("P"); double pmom_2pipl2pimnpi0[]={1.11,1.176,1.33,1.52,1.61,2.5,3.28,5.7,5.7, 6.94,0.374,0.4112,0.4399,0.4408,0.4678,0.4906,0.5047, 0.5089,0.5259,0.5432,0.5585,0.5684,0.5965,0.615, 0.6396,0.6581, 0.6801, 2.32}; double cs_2pipl2pimnpi0[]={13.3, 13.6, 12.4, 10, 10.4, 6, 4.5, 0.75, 0.9, 0.42, 24, 21.6, 22.8, 20.9, 19, 22, 18.9, 18.6, 16.9, 17.9, 16.5, 16.9, 15.6, 17, 15.6, 16, 14.9, 6.02 }; double cs_err_2pipl2pimnpi0[]={0.37, 1, 0.22, 0.28, 1, 0.1 , 0.6, 0.11, 0.1, 0.1, 0.9, 0.9, 0.8, 1, 0.9, 1, 0.9, 0.8, 0.9, 0.9, 0.5, 0.4, 0.4, 0.4, 0.4, 0.6, 0.4}; TGraphErrors *gr2pipl2pimnpi0 = new TGraphErrors(27,pmom_2pipl2pimnpi0,cs_2pipl2pimnpi0,0,cs_err_2pipl2pimnpi0); gr2pipl2pimnpi0->SetMarkerStyle(20); gr2pipl2pimnpi0->SetMarkerColor(9); gr2pipl2pimnpi0->SetMarkerSize(1.5); gr2pipl2pimnpi0->Draw("P"); double cs_2pipl2pimnpi0_dpm[]={7.51252,58.7841*1e-3}; double cs_err_2pipl2pimnpi0_dpm[]={0.00292881,0.170884*1e-3}; TGraphErrors *gr2pipl2pimnpi0_dpm = new TGraphErrors(2,pmom_dpm,cs_2pipl2pimnpi0_dpm,0,cs_err_2pipl2pimnpi0_dpm); gr2pipl2pimnpi0_dpm->SetMarkerStyle(21); gr2pipl2pimnpi0_dpm->SetMarkerColor(9); gr2pipl2pimnpi0_dpm->SetMarkerSize(2); gr2pipl2pimnpi0_dpm->Draw("P"); // TLegend *leg = new TLegend(0.7,0.6,0.95,0.95); // leg->SetFillColor(0); // leg->AddEntry(grpiplpimnpi0,"#pi^{-}#pi^{0}#pi^{+} exp","pe"); // leg->AddEntry("pipl_pimn_pi0","#pi^{-}#pi^{0}#pi^{+} fit","l"); // leg->AddEntry(grpiplpimnpi0_dpm,"#pi^{-}#pi^{0}#pi^{+} DPM","pe"); // leg->AddEntry(gr2pipl2pimn,"2#pi^{-}2#pi^{+} exp","pe"); // leg->AddEntry("2pipl_2pimn","2#pi^{-}2#pi^{+} fit","l"); // leg->AddEntry(gr2pipl2pimn_dpm,"2#pi^{-}2#pi^{+} DPM","pe"); // leg->AddEntry(gr3pipl3pimn,"3#pi^{-}3#pi^{+} exp","pe"); // leg->AddEntry("3pipl_3pimn","3#pi^{-}3#pi^{+} fit","l"); // leg->AddEntry(gr3pipl3pimn_dpm,"3#pi^{-}3#pi^{+} DPM","pe"); // leg->AddEntry(gr2pipl2pimnpi0,"2#pi^{-}#pi^{0}2#pi^{+} exp","pe"); // leg->AddEntry("2pipl_2pimn_pi0","2#pi^{-}#pi^{0}2#pi^{+} fit","l"); // leg->AddEntry(gr2pipl2pimnpi0_dpm,"2#pi^{-}#pi^{0}2#pi^{+} DPM","pe"); // leg->Draw(); double shiftx = 0.55; double shifty = 0.4; TLegend *leg1 = new TLegend(0.7-shiftx,0.75-shifty,0.84-shiftx,0.95-shifty); leg1->SetHeader("#pi^{-}#pi^{+}#pi^{0}"); leg1->SetTextAlign(22); leg1->SetTextSize(0.04); leg1->SetFillColor(0); leg1->AddEntry(grpiplpimnpi0," exp","pe"); leg1->AddEntry("pipl_pimn_pi0"," fit","l"); leg1->AddEntry(grpiplpimnpi0_dpm," DPM","pe"); leg1->Draw(); TLegend *leg2 = new TLegend(0.85-shiftx,0.75-shifty,0.99-shiftx,0.95-shifty); leg2->SetHeader("2#pi^{-}2#pi^{+}"); leg2->SetTextAlign(22); leg2->SetTextSize(0.04); leg2->SetFillColor(0); leg2->AddEntry(gr2pipl2pimn," exp","pe"); leg2->AddEntry("2pipl_2pimn"," fit","l"); leg2->AddEntry(gr2pipl2pimn_dpm," DPM","pe"); leg2->Draw(); TLegend *leg3 = new TLegend(0.7-shiftx,0.54-shifty,0.84-shiftx,0.74-shifty); leg3->SetHeader("3#pi^{-}3#pi^{+}"); leg3->SetTextAlign(22); leg3->SetTextSize(0.04); leg3->SetFillColor(0); leg3->AddEntry(gr3pipl3pimn," exp","pe"); leg3->AddEntry("3pipl_3pimn"," fit","l"); leg3->AddEntry(gr3pipl3pimn_dpm," DPM","pe"); leg3->Draw(); TLegend *leg4 = new TLegend(0.85-shiftx,0.54-shifty,0.99-shiftx,0.74-shifty); leg4->SetHeader("2#pi^{-}2#pi^{+}#pi^{0}"); leg4->SetTextAlign(22); leg4->SetTextSize(0.04); leg4->SetFillColor(0); leg4->AddEntry(gr2pipl2pimnpi0," exp","pe"); leg4->AddEntry("2pipl_2pimn_pi0"," fit","l"); leg4->AddEntry(gr2pipl2pimnpi0_dpm," DPM","pe"); leg4->Draw(); }