CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 // -*-C++-*-
00002 #ifndef L1TGCT_H
00003 #define L1TGCT_H
00004 
00005 /*
00006  * \file L1TGCT.h
00007  *
00008  * $Date: 2010/05/30 10:01:58 $
00009  * $Revision: 1.23 $
00010  * \author J. Berryhill
00011  * $Id: L1TGCT.h,v 1.23 2010/05/30 10:01:58 tapper Exp $
00012  * $Log: L1TGCT.h,v $
00013  * Revision 1.23  2010/05/30 10:01:58  tapper
00014  * Added one histogram, correlation of sum ET and HT and changed a few labels for the better.
00015  *
00016  * Revision 1.22  2009/11/19 14:33:13  puigh
00017  * modify beginJob
00018  *
00019  * Revision 1.21  2009/11/02 17:00:04  tapper
00020  * Changes to L1TdeGCT (to include energy sums), to L1TDEMON (should not make any difference now) and L1TGCT to add multiple BXs.
00021  *
00022  * Revision 1.20  2009/06/23 09:48:55  tapper
00023  * Added missing occupancy plot for central and forward jets.
00024  *
00025  * Revision 1.19  2009/06/22 15:58:20  tapper
00026  * Added MET vs MHT correlation plots (both for magnitude and phi). Still untested!
00027  *
00028  * Revision 1.18  2009/06/22 15:47:04  tapper
00029  * Removed rank difference histograms and added MHT. Untested so far!
00030  *
00031  * Revision 1.17  2009/05/27 21:49:26  jad
00032  * updated Total and Missing Energy histograms and added Overlow plots
00033  *
00034  * Revision 1.16  2008/11/11 13:20:31  tapper
00035  * A whole list of house keeping:
00036  * 1. New shifter histogram with central and forward jets together.
00037  * 2. Relabelled Ring 0 and Ring 1 to Ring 1 and Ring 2 for HF rings.
00038  * 3. Tidied up some histograms names to make all consistent.
00039  * 4. Switched eta and phi in 2D plots to match RCT.
00040  * 5. Removed 1D eta and phi plots. Will not be needed for Qtests in future.
00041  *
00042  * Revision 1.15  2008/09/21 14:33:12  jad
00043  * updated HF Sums & Counts and added individual Jet Candidates and differences
00044  *
00045  * Revision 1.14  2008/06/09 11:08:05  tapper
00046  * Removed electron sub-folders with histograms per eta and phi bin.
00047  *
00048  * Revision 1.13  2008/06/02 11:08:58  tapper
00049  * Added HF ring histograms....
00050  *
00051  * Revision 1.12  2008/04/28 09:23:07  tapper
00052  * Added 1D eta and phi histograms for electrons and jets as input to Q tests.
00053  *
00054  * Revision 1.11  2008/04/25 15:40:21  tapper
00055  * Added histograms to EventInfo//errorSummarySegments.
00056  *
00057  * Revision 1.10  2008/03/01 00:40:00  lat
00058  * DQM core migration.
00059  *
00060  * Revision 1.9  2008/02/20 19:24:24  tapper
00061  * Removed noisy include.
00062  *
00063  * Revision 1.8  2008/02/20 18:59:29  tapper
00064  * Ported GCTMonitor histograms into L1TGCT
00065  *
00066  * Revision 1.7  2007/09/04 02:54:21  wittich
00067  * - fix dupe ME in RCT
00068  * - put in rank>0 req in GCT
00069  * - various small other fixes
00070  *
00071  * Revision 1.6  2007/08/31 18:14:20  wittich
00072  * update GCT packages to reflect GctRawToDigi, and move to raw plots
00073  *
00074  * Revision 1.5  2007/08/31 11:02:55  wittich
00075  * cerr -> LogInfo
00076  *
00077  * Revision 1.4  2007/02/22 19:43:52  berryhil
00078  *
00079  *
00080  *
00081  * InputTag parameters added for all modules
00082  *
00083  * Revision 1.3  2007/02/19 22:49:53  wittich
00084  * - Add RCT monitor
00085  *
00086  * Revision 1.2  2007/02/19 21:11:23  wittich
00087  * - Updates for integrating GCT monitor.
00088  *   + Adapted right now only the L1E elements thereof.
00089  *   + added DataFormats/L1Trigger to build file.
00090  *
00091  *
00092 */
00093 
00094 // system include files
00095 #include <memory>
00096 #include <unistd.h>
00097 
00098 
00099 #include <iostream>
00100 #include <fstream>
00101 #include <vector>
00102 
00103 
00104 // user include files
00105 #include "FWCore/Framework/interface/Frameworkfwd.h"
00106 #include "FWCore/Framework/interface/EDAnalyzer.h"
00107 
00108 #include "FWCore/Framework/interface/Event.h"
00109 #include "FWCore/Framework/interface/MakerMacros.h"
00110 
00111 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00112 
00113 #include "FWCore/ServiceRegistry/interface/Service.h"
00114 
00115 // DQM
00116 #include "DQMServices/Core/interface/DQMStore.h"
00117 #include "DQMServices/Core/interface/MonitorElement.h"
00118 
00119 
00120 
00121 
00122 
00123 //
00124 // class declaration
00125 //
00126 
00127 class L1TGCT : public edm::EDAnalyzer {
00128 
00129 public:
00130 
00131 // Constructor
00132   L1TGCT(const edm::ParameterSet& ps);
00133 
00134 // Destructor
00135  virtual ~L1TGCT();
00136 
00137 protected:
00138 // Analyze
00139  void analyze(const edm::Event& e, const edm::EventSetup& c);
00140 
00141 // BeginJob
00142  void beginJob(void);
00143 
00144 // EndJob
00145 void endJob(void);
00146 
00147 private:
00148   // ----------member data ---------------------------
00149   DQMStore * dbe;
00150 
00151   // Jet and EM stuff
00152   MonitorElement* l1GctAllJetsEtEtaPhi_; 
00153   MonitorElement* l1GctCenJetsEtEtaPhi_; 
00154   MonitorElement* l1GctForJetsEtEtaPhi_;
00155   MonitorElement* l1GctTauJetsEtEtaPhi_;
00156   MonitorElement* l1GctIsoEmRankEtaPhi_;
00157   MonitorElement* l1GctNonIsoEmRankEtaPhi_;
00158 
00159   MonitorElement* l1GctAllJetsOccEtaPhi_; 
00160   MonitorElement* l1GctCenJetsOccEtaPhi_;
00161   MonitorElement* l1GctForJetsOccEtaPhi_;  
00162   MonitorElement* l1GctTauJetsOccEtaPhi_;  
00163   MonitorElement* l1GctIsoEmOccEtaPhi_;    
00164   MonitorElement* l1GctNonIsoEmOccEtaPhi_; 
00165 
00166   MonitorElement* l1GctCenJetsRank_;
00167   MonitorElement* l1GctForJetsRank_;
00168   MonitorElement* l1GctTauJetsRank_;
00169   MonitorElement* l1GctIsoEmRank_;
00170   MonitorElement* l1GctNonIsoEmRank_;
00171 
00172   MonitorElement* l1GctAllJetsOccRankBx_;
00173   MonitorElement* l1GctAllEmOccRankBx_;
00174 
00175   // Energy sums stuff
00176   MonitorElement* l1GctEtMiss_;
00177   MonitorElement* l1GctEtMissPhi_;
00178   MonitorElement* l1GctEtMissOf_;
00179   MonitorElement* l1GctEtMissOccBx_;
00180   MonitorElement* l1GctHtMiss_;
00181   MonitorElement* l1GctHtMissPhi_;
00182   MonitorElement* l1GctHtMissOf_;
00183   MonitorElement* l1GctHtMissOccBx_;
00184   MonitorElement* l1GctEtMissHtMissCorr_;
00185   MonitorElement* l1GctEtMissHtMissCorrPhi_;
00186   MonitorElement* l1GctEtTotal_;
00187   MonitorElement* l1GctEtTotalOf_;
00188   MonitorElement* l1GctEtTotalOccBx_;
00189   MonitorElement* l1GctEtHad_;
00190   MonitorElement* l1GctEtHadOf_;
00191   MonitorElement* l1GctEtHadOccBx_;
00192   MonitorElement* l1GctEtTotalEtHadCorr_;
00193   
00194   // HF Rings stuff
00195   MonitorElement* l1GctHFRing1PosEtaNegEta_;
00196   MonitorElement* l1GctHFRing2PosEtaNegEta_;
00197   MonitorElement* l1GctHFRing1TowerCountPosEtaNegEta_;
00198   MonitorElement* l1GctHFRing2TowerCountPosEtaNegEta_;
00199   MonitorElement* l1GctHFRing1TowerCountPosEta_;
00200   MonitorElement* l1GctHFRing1TowerCountNegEta_;
00201   MonitorElement* l1GctHFRing2TowerCountPosEta_;
00202   MonitorElement* l1GctHFRing2TowerCountNegEta_;
00203   MonitorElement* l1GctHFRing1ETSumPosEta_;
00204   MonitorElement* l1GctHFRing1ETSumNegEta_;
00205   MonitorElement* l1GctHFRing2ETSumPosEta_;
00206   MonitorElement* l1GctHFRing2ETSumNegEta_;
00207   MonitorElement* l1GctHFRingRatioPosEta_;
00208   MonitorElement* l1GctHFRingRatioNegEta_;
00209   MonitorElement* l1GctHFRingETSumOccBx_;
00210   MonitorElement* l1GctHFRingTowerCountOccBx_;
00211 
00212   int nev_; // Number of events processed
00213   std::string outputFile_; //file name for ROOT ouput
00214   bool verbose_;
00215   bool monitorDaemon_;
00216   ofstream logFile_;
00217 
00218   edm::InputTag gctCenJetsSource_;
00219   edm::InputTag gctForJetsSource_;
00220   edm::InputTag gctTauJetsSource_;
00221   edm::InputTag gctEnergySumsSource_;
00222   edm::InputTag gctIsoEmSource_;
00223   edm::InputTag gctNonIsoEmSource_;
00224 
00225 };
00226 
00227 #endif