File indexing completed on 2025-12-16 09:16:12
0001 #include "TTree.h"
0002 #include "TFile.h"
0003
0004 #include "../util/binning.h"
0005
0006 void plot_mass(std::string infile = "/sphenix/tg/tg01/hf/mjpeters/LightFlavorProduction/data/KK_reco/outputKFParticle_KK_reco_00053877_00000_00000.root",
0007 std::string particle = "phi",
0008 std::string outfile = "test_out.root")
0009 {
0010 TFile* f = TFile::Open(infile.c_str());
0011 TTree* t = (TTree*)f->Get("DecayTree");
0012
0013 HistogramInfo hmass = BinInfo::mass_bins.at(particle);
0014 HistogramInfo hpt = BinInfo::pt_bins;
0015 HistogramInfo hy = BinInfo::rapidity_bins;
0016 HistogramInfo hphi = BinInfo::phi_bins;
0017 HistogramInfo hntrk = BinInfo::ntrack_bins;
0018
0019 std::string draw_param = particle+"_mass>>"+hmass.name+"("+hmass.bin_string()+")";
0020 std::cout << "draw_param: " << draw_param << std::endl;
0021
0022 std::string pt_drawparam = particle+"_pT:"+particle+"_mass>>"+hmass.name+hpt.name +
0023 "("+hmass.bin_string()+","+hpt.bin_string()+")";
0024
0025 std::cout << "draw_param: " << pt_drawparam << std::endl;
0026
0027 std::string ntrk_drawparam = "nTracksOfBC:"+particle+"_mass>>"+hmass.name+hntrk.name +
0028 "("+hmass.bin_string()+","+hntrk.bin_string()+")";
0029
0030 std::string y_drawparam = particle+"_rapidity:"+particle+"_mass>>"+hmass.name+hy.name +
0031 "("+hmass.bin_string()+","+hy.bin_string()+")";
0032
0033 std::string phi_drawparam = particle+"_phi:"+particle+"_mass>>"+hmass.name+hphi.name +
0034 "("+hmass.bin_string()+","+hphi.bin_string()+")";
0035
0036 t->Draw(draw_param.c_str(),hmass.cut_string.c_str(),"");
0037 TH1F* mass = (TH1F*)gPad->GetPrimitive(hmass.name.c_str());
0038 mass->SetTitle(hmass.title.c_str());
0039
0040 t->Draw(pt_drawparam.c_str(),hmass.cut_string.c_str(),"COLZ");
0041 TH2F* mass_vspt = (TH2F*)gPad->GetPrimitive((hmass.name+hpt.name).c_str());
0042 mass_vspt->SetTitle((hmass.title+hpt.title).c_str());
0043
0044 t->Draw(ntrk_drawparam.c_str(),hmass.cut_string.c_str(),"COLZ");
0045 TH2F* mass_vsntrk = (TH2F*)gPad->GetPrimitive((hmass.name+hntrk.name).c_str());
0046 mass_vsntrk->SetTitle((hmass.title+hntrk.title).c_str());
0047
0048 t->Draw(y_drawparam.c_str(),hmass.cut_string.c_str(),"COLZ");
0049 TH2F* mass_vsy = (TH2F*)gPad->GetPrimitive((hmass.name+hy.name).c_str());
0050 mass_vsy->SetTitle((hmass.title+hy.title).c_str());
0051
0052 t->Draw(phi_drawparam.c_str(),hmass.cut_string.c_str(),"COLZ");
0053 TH2F* mass_vsphi = (TH2F*)gPad->GetPrimitive((hmass.name+hphi.name).c_str());
0054 mass_vsphi->SetTitle((hmass.title+hphi.title).c_str());
0055
0056 TFile* outf = new TFile(outfile.c_str(),"RECREATE");
0057 mass->Write();
0058 mass_vspt->Write();
0059 mass_vsntrk->Write();
0060 mass_vsy->Write();
0061 mass_vsphi->Write();
0062 }