CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/DQM/L1TMonitor/interface/L1TGMT.h

Go to the documentation of this file.
00001 #ifndef L1TGMT_H
00002 #define L1TGMT_H
00003 
00004 /*
00005  * \file L1TGMT.h
00006  *
00007  * $Date: 2010/01/14 09:16:16 $
00008  * $Revision: 1.11 $
00009  * \author J. Berryhill, I. Mikulec
00010  *
00011 */
00012 
00013 // system include files
00014 #include <memory>
00015 #include <unistd.h>
00016 
00017 // user include files
00018 #include "FWCore/Framework/interface/Frameworkfwd.h"
00019 #include "FWCore/Framework/interface/EDAnalyzer.h"
00020 
00021 #include "FWCore/Framework/interface/Event.h"
00022 #include "FWCore/Framework/interface/MakerMacros.h"
00023 
00024 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00025 
00026 #include "DQMServices/Core/interface/DQMStore.h"
00027 #include "DQMServices/Core/interface/MonitorElement.h"
00028 #include "FWCore/ServiceRegistry/interface/Service.h"
00029 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00030 
00031 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
00032 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTCand.h"
00033 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTExtendedCand.h"
00034 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutCollection.h"
00035 
00036 #include <iostream>
00037 #include <fstream>
00038 #include <vector>
00039 
00040 //
00041 // class decleration
00042 //
00043 
00044 class L1TGMT : public edm::EDAnalyzer {
00045 
00046 public:
00047 
00048 // Constructor
00049 L1TGMT(const edm::ParameterSet& ps);
00050 
00051 // Destructor
00052 virtual ~L1TGMT();
00053 
00054 protected:
00055 // Analyze
00056 void analyze(const edm::Event& e, const edm::EventSetup& c);
00057 
00058 // BeginJob
00059 void beginJob(void);
00060 
00061 // BeginRun
00062 void beginRun(const edm::Run& r, const edm::EventSetup& c);
00063 
00064 // EndJob
00065 void endJob(void);
00066 
00067 private:
00068   // ----------member data ---------------------------
00069   DQMStore * dbe;
00070   
00071   enum ensubs { DTTF=0, RPCb, CSCTF, RPCf, GMT };
00072 
00073   MonitorElement* subs_nbx[5];
00074   MonitorElement* subs_eta[5];
00075   MonitorElement* subs_phi[5];
00076   MonitorElement* subs_pt[5];
00077   MonitorElement* subs_qty[5];
00078   MonitorElement* subs_etaphi[5];
00079   MonitorElement* subs_etaqty[5];
00080   MonitorElement* subs_bits[5];
00081   
00082   MonitorElement* regional_triggers;
00083   
00084   MonitorElement* bx_number;
00085   MonitorElement* dbx_chip;
00086   MonitorElement* eta_dtcsc_and_rpc;
00087   MonitorElement* eta_dtcsc_only;
00088   MonitorElement* eta_rpc_only;
00089   MonitorElement* phi_dtcsc_and_rpc;
00090   MonitorElement* phi_dtcsc_only;
00091   MonitorElement* phi_rpc_only;
00092   MonitorElement* etaphi_dtcsc_and_rpc;
00093   MonitorElement* etaphi_dtcsc_only;
00094   MonitorElement* etaphi_rpc_only;
00095   MonitorElement* dist_phi_dt_rpc;
00096   MonitorElement* dist_phi_csc_rpc;
00097   MonitorElement* dist_phi_dt_csc;
00098   MonitorElement* dist_eta_dt_rpc;
00099   MonitorElement* dist_eta_csc_rpc;
00100   MonitorElement* dist_eta_dt_csc;
00101   MonitorElement* bx_dt_rpc;
00102   MonitorElement* bx_csc_rpc;
00103   MonitorElement* bx_dt_csc;
00104   
00105   MonitorElement* n_rpcb_vs_dttf ;
00106   MonitorElement* n_rpcf_vs_csctf;
00107   MonitorElement* n_csctf_vs_dttf;
00108   
00109   MonitorElement* subs_dbx[4];  
00110 
00111   int nev_; // Number of events processed
00112   std::string outputFile_; //file name for ROOT ouput
00113   bool verbose_;
00114   bool monitorDaemon_;
00115   ofstream logFile_;
00116   edm::InputTag gmtSource_ ;
00117   
00118   int evnum_old_; // event number of previous event
00119   int bxnum_old_; // bx of previous event
00120   int obnum_old_; // orbit of previous event
00121   int trsrc_old_; // code of trigger source ( bits: 0 DT, 1 bRPC, 2 CSC, 3 fRPC )
00122 
00123   static const double piconv_;
00124   double phiconv_(float phi);
00125   void book_(const edm::EventSetup& c);
00126 };
00127 
00128 #endif