Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:01

0001 #ifndef L1Trigger_L1TMuonEndCapPhase2_L1TMuonEndCapPhase2TrackProducer_h
0002 #define L1Trigger_L1TMuonEndCapPhase2_L1TMuonEndCapPhase2TrackProducer_h
0003 
0004 #include <memory>
0005 
0006 #include "FWCore/Framework/interface/stream/EDProducer.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "FWCore/Framework/interface/EventSetup.h"
0009 #include "FWCore/Framework/interface/MakerMacros.h"
0010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0011 #include "FWCore/Utilities/interface/StreamID.h"
0012 
0013 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFfwd.h"
0014 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFTypes.h"
0015 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFContext.h"
0016 
0017 class L1TMuonEndCapPhase2TrackProducer : public edm::stream::EDProducer<> {
0018 public:
0019   explicit L1TMuonEndCapPhase2TrackProducer(const edm::ParameterSet&);
0020 
0021   ~L1TMuonEndCapPhase2TrackProducer() override = default;
0022 
0023   static void fillDescriptions(edm::ConfigurationDescriptions&);
0024 
0025 private:
0026   std::unique_ptr<emtf::phase2::TrackFinder> track_finder_;
0027 
0028   edm::EDPutTokenT<emtf::phase2::EMTFHitCollection> hit_token_;
0029   edm::EDPutTokenT<emtf::phase2::EMTFTrackCollection> trk_token_;
0030   edm::EDPutTokenT<emtf::phase2::EMTFInputCollection> in_token_;
0031 
0032   // Producer Functions
0033   void produce(edm::Event&, const edm::EventSetup&) override;
0034   void beginStream(edm::StreamID) override;
0035   void endStream() override;
0036 };
0037 
0038 #endif