CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Calibration/IsolatedParticles/plugins/IsolatedParticlesGeneratedJets.h

Go to the documentation of this file.
00001 #ifndef CalibrationIsolatedParticlesGeneratedJets_h
00002 #define CalibrationIsolatedParticlesGeneratedJets_h
00003 
00004 // system include files
00005 #include <memory>
00006 
00007 // user include files
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDAnalyzer.h"
00010 
00011 #include "FWCore/Framework/interface/Event.h"
00012 #include "FWCore/Framework/interface/MakerMacros.h"
00013 
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 
00016 //TFile Service
00017 #include "FWCore/ServiceRegistry/interface/Service.h"
00018 #include "CommonTools/UtilAlgos/interface/TFileService.h"
00019 
00020 #include "DataFormats/JetReco/interface/GenJet.h"
00021 #include "DataFormats/JetReco/interface/GenJetCollection.h"
00022 #include "RecoJets/JetProducers/interface/JetMatchingTools.h"
00023 
00024 // root objects
00025 #include "TROOT.h"
00026 #include "TSystem.h"
00027 #include "TFile.h"
00028 #include "TH1F.h"
00029 #include "TH2F.h"
00030 #include "TProfile.h"
00031 #include "TDirectory.h"
00032 #include "TTree.h"
00033 
00034 class IsolatedParticlesGeneratedJets : public edm::EDAnalyzer {
00035 
00036 public:
00037   explicit IsolatedParticlesGeneratedJets(const edm::ParameterSet&);
00038   ~IsolatedParticlesGeneratedJets();
00039 
00040 private:
00041   virtual void beginJob() ;
00042   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00043   virtual void endJob() ;
00044 
00045   void    BookHistograms();
00046   void    clearTreeVectors();
00047   
00048   bool             debug;
00049   edm::InputTag    jetSrc, partSrc;
00050   edm::Service<TFileService> fs;
00051   TTree            *tree;
00052 
00053   std::vector<int> *t_gjetN;
00054 
00055   std::vector<double> *t_gjetE, *t_gjetPt, *t_gjetEta, *t_gjetPhi;
00056 
00057   std::vector< std::vector<double> > *t_jetTrkP;
00058   std::vector< std::vector<double> > *t_jetTrkPt;
00059   std::vector< std::vector<double> > *t_jetTrkEta;
00060   std::vector< std::vector<double> > *t_jetTrkPhi;
00061   std::vector< std::vector<double> > *t_jetTrkPdg;
00062   std::vector< std::vector<double> > *t_jetTrkCharge;
00063 
00064 };
00065 
00066 #endif