00001 #ifndef SiStripQualityStatistics_H 00002 #define SiStripQualityStatistics_H 00003 00004 // system include files 00005 //#include <memory> 00006 00007 // user include files 00008 #include "FWCore/Framework/interface/Frameworkfwd.h" 00009 #include "FWCore/Framework/interface/EDAnalyzer.h" 00010 #include "FWCore/Framework/interface/Event.h" 00011 #include "FWCore/Framework/interface/EventSetup.h" 00012 #include "FWCore/Framework/interface/ESHandle.h" 00013 #include "FWCore/ServiceRegistry/interface/Service.h" 00014 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00015 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00016 #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" 00017 #include "CommonTools/TrackerMap/interface/TrackerMap.h" 00018 #include "CalibTracker/SiStripCommon/interface/SiStripDetInfoFileReader.h" 00019 #include "FWCore/ParameterSet/interface/FileInPath.h" 00020 00021 #include <sstream> 00022 00023 class SiStripQualityStatistics : public edm::EDAnalyzer { 00024 00025 public: 00026 explicit SiStripQualityStatistics( const edm::ParameterSet& ); 00027 ~SiStripQualityStatistics(){}; 00028 00029 void analyze( const edm::Event&, const edm::EventSetup& ); 00030 00031 private: 00032 00033 void SetBadComponents(int,int,SiStripQuality::BadComponent&); 00034 00035 unsigned long long m_cacheID_; 00036 std::string dataLabel_; 00037 std::string TkMapFileName_; 00038 edm::FileInPath fp_; 00039 00040 //Global Info 00041 int NTkBadComponent[4]; //k: 0=BadModule, 1=BadFiber, 2=BadApv, 3=BadStrips 00042 int NBadComponent[4][19][4]; 00043 //legend: NBadComponent[i][j][k]= SubSystem i, layer/disk/wheel j, BadModule/Fiber/Apv k 00044 // i: 0=TIB, 1=TID, 2=TOB, 3=TEC 00045 // k: 0=BadModule, 1=BadFiber, 2=BadApv, 3=BadStrips 00046 std::stringstream ssV[4][19]; 00047 00048 TrackerMap * tkMap; 00049 SiStripDetInfoFileReader* reader; 00050 00051 }; 00052 #endif