Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:12:39

0001 #include "../Constants.cpp"
0002 
0003 TGraphAsymmErrors * GetPHOBOSData(string PHOBOS_directory, string PHOBOS_filename)
0004 {
0005     ifstream PHOBOS_file(Form("%s/%s",PHOBOS_directory.c_str(),PHOBOS_filename.c_str()));
0006     if(!PHOBOS_file.is_open())
0007     {
0008         cout<<"Error: PHOBOS file not found!"<<endl;
0009         return nullptr;
0010     }
0011 
0012     TGraphAsymmErrors * PHOBOS_data = new TGraphAsymmErrors();
0013     PHOBOS_data -> SetTitle("PHOBOS_data;#eta;dN_{ch}/d#eta");
0014 
0015     std::string line;
0016     while (std::getline(PHOBOS_file, line)) {
0017         // Ignore lines that start with '#' or '&'
0018         if (line.empty() || line[0] == '#' || line[0] == '&') continue;
0019 
0020         std::istringstream iss(line);
0021         double eta;
0022         double dNdEta; 
0023         double err_plus; 
0024         double err_neg;
0025         
0026         if (iss >> eta >> dNdEta >> err_plus >> err_neg) {
0027             PHOBOS_data -> SetPoint(PHOBOS_data -> GetN(), eta, dNdEta);
0028             PHOBOS_data -> SetPointError(PHOBOS_data -> GetN()-1, 0, 0, fabs(err_neg), err_plus);
0029 
0030             std::cout<<eta<<" "<<dNdEta<<" "<<err_plus<<" "<<err_neg<<std::endl;
0031 
0032             // eta.push_back(eta);
0033             // dN_dEta.push_back(dNdEta);
0034             // err_plus.push_back(err_plus);
0035             // err_minus.push_back(err_neg);
0036         }
0037     }
0038 
0039     PHOBOS_file.close();
0040 
0041     PHOBOS_data -> SetMarkerStyle(21);
0042     PHOBOS_data -> SetMarkerSize(1);
0043     PHOBOS_data -> SetMarkerColor(2);
0044     PHOBOS_data -> SetFillColorAlpha(45,0.5);
0045     PHOBOS_data -> SetLineColorAlpha(1,0);
0046     PHOBOS_data -> SetLineWidth(0);
0047     PHOBOS_data -> GetXaxis() -> SetLimits(-2.7,2.7);
0048 
0049 
0050     return PHOBOS_data;
0051 
0052 }
0053 
0054 int MakePlot_WithPHOBOS(int Mbin = 0)
0055 {
0056     // int Mbin = 0;
0057 
0058     string PHOBOS_directory = "/sphenix/tg/tg01/commissioning/INTT/work/cwshih/DataPoint_PHOBOS-PhysRevC.83.024913";
0059     string PHOBOS_filename = Form("AuAu_200GeV_Centrality_%s.txt",Constants::centrality_text[Mbin].c_str());
0060 
0061     string sPHENIX_directory = Form("/sphenix/tg/tg01/commissioning/INTT/work/cwshih/seflgendata/run_54280_HR_Feb102025/Run6_EvtZFitWidthChange/EvtVtxZ/FinalResult_10cm_Pol2BkgFit/completed/vtxZ_-10_10cm_MBin%d/Final_Mbin%d_00054280",Mbin,Mbin); 
0062     string sPHENIX_filename = Form("Final_Mbin%d_00054280.root", Mbin);
0063     string sPHENIX_gr_name = "gE_dNdEta_reco";
0064 
0065 
0066     string sPHENIX2_directory = Form("/sphenix/tg/tg01/commissioning/INTT/work/cwshih/seflgendata/run_54280_HR_Feb102025/Run6_EvtZFitWidthChange/EvtVtxZ/FinalResult_Nominal0Adc/completed/vtxZ_-10_10cm_MBin%d/Final_Mbin%d_00054280",Mbin,Mbin); 
0067     string sPHENIX2_filename = Form("Final_Mbin%d_00054280.root", Mbin);
0068     string sPHENIX2_gr_name = "gE_dNdEta_reco";
0069 
0070     std::string output_directory = "/sphenix/tg/tg01/commissioning/INTT/work/cwshih/seflgendata/run_54280_HR_Feb102025/Run6_EvtZFitWidthChange/EvtVtxZ/FinalResult_10cm_Pol2BkgFit/completed/comp_PHOBOS";
0071 
0072     TFile * sPHENIX_file = TFile::Open(Form("%s/%s",sPHENIX_directory.c_str(),sPHENIX_filename.c_str()));
0073     TGraphErrors * sPHENIX_data = (TGraphErrors*)sPHENIX_file -> Get(sPHENIX_gr_name.c_str());
0074     sPHENIX_data -> GetYaxis() -> SetRangeUser(0, Constants::centrality_Hist_Ymax[Mbin]);
0075     sPHENIX_data -> SetMarkerStyle(20);
0076     sPHENIX_data -> SetMarkerSize(1);
0077     sPHENIX_data -> SetMarkerColor(1);
0078     sPHENIX_data -> SetFillColorAlpha(1,0.5);
0079     sPHENIX_data -> SetLineColorAlpha(1,0);
0080     sPHENIX_data -> SetLineWidth(0);
0081     sPHENIX_data -> GetXaxis() -> SetLimits(-2.7,2.7);
0082 
0083     TFile * sPHENIX2_file = TFile::Open(Form("%s/%s",sPHENIX2_directory.c_str(),sPHENIX2_filename.c_str()));
0084     TGraphErrors * sPHENIX2_data = (TGraphErrors*)sPHENIX2_file -> Get(sPHENIX2_gr_name.c_str());
0085     sPHENIX2_data -> GetYaxis() -> SetRangeUser(0, Constants::centrality_Hist_Ymax[Mbin]);
0086     sPHENIX2_data -> SetMarkerStyle(20);
0087     sPHENIX2_data -> SetMarkerSize(1);
0088     sPHENIX2_data -> SetMarkerColor(4);
0089     sPHENIX2_data -> SetFillColorAlpha(4,0.5);
0090     sPHENIX2_data -> SetLineColorAlpha(1,0);
0091     sPHENIX2_data -> SetLineWidth(0);
0092     sPHENIX2_data -> GetXaxis() -> SetLimits(-2.7,2.7);
0093 
0094     
0095 
0096     TCanvas * c = new TCanvas("c","c",800,600);
0097     
0098 
0099     // PHOBOS_data -> Draw("E3 same");
0100     // PHOBOS_data -> Draw("P same");  
0101 
0102     if (Mbin < 11)
0103     {
0104         TGraphAsymmErrors * PHOBOS_data = GetPHOBOSData(PHOBOS_directory, PHOBOS_filename);
0105         PHOBOS_data -> GetYaxis() -> SetRangeUser(0, Constants::centrality_Hist_Ymax[Mbin]);
0106 
0107         PHOBOS_data -> Draw("AE3");
0108         PHOBOS_data -> Draw("P same");  
0109 
0110         sPHENIX_data -> Draw("P2 same");
0111         sPHENIX2_data -> Draw("P2 same");
0112     }
0113     else 
0114     {
0115         sPHENIX_data -> Draw("AP2");
0116         sPHENIX2_data -> Draw("P2 same");
0117     
0118     }
0119 
0120 
0121 
0122 
0123 
0124     c->Print(Form("%s/sPHENIX_vs_PHOBOS_Mbin%d.pdf",output_directory.c_str(),Mbin));
0125 
0126     return 888;
0127 }