Back to home page

sPhenix code displayed by LXR

 
 

    


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 }