00001 #ifndef SimTrackSimVertexAnalyzer_H 00002 #define SimTrackSimVertexAnalyzer_H 00003 // 00004 // 00005 // system include files 00006 #include <memory> 00007 00008 // user include files 00009 #include "FWCore/Framework/interface/Frameworkfwd.h" 00010 #include "FWCore/Framework/interface/EDAnalyzer.h" 00011 #include "SimDataFormats/Track/interface/SimTrack.h" 00012 #include "SimDataFormats/Vertex/interface/SimVertex.h" 00013 00014 #include <vector> 00015 // forward declarations 00016 class TFile; 00017 class TH1D; 00018 00019 class SimTrackSimVertexAnalyzer : public edm::EDAnalyzer{ 00020 public: 00021 explicit SimTrackSimVertexAnalyzer( const edm::ParameterSet& ); 00022 virtual ~SimTrackSimVertexAnalyzer() {}; 00023 00024 virtual void analyze( const edm::Event&, const edm::EventSetup& ); 00025 virtual void beginJob( const edm::EventSetup& ); 00026 void association(std::vector<SimTrack>,std::vector<SimVertex>); 00027 virtual void endJob(); 00028 private: 00029 std::string fOutputFileName; 00030 std::string SimTkLabel; 00031 std::string SimVtxLabel; 00032 bool associate; 00033 double luminosityZ; 00034 double luminosityR; 00035 00036 00037 TH1D* numbTk; 00038 TH1D* momentumX; 00039 TH1D* momentumY; 00040 TH1D* momentumZ; 00041 TH1D* momentumPERP; 00042 TH1D* trackID; 00043 TH1D* type; 00044 00045 TH1D* numbVtx; 00046 TH1D* positionZ; 00047 TH1D* parentInd; 00048 00049 TFile* histoPlot; 00050 00051 }; 00052 00053 #endif