Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 //////////////////////////////////////////////////////////
0002 // This class has been automatically generated on
0003 // Mon Nov 30 08:52:58 2009 by ROOT version 5.23/02
0004 // from TTree tree/tree
0005 // found on file: IsoTrkTreeRecoSimL131X8E29_v1.root
0006 //////////////////////////////////////////////////////////
0007 
0008 #ifndef TreeAnalysisRecoXtalsTh_h
0009 #define TreeAnalysisRecoXtalsTh_h
0010 
0011 #include <cstdlib>
0012 #include <iostream>
0013 #include <fstream>
0014 #include <vector>
0015 #include <string>
0016 #include <cmath>
0017 
0018 
0019 #include <TROOT.h>
0020 #include <TChain.h>
0021 #include <TFile.h>
0022 #include "TDirectory.h"
0023 #include "TH1F.h"
0024 #include "TH2.h"
0025 #include "TProfile.h"
0026 #include "TChain.h"
0027 #include "TString.h"
0028 
0029 class TreeAnalysisRecoXtalsTh {
0030 
0031 public :
0032 
0033   std::string ecalCharIso;
0034   std::string hcalCharIso;
0035   std::string dataType, L1Seed;
0036   double ebNeutIso, eeNeutIso, hhNeutIso;
0037   int    GoodPVCut;
0038   double dRL1Jet;
0039 
0040   //declaration of histograms
0041   static const int NEtaBins = 12;
0042   static const int NPBins   = 15; 
0043 
0044   double genPartPBins[NPBins+1], genPartEtaBins[NEtaBins+1];
0045   TFile *fout;
0046 
0047   TProfile *h_HcalMeanEneVsEta;
0048 
0049   TProfile *h_trackPCaloE11x11H3x3_0, *h_trackPCaloE9x9H3x3_0, *h_trackPCaloE7x7H3x3_0;
0050   TProfile *h_trackPCaloE11x11H3x3_1, *h_trackPCaloE9x9H3x3_1, *h_trackPCaloE7x7H3x3_1;
0051   TProfile *h_trackPCaloE11x11H3x3_2, *h_trackPCaloE9x9H3x3_2, *h_trackPCaloE7x7H3x3_2;
0052   TProfile *h_trackPCaloE11x11H3x3_3, *h_trackPCaloE9x9H3x3_3, *h_trackPCaloE7x7H3x3_3;
0053 
0054   TH1F *h_NPV_AnyGoodPV, *h_NPV_FirstGoodPV;
0055   TH1F *h_NPV_1, *h_nGoodPV, *h_nQltyVtx, *h_PVx_1, *h_PVy_1, *h_PVr_1, *h_PVz_1, *h_PVNDOF_1;
0056   TH1F *h_NPV_2, *h_PVx_2, *h_PVy_2, *h_PVr_2, *h_PVz_2, *h_PVNDOF_2;
0057   TH2F *h_PVNTracksSumPt_1;
0058 
0059   TH1F *h_PVNTracks_1,   *h_PVTracksSumPt_1,   *h_PVNTracksWt_1,   *h_PVTracksSumPtWt_1;
0060   TH1F *h_PVNTracks_2,   *h_PVTracksSumPt_2,   *h_PVNTracksWt_2,   *h_PVTracksSumPtWt_2;
0061   TH1F *h_PVNTracksHP_1, *h_PVTracksSumPtHP_1, *h_PVNTracksHPWt_1, *h_PVTracksSumPtHPWt_1;
0062   TH1F *h_PVNTracksHP_2, *h_PVTracksSumPtHP_2, *h_PVNTracksHPWt_2, *h_PVTracksSumPtHPWt_2;
0063 
0064   TH1F *h_trackPAll_1, *h_trackEtaAll_1, *h_trackPhiAll_1;
0065   TH1F *h_trackPtAll_1,*h_trackDxyAll_1, *h_trackDzAll_1, *h_trackChiSqAll_1;
0066 
0067   TH1F *h_trackP_1, *h_trackPt_1, *h_trackEta_1, *h_trackPhi_1, *h_trackChisq_1, *h_trackDxyPV_1, *h_trackDzPV_1, *h_trackNDOF_1;
0068   TH1F *h_trackP_2, *h_trackPt_2, *h_trackEta_2, *h_trackPhi_2, *h_trackChisq_2, *h_trackDxyPV_2, *h_trackDzPV_2, *h_trackNDOF_2;
0069   TH1F *h_trackP_3, *h_trackPt_3, *h_trackEta_3, *h_trackPhi_3, *h_trackChisq_3, *h_trackDxyPV_3, *h_trackDzPV_3, *h_trackNDOF_3;
0070   TH1F *h_trackP_4, *h_trackPt_4, *h_trackEta_4, *h_trackPhi_4, *h_trackChisq_4, *h_trackDxyPV_4, *h_trackDzPV_4, *h_trackNDOF_4;
0071   TH1F *h_trackP_5, *h_trackPt_5, *h_trackEta_5, *h_trackPhi_5, *h_trackChisq_5, *h_trackDxyPV_5, *h_trackDzPV_5, *h_trackNDOF_5;
0072 
0073   TH1F *h_trackPhi_2_2[NEtaBins];
0074   TH1F *h_trackPhi_3_3[NEtaBins];
0075 
0076   TH1F *h_trackPhi_3_Inner[NEtaBins];
0077   TH1F *h_trackPhi_3_Outer[NEtaBins];
0078 
0079   TH2F *h_eECAL11x11VsHCAL3x3[NEtaBins];
0080 
0081   TH1F *h_meanTrackP[NPBins][NEtaBins];
0082     
0083   TH1F *h_maxNearP7x7[NPBins][NEtaBins],
0084        *h_maxNearP9x9[NPBins][NEtaBins],
0085        *h_maxNearP11x11[NPBins][NEtaBins],
0086        *h_maxNearP13x13[NPBins][NEtaBins], 
0087        *h_maxNearP15x15[NPBins][NEtaBins], 
0088        *h_maxNearP21x21[NPBins][NEtaBins], 
0089        *h_maxNearP25x25[NPBins][NEtaBins],
0090        *h_maxNearP31x31[NPBins][NEtaBins];
0091 
0092   TH1F *h_eECAL3x3_Frac[NPBins][NEtaBins],
0093        *h_eECAL5x5_Frac[NPBins][NEtaBins],
0094        *h_eECAL7x7_Frac[NPBins][NEtaBins],
0095        *h_eECAL9x9_Frac[NPBins][NEtaBins],
0096        *h_eECAL11x11_Frac[NPBins][NEtaBins],
0097        *h_eECAL13x13_Frac[NPBins][NEtaBins],
0098        *h_eECAL15x15_Frac[NPBins][NEtaBins],
0099        *h_eECAL21x21_Frac[NPBins][NEtaBins],
0100        *h_eECAL25x25_Frac[NPBins][NEtaBins],
0101        *h_eECAL31x31_Frac[NPBins][NEtaBins];
0102 
0103   TH1F *hh_eECAL3x3_Frac[NEtaBins],
0104        *hh_eECAL5x5_Frac[NEtaBins],
0105        *hh_eECAL7x7_Frac[NEtaBins],
0106        *hh_eECAL9x9_Frac[NEtaBins],
0107        *hh_eECAL11x11_Frac[NEtaBins],
0108        *hh_eECAL13x13_Frac[NEtaBins],
0109        *hh_eECAL15x15_Frac[NEtaBins],
0110        *hh_eECAL21x21_Frac[NEtaBins],
0111        *hh_eECAL25x25_Frac[NEtaBins],
0112        *hh_eECAL31x31_Frac[NEtaBins];
0113 
0114   TH1F *h_eHCAL3x3_Frac[NPBins][NEtaBins],
0115        *h_eHCAL5x5_Frac[NPBins][NEtaBins],
0116        *h_eHCAL7x7_Frac[NPBins][NEtaBins];
0117   TH1F *h_eHCAL3x3_Frac_20Sig[NPBins][NEtaBins],
0118        *h_eHCAL5x5_Frac_20Sig[NPBins][NEtaBins],
0119        *h_eHCAL7x7_Frac_20Sig[NPBins][NEtaBins];
0120   TH1F *h_eHCAL3x3MIP_Frac[NPBins][NEtaBins],
0121        *h_eHCAL5x5MIP_Frac[NPBins][NEtaBins],
0122        *h_eHCAL7x7MIP_Frac[NPBins][NEtaBins];
0123   TH1F *h_eHCAL3x3MIP_Frac_20Sig[NPBins][NEtaBins],
0124        *h_eHCAL5x5MIP_Frac_20Sig[NPBins][NEtaBins],
0125        *h_eHCAL7x7MIP_Frac_20Sig[NPBins][NEtaBins];
0126 
0127   TH1F *hh_eHCAL3x3_Frac[NEtaBins],
0128        *hh_eHCAL5x5_Frac[NEtaBins],
0129        *hh_eHCAL7x7_Frac[NEtaBins];
0130   TH1F *hh_eHCAL3x3_Frac_20Sig[NEtaBins],
0131        *hh_eHCAL5x5_Frac_20Sig[NEtaBins],
0132        *hh_eHCAL7x7_Frac_20Sig[NEtaBins];
0133 
0134   TH1F *h_eHCAL3x3_eECAL11x11_response[NPBins][NEtaBins],
0135        *h_eHCAL5x5_eECAL11x11_response[NPBins][NEtaBins],
0136        *h_eHCAL7x7_eECAL11x11_response[NPBins][NEtaBins];
0137   TH1F *h_eHCAL3x3_eECAL11x11_responseMIP[NPBins][NEtaBins],
0138        *h_eHCAL5x5_eECAL11x11_responseMIP[NPBins][NEtaBins],
0139        *h_eHCAL7x7_eECAL11x11_responseMIP[NPBins][NEtaBins];
0140   TH1F *h_eHCAL3x3_eECAL11x11_responseInteract[NPBins][NEtaBins],
0141        *h_eHCAL5x5_eECAL11x11_responseInteract[NPBins][NEtaBins],
0142        *h_eHCAL7x7_eECAL11x11_responseInteract[NPBins][NEtaBins];
0143 
0144   TH1F *h_eHCAL3x3_eECAL9x9_response[NPBins][NEtaBins],
0145        *h_eHCAL5x5_eECAL9x9_response[NPBins][NEtaBins],
0146        *h_eHCAL7x7_eECAL9x9_response[NPBins][NEtaBins];
0147   TH1F *h_eHCAL3x3_eECAL9x9_responseMIP[NPBins][NEtaBins],
0148        *h_eHCAL5x5_eECAL9x9_responseMIP[NPBins][NEtaBins],
0149        *h_eHCAL7x7_eECAL9x9_responseMIP[NPBins][NEtaBins];
0150   TH1F *h_eHCAL3x3_eECAL9x9_responseInteract[NPBins][NEtaBins],
0151        *h_eHCAL5x5_eECAL9x9_responseInteract[NPBins][NEtaBins],
0152        *h_eHCAL7x7_eECAL9x9_responseInteract[NPBins][NEtaBins];
0153 
0154   TH1F *h_eHCAL3x3_eECAL7x7_response[NPBins][NEtaBins],
0155        *h_eHCAL5x5_eECAL7x7_response[NPBins][NEtaBins],
0156        *h_eHCAL7x7_eECAL7x7_response[NPBins][NEtaBins];
0157   TH1F *h_eHCAL3x3_eECAL7x7_responseMIP[NPBins][NEtaBins],
0158        *h_eHCAL5x5_eECAL7x7_responseMIP[NPBins][NEtaBins],
0159        *h_eHCAL7x7_eECAL7x7_responseMIP[NPBins][NEtaBins];
0160   TH1F *h_eHCAL3x3_eECAL7x7_responseInteract[NPBins][NEtaBins],
0161        *h_eHCAL5x5_eECAL7x7_responseInteract[NPBins][NEtaBins],
0162        *h_eHCAL7x7_eECAL7x7_responseInteract[NPBins][NEtaBins];
0163 
0164 
0165   //===
0166   TH1F *h_diff_e15x15e11x11[NPBins][NEtaBins],
0167        *h_diff_e15x15e11x11_20Sig[NPBins][NEtaBins];
0168 
0169   TH1F *h_diff_h7x7h5x5[NPBins][NEtaBins];
0170 
0171   TH1F *h_eECAL7x7_Frac_20Sig[NPBins][NEtaBins],
0172        *h_eECAL9x9_Frac_20Sig[NPBins][NEtaBins],
0173        *h_eECAL11x11_Frac_20Sig[NPBins][NEtaBins];
0174   TH1F *h_eHCAL3x3_eECAL11x11_response_20Sig[NPBins][NEtaBins];
0175   TH1F *h_eHCAL3x3_eECAL11x11_responseMIP_20Sig[NPBins][NEtaBins];
0176   TH1F *h_eHCAL3x3_eECAL11x11_responseInteract_20Sig[NPBins][NEtaBins];
0177   TH1F *h_eHCAL3x3_eECAL9x9_response_20Sig[NPBins][NEtaBins];
0178   TH1F *h_eHCAL3x3_eECAL9x9_responseMIP_20Sig[NPBins][NEtaBins];
0179   TH1F *h_eHCAL3x3_eECAL9x9_responseInteract_20Sig[NPBins][NEtaBins];
0180   TH1F *h_eHCAL3x3_eECAL7x7_response_20Sig[NPBins][NEtaBins];
0181   TH1F *h_eHCAL3x3_eECAL7x7_responseMIP_20Sig[NPBins][NEtaBins];
0182   TH1F *h_eHCAL3x3_eECAL7x7_responseInteract_20Sig[NPBins][NEtaBins];
0183   TH1F *h_eHCAL5x5_eECAL7x7_response_20Sig[NPBins][NEtaBins];
0184   TH1F *h_eHCAL5x5_eECAL7x7_responseMIP_20Sig[NPBins][NEtaBins];
0185   TH1F *h_eHCAL5x5_eECAL7x7_responseInteract_20Sig[NPBins][NEtaBins];
0186   TH1F *h_eHCAL5x5_eECAL11x11_response_20Sig[NPBins][NEtaBins];
0187   TH1F *h_eHCAL5x5_eECAL11x11_responseMIP_20Sig[NPBins][NEtaBins];
0188   TH1F *h_eHCAL5x5_eECAL11x11_responseInteract_20Sig[NPBins][NEtaBins];
0189   
0190   TH1F *hh_eECAL7x7_Frac_20Sig[NEtaBins],
0191        *hh_eECAL9x9_Frac_20Sig[NEtaBins],
0192        *hh_eECAL11x11_Frac_20Sig[NEtaBins];
0193 
0194   //================================
0195 
0196    TChain          *fChain;   //!pointer to the analyzed TTree or TChain
0197    Int_t            fCurrent; //!current Tree number in a TChain
0198 
0199    // Declaration of leaf types
0200    Int_t                 t_EvtNo;
0201    Int_t                 t_RunNo;
0202    Int_t                 t_Lumi;
0203    Int_t                 t_Bunch;
0204    std::vector<double>  *PVx;
0205    std::vector<double>  *PVy;
0206    std::vector<double>  *PVz;
0207    std::vector<int>     *PVisValid;
0208    std::vector<int>     *PVndof;
0209    std::vector<int>     *PVNTracks;
0210    std::vector<int>     *PVNTracksWt;
0211    std::vector<double>  *t_PVTracksSumPt;
0212    std::vector<double>  *t_PVTracksSumPtWt;
0213    Int_t                 t_L1Decision[128];
0214    std::vector<double>  *t_L1CenJetPt;
0215    std::vector<double>  *t_L1CenJetEta;
0216    std::vector<double>  *t_L1CenJetPhi;
0217    std::vector<double>  *t_L1FwdJetPt;
0218    std::vector<double>  *t_L1FwdJetEta;
0219    std::vector<double>  *t_L1FwdJetPhi;
0220    std::vector<double>  *t_L1TauJetPt;
0221    std::vector<double>  *t_L1TauJetEta;
0222    std::vector<double>  *t_L1TauJetPhi;
0223    std::vector<double>  *t_L1MuonPt;
0224    std::vector<double>  *t_L1MuonEta;
0225    std::vector<double>  *t_L1MuonPhi;
0226    std::vector<double>  *t_L1IsoEMPt;
0227    std::vector<double>  *t_L1IsoEMEta;
0228    std::vector<double>  *t_L1IsoEMPhi;
0229    std::vector<double>  *t_L1NonIsoEMPt;
0230    std::vector<double>  *t_L1NonIsoEMEta;
0231    std::vector<double>  *t_L1NonIsoEMPhi;
0232    std::vector<double>  *t_L1METPt;
0233    std::vector<double>  *t_L1METEta;
0234    std::vector<double>  *t_L1METPhi;
0235    std::vector<double>  *t_jetPt;
0236    std::vector<double>  *t_jetEta;
0237    std::vector<double>  *t_jetPhi;
0238    std::vector<double>  *t_nTrksJetCalo;
0239    std::vector<double>  *t_nTrksJetVtx;
0240    std::vector<double>  *t_trackPAll;
0241    std::vector<double>  *t_trackPhiAll;
0242    std::vector<double>  *t_trackEtaAll;
0243    std::vector<double>  *t_trackPtAll;
0244    std::vector<double>  *t_trackDxyAll;
0245    std::vector<double>  *t_trackDzAll;
0246    std::vector<double>  *t_trackDxyPVAll;
0247    std::vector<double>  *t_trackDzPVAll;
0248    std::vector<double>  *t_trackChiSqAll;
0249    std::vector<double>  *t_trackP;
0250    std::vector<double>  *t_trackPt;
0251    std::vector<double>  *t_trackEta;
0252    std::vector<double>  *t_trackPhi;
0253    std::vector<double>  *t_trackEcalEta;
0254    std::vector<double>  *t_trackEcalPhi;
0255    std::vector<double>  *t_trackHcalEta;
0256    std::vector<double>  *t_trackHcalPhi;
0257    std::vector<int>     *t_trackNOuterHits;
0258    std::vector<int>     *t_NLayersCrossed;
0259    std::vector<int>     *t_trackHitsTOB;
0260    std::vector<int>     *t_trackHitsTEC;
0261    std::vector<int>     *t_trackHitInMissTOB;
0262    std::vector<int>     *t_trackHitInMissTEC;
0263    std::vector<int>     *t_trackHitInMissTIB;
0264    std::vector<int>     *t_trackHitInMissTID;
0265    std::vector<int>     *t_trackHitOutMissTOB;
0266    std::vector<int>     *t_trackHitOutMissTEC;
0267    std::vector<int>     *t_trackHitOutMissTIB;
0268    std::vector<int>     *t_trackHitOutMissTID;
0269    std::vector<int>     *t_trackHitInMeasTOB;
0270    std::vector<int>     *t_trackHitInMeasTEC;
0271    std::vector<int>     *t_trackHitInMeasTIB;
0272    std::vector<int>     *t_trackHitInMeasTID;
0273    std::vector<int>     *t_trackHitOutMeasTOB;
0274    std::vector<int>     *t_trackHitOutMeasTEC;
0275    std::vector<int>     *t_trackHitOutMeasTIB;
0276    std::vector<int>     *t_trackHitOutMeasTID;
0277    std::vector<double>  *t_trackDxy;
0278    std::vector<double>  *t_trackDz;
0279    std::vector<double>  *t_trackDxyPV;
0280    std::vector<double>  *t_trackDzPV;
0281    std::vector<double>  *t_trackChiSq;
0282    std::vector<int>     *t_trackPVIdx;
0283    std::vector<double>  *t_maxNearP31x31;
0284    std::vector<double>  *t_maxNearP21x21;
0285    std::vector<int>     *t_ecalSpike11x11;
0286    std::vector<double>  *t_e7x7;
0287    std::vector<double>  *t_e9x9;
0288    std::vector<double>  *t_e11x11;
0289    std::vector<double>  *t_e15x15;
0290    std::vector<double>  *t_e7x7_20Sig;
0291    std::vector<double>  *t_e9x9_20Sig;
0292    std::vector<double>  *t_e11x11_20Sig;
0293    std::vector<double>  *t_e15x15_20Sig;
0294    std::vector<double>  *t_maxNearHcalP3x3;
0295    std::vector<double>  *t_maxNearHcalP5x5;
0296    std::vector<double>  *t_maxNearHcalP7x7;
0297    std::vector<double>  *t_h3x3;
0298    std::vector<double>  *t_h5x5;
0299    std::vector<double>  *t_h7x7;
0300    std::vector<int>     *t_infoHcal;
0301    Int_t                 t_nTracks;
0302 
0303 
0304    // List of branches
0305    TBranch        *b_t_EvtNo;   //!
0306    TBranch        *b_t_RunNo;   //!
0307    TBranch        *b_t_Lumi;   //!
0308    TBranch        *b_t_Bunch;   //!
0309    TBranch        *b_PVx;   //!
0310    TBranch        *b_PVy;   //!
0311    TBranch        *b_PVz;   //!
0312    TBranch        *b_PVisValid;   //!
0313    TBranch        *b_PVndof;   //!
0314    TBranch        *b_PVNTracks;   //!
0315    TBranch        *b_PVNTracksWt;   //!
0316    TBranch        *b_t_PVTracksSumPt;   //!
0317    TBranch        *b_t_PVTracksSumPtWt;   //!
0318    TBranch        *b_t_L1Decision;   //!
0319    TBranch        *b_t_L1CenJetPt;   //!
0320    TBranch        *b_t_L1CenJetEta;   //!
0321    TBranch        *b_t_L1CenJetPhi;   //!
0322    TBranch        *b_t_L1FwdJetPt;   //!
0323    TBranch        *b_t_L1FwdJetEta;   //!
0324    TBranch        *b_t_L1FwdJetPhi;   //!
0325    TBranch        *b_t_L1TauJetPt;   //!
0326    TBranch        *b_t_L1TauJetEta;   //!
0327    TBranch        *b_t_L1TauJetPhi;   //!
0328    TBranch        *b_t_L1MuonPt;   //!
0329    TBranch        *b_t_L1MuonEta;   //!
0330    TBranch        *b_t_L1MuonPhi;   //!
0331    TBranch        *b_t_L1IsoEMPt;   //!
0332    TBranch        *b_t_L1IsoEMEta;   //!
0333    TBranch        *b_t_L1IsoEMPhi;   //!
0334    TBranch        *b_t_L1NonIsoEMPt;   //!
0335    TBranch        *b_t_L1NonIsoEMEta;   //!
0336    TBranch        *b_t_L1NonIsoEMPhi;   //!
0337    TBranch        *b_t_L1METPt;   //!
0338    TBranch        *b_t_L1METEta;   //!
0339    TBranch        *b_t_L1METPhi;   //!
0340    TBranch        *b_t_jetPt;   //!
0341    TBranch        *b_t_jetEta;   //!
0342    TBranch        *b_t_jetPhi;   //!
0343    TBranch        *b_t_nTrksJetCalo;   //!
0344    TBranch        *b_t_nTrksJetVtx;   //!
0345    TBranch        *b_t_trackPAll;   //!
0346    TBranch        *b_t_trackPhiAll;   //!
0347    TBranch        *b_t_trackEtaAll;   //!
0348    TBranch        *b_t_trackPtAll;   //!
0349    TBranch        *b_t_trackDxyAll;   //!
0350    TBranch        *b_t_trackDzAll;   //!
0351    TBranch        *b_t_trackDxyPVAll;   //!
0352    TBranch        *b_t_trackDzPVAll;   //!
0353    TBranch        *b_t_trackChiSqAll;   //!
0354    TBranch        *b_t_trackP;   //!
0355    TBranch        *b_t_trackPt;   //!
0356    TBranch        *b_t_trackEta;   //!
0357    TBranch        *b_t_trackPhi;   //!
0358    TBranch        *b_t_trackEcalEta;   //!
0359    TBranch        *b_t_trackEcalPhi;   //!
0360    TBranch        *b_t_trackHcalEta;   //!
0361    TBranch        *b_t_trackHcalPhi;   //!
0362    TBranch        *b_t_trackNOuterHits;   //!
0363    TBranch        *b_t_NLayersCrossed;   //!
0364    TBranch        *b_t_trackHitsTOB;   //!
0365    TBranch        *b_t_trackHitsTEC;   //!
0366    TBranch        *b_t_trackHitInMissTOB;   //!
0367    TBranch        *b_t_trackHitInMissTEC;   //!
0368    TBranch        *b_t_trackHitInMissTIB;   //!
0369    TBranch        *b_t_trackHitInMissTID;   //!
0370    TBranch        *b_t_trackHitOutMissTOB;   //!
0371    TBranch        *b_t_trackHitOutMissTEC;   //!
0372    TBranch        *b_t_trackHitOutMissTIB;   //!
0373    TBranch        *b_t_trackHitOutMissTID;   //!
0374    TBranch        *b_t_trackHitInMeasTOB;   //!
0375    TBranch        *b_t_trackHitInMeasTEC;   //!
0376    TBranch        *b_t_trackHitInMeasTIB;   //!
0377    TBranch        *b_t_trackHitInMeasTID;   //!
0378    TBranch        *b_t_trackHitOutMeasTOB;   //!
0379    TBranch        *b_t_trackHitOutMeasTEC;   //!
0380    TBranch        *b_t_trackHitOutMeasTIB;   //!
0381    TBranch        *b_t_trackHitOutMeasTID;   //!
0382    TBranch        *b_t_trackDxy;   //!
0383    TBranch        *b_t_trackDz;   //!
0384    TBranch        *b_t_trackDxyPV;   //!
0385    TBranch        *b_t_trackDzPV;   //!
0386    TBranch        *b_t_trackChiSq;   //!
0387    TBranch        *b_t_trackPVIdx;   //!
0388    TBranch        *b_t_maxNearP31x31;   //!
0389    TBranch        *b_t_maxNearP21x21;   //!
0390    TBranch        *b_t_ecalSpike11x11;   //!
0391    TBranch        *b_t_e7x7;   //!
0392    TBranch        *b_t_e9x9;   //!
0393    TBranch        *b_t_e11x11;   //!
0394    TBranch        *b_t_e15x15;   //!
0395    TBranch        *b_t_e7x7_20Sig;   //!
0396    TBranch        *b_t_e9x9_20Sig;   //!
0397    TBranch        *b_t_e11x11_20Sig;   //!
0398    TBranch        *b_t_e15x15_20Sig;   //!
0399    TBranch        *b_t_maxNearHcalP3x3;   //!
0400    TBranch        *b_t_maxNearHcalP5x5;   //!
0401    TBranch        *b_t_maxNearHcalP7x7;   //!
0402    TBranch        *b_t_h3x3;   //!
0403    TBranch        *b_t_h5x5;   //!
0404    TBranch        *b_t_h7x7;   //!
0405    TBranch        *b_t_infoHcal;   //!
0406    TBranch        *b_t_nTracks;   //!
0407 
0408 
0409    TreeAnalysisRecoXtalsTh(TChain *tree, const char *outFileName);
0410    virtual ~TreeAnalysisRecoXtalsTh();
0411    virtual Int_t    Cut(Long64_t entry);
0412    virtual Int_t    GetEntry(Long64_t entry);
0413    virtual Long64_t LoadTree(Long64_t entry);
0414    virtual void     Init(TChain *tree);
0415    virtual void     Loop(int cut=1);
0416    virtual Bool_t   Notify();
0417    virtual void     Show(Long64_t entry = -1);
0418    
0419    double DeltaPhi(double v1, double v2);
0420    double DeltaR(double eta1, double phi1, double eta2, double phi2);
0421    void   BookHistograms(const char *outFileName);
0422 };
0423 
0424 #endif