Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #include "../config/binning.h"
0002 #include "../config/cuts.h"
0003 #include "PVSVUncertainty.h"
0004 
0005 void get_data_PVSVUncertainty(const std::string& numerator_infile = "/sphenix/tg/tg01/hf/mjpeters/LightFlavorProduction/bcoSkimmedDataSample/Lambda_run3pp_looseCuts_20260608_bco_skimmed.root",
0006                               const CutSettings& numerator_cuts = StandardCuts::data_Lambda0_cuts,
0007                               const std::string& denominator_infile = "/sphenix/tg/tg01/hf/mjpeters/LightFlavorProduction/bcoSkimmedDataSample/Kshort_run3pp_looseCuts_20260608_bco_skimmed.root",
0008                               const CutSettings& denominator_cuts = StandardCuts::data_K_S0_cuts,
0009                               const std::string& outfile = "/sphenix/tg/tg01/hf/mjpeters/LightFlavorProduction/cutEfficiencyCorrection/data_pvsv_uncertainty.root")
0010 {
0011   gROOT->SetBatch();
0012 
0013   TFile* f_numerator = TFile::Open(numerator_infile.c_str());
0014   TFile* f_denominator = TFile::Open(denominator_infile.c_str());
0015 
0016   TTree* t_numerator = (TTree*)f_numerator->Get("DecayTree");
0017   TTree* t_denominator = (TTree*)f_denominator->Get("DecayTree");
0018 
0019   TFile* f_out = new TFile(outfile.c_str(),"RECREATE");
0020   PVSVUncertainty pvsv_numerator(numerator_cuts.mother_name,numerator_cuts.mother_name,300,0.,0.05);
0021   PVSVUncertainty pvsv_denominator(denominator_cuts.mother_name,denominator_cuts.mother_name,300,0.,0.05);
0022 
0023   std::vector<HistogramInfo> variables =
0024   {
0025     BinInfo::final_pt_bins,
0026     BinInfo::final_eta_bins,
0027     BinInfo::final_phi_bins,
0028     BinInfo::final_rapidity_bins
0029   };
0030 
0031   std::string numerator_cutstring = generate_selection_cutstring(numerator_cuts,variables);
0032   std::string denominator_cutstring = generate_selection_cutstring(denominator_cuts,variables);
0033 
0034   t_numerator->Draw(("pow(primary_vertex_volume,1./3.)>>"+std::string(pvsv_numerator.PV_sigma->GetName())).c_str(),numerator_cutstring.c_str(),"goff");
0035   t_numerator->Draw(("sqrt(primary_vertex_Covariance[0]+primary_vertex_Covariance[2]-2.*primary_vertex_Covariance[1])>>"+std::string(pvsv_numerator.PV_sigma_xy->GetName())).c_str(),numerator_cutstring.c_str(),"goff");
0036   t_numerator->Draw(("pow("+numerator_cuts.mother_name+"_vertex_volume,1./3.)>>"+std::string(pvsv_numerator.SV_sigma->GetName())).c_str(),numerator_cutstring.c_str(),"goff");
0037   t_numerator->Draw(("track_1_IPErr>>"+std::string(pvsv_numerator.track_1_PV_DCA_sigma->GetName())).c_str(),numerator_cutstring.c_str(),"goff");
0038   t_numerator->Draw(("track_2_IPErr>>"+std::string(pvsv_numerator.track_2_PV_DCA_sigma->GetName())).c_str(),numerator_cutstring.c_str(),"goff");
0039   t_numerator->Draw(("sqrt(track_1_Covariance[0]+track_1_Covariance[2]-2.*track_1_Covariance[1])>>"+std::string(pvsv_numerator.track_1_PV_DCA_xy_sigma->GetName())).c_str(),numerator_cutstring.c_str(),"goff");
0040   t_numerator->Draw(("sqrt(track_2_Covariance[0]+track_2_Covariance[2]-2.*track_2_Covariance[1])>>"+std::string(pvsv_numerator.track_2_PV_DCA_xy_sigma->GetName())).c_str(),numerator_cutstring.c_str(),"goff");
0041 
0042   t_denominator->Draw(("pow(primary_vertex_volume,1./3.)>>"+std::string(pvsv_denominator.PV_sigma->GetName())).c_str(),denominator_cutstring.c_str(),"goff");
0043   t_denominator->Draw(("sqrt(primary_vertex_Covariance[0]+primary_vertex_Covariance[2]-2.*primary_vertex_Covariance[1])>>"+std::string(pvsv_denominator.PV_sigma_xy->GetName())).c_str(),denominator_cutstring.c_str(),"goff");
0044   t_denominator->Draw(("pow("+denominator_cuts.mother_name+"_vertex_volume,1./3.)>>"+std::string(pvsv_denominator.SV_sigma->GetName())).c_str(),denominator_cutstring.c_str(),"goff");
0045   t_denominator->Draw(("track_1_IPErr>>"+std::string(pvsv_denominator.track_1_PV_DCA_sigma->GetName())).c_str(),denominator_cutstring.c_str(),"goff");
0046   t_denominator->Draw(("track_2_IPErr>>"+std::string(pvsv_denominator.track_2_PV_DCA_sigma->GetName())).c_str(),denominator_cutstring.c_str(),"goff");
0047   t_denominator->Draw(("sqrt(track_1_Covariance[0]+track_1_Covariance[2]-2.*track_1_Covariance[1])>>"+std::string(pvsv_denominator.track_1_PV_DCA_xy_sigma->GetName())).c_str(),denominator_cutstring.c_str(),"goff");
0048   t_denominator->Draw(("sqrt(track_2_Covariance[0]+track_2_Covariance[2]-2.*track_2_Covariance[1])>>"+std::string(pvsv_denominator.track_2_PV_DCA_xy_sigma->GetName())).c_str(),denominator_cutstring.c_str(),"goff");
0049 
0050   pvsv_numerator.Write();
0051   pvsv_denominator.Write();
0052 }