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 class SiStripClassToMonitorCondData; 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(); 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 SiStripClassToMonitorCondData* condDataMon_; 00076 void checkTrackerFEDs(edm::Event const& e); 00077 00078 DQMStore* dqmStore_; 00079 00080 SiStripWebInterface* sistripWebInterface_; 00081 00082 int fileSaveFrequency_; 00083 int summaryFrequency_; 00084 int tkMapFrequency_; 00085 int staticUpdateFrequency_; 00086 int globalStatusFilling_; 00087 int shiftReportFrequency_; 00088 edm::InputTag rawDataTag_; 00089 00090 std::string outputFilePath_; 00091 std::string outputFileName_; 00092 00093 edm::ParameterSet tkMapPSet_; 00094 edm::ESHandle< SiStripFedCabling > fedCabling_; 00095 edm::ESHandle< SiStripDetCabling > detCabling_; 00096 SiStripActionExecutor* actionExecutor_; 00097 00098 unsigned long long m_cacheID_; 00099 int nLumiSecs_; 00100 int nEvents_; 00101 bool trackerFEDsFound_; 00102 bool printFaultyModuleList_; 00103 bool endLumiAnalysisOn_; 00104 std::ostringstream html_out_; 00105 00106 }; 00107 00108 00109 #endif