CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/DQM/SiStripMonitorSummary/interface/SiStripQualityDQM.h

Go to the documentation of this file.
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