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
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
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 }