CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/SiStripMonitorClient/plugins/SiStripCertificationInfo.h

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