00001 #ifndef SiPixelMonitorRawData_SiPixelRawDataErrorSource_h 00002 #define SiPixelMonitorRawData_SiPixelRawDataErrorSource_h 00003 // -*- C++ -*- 00004 // 00005 // Package: SiPixelMonitorRawData 00006 // Class : SiPixelRawDataErrorSource 00007 // 00023 // 00024 // Original Author: Andrew York 00025 // 00026 00027 #include <memory> 00028 00029 // user include files 00030 #include "FWCore/Framework/interface/Frameworkfwd.h" 00031 #include "FWCore/Framework/interface/EDAnalyzer.h" 00032 #include "FWCore/Framework/interface/MakerMacros.h" 00033 00034 #include "DQMServices/Core/interface/DQMStore.h" 00035 00036 #include "DQM/SiPixelMonitorRawData/interface/SiPixelRawDataErrorModule.h" 00037 00038 #include "DataFormats/Common/interface/DetSetVector.h" 00039 #include "DataFormats/SiPixelRawData/interface/SiPixelRawDataError.h" 00040 00041 00042 #include "FWCore/Framework/interface/EDProducer.h" 00043 #include "FWCore/Framework/interface/Event.h" 00044 #include "FWCore/Framework/interface/EventSetup.h" 00045 #include "DataFormats/Common/interface/Handle.h" 00046 #include "FWCore/Framework/interface/ESHandle.h" 00047 00048 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00049 00050 #include <boost/cstdint.hpp> 00051 00052 class SiPixelRawDataErrorSource : public edm::EDAnalyzer { 00053 public: 00054 explicit SiPixelRawDataErrorSource(const edm::ParameterSet& conf); 00055 ~SiPixelRawDataErrorSource(); 00056 00057 typedef edm::DetSet<SiPixelRawDataError>::const_iterator ErrorIterator; 00058 00059 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00060 virtual void beginJob() ; 00061 virtual void endJob() ; 00062 virtual void beginRun(const edm::Run&, edm::EventSetup const&) ; 00063 00064 virtual void buildStructure(edm::EventSetup const&); 00065 virtual void bookMEs(); 00066 00067 private: 00068 edm::ParameterSet conf_; 00069 edm::InputTag src_; 00070 bool saveFile; 00071 bool isPIB; 00072 bool slowDown; 00073 bool reducedSet; 00074 bool modOn; 00075 bool ladOn; 00076 bool bladeOn; 00077 int eventNo; 00078 DQMStore* theDMBE; 00079 std::map<uint32_t,SiPixelRawDataErrorModule*> thePixelStructure; 00080 std::map<uint32_t,SiPixelRawDataErrorModule*> theFEDStructure; 00081 bool firstRun; 00082 MonitorElement* byLumiErrors; 00083 MonitorElement* errorRate; 00084 00085 }; 00086 00087 #endif