TGraphErrors* GetGoodenYield(int A); ////////////////////////////////////////////////// void PlotYieldEvolution(int A_asked=132){ int Energy[11] = {6,7,8,9,10,11,12,13,14,15,16}; TGraphErrors* gevol = new TGraphErrors(); TGraphErrors* g_relative = new TGraphErrors(); for(int i = 0; i<10; i++){ ifstream ifile; string input_filename = "Mass_Yield_" + to_string(Energy[i]) + "MeV.dat"; ifile.open(input_filename.c_str()); int A; double yield; double yield_err; double Sn = 6.534; while(ifile>>A>>yield>>yield_err){ if(A==A_asked){ gevol->SetPoint(i,Energy[i]-Sn,1.*yield); gevol->SetPointError(i,0,yield_err); g_relative->SetPoint(i,Energy[i]-5.5,yield_err/yield); } } } TH2F* h2 = new TH2F("h2","h2",100,-1,10,100,1,10); TCanvas* c1 = new TCanvas("c1","c1",800,1600); c1->Divide(1,2); c1->cd(1); gevol->SetMarkerStyle(8); gevol->SetMarkerSize(1); h2->Draw(); gevol->Draw("psame"); if(A_asked==140 || A_asked==97 || A_asked==99 || A_asked==147 || A_asked==132 || A_asked==143){ TGraphErrors* ggooden = GetGoodenYield(A_asked); ggooden->Draw("psame"); } c1->cd(2); g_relative->SetMarkerStyle(8); g_relative->Draw("ap"); } ////////////////////////////////////////////////// TGraphErrors* GetGoodenYield(int A){ string filename = "gooden/mass_" + to_string(A) + ".dat"; ifstream ifile; ifile.open(filename.c_str()); double En; double Y; double Yerr; TGraphErrors* gerr = new TGraphErrors(); for(int i=0; i<8; i++){ ifile>>En>>Y>>Yerr; gerr->SetPoint(i,En,Y); gerr->SetPointError(i,0,Yerr); } gerr->SetMarkerStyle(22); gerr->SetMarkerColor(2); return gerr; }