00001 #ifndef DTnoiseDBValidation_H 00002 #define DTnoiseDBValidation_H 00003 00012 #include "FWCore/Framework/interface/Frameworkfwd.h" 00013 #include "FWCore/Framework/interface/EDAnalyzer.h" 00014 #include "FWCore/Framework/interface/ESHandle.h" 00015 #include "FWCore/Framework/interface/MakerMacros.h" 00016 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00017 #include "FWCore/ServiceRegistry/interface/Service.h" 00018 #include "DQMServices/Core/interface/DQMStore.h" 00019 #include "DQMServices/Core/interface/MonitorElement.h" 00020 #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h" 00021 00022 #include <string> 00023 #include <vector> 00024 #include <map> 00025 00026 class DTGeometry; 00027 class DTChamberId; 00028 class DTStatusFlag; 00029 class TFile; 00030 00031 class DTnoiseDBValidation : public edm::EDAnalyzer { 00032 public: 00034 DTnoiseDBValidation(const edm::ParameterSet& pset); 00035 00037 virtual ~DTnoiseDBValidation(); 00038 00040 void beginRun(const edm::Run& run, const edm::EventSetup& setup); 00041 void endRun(edm::Run const&, edm::EventSetup const&); 00042 void endJob(); 00043 void analyze(const edm::Event& event, const edm::EventSetup& setup) {} 00044 00045 protected: 00046 00047 private: 00048 void bookHisto(const DTChamberId&); 00049 00050 DQMStore* dbe_; 00051 // The DB label 00052 std::string labelDBRef_; 00053 std::string labelDB_; 00054 std::string diffTestName_,wheelTestName_,stationTestName_, 00055 sectorTestName_,layerTestName_; 00056 00057 bool outputMEsInRootFile_; 00058 std::string outputFileName_; 00059 00060 // The DTGeometry 00061 edm::ESHandle<DTGeometry> dtGeom_; 00062 00063 // The noise map 00064 const DTStatusFlag *noiseMap_; 00065 const DTStatusFlag *noiseRefMap_; 00066 00067 //the total number of noisy cell 00068 int noisyCellsRef_; 00069 int noisyCellsValid_; 00070 // the histos 00071 MonitorElement * diffHisto_; 00072 MonitorElement * wheelHisto_; 00073 MonitorElement * stationHisto_; 00074 MonitorElement * sectorHisto_; 00075 MonitorElement * layerHisto_; 00076 std::map<DTChamberId, MonitorElement*> noiseHistoMap_; 00077 00078 }; 00079 #endif 00080