CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/DQM/DTMonitorModule/src/DTDCSByLumiTask.h

Go to the documentation of this file.
00001 #ifndef DTDCSByLumiTask_H
00002 #define DTDCSByLumiTask_H
00003 
00004 /*
00005  * \file DTDCSByLumiTask.h
00006  *
00007  * $Date: 2011/03/02 13:56:39 $
00008  * $Revision: 1.1 $
00009  * \author C. Battilana - CIEMAT
00010  * \author P. Bellan - INFN PD
00011  * \author A. Branca = INFN PD
00012  *
00013 */
00014 
00015 #include "FWCore/Framework/interface/Frameworkfwd.h"
00016 #include <FWCore/Framework/interface/EDAnalyzer.h>
00017 #include <DataFormats/Common/interface/Handle.h>
00018 #include <FWCore/Framework/interface/ESHandle.h>
00019 #include <FWCore/Framework/interface/Event.h>
00020 #include <FWCore/Framework/interface/MakerMacros.h>
00021 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00022 
00023 #include <FWCore/Framework/interface/LuminosityBlock.h>
00024 
00025 #include <vector>
00026 
00027 class DTGeometry;
00028 class DQMStore;
00029 class MonitorElement;
00030 class DTHVStatus;
00031 
00032 class DTDCSByLumiTask: public edm::EDAnalyzer{
00033 
00034 public:
00035 
00037   DTDCSByLumiTask(const edm::ParameterSet& ps);
00038   
00040   virtual ~DTDCSByLumiTask();
00041 
00042 protected:
00043 
00045   void beginJob();
00046 
00048   void beginRun(const edm::Run&, const edm::EventSetup&);
00049 
00051   void bookHistos();
00052 
00054   void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& context) ;
00055 
00057   void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& setup);
00058 
00060   void analyze(const edm::Event& e, const edm::EventSetup& c);
00061 
00063   void endJob();
00064 
00065 private:
00066   
00067   std::string topFolder() const;
00068 
00069   int theEvents;
00070   int theLumis;
00071 
00072   bool DTHVRecordFound;
00073 
00074   DQMStore* theDQMStore;
00075   edm::ESHandle<DTGeometry> theDTGeom;
00076   // CB Get HV DB and loop on half layers
00077   edm::ESHandle<DTHVStatus> hvStatus;
00078 
00079   std::vector<MonitorElement*> hActiveUnits;
00080 
00081 };
00082 
00083 #endif