00001 /* 00002 * \class DQMLumiMonitor 00003 * 00004 * DQM Luminosity Monitoring 00005 * 00006 * $Date: 2012/04/11 07:16:51 $ 00007 * $Revision: 1.2 $ 00008 * \author S. Dutta 00009 * 00010 */ 00011 00012 #ifndef DQMLUMIMONITOR_H 00013 #define DQMLUMIMONITORH 00014 00015 #include <string> 00016 #include <vector> 00017 #include <map> 00018 00019 #include <FWCore/Framework/interface/EDAnalyzer.h> 00020 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00021 #include "DQMServices/Core/interface/DQMStore.h" 00022 #include "DQMServices/Core/interface/MonitorElement.h" 00023 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" 00024 00025 // 00026 // class declaration 00027 // 00028 00029 class DQMLumiMonitor : public edm::EDAnalyzer { 00030 public: 00031 DQMLumiMonitor( const edm::ParameterSet& ); 00032 ~DQMLumiMonitor(); 00033 00034 protected: 00035 00036 void beginJob(); 00037 void beginRun(edm::Run const& iRun, edm::EventSetup const& iSetup); 00038 void analyze(edm::Event const& iEvent, edm::EventSetup const& iSetup); 00039 void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup); 00040 void endRun(edm::Run const& iRun, edm::EventSetup const& iSetup); 00041 void endJob(); 00042 00043 private: 00044 00045 void bookHistograms(); 00046 00047 edm::ParameterSet parameters_; 00048 00049 std::string moduleName_; 00050 std::string folderName_; 00051 edm::InputTag pixelClusterInputTag_; 00052 std::string lumiRecordName_; 00053 00054 DQMStore * dbe_; 00055 00056 MonitorElement* nClusME_; 00057 MonitorElement* intLumiVsLSME_; 00058 MonitorElement* nClusVsLSME_; 00059 MonitorElement* corrIntLumiAndClusVsLSME_; 00060 00061 float intLumi_; 00062 int nLumi_; 00063 unsigned long long m_cacheID_; 00064 }; 00065 00066 #endif