Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:55:12

0001 #ifndef L1TRPCTPG_H
0002 #define L1TRPCTPG_H
0003 
0004 /*
0005  * \file L1TRPCTPG.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 
0017 #include "FWCore/Framework/interface/Frameworkfwd.h"
0018 #include "FWCore/Framework/interface/ESHandle.h"
0019 #include "FWCore/Framework/interface/Event.h"
0020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0021 #include "FWCore/Framework/interface/MakerMacros.h"
0022 #include "DataFormats/Common/interface/Handle.h"
0023 #include "DQMServices/Core/interface/DQMStore.h"
0024 #include "FWCore/ServiceRegistry/interface/Service.h"
0025 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0026 
0027 ///Data Format
0028 #include "DataFormats/RPCDigi/interface/RPCDigi.h"
0029 #include "DataFormats/RPCDigi/interface/RPCDigiCollection.h"
0030 #include "DataFormats/MuonDetId/interface/RPCDetId.h"
0031 #include "DataFormats/RPCRecHit/interface/RPCRecHitCollection.h"
0032 #include "DataFormats/GeometrySurface/interface/LocalError.h"
0033 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0034 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
0035 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTCand.h"
0036 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTExtendedCand.h"
0037 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutCollection.h"
0038 
0039 ///Geometry
0040 #include "Geometry/RPCGeometry/interface/RPCGeometry.h"
0041 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0042 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
0043 #include "Geometry/RPCGeometry/interface/RPCGeomServ.h"
0044 
0045 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0046 
0047 #include <iostream>
0048 #include <fstream>
0049 #include <vector>
0050 
0051 //
0052 // class decleration
0053 //
0054 
0055 class L1TRPCTPG : public DQMEDAnalyzer {
0056 public:
0057   // Constructor
0058   L1TRPCTPG(const edm::ParameterSet& ps);
0059 
0060   // Destructor
0061   ~L1TRPCTPG() override;
0062 
0063 protected:
0064   // Analyze
0065   void analyze(const edm::Event& e, const edm::EventSetup& c) override;
0066 
0067   // BeginRun
0068   void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, edm::EventSetup const&) override;
0069   void dqmBeginRun(edm::Run const&, edm::EventSetup const&) override;
0070 
0071 private:
0072   // ----------member data ---------------------------
0073 
0074   MonitorElement* rpctpgndigi[3];
0075   MonitorElement* rpctpgbx;
0076   MonitorElement* m_digiBxRPCBar;
0077   MonitorElement* m_digiBxRPCEnd;
0078   MonitorElement* m_digiBxDT;
0079   MonitorElement* m_digiBxCSC;
0080 
0081   std::map<uint32_t, std::map<std::string, MonitorElement*> > rpctpgmeCollection;
0082 
0083   int nev_;                 // Number of events processed
0084   std::string outputFile_;  //file name for ROOT ouput
0085   bool verbose_;
0086   bool monitorDaemon_;
0087   std::ofstream logFile_;
0088   edm::InputTag rpctpgSource_;
0089   edm::EDGetTokenT<RPCDigiCollection> rpctpgSource_token_;
0090   edm::InputTag rpctfSource_;
0091   edm::EDGetTokenT<L1MuGMTReadoutCollection> rpctfSource_token_;
0092   edm::ESGetToken<RPCGeometry, MuonGeometryRecord> rpcgeomToken_;
0093 };
0094 
0095 #endif