CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/DQM/L1TMonitor/interface/L1TdeGCT.h

Go to the documentation of this file.
00001 #ifndef L1TdeGCT_H
00002 #define L1TdeGCT_H
00003 
00004 /*\class L1TdeGCT
00005  *\description GCT data|emulation comparison DQM interface 
00006                produces expert level DQM monitorable elements
00007  *\author N.Leonardo
00008  *\date 08.09
00009  */
00010 
00011 // system, common includes
00012 #include <memory>
00013 #include <string>
00014 #include "FWCore/ServiceRegistry/interface/Service.h"
00015 #include "FWCore/Framework/interface/Frameworkfwd.h"
00016 #include "FWCore/Framework/interface/EDAnalyzer.h"
00017 #include "FWCore/Framework/interface/Event.h"
00018 #include "FWCore/Framework/interface/MakerMacros.h"
00019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00020 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00021 // dqm includes
00022 #include "DQMServices/Core/interface/DQMStore.h"
00023 #include "DQMServices/Core/interface/MonitorElement.h"
00024 // l1 dataformats, d|e record includes
00025 #include "L1Trigger/HardwareValidation/interface/DEtrait.h"
00026 
00027 class L1TdeGCT : public edm::EDAnalyzer {
00028 
00029  public:
00030 
00031   explicit L1TdeGCT(const edm::ParameterSet&);
00032   ~L1TdeGCT();
00033 
00034  protected:
00035 
00036   virtual void beginJob(void) ;
00037   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00038   virtual void endJob() ;
00039 
00040  private:
00041 
00042   // input d|e record
00043   edm::InputTag DEsource_;
00044   bool hasRecord_;
00045 
00046   // debug verbose level
00047   int verbose_;
00048   int verbose() {return verbose_;}
00049 
00050   // root output file name
00051   std::string histFile_;
00052 
00053  // dqm histogram folder
00054   std::string histFolder_;
00055 
00056   // dqm common
00057   DQMStore* dbe;
00058   bool monitorDaemon_;
00059  
00060   // (em) iso, no-iso, (jets) cen, for, tau & energy sums.
00061   static const int nGctColl_ = dedefs::GCThfbit-dedefs::GCTisolaem+1; 
00062 
00063   // counters
00064   int colCount[nGctColl_];
00065   int nWithCol[nGctColl_];
00066 
00067   // MEs
00068   MonitorElement* sysrates;
00069   MonitorElement* sysncand[2];
00070   MonitorElement* errortype[nGctColl_];
00071   // location
00072   MonitorElement* etaphi [nGctColl_];
00073   MonitorElement* eta    [nGctColl_];
00074   MonitorElement* phi    [nGctColl_];
00075   MonitorElement* rnk    [nGctColl_];
00076   MonitorElement* etaData[nGctColl_];
00077   MonitorElement* phiData[nGctColl_];
00078   MonitorElement* rnkData[nGctColl_];
00079 
00080   // trigger data word
00081   MonitorElement* dword [nGctColl_];
00082   MonitorElement* eword [nGctColl_];
00083   MonitorElement* deword[nGctColl_];
00084   MonitorElement* masked[nGctColl_];
00085 
00086  public:
00087 
00088 };
00089 
00090 #endif