CMS 3D CMS Logo

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