File indexing completed on 2025-08-06 08:12:51
0001
0002
0003
0004
0005
0006
0007
0008 int makePlot_truth_LoI_Momentum(
0009 const TString infile = "../../data/Sample_DISReco_ep.root",
0010
0011 const bool save_figures = true
0012 )
0013 {
0014 gStyle->SetOptStat(kFALSE);
0015
0016
0017
0018 TFile *f_truth = new TFile( infile, "OPEN");
0019 TTree* t_truth = (TTree*)f_truth->Get("event_truth");
0020 t_truth->Print();
0021
0022
0023
0024
0025
0026
0027 TCut electron_cut = "em_evtgen_pid == 11";
0028 TCut hadron_cut = "abs(em_evtgen_pid) > 100";
0029 TCut proton_cut = "em_evtgen_pid == 2212";
0030 TCut neutron_cut = "em_evtgen_pid == 2112";
0031 TCut Kaon_cut = "abs(em_evtgen_pid) == 321 || em_evtgen_pid == 311";
0032 TCut Pion_charged_cut = "abs(em_evtgen_pid) == 211";
0033
0034 TCut photon_cut = "em_evtgen_pid == 22";
0035
0036 TCut mother_cut = "1";
0037 TCut status_cut = "1";
0038
0039 TCut eta_cut_n3n2 = "(-1 * log( tan( em_evtgen_theta / 2.0 ) )) > -3 && (-1 * log( tan( em_evtgen_theta / 2.0 ) )) < -2";
0040 TCut eta_cut_n2n1 = "(-1 * log( tan( em_evtgen_theta / 2.0 ) )) > -2 && (-1 * log( tan( em_evtgen_theta / 2.0 ) )) < -1";
0041 TCut eta_cut_n1z0 = "(-1 * log( tan( em_evtgen_theta / 2.0 ) )) > -1 && (-1 * log( tan( em_evtgen_theta / 2.0 ) )) < -0";
0042
0043
0044
0045
0046
0047
0048
0049
0050 TH2F *h_peta_e = new TH2F("h_peta_e", "", 100, -4, 3, 100, 0, 50 );
0051
0052 TCanvas *c_peta_e = new TCanvas( "c_peta_e" );
0053 c_peta_e->SetLogz();
0054
0055 t_truth->Draw("em_evtgen_ptotal:(-1 * log( tan( em_evtgen_theta / 2.0 ) ))>>h_peta_e", electron_cut && mother_cut && "evtgen_Q2 > 1", "colz");
0056
0057 h_peta_e->GetXaxis()->SetTitle("Pseudorapidity #eta");
0058 h_peta_e->GetYaxis()->SetTitle("Electron Momentum p_{e-} [GeV]");
0059
0060 if ( save_figures )
0061 {
0062 c_peta_e->Print("plots/Pythia_peta_e.eps");
0063 c_peta_e->Print("plots/Pythia_peta_e.png");
0064 }
0065
0066
0067
0068
0069 TH2F *h_p_eta_h = new TH2F("h_p_eta_h", "", 60,-6,6, 200,0,225);
0070
0071 TCanvas *c_p_eta_h = new TCanvas( "c_p_eta_h" );
0072 t_truth->Draw("em_evtgen_ptotal:(-1 * log( tan( em_evtgen_theta / 2.0 ) ))>>h_p_eta_h",hadron_cut && "evtgen_Q2 > 1 && 0.01 < evtgen_y < 0.80", "colz");
0073
0074 h_p_eta_h->GetXaxis()->SetTitle("Pseudorapidity #eta");
0075 h_p_eta_h->GetYaxis()->SetTitle("Hadron Momentum p_{Hadron} [GeV]");
0076 c_p_eta_h->SetLogz();
0077
0078 if ( save_figures )
0079 {
0080 c_p_eta_h->Print("plots/Pythia_peta_h.eps");
0081 c_p_eta_h->Print("plots/Pythia_peta_h.png");
0082 }
0083
0084
0085
0086
0087
0088 TH1F* hp_e_n3n2 = new TH1F("hp_e_n3n2", "dN/dp vs. p", 60, 0, 30);
0089 TH1F* hp_p_n3n2 = new TH1F("hp_p_n3n2", "dN/dp vs. p", 60, 0, 30);
0090 TH1F* hp_y_n3n2 = new TH1F("hp_y_n3n2", "dN/dp vs. p", 60, 0, 30);
0091
0092 TCanvas *cp_e_n3n2 = new TCanvas("cp_e_n3n2");
0093 t_truth->Draw("em_evtgen_ptotal>>hp_e_n3n2", electron_cut && eta_cut_n3n2 && "evtgen_Q2 > 0.01", "goff");
0094 t_truth->Draw("em_evtgen_ptotal>>hp_p_n3n2", Pion_charged_cut && eta_cut_n3n2 && "evtgen_Q2 > 0.01", "goff");
0095 t_truth->Draw("em_evtgen_ptotal>>hp_y_n3n2", photon_cut && eta_cut_n3n2 && status_cut && "evtgen_Q2 > 0.01", "goff");
0096
0097
0098 TH1F* htmp_n3n2 = hp_e_n3n2->Clone();
0099 htmp_n3n2->SetTitle("");
0100 htmp_n3n2->GetXaxis()->SetTitle("p [GeV]");
0101 htmp_n3n2->GetYaxis()->SetTitle("dN/dp");
0102 htmp_n3n2->SetMaximum( 0.99e7);
0103 htmp_n3n2->Draw();
0104
0105 hp_e_n3n2->SetLineColor(2);
0106 hp_e_n3n2->Draw("same");
0107 hp_p_n3n2->SetLineColor(1);
0108 hp_p_n3n2->Draw("same");
0109 hp_y_n3n2->SetLineColor(4);
0110 hp_y_n3n2->Draw("same");
0111 cp_e_n3n2->SetLogy();
0112
0113 TLegend* leg_n3n2 = new TLegend(0.53,0.67,0.73,0.90);
0114 hp_e_n3n2->SetTitle("DIS electron");
0115 hp_p_n3n2->SetTitle("#pi#pm");
0116 hp_y_n3n2->SetTitle("Photons");
0117 leg_n3n2->AddEntry(hp_e_n3n2, "", "L");
0118 leg_n3n2->AddEntry(hp_p_n3n2, "", "L");
0119 leg_n3n2->AddEntry(hp_y_n3n2, "", "L");
0120 leg_n3n2->SetTextSize(0.04);
0121 leg_n3n2->Draw();
0122
0123 if ( save_figures )
0124 {
0125 cp_e_n3n2->Print("plots/Pythia_MomSpec_n3n2.eps");
0126 cp_e_n3n2->Print("plots/Pythia_MomSpec_n3n2.png");
0127 }
0128
0129
0130
0131
0132
0133
0134 TH1F* hp_e_n2n1 = new TH1F("hp_e_n2n1", "dN/dp vs. p", 60, 0, 30);
0135 TH1F* hp_p_n2n1 = new TH1F("hp_p_n2n1", "dN/dp vs. p", 60, 0, 30);
0136 TH1F* hp_y_n2n1 = new TH1F("hp_y_n2n1", "dN/dp vs. p", 60, 0, 30);
0137
0138 TCanvas *cp_e_n2n1 = new TCanvas("cp_e_n2n1");
0139 t_truth->Draw("em_evtgen_ptotal>>hp_e_n2n1", electron_cut && eta_cut_n2n1 && "evtgen_Q2 > 0.01", "goff");
0140 t_truth->Draw("em_evtgen_ptotal>>hp_p_n2n1", Pion_charged_cut && eta_cut_n2n1 && "evtgen_Q2 > 0.01", "goff");
0141 t_truth->Draw("em_evtgen_ptotal>>hp_y_n2n1", photon_cut && eta_cut_n2n1 && status_cut && "evtgen_Q2 > 0.01", "goff");
0142
0143 TH1F* htmp_n2n1 = hp_e_n2n1->Clone();
0144 htmp_n2n1->SetTitle("");
0145 htmp_n2n1->GetXaxis()->SetTitle("p [GeV]");
0146 htmp_n2n1->GetYaxis()->SetTitle("dN/dp");
0147 htmp_n2n1->SetMaximum( 0.99e7);
0148 htmp_n2n1->Draw();
0149
0150 hp_e_n2n1->SetLineColor(2);
0151 hp_e_n2n1->Draw("same");
0152 hp_p_n2n1->SetLineColor(1);
0153 hp_p_n2n1->Draw("same");
0154 hp_y_n2n1->SetLineColor(4);
0155 hp_y_n2n1->Draw("same");
0156 cp_e_n2n1->SetLogy();
0157
0158 TLegend* leg_n2n1 = new TLegend(0.53,0.67,0.73,0.90);
0159 hp_e_n2n1->SetTitle("DIS electron");
0160 hp_p_n2n1->SetTitle("#pi#pm");
0161 hp_y_n2n1->SetTitle("Photons");
0162 leg_n2n1->AddEntry(hp_e_n2n1, "", "L");
0163 leg_n2n1->AddEntry(hp_p_n2n1, "", "L");
0164 leg_n2n1->AddEntry(hp_y_n2n1, "", "L");
0165 leg_n2n1->SetTextSize(0.04);
0166 leg_n2n1->Draw();
0167
0168 if ( save_figures )
0169 {
0170 cp_e_n2n1->Print("plots/Pythia_MomSpec_n2n1.eps");
0171 cp_e_n2n1->Print("plots/Pythia_MomSpec_n2n1.png");
0172 }
0173
0174
0175
0176 TH1F* hp_e_n1z0 = new TH1F("hp_e_n1z0", "dN/dp vs. p", 60, 0, 30);
0177 TH1F* hp_p_n1z0 = new TH1F("hp_p_n1z0", "dN/dp vs. p", 60, 0, 30);
0178 TH1F* hp_y_n1z0 = new TH1F("hp_y_n1z0", "dN/dp vs. p", 60, 0, 30);
0179
0180 TCanvas *cp_e_n1z0 = new TCanvas("cp_e_n1z0");
0181 t_truth->Draw("em_evtgen_ptotal>>hp_e_n1z0", electron_cut && eta_cut_n1z0 && "evtgen_Q2 > 0.01", "goff");
0182 t_truth->Draw("em_evtgen_ptotal>>hp_p_n1z0", Pion_charged_cut && eta_cut_n1z0 && "evtgen_Q2 > 0.01", "goff");
0183 t_truth->Draw("em_evtgen_ptotal>>hp_y_n1z0", photon_cut && eta_cut_n1z0 && status_cut && "evtgen_Q2 > 0.01", "goff");
0184
0185 TH1F* htmp_n1z0 = hp_e_n1z0->Clone();
0186 htmp_n1z0->SetTitle("");
0187 htmp_n1z0->GetXaxis()->SetTitle("p [GeV]");
0188 htmp_n1z0->GetYaxis()->SetTitle("dN/dp");
0189 htmp_n1z0->SetMaximum( 0.99e7 );
0190 htmp_n1z0->Draw();
0191
0192 hp_e_n1z0->SetLineColor(2);
0193 hp_e_n1z0->Draw("same");
0194 hp_p_n1z0->SetLineColor(1);
0195 hp_p_n1z0->Draw("same");
0196 hp_y_n1z0->SetLineColor(4);
0197 hp_y_n1z0->Draw("same");
0198 cp_e_n1z0->SetLogy();
0199
0200 TLegend* leg_n1z0 = new TLegend(0.53,0.67,0.73,0.90);
0201 hp_e_n1z0->SetTitle("DIS electron");
0202 hp_p_n1z0->SetTitle("#pi#pm");
0203 hp_y_n1z0->SetTitle("Photons");
0204 leg_n1z0->AddEntry(hp_e_n1z0, "", "L");
0205 leg_n1z0->AddEntry(hp_p_n1z0, "", "L");
0206 leg_n1z0->AddEntry(hp_y_n1z0, "", "L");
0207 leg_n1z0->SetTextSize(0.04);
0208 leg_n1z0->Draw();
0209
0210 if ( save_figures )
0211 {
0212 cp_e_n1z0->Print("plots/Pythia_MomSpec_n1z0.eps");
0213 cp_e_n1z0->Print("plots/Pythia_MomSpec_n1z0.png");
0214 }
0215
0216 return 0 ;
0217 }