00001 #ifndef DQMEventInfo_H 00002 #define DQMEventInfo_H 00003 00004 /* 00005 * \file DQMEventInfo.h 00006 * 00007 * $Date: 2010/09/13 12:43:25 $ 00008 * $Revision: 1.17 $ 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 class DQMEventInfo: public edm::EDAnalyzer{ 00034 00035 public: 00036 00038 DQMEventInfo(const edm::ParameterSet& ps); 00039 00041 virtual ~DQMEventInfo(); 00042 00043 protected: 00044 00046 void analyze(const edm::Event& e, const edm::EventSetup& c); 00047 void beginRun(const edm::Run& r, const edm::EventSetup& c) ; 00048 void beginLuminosityBlock(const edm::LuminosityBlock& l, const edm::EventSetup& c); 00049 00050 private: 00051 00052 // double getUTCtime(timeval* a, timeval* b = NULL); 00053 00054 DQMStore *dbe_; 00055 00056 edm::ParameterSet parameters_; 00057 std::string eventInfoFolder_; 00058 00059 // timeval currentTime_, lastUpdateTime_, lastAvgTime_; 00060 // timeval runStartTime_; 00061 // float evtRateWindow_; 00062 double currentTime_, lastUpdateTime_, lastAvgTime_; 00063 double runStartTime_; 00064 double evtRateWindow_; 00065 int64_t evtRateCount_; 00066 int64_t pEvent_; 00067 00072 MonitorElement * runId_; 00073 MonitorElement * runStartTimeStamp_; 00074 MonitorElement * eventId_; 00075 MonitorElement * lumisecId_; 00076 MonitorElement * eventTimeStamp_; 00077 00081 MonitorElement * nUpdates_; 00082 MonitorElement * processId_; 00083 MonitorElement * processStartTimeStamp_; 00084 MonitorElement * processTimeStamp_; 00085 MonitorElement * processLatency_; 00086 MonitorElement * processEventRate_; 00087 MonitorElement * processEvents_; 00088 MonitorElement * hostName_; 00089 MonitorElement * processName_; 00090 MonitorElement * workingDir_; 00091 MonitorElement * cmsswVer_; 00092 MonitorElement * dqmPatch_; 00093 MonitorElement * errSummary_; 00094 MonitorElement * errSummaryEtaPhi_; 00095 MonitorElement * errSummarySegment_[10]; 00096 }; 00097 00098 #endif