00001 #ifndef HLTMCTRUTH_H 00002 #define HLTMCTRUTH_H 00003 00004 #include "TH1.h" 00005 #include "TH2.h" 00006 #include "TFile.h" 00007 #include "TNamed.h" 00008 #include <vector> 00009 #include <map> 00010 #include "TROOT.h" 00011 #include "TChain.h" 00012 00013 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00014 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" 00015 #include "SimDataFormats/Track/interface/SimTrack.h" 00016 #include "SimDataFormats/Vertex/interface/SimVertex.h" 00017 #include "DataFormats/Candidate/interface/Candidate.h" 00018 00019 #include "DataFormats/METReco/interface/CaloMETCollection.h" 00020 00021 typedef std::vector<std::string> MyStrings; 00022 00029 class HLTMCtruth { 00030 public: 00031 HLTMCtruth(); 00032 00033 void setup(const edm::ParameterSet& pSet, TTree* tree); 00034 00036 void analyze(const edm::Handle<reco::CandidateView> & mctruth, 00037 const double & pthat, 00038 const edm::Handle<std::vector<SimTrack> > & simTracks, 00039 const edm::Handle<std::vector<SimVertex> > & simVertices, 00040 TTree* tree); 00041 00042 private: 00043 00044 // Tree variables 00045 float *mcvx, *mcvy, *mcvz, *mcpt, *mceta, *mcphi; 00046 int *mcpid, *mcstatus; 00047 int nmcpart,nmu3,nel3,nab,nbb,nwenu,nwmunu,nzee,nzmumu; 00048 float pthatf; 00049 float ptEleMax,ptMuMax; 00050 // input variables 00051 bool _Monte,_Debug; 00052 00053 }; 00054 00055 #endif