File indexing completed on 2025-12-16 09:16:13
0001 #include "TFile.h"
0002 #include "TH1F.h"
0003 #include "TH2F.h"
0004 #include "TCanvas.h"
0005 #include "TLegend.h"
0006
0007 #include "../util/HistogramContainer.h"
0008
0009 TCanvas* plot_1dspectrum(std::string key,HistogramContainer& htrk, HistogramContainer& hpi, HistogramContainer& hK, HistogramContainer& hp)
0010 {
0011 std::cout << key << std::endl;
0012
0013 TCanvas* c = new TCanvas(("c"+key+htrk.legend_name).c_str(),key.c_str(),600,600);
0014 htrk.spectra[key]->Draw("E");
0015 hpi.spectra[key]->Draw("E SAME");
0016 hK.spectra[key]->Draw("E SAME");
0017 hp.spectra[key]->Draw("E SAME");
0018
0019 TLegend* l = new TLegend(0.6,0.8,0.9,0.9);
0020 l->AddEntry(htrk.spectra[key],htrk.legend_name.c_str(),"LP");
0021 l->AddEntry(hpi.spectra[key],hpi.legend_name.c_str(),"LP");
0022 l->AddEntry(hK.spectra[key],hK.legend_name.c_str(),"LP");
0023 l->AddEntry(hp.spectra[key],hp.legend_name.c_str(),"LP");
0024 l->Draw();
0025
0026 return c;
0027 }
0028
0029 TCanvas* plot_normalized_1dspectrum(std::string key, HistogramContainer& htrk, HistogramContainer& hpi, HistogramContainer& hK, HistogramContainer& hp)
0030 {
0031 htrk.spectra[key]->Scale(1./htrk.spectra[key]->Integral("width"));
0032 hpi.spectra[key]->Scale(1./hpi.spectra[key]->Integral("width"));
0033 hK.spectra[key]->Scale(1./hK.spectra[key]->Integral("width"));
0034 hp.spectra[key]->Scale(1./hp.spectra[key]->Integral("width"));
0035
0036 return plot_1dspectrum(key,htrk,hpi,hK,hp);
0037 }
0038
0039 TCanvas* plot_all_correlations(HistogramContainer& h)
0040 {
0041 TCanvas* c = new TCanvas("corr","corr",1200,600);
0042 c->Divide(3,2);
0043
0044 c->cd(1);
0045 h.h_pt_y->Draw("COLZ");
0046 gPad->SetLogz();
0047 c->cd(2);
0048 h.h_pt_phi->Draw("COLZ");
0049 c->cd(3);
0050 h.h_pt_ntracks->Draw("COLZ");
0051 gPad->SetLogz();
0052 c->cd(4);
0053 h.h_y_phi->Draw("COLZ");
0054 c->cd(5);
0055 h.h_y_ntracks->Draw("COLZ");
0056 c->cd(6);
0057 h.h_phi_ntracks->Draw("COLZ");
0058
0059 return c;
0060 }
0061
0062 void plot_singletrack()
0063 {
0064 gStyle->SetOptStat(0);
0065
0066 TFile* f = TFile::Open("output/data_singletrack.root");
0067
0068 HistogramContainer track(f,"track","All tracks");
0069 HistogramContainer pi(f,"pi","#pi^{+}+#pi^{-}");
0070 HistogramContainer K(f,"K","K^{+}+K^{-}");
0071 HistogramContainer p(f,"p","p^{+}+p^{-}");
0072
0073 HistogramContainer trackplus(f,"trackplus","Positively-charged tracks");
0074 HistogramContainer piplus(f,"piplus","#pi^{+}");
0075 HistogramContainer Kplus(f,"Kplus","K^{+}");
0076 HistogramContainer pplus(f,"pplus","p^{+}");
0077
0078 HistogramContainer trackminus(f,"trackminus","Negatively-charged tracks");
0079 HistogramContainer piminus(f,"piminus","#pi^{-}");
0080 HistogramContainer Kminus(f,"Kminus","K^{-}");
0081 HistogramContainer pminus(f,"pminus","p^{-}");
0082
0083 track.SetColor(kBlack);
0084 trackplus.SetColor(kBlack);
0085 trackminus.SetColor(kBlack);
0086
0087 pi.SetColor(kBlue);
0088 piplus.SetColor(kBlue);
0089 piminus.SetColor(kBlue);
0090
0091 K.SetColor(kGreen);
0092 Kplus.SetColor(kGreen);
0093 Kminus.SetColor(kGreen);
0094
0095 p.SetColor(kRed);
0096 pplus.SetColor(kRed);
0097 pminus.SetColor(kRed);
0098
0099 TCanvas* cpt = plot_1dspectrum("pt",track,pi,K,p);
0100 cpt->SetLogy();
0101 cpt->SaveAs("plots/singletrack_pt.pdf");
0102 cpt->Close();
0103
0104 TCanvas* ceta = plot_1dspectrum("y",track,pi,K,p);
0105 ceta->SaveAs("plots/singletrack_eta.pdf");
0106 ceta->Close();
0107
0108 TCanvas* cphi = plot_normalized_1dspectrum("phi",track,pi,K,p);
0109 track.h_phi->SetMinimum(0.);
0110 track.h_phi->SetMaximum(0.4);
0111 cphi->SaveAs("plots/singletrack_phi.pdf");
0112 cphi->Close();
0113
0114 TCanvas* cntrk = plot_1dspectrum("ntracks",track,pi,K,p);
0115 cntrk->SetLogy();
0116 cntrk->SaveAs("plots/singletrack_ntracks.pdf");
0117 cntrk->Close();
0118
0119 TCanvas* cptplus = plot_1dspectrum("pt",trackplus,piplus,Kplus,pplus);
0120 cptplus->SetLogy();
0121 cptplus->SaveAs("plots/singletrack_pt_plus.pdf");
0122 cptplus->Close();
0123
0124 TCanvas* cetaplus = plot_1dspectrum("y",trackplus,piplus,Kplus,pplus);
0125 cetaplus->SaveAs("plots/singletrack_eta_plus.pdf");
0126 cetaplus->Close();
0127
0128 TCanvas* cphiplus = plot_normalized_1dspectrum("phi",trackplus,piplus,Kplus,pplus);
0129 trackplus.h_phi->SetMinimum(0.);
0130 trackplus.h_phi->SetMaximum(0.4);
0131 cphiplus->SaveAs("plots/singletrack_phi_plus.pdf");
0132 cphiplus->Close();
0133
0134 TCanvas* cntrkplus = plot_1dspectrum("ntracks",trackplus,piplus,Kplus,pplus);
0135 cntrkplus->SetLogy();
0136 cntrkplus->SaveAs("plots/singletrack_ntrack_plus.pdf");
0137 cntrkplus->Close();
0138
0139 TCanvas* cptminus = plot_1dspectrum("pt",trackminus,piminus,Kminus,pminus);
0140 cptminus->SetLogy();
0141 cptminus->SaveAs("plots/singletrack_pt_minus.pdf");
0142 cptminus->Close();
0143
0144 TCanvas* cetaminus = plot_1dspectrum("y",trackminus,piminus,Kminus,pminus);
0145 cetaminus->SaveAs("plots/singletrack_eta_minus.pdf");
0146 cetaminus->Close();
0147
0148 TCanvas* cphiminus = plot_normalized_1dspectrum("phi",trackminus,piminus,Kminus,pminus);
0149 trackminus.h_phi->SetMinimum(0.);
0150 trackminus.h_phi->SetMaximum(0.4);
0151 cphiminus->SaveAs("plots/singletrack_phi_minus.pdf");
0152 cphiminus->Close();
0153
0154 TCanvas* cntrkminus = plot_1dspectrum("ntracks",trackminus,piminus,Kminus,pminus);
0155 cntrkminus->SetLogy();
0156 cntrkminus->SaveAs("plots/singletrack_ntrack_minus.pdf");
0157 cntrkminus->Close();
0158
0159 TCanvas* trkcorr = plot_all_correlations(track);
0160 trkcorr->SaveAs("plots/alltrack_corr.pdf");
0161 trkcorr->Close();
0162
0163 TCanvas* picorr = plot_all_correlations(pi);
0164 picorr->SaveAs("plots/allpi_corr.pdf");
0165 picorr->Close();
0166
0167 TCanvas* Kcorr = plot_all_correlations(K);
0168 Kcorr->SaveAs("plots/allK_corr.pdf");
0169 Kcorr->Close();
0170
0171 TCanvas* pcorr = plot_all_correlations(p);
0172 pcorr->SaveAs("plots/allp_corr.pdf");
0173 pcorr->Close();
0174
0175 TCanvas* trkpluscorr = plot_all_correlations(trackplus);
0176 trkpluscorr->SaveAs("plots/trackplus_corr.pdf");
0177 trkpluscorr->Close();
0178
0179 TCanvas* pipluscorr = plot_all_correlations(piplus);
0180 pipluscorr->SaveAs("plots/piplus_corr.pdf");
0181 pipluscorr->Close();
0182
0183 TCanvas* Kpluscorr = plot_all_correlations(Kplus);
0184 Kpluscorr->SaveAs("plots/Kplus_corr.pdf");
0185 Kpluscorr->Close();
0186
0187 TCanvas* ppluscorr = plot_all_correlations(pplus);
0188 ppluscorr->SaveAs("plots/pplus_corr.pdf");
0189 ppluscorr->Close();
0190
0191 TCanvas* trkminuscorr = plot_all_correlations(trackminus);
0192 trkminuscorr->SaveAs("plots/trackminus_corr.pdf");
0193 trkminuscorr->Close();
0194
0195 TCanvas* piminuscorr = plot_all_correlations(piminus);
0196 piminuscorr->SaveAs("plots/piminus_corr.pdf");
0197 piminuscorr->Close();
0198
0199 TCanvas* Kminuscorr = plot_all_correlations(Kminus);
0200 Kminuscorr->SaveAs("plots/Kminus_corr.pdf");
0201 Kminuscorr->Close();
0202
0203 TCanvas* pminuscorr = plot_all_correlations(pminus);
0204 pminuscorr->SaveAs("plots/pminus_corr.pdf");
0205 pminuscorr->Close();
0206 }