CMS 3D CMS Logo

CSCMonitorModuleCmn.h

Go to the documentation of this file.
00001 /*
00002  * =====================================================================================
00003  *
00004  *       Filename:  CSCMonitorModuleCmn.h
00005  *
00006  *    Description:  Updated CSC Monitor module
00007  *
00008  *        Version:  1.0
00009  *        Created:  11/13/2008 01:36:45 PM
00010  *       Revision:  none
00011  *       Compiler:  gcc
00012  *
00013  *         Author:  Valdas Rapsevicius (VR), valdas.rapsevicius@cern.ch
00014  *        Company:  CERN, CH
00015  *
00016  * =====================================================================================
00017  */
00018 
00019 
00020 #ifndef CSCMonitorModuleCmn_H
00021 #define CSCMonitorModuleCmn_H
00022 
00024 #include <iostream>
00025 #include <cstring>
00026 #include <vector>
00027 #include <map>
00028 #include <set>
00029 
00031 #include <FWCore/Framework/interface/EDAnalyzer.h>
00032 #include <FWCore/ParameterSet/interface/ParameterSet.h>
00033 #include <DQMServices/Core/interface/DQMStore.h>
00034 #include <DQMServices/Core/interface/MonitorElement.h>
00035 #include <FWCore/ServiceRegistry/interface/Service.h>
00036 #include <FWCore/Framework/interface/ESHandle.h>
00037 #include <FWCore/Framework/interface/EventSetup.h>
00038 
00040 #include "DataFormats/MuonDetId/interface/CSCDetId.h"
00041 #include "CondFormats/CSCObjects/interface/CSCCrateMap.h"
00042 #include "CondFormats/DataRecord/interface/CSCCrateMapRcd.h"
00043 
00045 #include "DQM/CSCMonitorModule/interface/CSCDQM_Logger.h"
00046 #include "DQM/CSCMonitorModule/interface/CSCDQM_Configuration.h"
00047 #include "DQM/CSCMonitorModule/interface/CSCDQM_Dispatcher.h"
00048 
00050 #include "DQM/CSCMonitorModule/interface/CSCMonitorObject.h"
00051 
00053 static const char INPUT_TAG_LABEL[]      = "source";
00054 static const char DIR_EVENTINFO[]        = "CSC/EventInfo/";
00055 
00060 class CSCMonitorModuleCmn: public edm::EDAnalyzer, public cscdqm::MonitorObjectProvider {
00061  
00063   // Global stuff
00065 
00066   public:
00067 
00068     CSCMonitorModuleCmn(const edm::ParameterSet& ps);
00069     virtual ~CSCMonitorModuleCmn();
00070 
00071   private:
00072 
00073     cscdqm::Configuration     config;
00074     cscdqm::Dispatcher        dispatcher;
00075     DQMStore                 *dbe;
00076     edm::InputTag             inputTag;
00077 
00079     const CSCCrateMap* pcrate;
00080 
00082   // MonitorObjectProvider Implementation
00084 
00085   public:
00086 
00087     const CSCDetId getCSCDetId(const unsigned int crateId, const unsigned int dmbId) const { 
00088       return pcrate->detId(crateId, dmbId, 0, 0); 
00089     }
00090     cscdqm::MonitorObject *bookMonitorObject (const cscdqm::HistoBookRequest& p_req); 
00091 
00093   // EDAnalyzer Implementation
00095 
00096   protected:
00097 
00098     void beginJob(const edm::EventSetup& c);
00099     void beginRun(const edm::Run& r, const edm::EventSetup& c);
00100     void setup();
00101     void analyze(const edm::Event& e, const edm::EventSetup& c) ;
00102     void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& context) ;
00103     void endRun(const edm::Run& r, const edm::EventSetup& c);
00104     void endJob();
00105 
00106 };
00107 
00108 #endif

Generated on Tue Jun 9 17:32:32 2009 for CMSSW by  doxygen 1.5.4