00001 #ifndef DTDeadChannelTest_H 00002 #define DTDeadChannelTest_H 00003 00004 00016 #include "FWCore/Framework/interface/Frameworkfwd.h" 00017 #include <FWCore/Framework/interface/EDAnalyzer.h> 00018 #include "DataFormats/Common/interface/Handle.h" 00019 #include <FWCore/Framework/interface/ESHandle.h> 00020 #include <FWCore/Framework/interface/Event.h> 00021 #include <FWCore/Framework/interface/MakerMacros.h> 00022 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00023 #include <FWCore/Framework/interface/LuminosityBlock.h> 00024 00025 #include "DQMServices/Core/interface/DQMStore.h" 00026 #include "DQMServices/Core/interface/MonitorElement.h" 00027 #include "FWCore/ServiceRegistry/interface/Service.h" 00028 00029 00030 #include <memory> 00031 #include <iostream> 00032 #include <fstream> 00033 #include <string> 00034 #include <vector> 00035 #include <map> 00036 00037 class DTGeometry; 00038 class DTChamberId; 00039 class DTSuperLayerId; 00040 class DTLayerId; 00041 class DTTtrig; 00042 00043 class DTDeadChannelTest: public edm::EDAnalyzer{ 00044 00045 public: 00046 00048 DTDeadChannelTest(const edm::ParameterSet& ps); 00049 00051 virtual ~DTDeadChannelTest(); 00052 00053 protected: 00054 00056 void beginJob(); 00057 00059 void beginRun(edm::Run const& run, edm::EventSetup const& context); 00060 00062 void analyze(const edm::Event& e, const edm::EventSetup& c); 00063 00065 void endJob(); 00066 00068 void bookHistos(const DTLayerId & ch, int firstWire, int lastWire); 00069 00071 std::string getMEName(std::string histoTag, const DTChamberId & chId); 00072 00073 00074 void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& context) ; 00075 00077 void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& c); 00078 00079 00080 00081 00082 private: 00083 00084 int nevents; 00085 unsigned int nLumiSegs; 00086 int prescaleFactor; 00087 int run; 00088 00089 DQMStore* dbe; 00090 00091 edm::ParameterSet parameters; 00092 edm::ESHandle<DTGeometry> muonGeom; 00093 edm::ESHandle<DTTtrig> tTrigMap; 00094 00095 std::map< std::string , MonitorElement* > OccupancyDiffHistos; 00096 00097 }; 00098 00099 #endif