00001 #ifndef L1TRPCTF_H 00002 #define L1TRPCTF_H 00003 00004 /* 00005 * \file L1TRPCTF.h 00006 * 00007 * $Date: 2011/06/02 09:32:54 $ 00008 * $Revision: 1.22 $ 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 #include <iostream> 00036 #include <fstream> 00037 #include <vector> 00038 #include <set> 00039 00040 // 00041 // class decleration 00042 // 00043 00044 class L1TRPCTF : public edm::EDAnalyzer { 00045 00046 public: 00047 00048 // Constructor 00049 L1TRPCTF(const edm::ParameterSet& ps); 00050 00051 // Destructor 00052 virtual ~L1TRPCTF(); 00053 00054 protected: 00055 // Analyze 00056 void analyze(const edm::Event& e, const edm::EventSetup& c); 00057 00058 // BeginJob 00059 void beginJob(void); 00060 00061 // EndJob 00062 void endJob(void); 00063 00064 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00065 const edm::EventSetup& context); 00066 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00067 const edm::EventSetup& c); 00068 00069 void endRun(const edm::Run & r, const edm::EventSetup & c); 00070 00071 00072 private: 00073 00074 00075 // ----------member data --------------------------- 00076 DQMStore * m_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_b[3]; 00084 MonitorElement* rpctfntrack_e[3]; 00085 MonitorElement* rpctfbx; 00086 MonitorElement* m_qualVsEta[3]; 00087 MonitorElement* m_muonsEtaPhi[3]; 00088 //MonitorElement* m_phipacked; 00089 00090 MonitorElement* m_bxDiff; 00091 MonitorElement* rpctfcratesynchro[12]; 00092 std::set<unsigned long long int> m_globBX; 00093 00094 00095 00096 00097 edm::InputTag rpctfSource_ ; 00098 00099 int nev_; // Number of events processed 00100 int nevRPC_; // Number of events processed where muon was found by rpc trigger 00101 std::string outputFile_; //file name for ROOT ouput 00102 bool verbose_; 00103 bool monitorDaemon_; 00104 //bool m_rpcDigiFine; 00105 //bool m_useRpcDigi; 00106 00107 long long int m_lastUsedBxInBxdiff; 00108 std::string output_dir_; 00109 struct BxDelays { int bx, eta_t, phi_p; }; 00110 00111 00112 }; 00113 00114 #endif