00001 // -*-C++-*- 00002 #ifndef L1TRCT_H 00003 #define L1TRCT_H 00004 00005 /* 00006 * \file L1TRCT.h 00007 * 00008 * $Date: 2009/11/19 14:34:14 $ 00009 * $Revision: 1.7 $ 00010 * \author P. Wittich 00011 * $Id: L1TRCT.h,v 1.7 2009/11/19 14:34:14 puigh Exp $ 00012 * $Log: L1TRCT.h,v $ 00013 * Revision 1.7 2009/11/19 14:34:14 puigh 00014 * modify beginJob 00015 * 00016 * Revision 1.6 2008/11/08 08:45:42 asavin 00017 * changing the fine grain to HfPlusTau 00018 * 00019 * Revision 1.5 2008/07/02 16:53:20 asavin 00020 * new L1TRCT.h 00021 * 00022 * Revision 1.4 2008/03/01 00:40:00 lat 00023 * DQM core migration. 00024 * 00025 * Revision 1.3 2007/09/03 15:14:42 wittich 00026 * updated RCT with more diagnostic and local coord histos 00027 * 00028 * Revision 1.2 2007/02/23 21:58:43 wittich 00029 * change getByType to getByLabel and add InputTag 00030 * 00031 * Revision 1.1 2007/02/19 22:49:53 wittich 00032 * - Add RCT monitor 00033 * 00034 * 00035 * 00036 */ 00037 00038 // system include files 00039 #include <memory> 00040 #include <unistd.h> 00041 00042 00043 #include <iostream> 00044 #include <fstream> 00045 #include <vector> 00046 00047 00048 // user include files 00049 #include "FWCore/Framework/interface/Frameworkfwd.h" 00050 #include "FWCore/Framework/interface/EDAnalyzer.h" 00051 00052 #include "FWCore/Framework/interface/Event.h" 00053 #include "FWCore/Framework/interface/MakerMacros.h" 00054 00055 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00056 00057 #include "FWCore/ServiceRegistry/interface/Service.h" 00058 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00059 00060 // DQM 00061 #include "DQMServices/Core/interface/DQMStore.h" 00062 #include "DQMServices/Core/interface/MonitorElement.h" 00063 00064 00065 // Trigger Headers 00066 00067 00068 00069 // 00070 // class declaration 00071 // 00072 00073 class L1TRCT : public edm::EDAnalyzer { 00074 00075 public: 00076 00077 // Constructor 00078 L1TRCT(const edm::ParameterSet& ps); 00079 00080 // Destructor 00081 virtual ~L1TRCT(); 00082 00083 protected: 00084 // Analyze 00085 void analyze(const edm::Event& e, const edm::EventSetup& c); 00086 00087 // BeginJob 00088 void beginJob(void); 00089 00090 // EndJob 00091 void endJob(void); 00092 00093 private: 00094 // ----------member data --------------------------- 00095 DQMStore * dbe; 00096 00097 // region global coordinates 00098 MonitorElement* rctRegionsEtEtaPhi_; 00099 MonitorElement* rctRegionsOccEtaPhi_; 00100 00101 // region local coordinates 00102 MonitorElement* rctRegionsLocalEtEtaPhi_; 00103 MonitorElement* rctRegionsLocalOccEtaPhi_; 00104 MonitorElement* rctTauVetoLocalEtaPhi_; 00105 00106 // Region rank 00107 MonitorElement* rctRegionRank_; 00108 00109 00110 MonitorElement* rctOverFlowEtaPhi_; 00111 MonitorElement* rctTauVetoEtaPhi_; 00112 MonitorElement* rctMipEtaPhi_; 00113 MonitorElement* rctQuietEtaPhi_; 00114 MonitorElement* rctHfPlusTauEtaPhi_; 00115 00116 // Bx 00117 MonitorElement *rctRegionBx_; 00118 MonitorElement *rctEmBx_; 00119 00120 // em 00121 // HW coordinates 00122 MonitorElement *rctEmCardRegion_; 00123 00124 00125 MonitorElement* rctIsoEmEtEtaPhi_; 00126 MonitorElement* rctIsoEmOccEtaPhi_; 00127 MonitorElement* rctNonIsoEmEtEtaPhi_; 00128 MonitorElement* rctNonIsoEmOccEtaPhi_; 00129 MonitorElement* rctIsoEmRank_; 00130 MonitorElement* rctNonIsoEmRank_; 00131 00132 00133 int nev_; // Number of events processed 00134 std::string outputFile_; //file name for ROOT ouput 00135 bool verbose_; 00136 bool monitorDaemon_; 00137 ofstream logFile_; 00138 00139 edm::InputTag rctSource_; 00140 00141 00142 }; 00143 00144 #endif