CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_8_patch3/src/DQM/BeamMonitor/plugins/PixelVTXMonitor.h

Go to the documentation of this file.
00001 /*
00002  * \class PixelVTXMonitor
00003  *
00004  * DQM FED Client
00005  *
00006  * $Date: 2011/08/28 10:36:17 $
00007  * $Revision: 1.2 $
00008  * \author  S. Dutta
00009  *
00010 */
00011 
00012 #ifndef PIXELVTXMONITOR_H
00013 #define PIXELVTXMONITORH
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 PixelVTXMonitor : public edm::EDAnalyzer {
00030 public:
00031   PixelVTXMonitor( const edm::ParameterSet& );
00032   ~PixelVTXMonitor();
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 endRun(edm::Run const& iRun,  edm::EventSetup const& iSetup);
00040   void endJob();
00041 
00042 private:
00043 
00044   void bookHistograms();
00045 
00046   edm::ParameterSet parameters_;
00047 
00048   std::string moduleName_;
00049   std::string folderName_;
00050   edm::InputTag pixelClusterInputTag_;
00051   edm::InputTag pixelVertexInputTag_;
00052   edm::InputTag hltInputTag_;
00053   float minVtxDoF_;
00054 
00055   DQMStore * dbe_;
00056   HLTConfigProvider hltConfig_;
00057 
00058   struct PixelMEs{
00059     MonitorElement* clusME;
00060     MonitorElement* vtxME;
00061   };
00062 
00063   std::map<std::string, PixelMEs> histoMap_;
00064 };
00065 
00066 #endif