Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-10-15 08:20:49

0001 #include "../corrections/EfficiencyCorrection.h"
0002 #include "../corrections/TrivialLambdaFeedDownCorrection.h"
0003 #include "../corrections/LambdaFeedDownCorrection.h"
0004 #include "../corrections/GeoAcceptanceCorrection.h"
0005 #include "../corrections/TrivialEfficiencyCorrection.h"
0006 #include "../corrections/CutEfficiencyCorrection.h"
0007 
0008 #include "ResonanceRatio.h"
0009 
0010 #include "../config/cuts.h"
0011 #include "../config/binning.h"
0012 
0013 void Lambda_Kshort_ratio_data_binned()
0014 {
0015   TFile* lambda_file = TFile::Open("/sphenix/user/mjpeters/analysis/LightFlavorRatios/mass_histograms/Lambda_data.root");
0016   TFile* Ks_file = TFile::Open("/sphenix/user/mjpeters/analysis/LightFlavorRatios/mass_histograms/Kshort_data.root");
0017 
0018   //TFile* lambda_file = TFile::Open("/sphenix/tg/tg01/hf/mjpeters/lambdaKshortMB/lambdaKshort_20260422_DetroitMB_CR_2_mode_pTref_1p4/ppi_reco/merged_lambda.root");
0019   //TFile* Ks_file = TFile::Open("/sphenix/tg/tg01/hf/mjpeters/lambdaKshortMB/lambdaKshort_20260422_DetroitMB_CR_2_mode_pTref_1p4/pipi_reco/merged_kshort.root");
0020 
0021   //TFile* lambda_file = TFile::Open("/gpfs/mnt/gpfs02/sphenix/user/cdean/software/analysis/LightFlavorRatios/geometric_acceptance/simulation/outputKFParticle_Lambda2ppi_reco_Usman_patch.root");
0022   //TFile* Ks_file = TFile::Open("/gpfs/mnt/gpfs02/sphenix/user/cdean/software/analysis/LightFlavorRatios/geometric_acceptance/simulation/outputKFParticle_Kshort2pipi_reco_Usman_patch.root");
0023 
0024   //TFile* Ks_file = TFile::Open("/sphenix/tg/tg01/hf/cdean/LF_analysis/data_nTuples/output_Kshort_run3pp_looseCuts_20260608.root");
0025   //TFile* lambda_file = TFile::Open("/sphenix/tg/tg01/hf/cdean/LF_analysis/data_nTuples/output_Lambda0_run3pp_looseCuts_20260608.root");
0026 
0027   //TFile* Ks_file = TFile::Open("/sphenix/tg/tg01/hf/aopatton/SVLooseJun4/6RunsCombinedKShortSVLoose.root");
0028   //TFile* lambda_file = TFile::Open("/sphenix/tg/tg01/hf/aopatton/SVLooseJun4/6RunsCombinedLambdaSVLoose.root");
0029 
0030   //TFile* Ks_file = TFile::Open("/sphenix/tg/tg01/hf/mjpeters/LightFlavorResults/KShort6RunCombined.root");
0031   //TFile* lambda_file = TFile::Open("/sphenix/tg/tg01/hf/mjpeters/LightFlavorResults/Lambda6RunCombined.root");
0032 
0033   //TFile* Ks_file = TFile::Open("/sphenix/tg/tg01/hf/mjpeters/LightFlavorResults/Kshort_3runs.root");
0034   //TFile* lambda_file = TFile::Open("/sphenix/tg/tg01/hf/mjpeters/LightFlavorResults/Lambda_3runs.root");
0035 
0036   //TTree* Ks_tree = (TTree*)Ks_file->Get("DecayTree");
0037   //TTree* lambda_tree = (TTree*)lambda_file->Get("DecayTree");
0038 
0039   TH1F* integrated_lambda_mass = (TH1F*)lambda_file->Get("Lambda0_mass");
0040   TH1F* integrated_kshort_mass = (TH1F*)Ks_file->Get("K_S0_mass");
0041 
0042   std::vector<HistogramInfo> diff_variables =
0043   {
0044     BinInfo::final_pt_bins,
0045     BinInfo::final_eta_bins,
0046     BinInfo::final_rapidity_bins,
0047     BinInfo::final_phi_bins,
0048   };
0049 
0050   HistogramInfo Ks_massbins = BinInfo::K_S0_data_mass_bins;
0051   HistogramInfo Lambda_massbins = BinInfo::Lambda0_data_mass_bins;
0052 
0053   CutSettings Ks_cuts = StandardCuts::data_K_S0_cuts;
0054   CutSettings Lambda_cuts = StandardCuts::data_Lambda0_cuts;
0055 
0056   std::vector<DifferentialContainer> diff_lambda_data;
0057   std::vector<DifferentialContainer> diff_ks_data;
0058 
0059   for(HistogramInfo& hinfo : diff_variables)
0060   {
0061     diff_lambda_data.push_back(DifferentialContainer(lambda_file,"Lambda0",Lambda_massbins,hinfo));
0062     diff_ks_data.push_back(DifferentialContainer(Ks_file,"K_S0",Ks_massbins,hinfo));
0063   }
0064   
0065   std::string Ks_cutstring = generate_selection_cutstring(Ks_cuts,diff_variables);
0066   std::string Lambda_cutstring = generate_selection_cutstring(Lambda_cuts,diff_variables);
0067 
0068   std::string fd_filename = "/sphenix/tg/tg01/hf/hjheng/HF-analysis/simulation/Pythia_ppMinBias/cascade_feeddown/Cascade_feeddown_fraction.root";
0069   std::string geoacc_filename = "/sphenix/tg/tg01/hf/mjpeters/LightFlavorProduction/geometricAcceptanceCorrection/corrections/geo_acceptance_inclusive.root";
0070   std::string cuteff_filename = "/sphenix/tg/tg01/hf/mjpeters/LightFlavorProduction/cutEfficiencyCorrection/cut_efficiency_correction.root";
0071 
0072   std::vector<std::vector<std::shared_ptr<CorrectionHistogram1D>>> corrections(diff_variables.size());
0073   // pT
0074   corrections[0].push_back(std::make_shared<LambdaFeedDownCorrection>(fd_filename,"h_feeddown_frac_xi_all"));
0075   corrections[0].push_back(std::make_shared<EfficiencyCorrection>());
0076   corrections[0].push_back(std::make_shared<GeoAcceptanceCorrection>(geoacc_filename,"Lambda0_over_K_S0_geo_acceptance_correction_vspT"));
0077   corrections[0].push_back(std::make_shared<CutEfficiencyCorrection>(cuteff_filename,"Lambda0_over_K_S0_cuteff_correction_vspT"));
0078 
0079 
0080   // eta
0081   corrections[1].push_back(std::make_shared<LambdaFeedDownCorrection>(fd_filename,"h_feeddown_frac_xi_eta_all"));
0082   corrections[1].push_back(std::make_shared<TrivialEfficiencyCorrection>("a2"));
0083   corrections[1].push_back(std::make_shared<GeoAcceptanceCorrection>(geoacc_filename,"Lambda0_over_K_S0_geo_acceptance_correction_vspseudorapidity"));
0084   corrections[1].push_back(std::make_shared<CutEfficiencyCorrection>(cuteff_filename,"Lambda0_over_K_S0_cuteff_correction_vspseudorapidity"));
0085 
0086   // rapidity
0087   corrections[2].push_back(std::make_shared<LambdaFeedDownCorrection>(fd_filename,"h_feeddown_frac_xi_rapidity_all"));
0088   corrections[2].push_back(std::make_shared<TrivialEfficiencyCorrection>("a3"));
0089   corrections[2].push_back(std::make_shared<GeoAcceptanceCorrection>(geoacc_filename,"Lambda0_over_K_S0_geo_acceptance_correction_vsrapidity"));
0090   corrections[2].push_back(std::make_shared<CutEfficiencyCorrection>(cuteff_filename,"Lambda0_over_K_S0_cuteff_correction_vsrapidity"));
0091 
0092   // phi
0093   corrections[3].push_back(std::make_shared<LambdaFeedDownCorrection>(fd_filename,"h_feeddown_frac_xi_phi_all"));
0094   corrections[3].push_back(std::make_shared<TrivialEfficiencyCorrection>("a4"));
0095   corrections[3].push_back(std::make_shared<GeoAcceptanceCorrection>(geoacc_filename,"Lambda0_over_K_S0_geo_acceptance_correction_vsphi"));
0096   corrections[3].push_back(std::make_shared<CutEfficiencyCorrection>(cuteff_filename,"Lambda0_over_K_S0_cuteff_correction_vsphi"));
0097 
0098 
0099   TFile* fout = new TFile("fits.root","RECREATE");
0100 
0101   ResonanceRatio analyzer(3122,"Lambda0","(#Lambda^{0}+#bar{#Lambda^{0}})",
0102                           310,"K_S0","K_{S}^{0}",
0103                           Lambda_massbins,Ks_massbins,Lambda_cuts,Ks_cuts,
0104                           fout,"lambdaKsratio","(#Lambda^{0}+#bar{#Lambda^{0}})/2K_{S}^{0} ratio",1./2.,false,
0105                           diff_variables,corrections);
0106 
0107   analyzer.calculate_ratios_binned(integrated_lambda_mass,diff_lambda_data,integrated_kshort_mass,diff_ks_data);
0108 }