File indexing completed on 2024-04-06 11:59:24
0001 #ifndef TreeAnalysisReadGen_h
0002 #define TreeAnalysisReadGen_h
0003
0004
0005
0006
0007
0008
0009 #include <TROOT.h>
0010 #include <TChain.h>
0011 #include <TFile.h>
0012 #include "TDirectory.h"
0013 #include "TH1F.h"
0014 #include "TString.h"
0015
0016 #include <cstdlib>
0017 #include <iostream>
0018 #include <vector>
0019 #include <fstream>
0020 #include <map>
0021 #include <cmath>
0022
0023 class TreeAnalysisReadGen {
0024
0025 public :
0026
0027 enum l1decision {L1SingleJet,L1SingleTauJet, L1SingleIsoEG,L1SingleEG,L1SingleMu};
0028 static const int NRanges=15;
0029 int iRange, fRange;
0030 double weights[NRanges];
0031 std::map<std::string, int> l1Names;
0032 std::string l1Name;
0033 static const int NEtaBins = 4;
0034 static const int NPBins = 21;
0035 double genPartPBins[NPBins+1], genPartEtaBins[NEtaBins+1];
0036 TFile *fout;
0037 double dRCut;
0038 unsigned int iRangeBin, nentries;
0039 bool debug;
0040
0041 static const int PTypes = 4;
0042 TH1F *h_trkPAll[PTypes][NRanges+1], *h_trkPtAll[PTypes][NRanges+1], *h_trkEtaAll[PTypes][NRanges+1], *h_trkPhiAll[PTypes][NRanges+1];
0043 TH1F *h_trkPIsoNxN[PTypes][NRanges+1], *h_trkPtIsoNxN[PTypes][NRanges+1], *h_trkEtaIsoNxN[PTypes][NRanges+1], *h_trkPhiIsoNxN[PTypes][NRanges+1];
0044 TH1F *h_trkPIsoR[PTypes][NRanges+1], *h_trkPtIsoR[PTypes][NRanges+1], *h_trkEtaIsoR[PTypes][NRanges+1], *h_trkPhiIsoR[PTypes][NRanges+1];
0045 TH1F *h_trkDEta[NPBins][NEtaBins][NRanges+1], *h_trkDPhi[NPBins][NEtaBins][NRanges+1];
0046
0047 TH1F *h_L1CenJetPt[NRanges+1], *h_L1FwdJetPt[NRanges+1], *h_L1TauJetPt[NRanges+1];
0048 TH1F *h_L1LeadJetPt[NRanges+1];
0049
0050 TH1F *h_L1Decision[NRanges+1];
0051 TH1F *h_L1_iso31x31[NPBins][NEtaBins][NRanges+1];
0052 TH1F *h_L1_iso31x31_isoPhoton_11x11_1[NPBins][NEtaBins][NRanges+1];
0053 TH1F *h_L1_iso31x31_isoPhoton_11x11_2[NPBins][NEtaBins][NRanges+1];
0054 TH1F *h_L1_iso31x31_isoNeutral_11x11_1[NPBins][NEtaBins][NRanges+1];
0055 TH1F *h_L1_iso31x31_isoNeutral_11x11_2[NPBins][NEtaBins][NRanges+1];
0056
0057 TH1F *h_maxNearP31x31[NPBins][NEtaBins][NRanges+1],
0058 *h_maxNearP25x25[NPBins][NEtaBins][NRanges+1],
0059 *h_maxNearP21x21[NPBins][NEtaBins][NRanges+1],
0060 *h_maxNearP15x15[NPBins][NEtaBins][NRanges+1],
0061 *h_maxNearP11x11[NPBins][NEtaBins][NRanges+1],
0062 *h_maxNearPIsoR[NPBins][NEtaBins][NRanges+1],
0063 *h_maxNearPIsoHCR[NPBins][NEtaBins][NRanges+1];
0064 TH1F *h_maxNearPIsoHCR_allbins[NRanges+1];
0065 TH1F *h_maxNearPIsoHCR_pbins[NPBins][NRanges+1];
0066 TH1F *h_trkP_iso31x31[NRanges+1],
0067 *h_trkP_iso25x25[NRanges+1],
0068 *h_trkP_iso21x21[NRanges+1],
0069 *h_trkP_iso15x15[NRanges+1],
0070 *h_trkP_iso11x11[NRanges+1];
0071 TH1F *h_photon_iso31x31[NPBins][NEtaBins][NRanges+1],
0072 *h_photon_iso25x25[NPBins][NEtaBins][NRanges+1],
0073 *h_photon_iso21x21[NPBins][NEtaBins][NRanges+1],
0074 *h_photon_iso15x15[NPBins][NEtaBins][NRanges+1],
0075 *h_photon_iso11x11[NPBins][NEtaBins][NRanges+1];
0076 TH1F *h_charged_iso31x31[NPBins][NEtaBins][NRanges+1],
0077 *h_charged_iso25x25[NPBins][NEtaBins][NRanges+1],
0078 *h_charged_iso21x21[NPBins][NEtaBins][NRanges+1],
0079 *h_charged_iso15x15[NPBins][NEtaBins][NRanges+1],
0080 *h_charged_iso11x11[NPBins][NEtaBins][NRanges+1];
0081 TH1F *h_neutral_iso31x31[NPBins][NEtaBins][NRanges+1],
0082 *h_neutral_iso25x25[NPBins][NEtaBins][NRanges+1],
0083 *h_neutral_iso21x21[NPBins][NEtaBins][NRanges+1],
0084 *h_neutral_iso15x15[NPBins][NEtaBins][NRanges+1],
0085 *h_neutral_iso11x11[NPBins][NEtaBins][NRanges+1];
0086 TH1F *h_contamination_iso31x31[NPBins][NEtaBins][NRanges+1],
0087 *h_contamination_iso25x25[NPBins][NEtaBins][NRanges+1],
0088 *h_contamination_iso21x21[NPBins][NEtaBins][NRanges+1],
0089 *h_contamination_iso15x15[NPBins][NEtaBins][NRanges+1],
0090 *h_contamination_iso11x11[NPBins][NEtaBins][NRanges+1];
0091 TH1F *h_photon11x11_iso31x31[NPBins][NEtaBins][NRanges+1],
0092 *h_charged11x11_iso31x31[NPBins][NEtaBins][NRanges+1],
0093 *h_neutral11x11_iso31x31[NPBins][NEtaBins][NRanges+1],
0094 *h_contamination11x11_iso31x31[NPBins][NEtaBins][NRanges+1];
0095 TH1F *h_photon11x11_isoEcal_NxN[NPBins][NEtaBins][NRanges+1],
0096 *h_charged11x11_isoEcal_NxN[NPBins][NEtaBins][NRanges+1],
0097 *h_neutral11x11_isoEcal_NxN[NPBins][NEtaBins][NRanges+1],
0098 *h_contamination11x11_isoEcal_NxN[NPBins][NEtaBins][NRanges+1];
0099 TH1F *h_photonR_isoEcal_R[NPBins][NEtaBins][NRanges+1],
0100 *h_chargedR_isoEcal_R[NPBins][NEtaBins][NRanges+1],
0101 *h_neutralR_isoEcal_R[NPBins][NEtaBins][NRanges+1],
0102 *h_contaminationR_isoEcal_R[NPBins][NEtaBins][NRanges+1];
0103 TH1F *h_photonHC5x5_IsoNxN[NPBins][NEtaBins][NRanges+1],
0104 *h_chargedHC5x5_IsoNxN[NPBins][NEtaBins][NRanges+1],
0105 *h_neutralHC5x5_IsoNxN[NPBins][NEtaBins][NRanges+1],
0106 *h_contaminationHC5x5_IsoNxN[NPBins][NEtaBins][NRanges+1];
0107 TH1F *h_photonHCR_IsoR[NPBins][NEtaBins][NRanges+1],
0108 *h_chargedHCR_IsoR[NPBins][NEtaBins][NRanges+1],
0109 *h_neutralHCR_IsoR[NPBins][NEtaBins][NRanges+1],
0110 *h_contaminationHCR_IsoR[NPBins][NEtaBins][NRanges+1];
0111
0112
0113 TH1F *h_pdgId_iso31x31[NPBins][NEtaBins];
0114
0115
0116 TChain *fChain;
0117 Int_t fCurrent;
0118
0119
0120 std::vector<double> *t_isoTrkPAll;
0121 std::vector<double> *t_isoTrkPtAll;
0122 std::vector<double> *t_isoTrkPhiAll;
0123 std::vector<double> *t_isoTrkEtaAll;
0124 std::vector<double> *t_isoTrkDPhiAll;
0125 std::vector<double> *t_isoTrkDEtaAll;
0126 std::vector<double> *t_isoTrkPdgIdAll;
0127 std::vector<double> *t_isoTrkP;
0128 std::vector<double> *t_isoTrkPt;
0129 std::vector<double> *t_isoTrkEne;
0130 std::vector<double> *t_isoTrkEta;
0131 std::vector<double> *t_isoTrkPhi;
0132 std::vector<double> *t_isoTrkPdgId;
0133 std::vector<double> *t_maxNearP31x31;
0134 std::vector<double> *t_cHadronEne31x31;
0135 std::vector<double> *t_cHadronEne31x31_1;
0136 std::vector<double> *t_cHadronEne31x31_2;
0137 std::vector<double> *t_cHadronEne31x31_3;
0138 std::vector<double> *t_nHadronEne31x31;
0139 std::vector<double> *t_photonEne31x31;
0140 std::vector<double> *t_eleEne31x31;
0141 std::vector<double> *t_muEne31x31;
0142 std::vector<double> *t_maxNearP25x25;
0143 std::vector<double> *t_cHadronEne25x25;
0144 std::vector<double> *t_cHadronEne25x25_1;
0145 std::vector<double> *t_cHadronEne25x25_2;
0146 std::vector<double> *t_cHadronEne25x25_3;
0147 std::vector<double> *t_nHadronEne25x25;
0148 std::vector<double> *t_photonEne25x25;
0149 std::vector<double> *t_eleEne25x25;
0150 std::vector<double> *t_muEne25x25;
0151 std::vector<double> *t_maxNearP21x21;
0152 std::vector<double> *t_cHadronEne21x21;
0153 std::vector<double> *t_cHadronEne21x21_1;
0154 std::vector<double> *t_cHadronEne21x21_2;
0155 std::vector<double> *t_cHadronEne21x21_3;
0156 std::vector<double> *t_nHadronEne21x21;
0157 std::vector<double> *t_photonEne21x21;
0158 std::vector<double> *t_eleEne21x21;
0159 std::vector<double> *t_muEne21x21;
0160 std::vector<double> *t_maxNearP15x15;
0161 std::vector<double> *t_cHadronEne15x15;
0162 std::vector<double> *t_cHadronEne15x15_1;
0163 std::vector<double> *t_cHadronEne15x15_2;
0164 std::vector<double> *t_cHadronEne15x15_3;
0165 std::vector<double> *t_nHadronEne15x15;
0166 std::vector<double> *t_photonEne15x15;
0167 std::vector<double> *t_eleEne15x15;
0168 std::vector<double> *t_muEne15x15;
0169 std::vector<double> *t_maxNearP11x11;
0170 std::vector<double> *t_cHadronEne11x11;
0171 std::vector<double> *t_cHadronEne11x11_1;
0172 std::vector<double> *t_cHadronEne11x11_2;
0173 std::vector<double> *t_cHadronEne11x11_3;
0174 std::vector<double> *t_nHadronEne11x11;
0175 std::vector<double> *t_photonEne11x11;
0176 std::vector<double> *t_eleEne11x11;
0177 std::vector<double> *t_muEne11x11;
0178 std::vector<double> *t_maxNearP9x9;
0179 std::vector<double> *t_cHadronEne9x9;
0180 std::vector<double> *t_cHadronEne9x9_1;
0181 std::vector<double> *t_cHadronEne9x9_2;
0182 std::vector<double> *t_cHadronEne9x9_3;
0183 std::vector<double> *t_nHadronEne9x9;
0184 std::vector<double> *t_photonEne9x9;
0185 std::vector<double> *t_eleEne9x9;
0186 std::vector<double> *t_muEne9x9;
0187 std::vector<double> *t_maxNearP7x7;
0188 std::vector<double> *t_cHadronEne7x7;
0189 std::vector<double> *t_cHadronEne7x7_1;
0190 std::vector<double> *t_cHadronEne7x7_2;
0191 std::vector<double> *t_cHadronEne7x7_3;
0192 std::vector<double> *t_nHadronEne7x7;
0193 std::vector<double> *t_photonEne7x7;
0194 std::vector<double> *t_eleEne7x7;
0195 std::vector<double> *t_muEne7x7;
0196 std::vector<double> *t_maxNearPHC3x3;
0197 std::vector<double> *t_cHadronEneHC3x3;
0198 std::vector<double> *t_cHadronEneHC3x3_1;
0199 std::vector<double> *t_cHadronEneHC3x3_2;
0200 std::vector<double> *t_cHadronEneHC3x3_3;
0201 std::vector<double> *t_nHadronEneHC3x3;
0202 std::vector<double> *t_photonEneHC3x3;
0203 std::vector<double> *t_eleEneHC3x3;
0204 std::vector<double> *t_muEneHC3x3;
0205 std::vector<double> *t_maxNearPHC5x5;
0206 std::vector<double> *t_cHadronEneHC5x5;
0207 std::vector<double> *t_cHadronEneHC5x5_1;
0208 std::vector<double> *t_cHadronEneHC5x5_2;
0209 std::vector<double> *t_cHadronEneHC5x5_3;
0210 std::vector<double> *t_nHadronEneHC5x5;
0211 std::vector<double> *t_photonEneHC5x5;
0212 std::vector<double> *t_eleEneHC5x5;
0213 std::vector<double> *t_muEneHC5x5;
0214 std::vector<double> *t_maxNearPHC7x7;
0215 std::vector<double> *t_cHadronEneHC7x7;
0216 std::vector<double> *t_cHadronEneHC7x7_1;
0217 std::vector<double> *t_cHadronEneHC7x7_2;
0218 std::vector<double> *t_cHadronEneHC7x7_3;
0219 std::vector<double> *t_nHadronEneHC7x7;
0220 std::vector<double> *t_photonEneHC7x7;
0221 std::vector<double> *t_eleEneHC7x7;
0222 std::vector<double> *t_muEneHC7x7;
0223 std::vector<double> *t_maxNearPR;
0224 std::vector<double> *t_cHadronEneR;
0225 std::vector<double> *t_cHadronEneR_1;
0226 std::vector<double> *t_cHadronEneR_2;
0227 std::vector<double> *t_cHadronEneR_3;
0228 std::vector<double> *t_nHadronEneR;
0229 std::vector<double> *t_photonEneR;
0230 std::vector<double> *t_eleEneR;
0231 std::vector<double> *t_muEneR;
0232 std::vector<double> *t_maxNearPIsoR;
0233 std::vector<double> *t_cHadronEneIsoR;
0234 std::vector<double> *t_cHadronEneIsoR_1;
0235 std::vector<double> *t_cHadronEneIsoR_2;
0236 std::vector<double> *t_cHadronEneIsoR_3;
0237 std::vector<double> *t_nHadronEneIsoR;
0238 std::vector<double> *t_photonEneIsoR;
0239 std::vector<double> *t_eleEneIsoR;
0240 std::vector<double> *t_muEneIsoR;
0241 std::vector<double> *t_maxNearPHCR;
0242 std::vector<double> *t_cHadronEneHCR;
0243 std::vector<double> *t_cHadronEneHCR_1;
0244 std::vector<double> *t_cHadronEneHCR_2;
0245 std::vector<double> *t_cHadronEneHCR_3;
0246 std::vector<double> *t_nHadronEneHCR;
0247 std::vector<double> *t_photonEneHCR;
0248 std::vector<double> *t_eleEneHCR;
0249 std::vector<double> *t_muEneHCR;
0250 std::vector<double> *t_maxNearPIsoHCR;
0251 std::vector<double> *t_cHadronEneIsoHCR;
0252 std::vector<double> *t_cHadronEneIsoHCR_1;
0253 std::vector<double> *t_cHadronEneIsoHCR_2;
0254 std::vector<double> *t_cHadronEneIsoHCR_3;
0255 std::vector<double> *t_nHadronEneIsoHCR;
0256 std::vector<double> *t_photonEneIsoHCR;
0257 std::vector<double> *t_eleEneIsoHCR;
0258 std::vector<double> *t_muEneIsoHCR;
0259 std::vector<int> *t_L1Decision;
0260 std::vector<double> *t_L1CenJetPt;
0261 std::vector<double> *t_L1CenJetEta;
0262 std::vector<double> *t_L1CenJetPhi;
0263 std::vector<double> *t_L1FwdJetPt;
0264 std::vector<double> *t_L1FwdJetEta;
0265 std::vector<double> *t_L1FwdJetPhi;
0266 std::vector<double> *t_L1TauJetPt;
0267 std::vector<double> *t_L1TauJetEta;
0268 std::vector<double> *t_L1TauJetPhi;
0269 std::vector<double> *t_L1MuonPt;
0270 std::vector<double> *t_L1MuonEta;
0271 std::vector<double> *t_L1MuonPhi;
0272 std::vector<double> *t_L1IsoEMPt;
0273 std::vector<double> *t_L1IsoEMEta;
0274 std::vector<double> *t_L1IsoEMPhi;
0275 std::vector<double> *t_L1NonIsoEMPt;
0276 std::vector<double> *t_L1NonIsoEMEta;
0277 std::vector<double> *t_L1NonIsoEMPhi;
0278 std::vector<double> *t_L1METPt;
0279 std::vector<double> *t_L1METEta;
0280 std::vector<double> *t_L1METPhi;
0281
0282
0283 TBranch *b_t_isoTrkPAll;
0284 TBranch *b_t_isoTrkPtAll;
0285 TBranch *b_t_isoTrkPhiAll;
0286 TBranch *b_t_isoTrkEtaAll;
0287 TBranch *b_t_isoTrkDPhiAll;
0288 TBranch *b_t_isoTrkDEtaAll;
0289 TBranch *b_t_isoTrkPdgIdAll;
0290 TBranch *b_t_isoTrkP;
0291 TBranch *b_t_isoTrkPt;
0292 TBranch *b_t_isoTrkEne;
0293 TBranch *b_t_isoTrkEta;
0294 TBranch *b_t_isoTrkPhi;
0295 TBranch *b_t_isoTrkPdgId;
0296 TBranch *b_t_maxNearP31x31;
0297 TBranch *b_t_cHadronEne31x31;
0298 TBranch *b_t_cHadronEne31x31_1;
0299 TBranch *b_t_cHadronEne31x31_2;
0300 TBranch *b_t_cHadronEne31x31_3;
0301 TBranch *b_t_nHadronEne31x31;
0302 TBranch *b_t_photonEne31x31;
0303 TBranch *b_t_eleEne31x31;
0304 TBranch *b_t_muEne31x31;
0305 TBranch *b_t_maxNearP25x25;
0306 TBranch *b_t_cHadronEne25x25;
0307 TBranch *b_t_cHadronEne25x25_1;
0308 TBranch *b_t_cHadronEne25x25_2;
0309 TBranch *b_t_cHadronEne25x25_3;
0310 TBranch *b_t_nHadronEne25x25;
0311 TBranch *b_t_photonEne25x25;
0312 TBranch *b_t_eleEne25x25;
0313 TBranch *b_t_muEne25x25;
0314 TBranch *b_t_maxNearP21x21;
0315 TBranch *b_t_cHadronEne21x21;
0316 TBranch *b_t_cHadronEne21x21_1;
0317 TBranch *b_t_cHadronEne21x21_2;
0318 TBranch *b_t_cHadronEne21x21_3;
0319 TBranch *b_t_nHadronEne21x21;
0320 TBranch *b_t_photonEne21x21;
0321 TBranch *b_t_eleEne21x21;
0322 TBranch *b_t_muEne21x21;
0323 TBranch *b_t_maxNearP15x15;
0324 TBranch *b_t_cHadronEne15x15;
0325 TBranch *b_t_cHadronEne15x15_1;
0326 TBranch *b_t_cHadronEne15x15_2;
0327 TBranch *b_t_cHadronEne15x15_3;
0328 TBranch *b_t_nHadronEne15x15;
0329 TBranch *b_t_photonEne15x15;
0330 TBranch *b_t_eleEne15x15;
0331 TBranch *b_t_muEne15x15;
0332 TBranch *b_t_maxNearP11x11;
0333 TBranch *b_t_cHadronEne11x11;
0334 TBranch *b_t_cHadronEne11x11_1;
0335 TBranch *b_t_cHadronEne11x11_2;
0336 TBranch *b_t_cHadronEne11x11_3;
0337 TBranch *b_t_nHadronEne11x11;
0338 TBranch *b_t_photonEne11x11;
0339 TBranch *b_t_eleEne11x11;
0340 TBranch *b_t_muEne11x11;
0341 TBranch *b_t_maxNearP9x9;
0342 TBranch *b_t_cHadronEne9x9;
0343 TBranch *b_t_cHadronEne9x9_1;
0344 TBranch *b_t_cHadronEne9x9_2;
0345 TBranch *b_t_cHadronEne9x9_3;
0346 TBranch *b_t_nHadronEne9x9;
0347 TBranch *b_t_photonEne9x9;
0348 TBranch *b_t_eleEne9x9;
0349 TBranch *b_t_muEne9x9;
0350 TBranch *b_t_maxNearP7x7;
0351 TBranch *b_t_cHadronEne7x7;
0352 TBranch *b_t_cHadronEne7x7_1;
0353 TBranch *b_t_cHadronEne7x7_2;
0354 TBranch *b_t_cHadronEne7x7_3;
0355 TBranch *b_t_nHadronEne7x7;
0356 TBranch *b_t_photonEne7x7;
0357 TBranch *b_t_eleEne7x7;
0358 TBranch *b_t_muEne7x7;
0359 TBranch *b_t_maxNearPHC3x3;
0360 TBranch *b_t_cHadronEneHC3x3;
0361 TBranch *b_t_cHadronEneHC3x3_1;
0362 TBranch *b_t_cHadronEneHC3x3_2;
0363 TBranch *b_t_cHadronEneHC3x3_3;
0364 TBranch *b_t_nHadronEneHC3x3;
0365 TBranch *b_t_photonEneHC3x3;
0366 TBranch *b_t_eleEneHC3x3;
0367 TBranch *b_t_muEneHC3x3;
0368 TBranch *b_t_maxNearPHC5x5;
0369 TBranch *b_t_cHadronEneHC5x5;
0370 TBranch *b_t_cHadronEneHC5x5_1;
0371 TBranch *b_t_cHadronEneHC5x5_2;
0372 TBranch *b_t_cHadronEneHC5x5_3;
0373 TBranch *b_t_nHadronEneHC5x5;
0374 TBranch *b_t_photonEneHC5x5;
0375 TBranch *b_t_eleEneHC5x5;
0376 TBranch *b_t_muEneHC5x5;
0377 TBranch *b_t_maxNearPHC7x7;
0378 TBranch *b_t_cHadronEneHC7x7;
0379 TBranch *b_t_cHadronEneHC7x7_1;
0380 TBranch *b_t_cHadronEneHC7x7_2;
0381 TBranch *b_t_cHadronEneHC7x7_3;
0382 TBranch *b_t_nHadronEneHC7x7;
0383 TBranch *b_t_photonEneHC7x7;
0384 TBranch *b_t_eleEneHC7x7;
0385 TBranch *b_t_muEneHC7x7;
0386 TBranch *b_t_maxNearPR;
0387 TBranch *b_t_cHadronEneR;
0388 TBranch *b_t_cHadronEneR_1;
0389 TBranch *b_t_cHadronEneR_2;
0390 TBranch *b_t_cHadronEneR_3;
0391 TBranch *b_t_nHadronEneR;
0392 TBranch *b_t_photonEneR;
0393 TBranch *b_t_eleEneR;
0394 TBranch *b_t_muEneR;
0395 TBranch *b_t_maxNearPIsoR;
0396 TBranch *b_t_cHadronEneIsoR;
0397 TBranch *b_t_cHadronEneIsoR_1;
0398 TBranch *b_t_cHadronEneIsoR_2;
0399 TBranch *b_t_cHadronEneIsoR_3;
0400 TBranch *b_t_nHadronEneIsoR;
0401 TBranch *b_t_photonEneIsoR;
0402 TBranch *b_t_eleEneIsoR;
0403 TBranch *b_t_muEneIsoR;
0404 TBranch *b_t_maxNearPHCR;
0405 TBranch *b_t_cHadronEneHCR;
0406 TBranch *b_t_cHadronEneHCR_1;
0407 TBranch *b_t_cHadronEneHCR_2;
0408 TBranch *b_t_cHadronEneHCR_3;
0409 TBranch *b_t_nHadronEneHCR;
0410 TBranch *b_t_photonEneHCR;
0411 TBranch *b_t_eleEneHCR;
0412 TBranch *b_t_muEneHCR;
0413 TBranch *b_t_maxNearPIsoHCR;
0414 TBranch *b_t_cHadronEneIsoHCR;
0415 TBranch *b_t_cHadronEneIsoHCR_1;
0416 TBranch *b_t_cHadronEneIsoHCR_2;
0417 TBranch *b_t_cHadronEneIsoHCR_3;
0418 TBranch *b_t_nHadronEneIsoHCR;
0419 TBranch *b_t_photonEneIsoHCR;
0420 TBranch *b_t_eleEneIsoHCR;
0421 TBranch *b_t_muEneIsoHCR;
0422 TBranch *b_t_L1Decision;
0423 TBranch *b_t_L1CenJetPt;
0424 TBranch *b_t_L1CenJetEta;
0425 TBranch *b_t_L1CenJetPhi;
0426 TBranch *b_t_L1FwdJetPt;
0427 TBranch *b_t_L1FwdJetEta;
0428 TBranch *b_t_L1FwdJetPhi;
0429 TBranch *b_t_L1TauJetPt;
0430 TBranch *b_t_L1TauJetEta;
0431 TBranch *b_t_L1TauJetPhi;
0432 TBranch *b_t_L1MuonPt;
0433 TBranch *b_t_L1MuonEta;
0434 TBranch *b_t_L1MuonPhi;
0435 TBranch *b_t_L1IsoEMPt;
0436 TBranch *b_t_L1IsoEMEta;
0437 TBranch *b_t_L1IsoEMPhi;
0438 TBranch *b_t_L1NonIsoEMPt;
0439 TBranch *b_t_L1NonIsoEMEta;
0440 TBranch *b_t_L1NonIsoEMPhi;
0441 TBranch *b_t_L1METPt;
0442 TBranch *b_t_L1METEta;
0443 TBranch *b_t_L1METPhi;
0444
0445 TreeAnalysisReadGen(const char *outFileName, std::vector<std::string>& ranges);
0446 virtual ~TreeAnalysisReadGen();
0447 virtual Int_t Cut(Long64_t entry);
0448 virtual Int_t GetEntry(Long64_t entry);
0449 virtual Long64_t LoadTree(Long64_t entry);
0450 virtual void Init(TChain *tree);
0451 virtual void Loop();
0452 virtual Bool_t Notify();
0453 virtual void Show(Long64_t entry = -1);
0454 void getL1Names();
0455 void BookHistograms(const char *outFileName,std::vector<std::string>& ranges);
0456 double DeltaPhi(double v1, double v2);
0457 double DeltaR(double eta1, double phi1, double eta2, double phi2);
0458 void AddWeight();
0459 void setRange(unsigned int ir);
0460 void clear();
0461
0462 };
0463
0464 #endif