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