Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:54

0001 // Emulator that takes RPC hits and produces CPPFDigis to send to EMTF
0002 // Author Alejandro Segura -- Universidad de los Andes
0003 
0004 #ifndef L1Trigger_L1TMuonCPPF_L1TMuonCPPFDigiProducer_h
0005 #define L1Trigger_L1TMuonCPPF_L1TMuonCPPFDigiProducer_h
0006 
0007 #include "L1Trigger/L1TMuonCPPF/interface/EmulateCPPF.h"
0008 
0009 // System include files
0010 #include <memory>
0011 
0012 // User include files
0013 #include "FWCore/Framework/interface/Frameworkfwd.h"
0014 #include "FWCore/Framework/interface/stream/EDProducer.h"
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/Framework/interface/EventSetup.h"
0017 #include "FWCore/Framework/interface/MakerMacros.h"
0018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0019 
0020 // Other includes (all needed? - AWB 27.07.17)
0021 #include "FWCore/Utilities/interface/InputTag.h"
0022 
0023 #include "DataFormats/RPCDigi/interface/RPCDigiCollection.h"
0024 #include "DataFormats/RPCRecHit/interface/RPCRecHitCollection.h"
0025 
0026 #include "CondFormats/RPCObjects/interface/RPCDeadStrips.h"
0027 
0028 #include "FWCore/Framework/interface/ESHandle.h"
0029 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0030 
0031 #include "DataFormats/L1TMuon/interface/CPPFDigi.h"
0032 #include "DataFormats/MuonDetId/interface/RPCDetId.h"
0033 
0034 #include "Geometry/RPCGeometry/interface/RPCGeometry.h"
0035 #include "Geometry/RPCGeometry/interface/RPCRoll.h"
0036 
0037 #include "L1Trigger/L1TMuonEndCap/interface/PrimitiveConversion.h"
0038 #include "L1Trigger/L1TMuonEndCap/interface/SectorProcessorLUT.h"
0039 
0040 #include <Geometry/Records/interface/MuonGeometryRecord.h>
0041 
0042 #include "TVector3.h"
0043 #include <cassert>
0044 #include <fstream>
0045 #include <string>
0046 
0047 // Class declaration
0048 class L1TMuonCPPFDigiProducer : public edm::stream::EDProducer<> {
0049 public:
0050   explicit L1TMuonCPPFDigiProducer(const edm::ParameterSet &);
0051   ~L1TMuonCPPFDigiProducer() override;
0052 
0053 private:
0054   void beginStream(edm::StreamID) override;
0055   void endStream() override;
0056   void produce(edm::Event &event, const edm::EventSetup &setup) override;
0057 
0058 private:
0059   std::unique_ptr<EmulateCPPF> cppf_emulator_;
0060 };
0061 
0062 #endif /* #define L1Trigger_L1TMuonCPPF_L1TMuonCPPFDigiProducer_h */