00001 #ifndef SiStripMonitorClient_SiStripCertificationInfo_h 00002 #define SiStripMonitorClient_SiStripCertificationInfo_h 00003 // -*- C++ -*- 00004 // 00005 // Package: SiStripMonitorClient 00006 // Class : SiStripCertificationInfo 00007 // 00016 // 00017 // Author: Suchandra Dutta 00018 // reated: Mon Feb 16 19200:00 CET 2009 00019 // 00020 00021 #include <string> 00022 00023 #include "FWCore/Framework/interface/EDAnalyzer.h" 00024 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00025 #include "FWCore/Framework/interface/ESHandle.h" 00026 #include "FWCore/Framework/interface/LuminosityBlock.h" 00027 #include "FWCore/Framework/interface/Run.h" 00028 #include "FWCore/Framework/interface/EventSetup.h" 00029 00030 #include <iostream> 00031 #include <fstream> 00032 #include <string> 00033 #include <vector> 00034 #include <map> 00035 00036 class DQMStore; 00037 class MonitorElement; 00038 class SiStripDetCabling; 00039 00040 class SiStripCertificationInfo: public edm::EDAnalyzer { 00041 00042 public: 00043 00045 SiStripCertificationInfo(const edm::ParameterSet& ps); 00046 00048 virtual ~SiStripCertificationInfo(); 00049 00050 private: 00051 00053 void beginJob(); 00054 00056 void beginRun(edm::Run const& run, edm::EventSetup const& eSetup); 00057 00059 void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& iSetup); 00060 00062 void endRun(edm::Run const& run, edm::EventSetup const& eSetup); 00063 00065 void analyze(edm::Event const&, edm::EventSetup const&); 00066 00067 00068 00069 private: 00070 00071 void bookSiStripCertificationMEs(); 00072 void resetSiStripCertificationMEs(); 00073 void fillSiStripCertificationMEs(); 00074 00075 void bookTrackingCertificationMEs(); 00076 void resetTrackingCertificationMEs(); 00077 void fillTrackingCertificationMEs(); 00078 00079 void fillDummySiStripCertification(); 00080 void fillDummyTrackingCertification(); 00081 00082 void fillSiStripCertificationMEsAtLumi(); 00083 00084 DQMStore* dqmStore_; 00085 00086 00087 00088 struct SubDetMEs{ 00089 MonitorElement* det_fractionME; 00090 std::string folder_name; 00091 std::string subdet_tag; 00092 int n_layer; 00093 }; 00094 00095 MonitorElement * SiStripCertification; 00096 MonitorElement * SiStripCertificationMap; 00097 std::map<std::string, SubDetMEs> SubDetMEsMap; 00098 std::map<std::string, MonitorElement*> TrackingMEsMap; 00099 MonitorElement * SiStripCertificationSummaryMap; 00100 00101 MonitorElement * TrackingCertification; 00102 00103 bool trackingCertificationBooked_; 00104 bool sistripCertificationBooked_; 00105 unsigned long long m_cacheID_; 00106 00107 edm::ESHandle< SiStripDetCabling > detCabling_; 00108 00109 int nFEDConnected_; 00110 }; 00111 #endif