00001 #ifndef GeneratorInterface_RivetInterface_RivetAnalyzer 00002 #define GeneratorInterface_RivetInterface_RivetAnalyzer 00003 00004 #include "FWCore/Framework/interface/EDAnalyzer.h" 00005 #include "FWCore/Utilities/interface/InputTag.h" 00006 00007 #include "Rivet/AnalysisHandler.hh" 00008 00009 namespace edm{ 00010 class ParameterSet; 00011 class Event; 00012 class EventSetup; 00013 class InputTag; 00014 } 00015 00016 class RivetAnalyzer : public edm::EDAnalyzer 00017 { 00018 public: 00019 RivetAnalyzer(const edm::ParameterSet&); 00020 00021 virtual ~RivetAnalyzer(); 00022 00023 virtual void beginJob(); 00024 00025 virtual void endJob(); 00026 00027 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00028 00029 virtual void beginRun(const edm::Run&, const edm::EventSetup&); 00030 00031 virtual void endRun(const edm::Run&, const edm::EventSetup&); 00032 00033 private: 00034 00035 edm::InputTag _hepmcCollection; 00036 Rivet::AnalysisHandler _analysisHandler; 00037 bool _isFirstEvent; 00038 std::string _outFileName; 00039 }; 00040 00041 #endif