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