00001 #ifndef L1TRPCTF_H 00002 #define L1TRPCTF_H 00003 00004 /* 00005 * \file L1TRPCTF.h 00006 * 00007 * $Date: 2008/08/21 06:59:51 $ 00008 * $Revision: 1.11 $ 00009 * \author J. Berryhill 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 #include <set> 00040 00041 // 00042 // class decleration 00043 // 00044 00045 class L1TRPCTF : public edm::EDAnalyzer { 00046 00047 public: 00048 00049 // Constructor 00050 L1TRPCTF(const edm::ParameterSet& ps); 00051 00052 // Destructor 00053 virtual ~L1TRPCTF(); 00054 00055 protected: 00056 // Analyze 00057 void analyze(const edm::Event& e, const edm::EventSetup& c); 00058 00059 // BeginJob 00060 void beginJob(const edm::EventSetup& c); 00061 00062 // EndJob 00063 void endJob(void); 00064 00065 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00066 const edm::EventSetup& context); 00067 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00068 const edm::EventSetup& c); 00069 00070 00071 private: 00072 00073 void fillNorm(); 00074 00075 // ----------member data --------------------------- 00076 DQMStore * dbe; 00077 00078 MonitorElement* rpctfetavalue[3]; 00079 MonitorElement* rpctfphivalue[3]; 00080 MonitorElement* rpctfptvalue[3]; 00081 MonitorElement* rpctfchargevalue[3]; 00082 MonitorElement* rpctfquality[3]; 00083 MonitorElement* rpctfntrack; 00084 MonitorElement* rpctfbx; 00085 // MonitorElement* m_digiBx; 00086 // MonitorElement* m_digiBxLast; 00087 MonitorElement* m_qualVsEta; 00088 MonitorElement* m_muonsEtaPhi; 00089 MonitorElement* m_phipacked; 00090 MonitorElement * m_phipackednorm; 00091 MonitorElement * m_muonsEtaPhiNorm; 00092 // MonitorElement * m_floatSynchro; 00093 00094 // MonitorElement * m_digiBxRPC; 00095 // 00096 // MonitorElement * m_digiBxDT; 00097 // 00098 // MonitorElement * m_digiBxCSC; 00099 00100 edm::InputTag rpctfSource_ ; 00101 //edm::InputTag digiSource_ ; 00102 int nev_; // Number of events processed 00103 int nevRPC_; // Number of events processed where muon was found by rpc trigger 00104 std::string outputFile_; //file name for ROOT ouput 00105 bool verbose_; 00106 bool monitorDaemon_; 00107 //bool m_rpcDigiFine; 00108 //bool m_useRpcDigi; 00109 00110 unsigned long m_ntracks; 00111 00112 ofstream logFile_; 00113 00114 00115 // std::set<int> m_bxs; 00116 // int m_rpcDigiWithBX0; 00117 // int m_rpcDigiWithBXnon0; 00118 00119 }; 00120 00121 #endif