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