00001 #ifndef DQMOffline_SiStripBadComponentsDQMService_SiStripBadComponentsDQMService_H 00002 #define DQMOffline_SiStripBadComponentsDQMService_SiStripBadComponentsDQMService_H 00003 00004 #include "FWCore/Framework/interface/Frameworkfwd.h" 00005 #include "FWCore/ServiceRegistry/interface/Service.h" 00006 #include "CondFormats/SiStripObjects/interface/SiStripBadStrip.h" 00007 #include "DQMServices/Core/interface/DQMStore.h" 00008 #include "CondTools/SiStrip/interface/SiStripCondObjBuilderBase.h" 00009 #include <string> 00010 #include <memory> 00011 #include <sstream> 00012 // #include "DQM/SiStripMonitorClient/interface/SiStripQualityChecker.h" 00013 00014 00015 00022 class SiStripBadComponentsDQMService : public SiStripCondObjBuilderBase<SiStripBadStrip> { 00023 public: 00024 00025 explicit SiStripBadComponentsDQMService(const edm::ParameterSet&,const edm::ActivityRegistry&); 00026 ~SiStripBadComponentsDQMService(); 00027 00029 void getMetaDataString(std::stringstream& ss); 00030 00032 virtual bool checkForCompatibility(std::string ss); 00033 00034 void getObj(SiStripBadStrip* & obj){readBadComponents(); obj=obj_;} 00035 00036 private: 00037 00038 void readBadComponents(); 00039 void openRequestedFile(); 00040 // void scanTreeAndFillSummary(const std::vector<MonitorElement*>& MEs, SiStripBadStrip* summary,std::string& histoName, std::vector<std::string>& Quantities); 00041 uint32_t getRunNumber() const; 00042 bool goToDir(DQMStore * dqm_store, std::string name); 00043 void getModuleFolderList(DQMStore * dqm_store, std::vector<std::string>& mfolders); 00044 00045 DQMStore* dqmStore_; 00046 00047 edm::ParameterSet iConfig_; 00048 edm::FileInPath fp_; 00049 // SiStripQualityChecker* qualityChecker_; 00050 bool notAlreadyRead_; 00051 }; 00052 00053 #endif //DQMOffline_SiStripBadComponentsDQMService_SiStripBadComponentsDQMService_H