00001 #ifndef SiStripMonitorSummary_SiStripQualityDQM_h 00002 #define SiStripMonitorSummary_SiStripQualityDQM_h 00003 00004 00005 #include "FWCore/Framework/interface/ESHandle.h" 00006 00007 #include "DQM/SiStripMonitorSummary/interface/SiStripBaseCondObjDQM.h" 00008 00009 #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" 00010 #include "CalibTracker/Records/interface/SiStripQualityRcd.h" 00011 00012 00013 00014 class SiStripQualityDQM : public SiStripBaseCondObjDQM{ 00015 00016 public: 00017 00018 SiStripQualityDQM(const edm::EventSetup & eSetup, 00019 edm::ParameterSet const& hPSet, 00020 edm::ParameterSet const& fPSet); 00021 00022 virtual ~SiStripQualityDQM(); 00023 00024 void getActiveDetIds(const edm::EventSetup & eSetup); 00025 00026 void fillModMEs(const std::vector<uint32_t> & selectedDetIds); 00027 void fillMEsForDet(ModMEs selModME_,uint32_t selDetId_); 00028 00029 void fillSummaryMEs(const std::vector<uint32_t> & selectedDetIds); 00030 void fillMEsForLayer( std::map<uint32_t, ModMEs> selModMEsMap_, uint32_t selDetId_); 00031 void fillGrandSummaryMEs(); 00032 00033 00034 unsigned long long getCache(const edm::EventSetup & eSetup){ return eSetup.get<SiStripQualityRcd>().cacheIdentifier();} 00035 00036 void getConditionObject(const edm::EventSetup & eSetup){ 00037 eSetup.get<SiStripQualityRcd>().get(qualityLabel_,qualityHandle_); 00038 cacheID_memory = cacheID_current; 00039 } 00040 00041 private: 00042 std::string qualityLabel_ ; 00043 edm::ESHandle<SiStripQuality> qualityHandle_; 00044 int NTkBadComponent[4]; //k: 0=BadModule, 1=BadFiber, 2=BadApv, 3=BadStrips 00045 int NBadComponent[4][19][4]; 00046 std::stringstream ssV[4][19]; 00047 void SetBadComponents(int i, int component,SiStripQuality::BadComponent& BC); 00048 00049 00050 }; 00051 00052 #endif