00001 #ifndef XmasToDQMEventInfo_H 00002 #define XmasToDQMEventInfo_H 00003 00004 /* 00005 * \file DQMEventInfo.h 00006 * 00007 * $Date: 2008/10/13 13:01:43 $ 00008 * $Revision: 1.1 $ 00009 * \author M. Zanetti - INFN Padova 00010 * 00011 */ 00012 00013 #include <FWCore/Framework/interface/Frameworkfwd.h> 00014 #include <FWCore/Framework/interface/EDAnalyzer.h> 00015 #include <FWCore/Framework/interface/ESHandle.h> 00016 #include <FWCore/Framework/interface/Event.h> 00017 #include <FWCore/Framework/interface/Run.h> 00018 #include <FWCore/Framework/interface/MakerMacros.h> 00019 #include <FWCore/ParameterSet/interface/ParameterSet.h> 00020 #include <FWCore/ServiceRegistry/interface/Service.h> 00021 00022 #include <DQMServices/Core/interface/DQMStore.h> 00023 #include <DQMServices/Core/interface/MonitorElement.h> 00024 00025 #include <memory> 00026 #include <iostream> 00027 #include <fstream> 00028 #include <string> 00029 #include <vector> 00030 #include <map> 00031 #include <sys/time.h> 00032 00033 #include "ToDqm.h" 00034 00035 class XmasToDQMEventInfo: public edm::EDAnalyzer{ 00036 00037 public: 00038 00040 XmasToDQMEventInfo(const edm::ParameterSet& ps); 00041 00043 virtual ~XmasToDQMEventInfo(); 00044 00045 protected: 00046 00048 void analyze(const edm::Event& e, const edm::EventSetup& c); 00049 void beginRun(const edm::Run& r, const edm::EventSetup& c) ; 00050 00051 private: 00052 00053 double getUTCtime(timeval* a, timeval* b = NULL); 00054 00055 DQMStore *dbe_; 00056 00057 edm::ParameterSet parameters_; 00058 timeval currentTime_, lastUpdateTime_, lastAvgTime_; 00059 timeval runStartTime_; 00060 float evtRateWindow_; 00061 int evtRateCount_; 00062 int pEvent_; 00063 00068 MonitorElement * runId_; 00069 MonitorElement * runStartTimeStamp_; 00070 MonitorElement * eventId_; 00071 MonitorElement * lumisecId_; 00072 MonitorElement * eventTimeStamp_; 00073 00077 MonitorElement * nUpdates_; 00078 MonitorElement * processId_; 00079 MonitorElement * processStartTimeStamp_; 00080 MonitorElement * processTimeStamp_; 00081 MonitorElement * processLatency_; 00082 MonitorElement * processEventRate_; 00083 MonitorElement * processEvents_; 00084 MonitorElement * hostName_; 00085 MonitorElement * processName_; 00086 MonitorElement * workingDir_; 00087 MonitorElement * cmsswVer_; 00088 MonitorElement * dqmPatch_; 00089 MonitorElement * errSummary_; 00090 MonitorElement * errSummaryEtaPhi_; 00091 MonitorElement * errSummarySegment_[10]; 00092 }; 00093 00094 #endif