00001 #ifndef L1TCSCTF_H 00002 #define L1TCSCTF_H 00003 00004 /* 00005 * \file L1TCSCTF.h 00006 * 00007 * $Date: 2009/12/01 09:13:44 $ 00008 * $Revision: 1.15 $ 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 // KK_start: Sector Receiver LUT class to transform wire/strip numbers to eta/phi observables 00037 #include "L1Trigger/CSCTrackFinder/interface/CSCSectorReceiverLUT.h" 00038 // KK_end 00039 00040 #include <iostream> 00041 #include <fstream> 00042 #include <vector> 00043 00044 // 00045 // class decleration 00046 // 00047 00048 class L1TCSCTF : public edm::EDAnalyzer { 00049 00050 public: 00051 00052 // Constructor 00053 L1TCSCTF(const edm::ParameterSet& ps); 00054 00055 // Destructor 00056 virtual ~L1TCSCTF(); 00057 00058 protected: 00059 // Analyze 00060 void analyze(const edm::Event& e, const edm::EventSetup& c); 00061 00062 // BeginJob 00063 void beginJob(void); 00064 00065 // EndJob 00066 void endJob(void); 00067 00068 private: 00069 // ----------member data --------------------------- 00070 DQMStore * dbe; 00071 00072 // MonitorElement* csctfetavalue[3]; 00073 // MonitorElement* csctfphivalue[3]; 00074 // MonitorElement* csctfptvalue[3]; 00075 // MonitorElement* csctfchargevalue[3]; 00076 // MonitorElement* csctfquality[3]; 00077 MonitorElement* csctfntrack; 00078 MonitorElement* csctfbx; 00079 00080 // KK_start: see source for description 00081 MonitorElement* csctferrors; 00082 MonitorElement* csctfoccupancies; 00083 CSCSectorReceiverLUT *srLUTs_[5]; 00084 // KK_end 00085 00086 // JAG 00087 MonitorElement* haloDelEta23; 00088 MonitorElement* csctfChamberOccupancies; 00089 MonitorElement* csctfTrackPhi; 00090 MonitorElement* csctfTrackEta; 00091 MonitorElement* cscTrackStubNumbers; 00092 MonitorElement* csctfTrackQ; 00093 MonitorElement* csctfAFerror; 00094 // JAG 00095 00096 // GP 00097 // 1-> 6 plus endcap 00098 // 7->12 minus endcap 00099 MonitorElement* DTstubsTimeTrackMenTimeArrival[12]; 00100 int BxInEvent_; //bx of the CSC muon candidate 00101 bool isCSCcand_;//does GMT readout window have a CSC cand? 00102 00103 MonitorElement* csctfHaloL1ABXN; 00104 MonitorElement* csctfCoincL1ABXN; 00105 int L1ABXN; 00106 // GP_end 00107 00108 int nev_; // Number of events processed 00109 std::string outputFile_; //file name for ROOT ouput 00110 bool verbose_; 00111 bool monitorDaemon_; 00112 ofstream logFile_; 00113 edm::InputTag gmtProducer, lctProducer, trackProducer, statusProducer, mbProducer; 00114 }; 00115 00116 #endif