Skip to content
Snippets Groups Projects
PlotYieldEvolution.C 1.68 KiB
Newer Older
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;