00001 #include "TH1D.h" 00002 00003 #include <FWCore/Framework/interface/MakerMacros.h> 00004 #include <FWCore/Framework/interface/EDAnalyzer.h> 00005 #include <FWCore/Framework/interface/Event.h> 00006 #include "FWCore/ServiceRegistry/interface/Service.h" 00007 00008 #include "EventFilter/Utilities/interface/ModuleWeb.h" 00009 00010 #include <vector> 00011 #include <string> 00012 00013 namespace xgi{ 00014 class Input; 00015 class Output; 00016 } 00017 00018 #include <string> 00019 00020 namespace evf{ 00021 class ExceptionGenerator : public edm::EDAnalyzer, public evf::ModuleWeb 00022 { 00023 public: 00024 static const int menu_items = 14; 00025 static const std::string menu[menu_items]; 00026 00027 explicit ExceptionGenerator( const edm::ParameterSet& ); 00028 ~ExceptionGenerator(){}; 00029 void beginJob(); 00030 void beginRun(edm::Run& r, const edm::EventSetup& iSetup); 00031 void analyze(const edm::Event & e, const edm::EventSetup& c); 00032 void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&); 00033 00034 void defaultWebPage(xgi::Input *in, xgi::Output *out); 00035 void publish(xdata::InfoSpace *); 00036 virtual void publishForkInfo(moduleweb::ForkInfoObj *forkInfoObj); 00037 00038 private: 00039 int actionId_; 00040 unsigned int intqualifier_; 00041 std::string qualifier_; 00042 bool actionRequired_; 00043 std::string original_referrer_; 00044 TH1D* timingHisto_; 00045 timeval tv_start_; 00046 }; 00047 } 00048