00001 #ifndef SiPixelEDAClient_H 00002 #define SiPixelEDAClient_H 00003 00004 #include "FWCore/Framework/interface/EDAnalyzer.h" 00005 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00006 #include "FWCore/Framework/interface/ESHandle.h" 00007 #include "FWCore/Framework/interface/LuminosityBlock.h" 00008 #include "FWCore/Framework/interface/Run.h" 00009 00010 #include "EventFilter/Utilities/interface/ModuleWeb.h" 00011 00012 #include <iostream> 00013 #include <fstream> 00014 #include <string> 00015 #include <vector> 00016 #include <map> 00017 00018 class DQMStore; 00019 class SiPixelWebInterface; 00020 class SiPixelTrackerMapCreator; 00021 class SiPixelInformationExtractor; 00022 class SiPixelDataQuality; 00023 class SiPixelActionExecutor; 00024 00025 class SiPixelEDAClient: public edm::EDAnalyzer, public evf::ModuleWeb{ 00026 00027 public: 00028 00029 SiPixelEDAClient(const edm::ParameterSet& ps); 00030 virtual ~SiPixelEDAClient(); 00031 00032 void defaultWebPage(xgi::Input *in, 00033 xgi::Output *out); 00034 void publish(xdata::InfoSpace *){}; 00035 00036 protected: 00037 00038 void beginJob(); 00039 void beginRun(edm::Run const& run, 00040 edm::EventSetup const& eSetup); 00041 void analyze(edm::Event const& e, 00042 edm::EventSetup const& eSetup); 00043 void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, 00044 edm::EventSetup const& context) ; 00045 void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, 00046 edm::EventSetup const& c); 00047 void endRun(edm::Run const& run, 00048 edm::EventSetup const& eSetup); 00049 void endJob(); 00050 00051 private: 00052 00053 unsigned long long m_cacheID_; 00054 int nLumiSecs_; 00055 int nEvents_; 00056 int nEvents_lastLS_; 00057 00058 00059 DQMStore* bei_; 00060 00061 SiPixelWebInterface* sipixelWebInterface_; 00062 SiPixelInformationExtractor* sipixelInformationExtractor_; 00063 SiPixelDataQuality* sipixelDataQuality_; 00064 SiPixelActionExecutor* sipixelActionExecutor_; 00065 SiPixelTrackerMapCreator* trackerMapCreator_; 00066 00067 int tkMapFrequency_; 00068 int summaryFrequency_; 00069 unsigned int staticUpdateFrequency_; 00070 bool actionOnLumiSec_; 00071 bool actionOnRunEnd_; 00072 int evtOffsetForInit_; 00073 std::string summaryXMLfile_; 00074 bool hiRes_; 00075 double noiseRate_; 00076 int noiseRateDenominator_; 00077 bool offlineXMLfile_; 00078 int nFEDs_; 00079 bool Tier0Flag_; 00080 bool firstRun; 00081 bool doHitEfficiency_; 00082 00083 std::ostringstream html_out_; 00084 00085 00086 }; 00087 00088 00089 #endif