CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/DQM/CSCMonitorModule/interface/CSCOfflineClient.h

Go to the documentation of this file.
00001 /*
00002  * =====================================================================================
00003  *
00004  *       Filename:  CSCOfflineClient.h
00005  *
00006  *    Description:  CSC Offline module that preocess merged histograms and
00007  *    creates/updates fractional and efficiency objects.
00008  *
00009  *        Version:  1.0
00010  *        Created:  09/20/2009 01:36:45 PM
00011  *       Revision:  none
00012  *       Compiler:  gcc
00013  *
00014  *         Author:  Valdas Rapsevicius (VR), valdas.rapsevicius@cern.ch
00015  *        Company:  CERN, CH
00016  *
00017  * =====================================================================================
00018  */
00019 
00020 
00021 #ifndef CSCOfflineClient_H
00022 #define CSCOfflineClient_H
00023 
00025 #include <iostream>
00026 #include <cstring>
00027 #include <vector>
00028 #include <map>
00029 #include <set>
00030 
00032 #include <FWCore/Framework/interface/EDAnalyzer.h>
00033 #include <FWCore/ParameterSet/interface/ParameterSet.h>
00034 #include <DQMServices/Core/interface/DQMStore.h>
00035 #include <DQMServices/Core/interface/MonitorElement.h>
00036 #include <FWCore/ServiceRegistry/interface/Service.h>
00037 #include <FWCore/Framework/interface/ESHandle.h>
00038 #include <FWCore/Framework/interface/EventSetup.h>
00039 
00041 #include "DataFormats/MuonDetId/interface/CSCDetId.h"
00042 #include "CondFormats/CSCObjects/interface/CSCCrateMap.h"
00043 #include "CondFormats/DataRecord/interface/CSCCrateMapRcd.h"
00044 
00046 #include "DQM/CSCMonitorModule/interface/CSCDQM_Logger.h"
00047 #include "DQM/CSCMonitorModule/interface/CSCDQM_Configuration.h"
00048 #include "DQM/CSCMonitorModule/interface/CSCDQM_Dispatcher.h"
00049 #include "DQM/CSCMonitorModule/interface/CSCMonitorModule.h"
00050 
00052 #include "DQM/CSCMonitorModule/interface/CSCMonitorObject.h"
00053 
00055 //static const char DIR_EVENTINFO[]        = "CSC/EventInfo/";
00056 //static const char DIR_DCSINFO[]          = "CSC/EventInfo/DCSContents/";
00057 //static const char DIR_DAQINFO[]          = "CSC/EventInfo/DAQContents/";
00058 //static const char DIR_CRTINFO[]          = "CSC/EventInfo/CertificationContents/";
00059 
00064 class CSCOfflineClient: public edm::EDAnalyzer, public cscdqm::MonitorObjectProvider {
00065  
00070   public:
00071 
00072     CSCOfflineClient(const edm::ParameterSet& ps);
00073     virtual ~CSCOfflineClient();
00074 
00075   private:
00076 
00077     cscdqm::Configuration     config;
00078     cscdqm::Dispatcher       *dispatcher;
00079     DQMStore                 *dbe;
00080 
00085   public:
00086 
00087     bool getCSCDetId(const unsigned int crateId, const unsigned int dmbId, CSCDetId& detId) const { return false; }
00088     cscdqm::MonitorObject *bookMonitorObject (const cscdqm::HistoBookRequest& p_req);
00089 
00094   protected:
00095 
00096     void beginJob() { }
00097     void beginRun(const edm::Run& r, const edm::EventSetup& c) { }
00098     void setup() { }
00099     void analyze(const edm::Event& e, const edm::EventSetup& c) { }
00100     void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& context) { } 
00101     void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& iSetup) { }
00102     void endRun(const edm::Run& r, const edm::EventSetup& c);
00103     void endJob() { }
00104 
00105 };
00106 
00107 #endif