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