Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-15 07:41:25

0001 /*
0002  * HistogramsPythia.h
0003  *
0004  *  Created on: 30 sie 2024
0005  *      Author: Khaless
0006  */
0007 
0008 #ifndef HISTOGRAMSPYTHIA_H_
0009 #define HISTOGRAMSPYTHIA_H_
0010 
0011 #include "TH1.h"
0012 #include "TH2.h"
0013 #include "TH3.h"
0014 #include "TMath.h"
0015 
0016 int CreateHistograms();
0017 
0018 
0019 void MakeLogBins(double *array, int nbins, double binLo, double binHi)
0020 {
0021     //double exp = (nbinEdg-1)/nBinPerDecimal;
0022 
0023     // Calculate the logarithmic bin edges
0024     double logMin = log10(binLo);
0025     double logMax = log10(binHi);
0026     double binWidth = (logMax - logMin) / nbins;
0027 
0028     for (int i = 0; i <= nbins; ++i) {
0029         array[i] = pow(10, logMin + i * binWidth);
0030     }
0031 }
0032 
0033 // Event
0034 
0035 TH1F *h_Events;
0036 TH1F *h_Events_types;
0037 TH1F *h_Events_cuts;
0038 
0039 TH1F *h_Events_Diffractive;
0040 
0041 TH1F *h_Events_nPartonsOut;
0042 
0043 TH1F *h_XsecGen;
0044 TH1F *h_XsecSel;
0045 
0046 TH2F *h_XsecGen_err;
0047 TH2F *h_XsecSel_err;
0048 
0049 TH1F *h_Event_nPart_final;
0050 TH1F *h_Event_nJets;
0051 TH1F *h_Event_nJets_meas;
0052 TH1F *h_Event_nJets_meas_no_nHCal;
0053 
0054 TH2F *h_Event_xQ2;
0055 TH2F *h_Event_yQ2;
0056 TH2F *h_Event_xy;
0057 
0058 TH2F *h_Event_nHCal_xQ2;
0059 TH2F *h_Event_nHCal_yQ2;
0060 TH2F *h_Event_nHCal_xy;
0061 
0062 TH1F *h_Event_nPion_p;
0063 TH1F *h_Event_nPion_n;
0064 TH1F *h_Event_nKaon_p;
0065 TH1F *h_Event_nKaon_n;
0066 TH1F *h_Event_nProton_p;
0067 TH1F *h_Event_nProton_n;
0068 TH1F *h_Event_nElectron_p;
0069 TH1F *h_Event_nElectron_n;
0070 
0071 TH1F *h_Event_nNeutron;
0072 TH1F *h_Event_nGamma;
0073 
0074 // special
0075 
0076 
0077 TH1F *h_Event_Q2;
0078 TH1F *h_Event_x;
0079 TH1F *h_Event_y;
0080 
0081 TH1F *h_Event_jets_Q2;
0082 TH1F *h_Event_jets_x;
0083 TH1F *h_Event_jets_y;
0084 
0085 TH1F *h_Event_nHCal_0_Q2;
0086 TH1F *h_Event_nHCal_0_x;
0087 TH1F *h_Event_nHCal_0_y;
0088 
0089 TH1F *h_Event_nHCal_1_Q2;
0090 TH1F *h_Event_nHCal_1_x;
0091 TH1F *h_Event_nHCal_1_y;
0092 
0093 TH1F *h_Event_nHCal_2_Q2;
0094 TH1F *h_Event_nHCal_2_x;
0095 TH1F *h_Event_nHCal_2_y;
0096 
0097 TH1F *h_Event_AllHCal_Q2;
0098 TH1F *h_Event_AllHCal_x;
0099 TH1F *h_Event_AllHCal_y;
0100 
0101 
0102 TH1F *h_Event_JetMeas_nHCal_0_Q2;
0103 TH1F *h_Event_JetMeas_nHCal_0_x;
0104 TH1F *h_Event_JetMeas_nHCal_0_y;
0105 
0106 TH1F *h_Event_JetMeas_nHCal_1_Q2;
0107 TH1F *h_Event_JetMeas_nHCal_1_x;
0108 TH1F *h_Event_JetMeas_nHCal_1_y;
0109 
0110 TH1F *h_Event_JetMeas_nHCal_2_Q2;
0111 TH1F *h_Event_JetMeas_nHCal_2_x;
0112 TH1F *h_Event_JetMeas_nHCal_2_y;
0113 
0114 TH1F *h_Event_JetMeas_AllHCal_Q2;
0115 TH1F *h_Event_JetMeas_AllHCal_x;
0116 TH1F *h_Event_JetMeas_AllHCal_y;
0117 
0118 TH1F *h_Event_JetMeas_no_nHCal_Q2;
0119 TH1F *h_Event_JetMeas_no_nHCal_x;
0120 TH1F *h_Event_JetMeas_no_nHCal_y;
0121 
0122 TH2F *h_Event_HCal_jets;
0123 TH2F *h_Event_HCal_jets_meas;
0124 TH2F *h_Event_HCal_jets_meas_no_nHCal;
0125 
0126 //full
0127 TH2F *h_Event_HCal_jets_meas_full;
0128 
0129 
0130 // Outgoing partons
0131 
0132 TH1F *h_Partons_status;
0133 TH1F *h_Partons_types;
0134 TH1F *h_Partons_types_anti;
0135 
0136 TH2F *h_Partons_eta;
0137 TH2F *h_Partons_phi;
0138 TH2F *h_Partons_p;
0139 TH2F *h_Partons_pT;
0140 
0141 
0142 TH2F *h_Parton_eta_pT;
0143 TH2F *h_Parton_eta_p;
0144 TH2F *h_Parton_eta_E;
0145 
0146 TH2F *h_Parton_x_eta;
0147 TH2F *h_Parton_y_eta;
0148 
0149 TH2F *h_Parton_x_eta1;
0150 TH2F *h_Parton_x_eta2;
0151 
0152 TH2F *h_Parton_y_eta1;
0153 TH2F *h_Parton_y_eta2;
0154 
0155 // Particles
0156 
0157 TH1F *h_Particle_eta;
0158 
0159 TH2F *h_Particle_eta_p;
0160 TH2F *h_Particle_eta_pT;
0161 TH2F *h_Particle_eta_E;
0162 
0163 
0164 // weighted
0165 TH1F *h_Particle_eta_wE;
0166 
0167 // eta, momentum
0168 TH2F *h_Particle_pion_p_eta_p;
0169 TH2F *h_Particle_pion_n_eta_p;
0170 TH2F *h_Particle_Kaon_p_eta_p;
0171 TH2F *h_Particle_Kaon_n_eta_p;
0172 TH2F *h_Particle_proton_p_eta_p;
0173 TH2F *h_Particle_proton_n_eta_p;
0174 TH2F *h_Particle_Electron_p_eta_p;
0175 TH2F *h_Particle_Electron_n_eta_p;
0176 
0177 TH2F *h_Particle_Neutron_eta_p;
0178 TH2F *h_Particle_Gamma_eta_p;
0179 
0180 // eta, transverse momentum pT
0181 TH2F *h_Particle_pion_p_eta_pT;
0182 TH2F *h_Particle_pion_n_eta_pT;
0183 TH2F *h_Particle_Kaon_p_eta_pT;
0184 TH2F *h_Particle_Kaon_n_eta_pT;
0185 TH2F *h_Particle_proton_p_eta_pT;
0186 TH2F *h_Particle_proton_n_eta_pT;
0187 TH2F *h_Particle_Electron_p_eta_pT;
0188 TH2F *h_Particle_Electron_n_eta_pT;
0189 
0190 TH2F *h_Particle_Neutron_eta_pT;
0191 TH2F *h_Particle_Gamma_eta_pT;
0192 
0193 // eta, energy
0194 TH2F *h_Particle_Pion_p_eta_E;
0195 TH2F *h_Particle_Pion_n_eta_E;
0196 TH2F *h_Particle_Kaon_p_eta_E;
0197 TH2F *h_Particle_Kaon_n_eta_E;
0198 TH2F *h_Particle_Proton_p_eta_E;
0199 TH2F *h_Particle_Proton_n_eta_E;
0200 TH2F *h_Particle_Electron_p_eta_E;
0201 TH2F *h_Particle_Electron_n_eta_E;
0202 
0203 TH2F *h_Particle_Neutron_eta_E;
0204 TH2F *h_Particle_Gamma_eta_E;
0205 
0206 
0207 // Jets
0208 TH1D *h_Jet_nPart;
0209 TH1D *h_Jet_mass;
0210 TH1D *h_Jet_charge;
0211 TH1D *h_Jet_E;
0212 TH1D *h_Jet_p;
0213 TH1D *h_Jet_pT;
0214 TH1D *h_Jet_eta;
0215 TH1D *h_Jet_deta;
0216 
0217 TH2F *h_Jets_eta;
0218 TH2F *h_Jets_phi;
0219 TH2F *h_Jets_p;
0220 TH2F *h_Jets_pT;
0221 TH2F *h_Jets_E;
0222 
0223 // Jets measured
0224 TH1D *h_Jet_meas_nPart;
0225 TH1D *h_Jet_meas_mass;
0226 TH1D *h_Jet_meas_charge;
0227 TH1D *h_Jet_meas_E;
0228 TH1D *h_Jet_meas_p;
0229 TH1D *h_Jet_meas_pT;
0230 TH1D *h_Jet_meas_eta;
0231 TH1D *h_Jet_meas_deta;
0232 
0233 TH2F *h_Jets_meas_eta;
0234 TH2F *h_Jets_meas_phi;
0235 TH2F *h_Jets_meas_p;
0236 TH2F *h_Jets_meas_pT;
0237 TH2F *h_Jets_meas_E;
0238 
0239 TH1D *h_Jet_bHCal_part_eta;
0240 TH1D *h_Jet_meas_bHCal_part_eta;
0241 
0242 TH2D *h_Jet_HCal_part_eta;
0243 TH2D *h_Jet_meas_HCal_part_eta;
0244 
0245 
0246 // Jets measured without nHCal
0247 TH1D *h_Jet_meas_no_nHCal_nPart;
0248 TH1D *h_Jet_meas_no_nHCal_mass;
0249 TH1D *h_Jet_meas_no_nHCal_charge;
0250 TH1D *h_Jet_meas_no_nHCal_E;
0251 TH1D *h_Jet_meas_no_nHCal_p;
0252 TH1D *h_Jet_meas_no_nHCal_pT;
0253 TH1D *h_Jet_meas_no_nHCal_eta;
0254 TH1D *h_Jet_meas_no_nHCal_deta;
0255 
0256 TH2F *h_Jets_meas_no_nHCal_eta;
0257 TH2F *h_Jets_meas_no_nHCal_phi;
0258 TH2F *h_Jets_meas_no_nHCal_p;
0259 TH2F *h_Jets_meas_no_nHCal_pT;
0260 TH2F *h_Jets_meas_no_nHCal_E;
0261 
0262 // measured jets vs. partons
0263 TH2F *h_Jets_meas_Partons_eta;
0264 TH2F *h_Jets_meas_Partons_phi;
0265 TH2F *h_Jets_meas_Partons_E;
0266 
0267 TH2F *h_Jet_meas_Parton_eta1;
0268 TH2F *h_Jet_meas_Parton_phi1;
0269 TH2F *h_Jet_meas_Parton_E1;
0270 TH2F *h_Jet_meas_Parton_eta2;
0271 TH2F *h_Jet_meas_Parton_phi2;
0272 TH2F *h_Jet_meas_Parton_E2;
0273 
0274 
0275 // temp
0276 
0277 TH1F *hist_eta_energy_tmp;
0278 TH1F *hist_eta_energy_denom_tmp;
0279 
0280 
0281 
0282 
0283 int CreateHistograms()
0284 {
0285 
0286 
0287     const int nbins_x = 200;
0288 
0289     const int nbinEdg_x = nbins_x+1;
0290 
0291     double *logBinsArray_x = new double[nbins_x];
0292 
0293     MakeLogBins(logBinsArray_x, nbins_x, 10e-7, 1.0);
0294 
0295 
0296     // Event
0297 
0298     h_Events = new TH1F("h_Events", "Number of events; events; counts", 10, 0.0, 10.0);
0299     h_Events_types = new TH1F("h_Events_types", "Number of events; type; counts", 10, 0.0, 10.0);
0300 
0301     h_Events_types->GetXaxis()->SetBinLabel(1, "All events");
0302     h_Events_types->GetXaxis()->SetBinLabel(2, "1 parton in ePIC acc.");
0303     h_Events_types->GetXaxis()->SetBinLabel(3, "2 partons in ePIC acc.");
0304     h_Events_types->GetXaxis()->SetBinLabel(4, "1 jet in ePIC acc.");
0305     h_Events_types->GetXaxis()->SetBinLabel(5, "2 jets in ePIC acc.");
0306     h_Events_types->GetXaxis()->SetBinLabel(6, "2 or more jets in ePIC acc.");
0307 
0308     h_Events_cuts = new TH1F("h_Events_cuts", "Number of events; selection; counts", 10, 0.0, 10.0);
0309 
0310     h_Events_cuts->GetXaxis()->SetBinLabel(1, "Generated");
0311     h_Events_cuts->GetXaxis()->SetBinLabel(2, "Diffractive A or B");
0312     h_Events_cuts->GetXaxis()->SetBinLabel(3, "Hard diffractive A or B");
0313     h_Events_cuts->GetXaxis()->SetBinLabel(4, "2 partons in ePIC acc.");
0314 
0315     h_Events_Diffractive = new TH1F("h_Events_Diffractive", "Number of diffractive events; events; counts", 10, 0.0, 10.0);
0316 
0317     h_Events_Diffractive->GetXaxis()->SetBinLabel(1, "Diffractive A");
0318     h_Events_Diffractive->GetXaxis()->SetBinLabel(2, "Diffractive B");
0319     h_Events_Diffractive->GetXaxis()->SetBinLabel(3, "Hard diffractive A");
0320     h_Events_Diffractive->GetXaxis()->SetBinLabel(4, "Hard diffractive B");
0321 
0322     h_XsecGen = new TH1F("h_XsecGen", "Generated event cross-section; #sigma [mb]; counts", 10000, 0.0, 0.001);
0323     h_XsecSel = new TH1F("h_XsecSel", "Selected event cross-section; #sigma [mb]; counts", 10000, 0.0, 0.001);
0324 
0325     h_XsecGen_err = new TH2F("h_XsecGen_err", "Generated event cross-section vs. uncertainty; #sigma [mb]; #sigma_{#sigma} [mb]; counts", 10000, 0.0, 0.001, 1000, 0.0, 0.00001);
0326     h_XsecSel_err = new TH2F("h_XsecSel_err", "Selected event cross-section vs. uncertainty; #sigma [mb]; #sigma_{#sigma} [mb]; counts", 10000, 0.0, 0.001, 1000, 0.0, 0.00001);
0327 
0328 
0329     h_Events_nPartonsOut = new TH1F("h_Events_nPartonsOut", "Number of outgoing partons; N_{out} [1]; counts", 21, -0.5, 20.5);
0330 
0331     h_Event_nPart_final = new TH1F("h_Event_nPart_final", "Number of final MC particles; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0332     h_Event_nJets = new TH1F("h_Event_nJets", "Number of jets; N_{jet} [1]; counts", 21, -0.5, 20.5);
0333     h_Event_nJets_meas = new TH1F("h_Event_nJets_meas", "Number of measured jets; N_{jet} [1]; counts", 21, -0.5, 20.5);
0334     h_Event_nJets_meas_no_nHCal = new TH1F("h_Event_nJets_meas_no_nHCal", "Number of measured jets wihout nHCal; N_{jet} [1]; counts", 21, -0.5, 20.5);
0335 
0336 
0337     h_Event_xQ2 = new TH2F("h_Event_xQ2", "Event Q^{2} vs. x; x [1]; Q^{2} [GeV^{2}/c^{2}]; counts", nbins_x, logBinsArray_x, 500, 0.0, 5.0);
0338     h_Event_yQ2 = new TH2F("h_Event_yQ2", "Event Q^{2} vs. inelasticity y; y [1]; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 1.0, 500, 0.0, 5.0);
0339     h_Event_xy = new TH2F("h_Event_xy", "Event inelasticity y vs. x; x [1]; y [1]; counts", nbins_x, logBinsArray_x, 1000, 0.0, 1.0);
0340 
0341 
0342     h_Event_nHCal_xQ2 = new TH2F("h_Event_nHCal_xQ2", "Event with nHCal activity Q^{2} vs. x; x [1]; Q^{2} [GeV^{2}/c^{2}]; counts", nbins_x, logBinsArray_x, 500, 0.0, 5.0);
0343     h_Event_nHCal_yQ2 = new TH2F("h_Event_nHCal_yQ2", "Event with nHCal activity Q^{2} vs. inelasticity y; y [1]; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 1.0, 500, 0.0, 5.0);
0344     h_Event_nHCal_xy = new TH2F("h_Event_nHCal_xy", "Event with nHCal activity inelasticity y vs. x; x [1]; y [1]; counts", nbins_x, logBinsArray_x, 1000, 0.0, 1.0);
0345 
0346 
0347     h_Event_nPion_p = new TH1F("h_Event_nPion_p", "Number of MC particles #pi^{+}; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0348     h_Event_nPion_n = new TH1F("h_Event_nPion_n", "Number of MC particles #pi^{-}; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0349     h_Event_nKaon_p = new TH1F("h_Event_nKaon_p", "Number of MC particles K^{+}; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0350     h_Event_nKaon_n = new TH1F("h_Event_nKaon_n", "Number of MC particles K^{-}; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0351     h_Event_nProton_p = new TH1F("h_Event_nProton_p", "Number of MC particles p^{+}; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0352     h_Event_nProton_n = new TH1F("h_Event_nProton_n", "Number of MC particles p^{-}; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0353     h_Event_nElectron_p = new TH1F("h_Event_nElectron_p", "Number of MC particles e^{+}; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0354     h_Event_nElectron_n = new TH1F("h_Event_nElectron_n", "Number of MC particles e^{-}; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0355 
0356     h_Event_nNeutron = new TH1F("h_Event_nNeutron", "Number of MC particles n; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0357     h_Event_nGamma = new TH1F("h_Event_nGamma", "Number of MC particles #gamma; N_{MC} [1]; counts", 2001, -0.5, 2000.5);
0358 
0359 
0360     // special
0361 
0362     h_Event_Q2 = new TH1F("h_Event_Q2", "Event Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0363     h_Event_x = new TH1F("h_Event_x", "Event x; x [1]; counts", nbins_x, logBinsArray_x);
0364     h_Event_y = new TH1F("h_Event_y", "Event inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0365 
0366     h_Event_jets_Q2 = new TH1F("h_Event_jets_Q2", "Event with jets>=2 Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0367     h_Event_jets_x = new TH1F("h_Event_jets_x", "Event with jets>=2 x; x [1]; counts", nbins_x, logBinsArray_x);
0368     h_Event_jets_y = new TH1F("h_Event_jets_y", "Event with jets>=2 inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0369 
0370     h_Event_nHCal_0_Q2 = new TH1F("h_Event_nHCal_0_Q2", "Event with 0 jets in nHCal Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0371     h_Event_nHCal_0_x = new TH1F("h_Event_nHCal_0_x", "Event with 0 jets in nHCal x; x [1]; counts", nbins_x, logBinsArray_x);
0372     h_Event_nHCal_0_y = new TH1F("h_Event_nHCal_0_y", "Event with 0 jets in nHCal inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0373 
0374     h_Event_nHCal_1_Q2 = new TH1F("h_Event_nHCal_1_Q2", "Event with 1 jet in nHCal Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0375     h_Event_nHCal_1_x = new TH1F("h_Event_nHCal_1_x", "Event with 1 jet in nHCal x; x [1]; counts", nbins_x, logBinsArray_x);
0376     h_Event_nHCal_1_y = new TH1F("h_Event_nHCal_1_y", "Event with 1 jet in nHCal inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0377 
0378     h_Event_nHCal_2_Q2 = new TH1F("h_Event_nHCal_2_Q2", "Event with 2 jets in nHCal Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0379     h_Event_nHCal_2_x = new TH1F("h_Event_nHCal_2_x", "Event with 2 jets in nHCal x; x [1]; counts", nbins_x, logBinsArray_x);
0380     h_Event_nHCal_2_y = new TH1F("h_Event_nHCal_2_y", "Event with 2 jets in nHCal inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0381 
0382     h_Event_AllHCal_Q2 = new TH1F("h_Event_AllHCal_Q2", "Event with jets in any HCal Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0383     h_Event_AllHCal_x = new TH1F("h_Event_AllHCal_x", "Event with jets in any HCal x; x [1]; counts", nbins_x, logBinsArray_x);
0384     h_Event_AllHCal_y = new TH1F("h_Event_AllHCal_y", "Event with jets in any HCal inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0385 
0386 
0387     h_Event_JetMeas_nHCal_0_Q2 = new TH1F("h_Event_JetMeas_nHCal_0_Q2", "Event with 0 jets measured in nHCal Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0388     h_Event_JetMeas_nHCal_0_x = new TH1F("h_Event_JetMeas_nHCal_0_x", "Event with 0 jets measured in nHCal x; x [1]; counts", nbins_x, logBinsArray_x);
0389     h_Event_JetMeas_nHCal_0_y = new TH1F("h_Event_JetMeas_nHCal_0_y", "Event with 0 jets measured in nHCal inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0390 
0391     h_Event_JetMeas_nHCal_1_Q2 = new TH1F("h_Event_JetMeas_nHCal_1_Q2", "Event with 1 jet measured in nHCal Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0392     h_Event_JetMeas_nHCal_1_x = new TH1F("h_Event_JetMeas_nHCal_1_x", "Event with 1 jet measured in nHCal x; x [1]; counts", nbins_x, logBinsArray_x);
0393     h_Event_JetMeas_nHCal_1_y = new TH1F("h_Event_JetMeas_nHCal_1_y", "Event with 1 jet measured in nHCal inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0394 
0395     h_Event_JetMeas_nHCal_2_Q2 = new TH1F("h_Event_JetMeas_nHCal_2_Q2", "Event with 2 jets measured in nHCal Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0396     h_Event_JetMeas_nHCal_2_x = new TH1F("h_Event_JetMeas_nHCal_2_x", "Event with 2 jets measured in nHCal x; x [1]; counts", nbins_x, logBinsArray_x);
0397     h_Event_JetMeas_nHCal_2_y = new TH1F("h_Event_JetMeas_nHCal_2_y", "Event with 2 jets measured in nHCal inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0398 
0399     h_Event_JetMeas_AllHCal_Q2 = new TH1F("h_Event_JetMeas_AllHCal_Q2", "Event with jets measured in any HCal Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0400     h_Event_JetMeas_AllHCal_x = new TH1F("h_Event_JetMeas_AllHCal_x", "Event with jets measured in any HCal x; x [1]; counts", nbins_x, logBinsArray_x);
0401     h_Event_JetMeas_AllHCal_y = new TH1F("h_Event_JetMeas_AllHCal_y", "Event with jets measured in any HCal inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0402 
0403 
0404     h_Event_JetMeas_no_nHCal_Q2 = new TH1F("h_Event_JetMeas_no_nHCal_Q2", "Event with jets measured without nHCal Q^{2}; Q^{2} [GeV^{2}/c^{2}]; counts", 1000, 0.0, 10.0);
0405     h_Event_JetMeas_no_nHCal_x = new TH1F("h_Event_JetMeas_no_nHCal_x", "Event with jets measured without nHCal x; x [1]; counts", nbins_x, logBinsArray_x);
0406     h_Event_JetMeas_no_nHCal_y = new TH1F("h_Event_JetMeas_no_nHCal_y", "Event with jets measured without nHCal inelasticity y; y [1]; counts", 1000, 0.0, 1.0);
0407 
0408 
0409 
0410     h_Event_HCal_jets = new TH2F("h_Event_HCal_jets", "Event with dijets in HCals; Jet #1; Jet #2; counts", 4, 0.0, 4.0, 4, 0.0, 4.0);
0411     h_Event_HCal_jets_meas = new TH2F("h_Event_HCal_jets_meas", "Event with measured dijets in HCals; Jet #1; Jet #2; counts", 4, 0.0, 4.0, 4, 0.0, 4.0);
0412     h_Event_HCal_jets_meas_no_nHCal = new TH2F("h_Event_HCal_jets_meas_no_nHCal", "Event with measured dijets in HCals without nHCal; Jet #1; Jet #2; counts", 4, 0.0, 4.0, 4, 0.0, 4.0);
0413 
0414 
0415     h_Event_HCal_jets->GetXaxis()->SetBinLabel(1, "nHCal");
0416     h_Event_HCal_jets->GetXaxis()->SetBinLabel(2, "Barrel HCal");
0417     h_Event_HCal_jets->GetXaxis()->SetBinLabel(3, "LFHCAL");
0418     h_Event_HCal_jets->GetXaxis()->SetBinLabel(4, "Any");
0419 
0420     h_Event_HCal_jets->GetYaxis()->SetBinLabel(1, "nHCal");
0421     h_Event_HCal_jets->GetYaxis()->SetBinLabel(2, "Barrel HCal");
0422     h_Event_HCal_jets->GetYaxis()->SetBinLabel(3, "LFHCAL");
0423     h_Event_HCal_jets->GetYaxis()->SetBinLabel(4, "Any");
0424 
0425 
0426     h_Event_HCal_jets_meas->GetXaxis()->SetBinLabel(1, "nHCal");
0427     h_Event_HCal_jets_meas->GetXaxis()->SetBinLabel(2, "Barrel HCal");
0428     h_Event_HCal_jets_meas->GetXaxis()->SetBinLabel(3, "LFHCAL");
0429     h_Event_HCal_jets_meas->GetXaxis()->SetBinLabel(4, "Any");
0430 
0431     h_Event_HCal_jets_meas->GetYaxis()->SetBinLabel(1, "nHCal");
0432     h_Event_HCal_jets_meas->GetYaxis()->SetBinLabel(2, "Barrel HCal");
0433     h_Event_HCal_jets_meas->GetYaxis()->SetBinLabel(3, "LFHCAL");
0434     h_Event_HCal_jets_meas->GetYaxis()->SetBinLabel(4, "Any");
0435 
0436 
0437     h_Event_HCal_jets_meas_no_nHCal->GetXaxis()->SetBinLabel(1, "nHCal");
0438     h_Event_HCal_jets_meas_no_nHCal->GetXaxis()->SetBinLabel(2, "Barrel HCal");
0439     h_Event_HCal_jets_meas_no_nHCal->GetXaxis()->SetBinLabel(3, "LFHCAL");
0440     h_Event_HCal_jets_meas_no_nHCal->GetXaxis()->SetBinLabel(4, "Any");
0441 
0442     h_Event_HCal_jets_meas_no_nHCal->GetYaxis()->SetBinLabel(1, "nHCal");
0443     h_Event_HCal_jets_meas_no_nHCal->GetYaxis()->SetBinLabel(2, "Barrel HCal");
0444     h_Event_HCal_jets_meas_no_nHCal->GetYaxis()->SetBinLabel(3, "LFHCAL");
0445     h_Event_HCal_jets_meas_no_nHCal->GetYaxis()->SetBinLabel(4, "Any");
0446 
0447 
0448     // full
0449     h_Event_HCal_jets_meas_full = new TH2F("h_Event_HCal_jets_meas_full", "Event with measured dijets in HCals; Jet #1; Jet #2; counts", 6, 0.0, 6.0, 6, 0.0, 6.0);
0450 
0451     h_Event_HCal_jets_meas_full->GetXaxis()->SetBinLabel(1, "nHCal");
0452     h_Event_HCal_jets_meas_full->GetXaxis()->SetBinLabel(2, "nHCal+Barrel HCal");
0453     h_Event_HCal_jets_meas_full->GetXaxis()->SetBinLabel(3, "Barrel HCal");
0454     h_Event_HCal_jets_meas_full->GetXaxis()->SetBinLabel(4, "Barrel HCal+LFHCAL");
0455     h_Event_HCal_jets_meas_full->GetXaxis()->SetBinLabel(5, "LFHCAL");
0456     h_Event_HCal_jets_meas_full->GetXaxis()->SetBinLabel(6, "Any");
0457 
0458     h_Event_HCal_jets_meas_full->GetYaxis()->SetBinLabel(1, "nHCal");
0459     h_Event_HCal_jets_meas_full->GetYaxis()->SetBinLabel(2, "nHCal+Barrel HCal");
0460     h_Event_HCal_jets_meas_full->GetYaxis()->SetBinLabel(3, "Barrel HCal");
0461     h_Event_HCal_jets_meas_full->GetYaxis()->SetBinLabel(4, "Barrel HCal+LFHCAL");
0462     h_Event_HCal_jets_meas_full->GetYaxis()->SetBinLabel(5, "LFHCAL");
0463     h_Event_HCal_jets_meas_full->GetYaxis()->SetBinLabel(6, "Any");
0464 
0465 
0466 
0467     // Outgoing partons
0468     h_Partons_status = new TH1F("h_Partons_status", "Outgoing parton status; status; counts", 401, -200.5, 200.5);
0469     h_Partons_types = new TH1F("h_Partons_types", "Outgoing parton type; type; counts", 41, -0.5, 40.5);
0470     h_Partons_types_anti = new TH1F("h_Partons_types_anti", "Outgoing parton type; type; counts", 41, -0.5, 40.5);
0471 
0472     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(1), "d");
0473     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(2), "u");
0474     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(3), "s");
0475     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(4), "c");
0476     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(5), "b");
0477     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(6), "t");
0478     //h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(7), "b^{#prime}");
0479     //h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(8), "t^{#prime}");
0480 
0481     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(11), "e^{-}");
0482     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(12), "#nu_{e}");
0483     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(13), "\mu^{-}");
0484     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(14), "#nu_{#mu}");
0485     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(15), "\tau^{-}");
0486     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(16), "#nu_{#tau}");
0487     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(17), "#tau^{#prime-}");
0488     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(18), "#nu_{#tau^{#prime}}");
0489 
0490     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(21), "g");
0491     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(22), "#gamma");
0492     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(23), "Z^{0}");
0493     h_Partons_types->GetXaxis()->SetBinLabel(h_Partons_types->GetXaxis()->FindBin(24), "W^{+}");
0494 
0495 
0496     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(1), "d");
0497     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(2), "u");
0498     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(3), "s");
0499     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(4), "c");
0500     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(5), "b");
0501     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(6), "t");
0502     //h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(7), "b^{#prime}");
0503     //h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(8), "t^{#prime}");
0504 
0505     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(11), "e^{-}");
0506     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(12), "#nu_{e}");
0507     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(13), "#mu^{-}");
0508     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(14), "#nu_{#mu}");
0509     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(15), "#tau^{-}");
0510     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(16), "#nu_{#tau}");
0511     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(17), "#tau^{#prime-}");
0512     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(18), "#nu_{#tau^{#prime}}");
0513 
0514     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(21), "g");
0515     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(22), "#gamma");
0516     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(23), "Z^{0}");
0517     h_Partons_types_anti->GetXaxis()->SetBinLabel(h_Partons_types_anti->GetXaxis()->FindBin(24), "W^{+}");
0518 
0519 
0520     h_Partons_eta = new TH2F("h_Partons_eta", "Outgoing partons #eta_{1} vs #eta_{2}; #eta_{1} [1]; #eta_{2} [1]; counts", 100, -5.0, 5.0, 100, -5.0, 5.0);
0521     h_Partons_phi = new TH2F("h_Partons_phi", "Outgoing partons #phi_{1} vs #phi_{2}; #phi_{1} [1]; #phi_{2} [1]; counts", 200, -2.0*TMath::Pi(), 2.0*TMath::Pi(), 200, -2.0*TMath::Pi(), 2.0*TMath::Pi());
0522 
0523     h_Partons_p = new TH2F("h_Partons_p", "Outgoing partons p_{1} vs p_{2}; p_{1} [GeV/c]; p_{2} [GeV/c]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0524     h_Partons_pT = new TH2F("h_Partons_pT", "Outgoing partons p_{T}^{1} vs p_{T}^{2}; p_{T}^{1} [GeV/c]; p_{T}^{2} [GeV/c]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0525 
0526     h_Parton_y_eta1 = new TH2F("h_Parton_y_eta1", "Outgoing partons #eta_{1} vs. y; y [1]; #eta_{1} [1]; counts", 100, 0.0, 1.0, 100, -5.0, 5.0);
0527 
0528     h_Parton_eta_p = new TH2F("h_Parton_eta_p", "Outgoing parton p vs #eta; #eta [1]; p [GeV/c]; counts", 100, -5.0, 5.0, 200, 0.0, 20.0);
0529     h_Parton_eta_pT = new TH2F("h_Parton_eta_pT", "Outgoing parton p_{T} vs #eta; #eta [1]; p_{T} [GeV/c]; counts", 100, -5.0, 5.0, 200, 0.0, 20.0);
0530     h_Parton_eta_E = new TH2F("h_Parton_eta_E", "Outgoing parton E vs #eta; #eta [1]; E [GeV]; counts", 100, -5.0, 5.0, 200, 0.0, 20.0);
0531 
0532     h_Parton_x_eta = new TH2F("h_Parton_x_eta", "Outgoing parton #eta vs. x; x [1]; #eta [1]; counts", nbins_x, logBinsArray_x, 100, -5.0, 5.0);
0533     h_Parton_y_eta = new TH2F("h_Parton_y_eta", "Outgoing partons #eta vs. y; y [1]; #eta [1]; counts", 100, 0.0, 1.0, 100, -5.0, 5.0);
0534 
0535     h_Parton_x_eta1 = new TH2F("h_Parton_x_eta1", "Outgoing partons #eta_{1} vs. x; x [1]; #eta_{1} [1]; counts", nbins_x, logBinsArray_x, 100, -5.0, 5.0);
0536     h_Parton_x_eta2 = new TH2F("h_Parton_x_eta2", "Outgoing partons #eta_{2} vs. x; x [1]; #eta_{2} [1]; counts", nbins_x, logBinsArray_x, 100, -5.0, 5.0);
0537 
0538     h_Parton_y_eta1 = new TH2F("h_Parton_y_eta1", "Outgoing partons #eta_{1} vs. y; y [1]; #eta_{1} [1]; counts", 100, 0.0, 1.0, 100, -5.0, 5.0);
0539     h_Parton_y_eta2 = new TH2F("h_Parton_y_eta2", "Outgoing partons #eta_{2} vs. y; y [1]; #eta_{2} [1]; counts", 100, 0.0, 1.0, 100, -5.0, 5.0);
0540 
0541 
0542     // Particles
0543     h_Particle_eta = new TH1F("h_Particle_eta", "MC particle #eta; #eta; counts", 200, -10.0, 10.0);
0544 
0545     h_Particle_eta_wE = new TH1F("h_Particle_eta_wE", "MC particle #eta, E weighed; #eta; counts", 200, -10.0, 10.0);
0546 
0547     h_Particle_eta_p = new TH2F("h_Particle_eta_p", "MC particles #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0548     h_Particle_eta_pT = new TH2F("h_Particle_eta_pT", "MC particles #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0549     h_Particle_eta_E = new TH2F("h_Particle_eta_E", "MC particles #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0550 
0551 
0552     // eta, momentum
0553     h_Particle_pion_p_eta_p = new TH2F("h_Particle_Pion_p_eta_p", "MC particles #pi^{+} #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0554     h_Particle_pion_n_eta_p = new TH2F("h_Particle_Pion_n_eta_p", "MC particles #pi^{-} #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0555     h_Particle_Kaon_p_eta_p = new TH2F("h_Particle_Kaon_p_eta_p", "MC particles K^{+} #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0556     h_Particle_Kaon_n_eta_p = new TH2F("h_Particle_Kaon_n_eta_p", "MC particles K^{-} #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0557     h_Particle_proton_p_eta_p = new TH2F("h_Particle_Proton_p_eta_p", "MC particles p^{+} #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0558     h_Particle_proton_n_eta_p = new TH2F("h_Particle_Proton_n_eta_p", "MC particles p^{-} #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0559     h_Particle_Electron_p_eta_p = new TH2F("h_Particle_Electron_p_eta_p", "MC particles e^{+} #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0560     h_Particle_Electron_n_eta_p = new TH2F("h_Particle_Electron_n_eta_p", "MC particles e^{-} #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0561 
0562     h_Particle_Neutron_eta_p = new TH2F("h_Particle_Neutron_eta_p", "MC particles n #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0563     h_Particle_Gamma_eta_p = new TH2F("h_Particle_Gamma_eta_p", "MC particles #gamman #eta vs. momentum; #eta [1]; p_{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0564 
0565 
0566     // eta, transverse momentum pT
0567     h_Particle_pion_p_eta_pT = new TH2F("h_Particle_Pion_p_eta_pT", "MC particles #pi^{+} #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0568     h_Particle_pion_n_eta_pT = new TH2F("h_Particle_Pion_n_eta_pT", "MC particles #pi^{-} #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0569     h_Particle_Kaon_p_eta_pT = new TH2F("h_Particle_Kaon_p_eta_pT", "MC particles K^{+} #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0570     h_Particle_Kaon_n_eta_pT = new TH2F("h_Particle_Kaon_n_eta_pT", "MC particles K^{-} #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0571     h_Particle_proton_p_eta_pT = new TH2F("h_Particle_Proton_p_eta_pT", "MC particles p^{+} #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0572     h_Particle_proton_n_eta_pT = new TH2F("h_Particle_Proton_n_eta_pT", "MC particles p^{-} #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0573     h_Particle_Electron_p_eta_pT = new TH2F("h_Particle_Electron_p_eta_pT", "MC particles e^{+} #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0574     h_Particle_Electron_n_eta_pT = new TH2F("h_Particle_Electron_n_eta_pT", "MC particles e^{-} #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0575 
0576     h_Particle_Neutron_eta_pT = new TH2F("h_Particle_Neutron_eta_pT", "MC particles n #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0577     h_Particle_Gamma_eta_pT = new TH2F("h_Particle_Gamma_eta_pT", "MC particles #gamman #eta vs. momentum; #eta [1]; p_{T}^{MC} [GeV/c]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0578 
0579 
0580     // eta, energy
0581     h_Particle_Pion_p_eta_E = new TH2F("h_Particle_Pion_p_eta_E", "MC particles #pi^{+} #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0582     h_Particle_Pion_n_eta_E = new TH2F("h_Particle_Pion_n_eta_E", "MC particles #pi^{-} #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0583     h_Particle_Kaon_p_eta_E = new TH2F("h_Particle_Kaon_p_eta_E", "MC particles K^{+} #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0584     h_Particle_Kaon_n_eta_E = new TH2F("h_Particle_Kaon_n_eta_E", "MC particles K^{-} #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0585     h_Particle_Proton_p_eta_E = new TH2F("h_Particle_Proton_p_eta_E", "MC particles p^{+} #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0586     h_Particle_Proton_n_eta_E = new TH2F("h_Particle_Proton_n_eta_E", "MC particles p^{-} #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0587     h_Particle_Electron_p_eta_E = new TH2F("h_Particle_Electron_p_eta_E", "MC particles e^{+} #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0588     h_Particle_Electron_n_eta_E = new TH2F("h_Particle_Electron_n_eta_E", "MC particles e^{-} #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0589 
0590     h_Particle_Neutron_eta_E = new TH2F("h_Particle_Neutron_eta_E", "MC particles n #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0591     h_Particle_Gamma_eta_E = new TH2F("h_Particle_Gamma_eta_E", "MC particles #gamma #eta vs. energy; #eta [1]; E_{MC} [GeV]; counts", 200, -10.0, 10.0, 500, 0.0, 50.0);
0592 
0593     // Jets
0594     h_Jet_nPart = new TH1D("h_Jet_nPart", "Jet number of particles; N_{part} [1]; counts", 201, -0.5, 200.5);
0595     h_Jet_mass = new TH1D("h_Jet_mass", "Jet mass; m [GeV/c^{2}]; counts", 2000, 0.0, 20.0);
0596     h_Jet_charge = new TH1D("h_Jet_charge", "Jet charge; q [1]; counts", 101, -50.5, 50.5);
0597     h_Jet_E = new TH1D("h_Jet_E", "Jet energy; E [GeV]; counts", 500, 0.0, 50.0);
0598     h_Jet_p = new TH1D("h_Jet_p", "Jet momentum; p [GeV/c]; counts", 500, 0.0, 50.0);
0599     h_Jet_pT = new TH1D("h_Jet_pT", "Jet transverse momentum; p_{T} [GeV/c]; counts", 500, 0.0, 50.0);
0600     h_Jet_eta = new TH1D("h_Jet_eta", "Jet #eta; #eta [1]; counts", 200, -5.0, 5.0);
0601     h_Jet_deta = new TH1D("h_Jet_deta", "Jet #Delta#eta; #Delta#eta [1]; counts", 400, -10.0, 10.0);
0602 
0603     h_Jets_eta = new TH2F("h_Jets_eta", "Jets #eta_{1} vs. #eta_{2}; #eta_{1} [1]; #eta_{2} [1]; counts", 200, -5.0, 5.0, 200, -5.0, 5.0);
0604     h_Jets_phi = new TH2F("h_Jets_phi", "Jets #phi_{1} vs. #phi_{2}; #phi_{1} [1]; #phi_{2} [1]; counts", 200, -2.0*TMath::Pi(), 2.0*TMath::Pi(), 200, -2.0*TMath::Pi(), 2.0*TMath::Pi());
0605     h_Jets_p = new TH2F("h_Jets_p", "Jets p_{1} vs. p_{2}; p_{1} [GeV/c]; p_{2} [GeV/c]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0606     h_Jets_pT = new TH2F("h_Jets_pT", "Jets p_{T}^{1} vs. p_{T}^{2}; p_{T}^{1} [GeV/c]; p_{T}^{2} [GeV/c]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0607     h_Jets_E = new TH2F("h_Jets_E", "Jets E_{1} vs. E_{2}; E_{1} [GeV/c]; E_{2} [GeV]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0608 
0609 
0610     // Jets measured
0611     h_Jet_meas_nPart = new TH1D("h_Jet_meas_nPart", "Jet measured number of particles; N_{part} [1]; counts", 201, -0.5, 200.5);
0612     h_Jet_meas_mass = new TH1D("h_Jet_meas_mass", "Jet measured mass; m [GeV/c^{2}]; counts", 2000, 0.0, 20.0);
0613     h_Jet_meas_charge = new TH1D("h_Jet_meas_charge", "Jet measured charge; q [1]; counts", 101, -50.5, 50.5);
0614     h_Jet_meas_E = new TH1D("h_Jet_meas_E", "Jet measured energy; E [GeV]; counts", 500, 0.0, 50.0);
0615     h_Jet_meas_p = new TH1D("h_Jet_meas_p", "Jet measured momentum; p [GeV/c]; counts", 500, 0.0, 50.0);
0616     h_Jet_meas_pT = new TH1D("h_Jet_meas_pT", "Jet measured transverse momentum; p_{T} [GeV/c]; counts", 500, 0.0, 50.0);
0617     h_Jet_meas_eta = new TH1D("h_Jet_meas_eta", "Jet measured #eta; #eta [1]; counts", 200, -5.0, 5.0);
0618     h_Jet_meas_deta = new TH1D("h_Jet_meas_deta", "Jet measured #Delta#eta; #Delta#eta [1]; counts", 400, -10.0, 10.0);
0619 
0620     h_Jets_meas_eta = new TH2F("h_Jets_meas_eta", "Jets measured #eta_{1} vs. #eta_{2}; #eta_{1} [1]; #eta_{2} [1]; counts", 200, -5.0, 5.0, 200, -5.0, 5.0);
0621     h_Jets_meas_phi = new TH2F("h_Jets_meas_phi", "Jets measured #phi_{1} vs. #phi_{2}; #phi_{1} [1]; #phi_{2} [1]; counts", 200, -2.0*TMath::Pi(), 2.0*TMath::Pi(), 200, -2.0*TMath::Pi(), 2.0*TMath::Pi());
0622     h_Jets_meas_p = new TH2F("h_Jets_meas_p", "Jets measured p_{1} vs. p_{2}; p_{1} [GeV/c]; p_{2} [GeV/c]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0623     h_Jets_meas_pT = new TH2F("h_Jets_meas_pT", "Jets measured p_{T}^{1} vs. p_{T}^{2}; p_{T}^{1} [GeV/c]; p_{T}^{2} [GeV/c]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0624     h_Jets_meas_E = new TH2F("h_Jets_meas_E", "Jets measured E_{1} vs. E_{2}; E_{1} [GeV/c]; E_{2} [GeV]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0625 
0626 
0627     h_Jet_bHCal_part_eta = new TH1D("h_Jet_bHCal_part_eta", "Jet in bHCal particle #eta; #eta [1]; counts", 200, -5.0, 5.0);
0628     h_Jet_meas_bHCal_part_eta = new TH1D("h_Jet_meas_bHCal_part_eta", "Jet measured in bHCal particle #eta; #eta [1]; counts", 200, -5.0, 5.0);
0629 
0630     h_Jet_HCal_part_eta = new TH2D("h_Jet_HCal_part_eta", "Jet in HCals particle #eta; #eta [1]; HCal; counts", 200, -5.0, 5.0, 4, 0.0, 4.0);
0631     h_Jet_meas_HCal_part_eta = new TH2D("h_Jet_meas_HCal_part_eta", "Jet measured in HCals particle #eta; #eta [1]; HCal; counts", 200, -5.0, 5.0, 4, 0.0, 4.0);
0632 
0633     h_Jet_HCal_part_eta->GetYaxis()->SetBinLabel(1, "no HCal");
0634     h_Jet_HCal_part_eta->GetYaxis()->SetBinLabel(2, "nHCal");
0635     h_Jet_HCal_part_eta->GetYaxis()->SetBinLabel(3, "bHCal");
0636     h_Jet_HCal_part_eta->GetYaxis()->SetBinLabel(4, "LFHCAL");
0637 
0638     h_Jet_meas_HCal_part_eta->GetYaxis()->SetBinLabel(1, "no HCal");
0639     h_Jet_meas_HCal_part_eta->GetYaxis()->SetBinLabel(2, "nHCal");
0640     h_Jet_meas_HCal_part_eta->GetYaxis()->SetBinLabel(3, "bHCal");
0641     h_Jet_meas_HCal_part_eta->GetYaxis()->SetBinLabel(4, "LFHCAL");
0642 
0643 
0644 
0645     // Jets measured without nHCal
0646     h_Jet_meas_no_nHCal_nPart = new TH1D("h_Jet_meas_no_nHCal_nPart", "Jet measured without nHCal number of particles; N_{part} [1]; counts", 201, -0.5, 200.5);
0647     h_Jet_meas_no_nHCal_mass = new TH1D("h_Jet_meas_no_nHCal_mass", "Jet measured without nHCal mass; m [GeV/c^{2}]; counts", 2000, 0.0, 20.0);
0648     h_Jet_meas_no_nHCal_charge = new TH1D("h_Jet_meas_no_nHCal_charge", "Jet measured without nHCal charge; q [1]; counts", 101, -50.5, 50.5);
0649     h_Jet_meas_no_nHCal_E = new TH1D("h_Jet_meas_no_nHCal_E", "Jet measured without nHCal energy; E [GeV]; counts", 500, 0.0, 50.0);
0650     h_Jet_meas_no_nHCal_p = new TH1D("h_Jet_meas_no_nHCal_p", "Jet measured without nHCal momentum; p [GeV/c]; counts", 500, 0.0, 50.0);
0651     h_Jet_meas_no_nHCal_pT = new TH1D("h_Jet_meas_no_nHCal_pT", "Jet measured without nHCal transverse momentum; p_{T} [GeV/c]; counts", 500, 0.0, 50.0);
0652     h_Jet_meas_no_nHCal_eta = new TH1D("h_Jet_meas_no_nHCal_eta", "Jet measured without nHCal #eta; #eta [1]; counts", 200, -5.0, 5.0);
0653     h_Jet_meas_no_nHCal_deta = new TH1D("h_Jet_meas_no_nHCal_deta", "Jet measured without nHCal #Delta#eta; #Delta#eta [1]; counts", 400, -10.0, 10.0);
0654 
0655     h_Jets_meas_no_nHCal_eta = new TH2F("h_Jets_meas_no_nHCal_eta", "Jets measured without nHCal #eta_{1} vs. #eta_{2}; #eta_{1} [1]; #eta_{2} [1]; counts", 200, -5.0, 5.0, 200, -5.0, 5.0);
0656     h_Jets_meas_no_nHCal_phi = new TH2F("h_Jets_meas_no_nHCal_phi", "Jets measured without nHCal #phi_{1} vs. #phi_{2}; #phi_{1} [1]; #phi_{2} [1]; counts", 200, -2.0*TMath::Pi(), 2.0*TMath::Pi(), 200, -2.0*TMath::Pi(), 2.0*TMath::Pi());
0657     h_Jets_meas_no_nHCal_p = new TH2F("h_Jets_meas_no_nHCal_p", "Jets measured without nHCal p_{1} vs. p_{2}; p_{1} [GeV/c]; p_{2} [GeV/c]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0658     h_Jets_meas_no_nHCal_pT = new TH2F("h_Jets_meas_no_nHCal_pT", "Jets measured without nHCal p_{T}^{1} vs. p_{T}^{2}; p_{T}^{1} [GeV/c]; p_{T}^{2} [GeV/c]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0659     h_Jets_meas_no_nHCal_E = new TH2F("h_Jets_meas_no_nHCal_E", "Jets measured without nHCal E_{1} vs. E_{2}; E_{1} [GeV/c]; E_{2} [GeV]; counts", 200, 0.0, 20.0, 200, 0.0, 20.0);
0660 
0661 
0662     // measured jets vs. partons
0663     h_Jets_meas_Partons_eta = new TH2F("h_Jets_meas_Partons_eta", "Jet #eta vs parton #eta; #eta_{parton} [1]; #eta_{jet} [1]; counts", 100, -5.0, 5.0, 100, -5.0, 5.0);
0664     h_Jets_meas_Partons_phi = new TH2F("h_Jets_meas_Partons_phi", "Jet #phi vs parton #phi; #phi_{parton} [1]; #phi_{jet} [1]; counts", 200, -2.0*TMath::Pi(), 2.0*TMath::Pi(), 200, -2.0*TMath::Pi(), 2.0*TMath::Pi());
0665     h_Jets_meas_Partons_E = new TH2F("h_Jets_meas_Partons_E", "Jet E vs parton E; E_{parton} [GeV]; E_{jet} [GeV]; counts", 100, 0.0, 50.0, 100, 0.0, 50.0);
0666 
0667     h_Jet_meas_Parton_eta1 = new TH2F("h_Jet_meas_Parton_eta1", "Jet #eta vs parton 1 #eta; #eta_{parton} [1]; #eta_{jet} [1]; counts", 100, -5.0, 5.0, 100, -5.0, 5.0);
0668     h_Jet_meas_Parton_phi1 = new TH2F("h_Jet_meas_Parton_phi1", "Jet #phi vs parton 1 #phi; #phi_{parton} [1]; #phi_{jet} [1]; counts", 200, -2.0*TMath::Pi(), 2.0*TMath::Pi(), 200, -2.0*TMath::Pi(), 2.0*TMath::Pi());
0669     h_Jet_meas_Parton_E1 = new TH2F("h_Jet_meas_Parton_E1", "Jet E vs parton 1 E; E_{parton} [GeV]; E_{jet} [GeV]; counts", 100, 0.0, 50.0, 100, 0.0, 50.0);
0670 
0671     h_Jet_meas_Parton_eta2 = new TH2F("h_Jet_meas_Parton_eta2", "Jet #eta vs parton 2 #eta; #eta_{parton} [1]; #eta_{jet} [1]; counts", 100, -5.0, 5.0, 100, -5.0, 5.0);
0672     h_Jet_meas_Parton_phi2 = new TH2F("h_Jet_meas_Parton_phi2", "Jet #phi vs parton 2 #phi; #phi_{parton} [1]; #phi_{jet} [1]; counts", 200, -2.0*TMath::Pi(), 2.0*TMath::Pi(), 200, -2.0*TMath::Pi(), 2.0*TMath::Pi());
0673     h_Jet_meas_Parton_E2 = new TH2F("h_Jet_meas_Parton_E2", "Jet E vs parton 2 E; E_{parton} [GeV]; E_{jet} [GeV]; counts", 100, 0.0, 50.0, 100, 0.0, 50.0);
0674 
0675 
0676     // temp
0677     const int nEtaBins = 7;
0678     double EtaBins[nEtaBins+1] = {-10, -4.14, -1.18, -1.1, 1.1, 1.2, 4.2, 10};
0679 
0680     hist_eta_energy_tmp = new TH1F("hist_eta_energy_tmp", "hist_eta_energy_tmp; #eta, E [GeV]", nEtaBins, EtaBins);
0681     hist_eta_energy_denom_tmp = new TH1F("hist_eta_energy_denom_tmp", "hist_eta_energy_denom_tmp; #eta, E [GeV]", nEtaBins, EtaBins);
0682 
0683 
0684     //hist_eta_energy_tmp->Sumw2();
0685     //hist_eta_energy_denom_tmp->Sumw2();
0686 
0687 
0688     return 1;
0689 }
0690 
0691 
0692 #endif /* HISTOGRAMSPYTHIA_H_ */