CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/L1TMonitor/interface/L1TECALTPG.h

Go to the documentation of this file.
00001 // -*-C++-*- 
00002 #ifndef L1TECALTPG_H
00003 #define L1TECALTPG_H
00004 
00005 /*
00006  * \file L1TECALTPG.h
00007  *
00008  * $Date: 2009/11/19 14:32:20 $
00009  * $Revision: 1.8 $
00010  * \author J. Berryhill
00011  *
00012  * $Log: L1TECALTPG.h,v $
00013  * Revision 1.8  2009/11/19 14:32:20  puigh
00014  * modify beginJob
00015  *
00016  * Revision 1.7  2008/03/18 20:31:19  berryhil
00017  *
00018  *
00019  * update of ecal tpg dqm
00020  *
00021  * Revision 1.6  2008/03/01 00:40:00  lat
00022  * DQM core migration.
00023  *
00024  * Revision 1.5  2007/08/29 14:02:45  wittich
00025  * split into barrel and endcap
00026  *
00027  * Revision 1.4  2007/02/22 19:43:52  berryhil
00028  *
00029  *
00030  *
00031  * InputTag parameters added for all modules
00032  *
00033  * Revision 1.3  2007/02/20 22:48:59  wittich
00034  * - change from getByType to getByLabel in ECAL TPG,
00035  *   and make it configurable.
00036  * - fix problem in the GCT with incorrect labels. Not the ultimate
00037  *   solution - will probably have to go to many labels.
00038  *
00039  * Revision 1.2  2007/02/19 22:07:26  wittich
00040  * - Added three monitorables to the ECAL TPG monitoring (from GCTMonitor)
00041  * - other minor tweaks in GCT, etc
00042  *
00043  */
00044 
00045 // system include files
00046 #include <memory>
00047 #include <unistd.h>
00048 
00049 // user include files
00050 #include "FWCore/Framework/interface/Frameworkfwd.h"
00051 #include "FWCore/Framework/interface/EDAnalyzer.h"
00052 
00053 #include "FWCore/Framework/interface/Event.h"
00054 #include "FWCore/Framework/interface/MakerMacros.h"
00055 
00056 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00057 
00058 #include "DQMServices/Core/interface/DQMStore.h"
00059 #include "DQMServices/Core/interface/MonitorElement.h"
00060 #include "FWCore/ServiceRegistry/interface/Service.h"
00061 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00062 
00063 #include <iostream>
00064 #include <fstream>
00065 #include <vector>
00066 
00067 
00068 //
00069 // class declaration
00070 //
00071 
00072 class L1TECALTPG:public edm::EDAnalyzer {
00073 
00074 public:
00075 
00076   // Constructor
00077   L1TECALTPG(const edm::ParameterSet & ps);
00078 
00079   // Destructor
00080   virtual ~ L1TECALTPG();
00081 
00082 protected:
00083   // Analyze
00084   void analyze(const edm::Event & e, const edm::EventSetup & c);
00085 
00086   // BeginJob
00087   void beginJob(void);
00088 
00089   // EndJob
00090   void endJob(void);
00091 
00092 private:
00093   // ----------member data ---------------------------
00094   DQMStore * dbe;
00095 
00096   // what we monitor
00097   MonitorElement *ecalTpEtEtaPhiB_;
00098   MonitorElement *ecalTpOccEtaPhiB_;
00099   MonitorElement *ecalTpRankB_;
00100 
00101   MonitorElement *ecalTpEtEtaPhiE_;
00102   MonitorElement *ecalTpOccEtaPhiE_;
00103   MonitorElement *ecalTpRankE_;
00104 
00105   int nev_;                     // Number of events processed
00106   std::string outputFile_;      //file name for ROOT ouput
00107   bool verbose_;
00108   bool enableEE_;
00109   bool monitorDaemon_;
00110   ofstream logFile_;
00111 
00112   edm::InputTag ecaltpgSourceB_; // barrel
00113   edm::InputTag ecaltpgSourceE_; // endcap
00114 
00115 };
00116 
00117 #endif