Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-04-07 08:08:28

0001 void read_average_bin(const std::string &production_date = "01312026",
0002                       const std::string &selection_label = "MBD_INCOMPLETE",
0003                       const std::string &inputfolder_mass = "",
0004                       const std::string &inputfolder_analysis = "",
0005                       const std::string &outputfolder_csv = "")
0006 {
0007   std::string inputfilename = inputfolder_analysis + "/analysis_complete_ana509_" + production_date + "_" + selection_label + ".root";
0008   std::string output_csv_pt_name = outputfolder_csv + "/input_pt_mean_" + production_date + "_" + selection_label + ".csv";
0009   std::string output_csv_eta_name = outputfolder_csv + "/input_eta_mean_" + production_date + "_" + selection_label + ".csv";
0010   std::string output_csv_xf_name = outputfolder_csv + "/input_xf_mean_" + production_date + "_" + selection_label + ".csv";
0011 
0012   const int nPtBins = 9;
0013   const int nEtaBins = 8;
0014   const int nXfBins = 8;
0015 
0016   TFile *inputfile = TFile::Open(inputfilename.c_str());
0017 
0018   TH1F *h_average_pt_pi0 = (TH1F*) inputfile->Get("h_average_pt_pi0");
0019   TH1F *h_average_pt_eta = (TH1F*) inputfile->Get("h_average_pt_eta");
0020   TH1F *h_norm_pt_pi0 = (TH1F*) inputfile->Get("h_norm_pt_pi0");
0021   TH1F *h_norm_pt_eta = (TH1F*) inputfile->Get("h_norm_pt_eta");
0022   TH1F *h_average_eta_pi0 = (TH1F*) inputfile->Get("h_average_eta_pi0");
0023   TH1F *h_average_eta_eta = (TH1F*) inputfile->Get("h_average_eta_eta");
0024   TH1F *h_norm_eta_pi0 = (TH1F*) inputfile->Get("h_norm_eta_pi0");
0025   TH1F *h_norm_eta_eta = (TH1F*) inputfile->Get("h_norm_eta_eta");
0026   TH1F *h_average_xf_pi0 = (TH1F*) inputfile->Get("h_average_xf_pi0");
0027   TH1F *h_average_xf_eta = (TH1F*) inputfile->Get("h_average_xf_eta");
0028   TH1F *h_norm_xf_pi0 = (TH1F*) inputfile->Get("h_norm_xf_pi0");
0029   TH1F *h_norm_xf_eta = (TH1F*) inputfile->Get("h_norm_xf_eta");
0030 
0031   std::ofstream output_csv_pt;
0032   output_csv_pt.open(output_csv_pt_name);
0033   for (int i=1; i< nPtBins; i++) {
0034     double ratio = h_average_pt_pi0->GetBinContent(i) / h_norm_pt_pi0->GetBinContent(i);
0035     output_csv_pt << ratio << ", ";
0036   }
0037   output_csv_pt << h_average_pt_pi0->GetBinContent(nPtBins) / h_norm_pt_pi0->GetBinContent(nPtBins) << "\n";
0038   for (int i=1; i< nPtBins; i++) {
0039     double ratio = h_average_pt_eta->GetBinContent(i) / h_norm_pt_eta->GetBinContent(i);
0040     output_csv_pt << ratio << ", ";
0041   }
0042   output_csv_pt << h_average_pt_eta->GetBinContent(nPtBins) / h_norm_pt_eta->GetBinContent(nPtBins) << "\n";
0043   output_csv_pt.close();
0044 
0045   // Make the bins symmetric
0046   // std::ofstream output_csv_eta;
0047   // output_csv_eta.open(output_csv_eta_name);
0048   // for (int i=1; i< nEtaBins; i++) {
0049   //   double ratio = h_average_eta_pi0->GetBinContent(i) / h_norm_eta_pi0->GetBinContent(i);
0050   //   output_csv_eta << ratio << ", ";
0051   // }
0052   // output_csv_eta << (h_average_eta_pi0->GetBinContent(nEtaBins) / h_norm_eta_pi0->GetBinContent(nEtaBins)) << "\n";
0053   // for (int i=1; i< nEtaBins; i++) {
0054   //   double ratio = h_average_eta_eta->GetBinContent(i) / h_norm_eta_eta->GetBinContent(i);
0055   //   output_csv_eta << ratio << ", ";
0056   // }
0057   // output_csv_eta << (h_average_eta_eta->GetBinContent(nEtaBins) / h_norm_eta_eta->GetBinContent(nEtaBins)) << "\n";
0058   // output_csv_eta.close();
0059 
0060   // std::ofstream output_csv_xf;
0061   // output_csv_xf.open(output_csv_xf_name);
0062   // for (int i=1; i< nXfBins; i++) {
0063   //   double ratio = h_average_xf_pi0->GetBinContent(i) / h_norm_xf_pi0->GetBinContent(i);
0064   //   output_csv_xf << ratio << ", ";
0065   // }
0066   // output_csv_xf << (h_average_xf_pi0->GetBinContent(nXfBins) / h_norm_xf_pi0->GetBinContent(nXfBins)) << "\n";
0067   // for (int i=1; i< nXfBins; i++) {
0068   //   double ratio = h_average_xf_eta->GetBinContent(i) / h_norm_xf_eta->GetBinContent(i);
0069   //   output_csv_xf << ratio << ", ";
0070   // }
0071   // output_csv_xf << (h_average_xf_eta->GetBinContent(nXfBins) / h_norm_xf_eta->GetBinContent(nXfBins)) << "\n";
0072   // output_csv_xf.close();
0073 
0074 
0075   std::ofstream output_csv_eta;
0076   output_csv_eta.open(output_csv_eta_name);
0077   for (int i=1; i< nEtaBins; i++) {
0078     double ratio = (h_average_eta_pi0->GetBinContent(i) - h_average_eta_pi0->GetBinContent(nEtaBins+1-i)) / (h_norm_eta_pi0->GetBinContent(i) + h_norm_eta_pi0->GetBinContent(nEtaBins+1-i));
0079     output_csv_eta << ratio << ", ";
0080   }
0081   output_csv_eta << ((h_average_eta_pi0->GetBinContent(nEtaBins) - h_average_eta_pi0->GetBinContent(1)) / (h_norm_eta_pi0->GetBinContent(nEtaBins) + h_norm_eta_pi0->GetBinContent(1))) << "\n";
0082   for (int i=1; i< nEtaBins; i++) {
0083     double ratio = (h_average_eta_eta->GetBinContent(i) - h_average_eta_eta->GetBinContent(nEtaBins+1-i)) / (h_norm_eta_eta->GetBinContent(i) + h_norm_eta_eta->GetBinContent(nEtaBins+1-i));
0084     output_csv_eta << ratio << ", ";
0085   }
0086   output_csv_eta << ((h_average_eta_eta->GetBinContent(nEtaBins) - h_average_eta_eta->GetBinContent(1)) / (h_norm_eta_eta->GetBinContent(nEtaBins) + h_norm_eta_eta->GetBinContent(1))) << "\n";
0087   output_csv_eta.close();
0088 
0089   std::ofstream output_csv_xf;
0090   output_csv_xf.open(output_csv_xf_name);
0091   for (int i=1; i< nXfBins; i++) {
0092     double ratio = (h_average_xf_pi0->GetBinContent(i) - h_average_xf_pi0->GetBinContent(nXfBins+1-i)) / (h_norm_xf_pi0->GetBinContent(i) + h_norm_xf_pi0->GetBinContent(nXfBins+1-i));
0093     output_csv_xf << ratio << ", ";
0094   }
0095   output_csv_xf << ((h_average_xf_pi0->GetBinContent(nXfBins) - h_average_xf_pi0->GetBinContent(1)) / (h_norm_xf_pi0->GetBinContent(nXfBins) + h_norm_xf_pi0->GetBinContent(1))) << "\n";
0096   for (int i=1; i< nXfBins; i++) {
0097     double ratio = (h_average_xf_eta->GetBinContent(i) - h_average_xf_eta->GetBinContent(nXfBins+1-i)) / (h_norm_xf_eta->GetBinContent(i) + h_norm_xf_eta->GetBinContent(nXfBins+1-i));
0098     output_csv_xf << ratio << ", ";
0099   }
0100   output_csv_xf << ((h_average_xf_eta->GetBinContent(nXfBins) - h_average_xf_eta->GetBinContent(1)) / (h_norm_xf_eta->GetBinContent(nXfBins) + h_norm_xf_eta->GetBinContent(1))) << "\n";
0101   output_csv_xf.close();
0102   
0103   gSystem->Exit(0);
0104 }