00001 00002 #include <FWCore/Framework/interface/MakerMacros.h> 00003 #include <FWCore/Framework/interface/EDAnalyzer.h> 00004 #include <FWCore/Framework/interface/Event.h> 00005 #include "FWCore/ServiceRegistry/interface/Service.h" 00006 00007 #include "EventFilter/Utilities/interface/ModuleWeb.h" 00008 00009 #include "DQMServices/Core/interface/DQMOldReceiver.h" 00010 #include "DQMServices/Core/interface/MonitorElement.h" 00011 #include "DQMServices/ClientConfig/interface/QTestHandle.h" 00012 00013 namespace xgi{ 00014 class Input; 00015 class Output; 00016 } 00017 00018 #include <string> 00019 00020 namespace dqm{ 00021 namespace daq{ 00022 00023 class FEDMonitorClient : public edm::EDAnalyzer, public evf::ModuleWeb 00024 { 00025 public: 00026 00027 explicit FEDMonitorClient( const edm::ParameterSet& ); 00028 ~FEDMonitorClient(){if(qtHandle_) delete qtHandle_;}; 00029 00030 void analyze(const edm::Event & e, const edm::EventSetup& c); 00031 void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&); 00032 00033 void defaultWebPage(xgi::Input *in, xgi::Output *out); 00034 void publish(xdata::InfoSpace *){}; 00035 00036 private: 00037 00038 MonitorElement * hfedsize; 00039 MonitorElement * hfedprof; 00040 MonitorElement ** hindfed; 00041 QTestHandle * qtHandle_; 00042 00043 DQMStore * dbe; 00044 DQMOldReceiver * mui; 00045 00046 unsigned int runId_; 00047 unsigned int eventId_; 00048 unsigned int nUpdates_; 00049 00050 bool qtesttodo_; 00051 bool autorefresh_; 00052 00053 void bookQTests( const edm::ParameterSet& ); 00054 00055 std::string findSubsystemPath(std::string &); 00056 00057 }; 00058 } 00059 }