Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:45

0001 #ifndef L1TRPCTF_H
0002 #define L1TRPCTF_H
0003 
0004 /*
0005  * \file L1TRPCTF.h
0006  *
0007  * \author J. Berryhill
0008  *
0009 */
0010 
0011 // system include files
0012 #include <memory>
0013 #include <unistd.h>
0014 
0015 // user include files
0016 #include "FWCore/Framework/interface/Frameworkfwd.h"
0017 
0018 #include "FWCore/Framework/interface/Event.h"
0019 #include "FWCore/Framework/interface/MakerMacros.h"
0020 
0021 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0022 
0023 #include "DQMServices/Core/interface/DQMStore.h"
0024 #include "FWCore/ServiceRegistry/interface/Service.h"
0025 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0026 
0027 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
0028 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTCand.h"
0029 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTExtendedCand.h"
0030 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutCollection.h"
0031 #include <iostream>
0032 #include <fstream>
0033 #include <vector>
0034 #include <set>
0035 
0036 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0037 //
0038 // class decleration
0039 //
0040 
0041 class L1TRPCTF : public DQMEDAnalyzer {
0042 public:
0043   // Constructor
0044   L1TRPCTF(const edm::ParameterSet& ps);
0045 
0046   // Destructor
0047   ~L1TRPCTF() override;
0048 
0049 protected:
0050   // Analyze
0051   void analyze(const edm::Event& e, const edm::EventSetup& c) override;
0052 
0053   // BeginJob
0054   void bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&, const edm::EventSetup&) override;
0055 
0056 private:
0057   // ----------member data ---------------------------
0058 
0059   MonitorElement* rpctfetavalue[3];
0060   MonitorElement* rpctfphivalue[3];
0061   MonitorElement* rpctfptvalue[3];
0062   MonitorElement* rpctfchargevalue[3];
0063   MonitorElement* rpctfquality[3];
0064   MonitorElement* rpctfntrack_b[3];
0065   MonitorElement* rpctfntrack_e[3];
0066   MonitorElement* rpctfbx;
0067   MonitorElement* m_qualVsEta[3];
0068   MonitorElement* m_muonsEtaPhi[3];
0069   //MonitorElement* m_phipacked;
0070 
0071   MonitorElement* m_bxDiff;
0072   MonitorElement* rpctfcratesynchro[12];
0073 
0074   std::set<unsigned long long int> m_globBX;
0075 
0076   edm::EDGetTokenT<L1MuGMTReadoutCollection> rpctfSource_;
0077 
0078   int nev_;     // Number of events processed
0079   int nevRPC_;  // Number of events processed where muon was found by rpc trigger
0080   bool verbose_;
0081 
0082   long long int m_lastUsedBxInBxdiff;
0083   std::string output_dir_;
0084   struct BxDelays {
0085     int bx, eta_t, phi_p;
0086   };
0087 };
0088 
0089 #endif