Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:59:24

0001 #ifndef TreeAnalysisReadGen_h
0002 #define TreeAnalysisReadGen_h
0003 //////////////////////////////////////////////////////////
0004 // This class has been automatically generated on
0005 // Sat Nov 14 12:12:00 2009 by ROOT version 5.23/02
0006 // from TTree tree/tree
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   // inclusive distributions
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;   //!pointer to the analyzed TTree or TChain
0117   Int_t           fCurrent; //!current Tree number in a TChain
0118 
0119   // Declaration of leaf types
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   // List of branches
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