00001 #ifndef BeamConditionsMonitor_H 00002 #define BeamConditionsMonitor_H 00003 00012 // C++ 00013 #include <string> 00014 // CMS 00015 #include "FWCore/Framework/interface/Frameworkfwd.h" 00016 #include "FWCore/Framework/interface/EDAnalyzer.h" 00017 #include "FWCore/Framework/interface/Event.h" 00018 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00019 #include "DQMServices/Core/interface/DQMStore.h" 00020 #include "DQMServices/Core/interface/MonitorElement.h" 00021 #include "DataFormats/BeamSpot/interface/BeamSpot.h" 00022 #include "CondFormats/BeamSpotObjects/interface/BeamSpotObjects.h" 00023 00024 // 00025 // class declaration 00026 // 00027 00028 class BeamConditionsMonitor : public edm::EDAnalyzer { 00029 public: 00030 BeamConditionsMonitor( const edm::ParameterSet& ); 00031 ~BeamConditionsMonitor(); 00032 00033 protected: 00034 00035 // BeginJob 00036 void beginJob(); 00037 00038 // BeginRun 00039 void beginRun(const edm::Run& r, const edm::EventSetup& c); 00040 00041 // Fake Analyze 00042 void analyze(const edm::Event& e, const edm::EventSetup& c); 00043 00044 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00045 const edm::EventSetup& context); 00046 00047 // DQM Client Diagnostic 00048 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00049 const edm::EventSetup& c); 00050 00051 // EndRun 00052 void endRun(const edm::Run& r, const edm::EventSetup& c); 00053 00054 // Endjob 00055 void endJob(); 00056 00057 private: 00058 00059 edm::ParameterSet parameters_; 00060 std::string monitorName_; 00061 edm::InputTag bsSrc_; // beam spot 00062 bool debug_; 00063 00064 DQMStore* dbe_; 00065 00066 int countEvt_; //counter 00067 int countLumi_; //counter 00068 00069 // ----------member data --------------------------- 00070 BeamSpotObjects condBeamSpot; 00071 00072 // MonitorElements 00073 MonitorElement * h_x0_lumi; 00074 MonitorElement * h_y0_lumi; 00075 00076 }; 00077 00078 #endif