00001 #ifndef SiStripAnalyser_H 00002 #define SiStripAnalyser_H 00003 00013 #include "FWCore/Framework/interface/EDAnalyzer.h" 00014 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00015 #include "FWCore/Framework/interface/ESHandle.h" 00016 #include "FWCore/Framework/interface/LuminosityBlock.h" 00017 #include "FWCore/Framework/interface/Run.h" 00018 #include "FWCore/Framework/interface/EventSetup.h" 00019 #include "EventFilter/Utilities/interface/ModuleWeb.h" 00020 00021 #include <iostream> 00022 #include <fstream> 00023 #include <string> 00024 #include <vector> 00025 #include <map> 00026 00027 class DQMStore; 00028 class SiStripWebInterface; 00029 class SiStripFedCabling; 00030 class SiStripDetCabling; 00031 class SiStripActionExecutor; 00032 00033 class SiStripAnalyser: public edm::EDAnalyzer, public evf::ModuleWeb{ 00034 00035 public: 00036 00038 SiStripAnalyser(const edm::ParameterSet& ps); 00039 00041 virtual ~SiStripAnalyser(); 00042 00043 void defaultWebPage(xgi::Input *in, xgi::Output *out); 00044 void publish(xdata::InfoSpace *){}; 00045 // void handleWebRequest(xgi::Input *in, xgi::Output *out); 00046 00047 private: 00048 00050 void beginJob(edm::EventSetup const& eSetup); 00051 00053 void beginRun(edm::Run const& run, edm::EventSetup const& eSetup); 00054 00056 void analyze(edm::Event const& e, edm::EventSetup const& eSetup); 00057 00059 void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup) ; 00060 00062 00063 void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup); 00064 00066 void endRun(edm::Run const& run, edm::EventSetup const& eSetup); 00067 00069 void endJob(); 00070 00071 00072 00073 private: 00074 00075 void checkTrackerFEDs(edm::Event const& e); 00076 00077 DQMStore* dqmStore_; 00078 00079 SiStripWebInterface* sistripWebInterface_; 00080 00081 int fileSaveFrequency_; 00082 int summaryFrequency_; 00083 int tkMapFrequency_; 00084 int staticUpdateFrequency_; 00085 int globalStatusFilling_; 00086 edm::InputTag rawDataTag_; 00087 00088 std::string outputFilePath_; 00089 std::string outputFileName_; 00090 00091 edm::ParameterSet tkMapPSet_; 00092 edm::ESHandle< SiStripFedCabling > fedCabling_; 00093 edm::ESHandle< SiStripDetCabling > detCabling_; 00094 SiStripActionExecutor* actionExecutor_; 00095 00096 unsigned long long m_cacheID_; 00097 int nLumiSecs_; 00098 int nEvents_; 00099 bool trackerFEDsFound_; 00100 00101 std::ostringstream html_out_; 00102 00103 }; 00104 00105 00106 #endif