Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:59

0001 #ifndef TrackProducer_h
0002 #define TrackProducer_h
0003 
0004 /** \class TrackProducer
0005  *  Produce Tracks from TrackCandidates
0006  *
0007  *  \author cerati
0008  */
0009 
0010 #include "FWCore/Framework/interface/stream/EDProducer.h"
0011 #include "RecoTracker/TrackProducer/interface/KfTrackProducerBase.h"
0012 #include "RecoTracker/TrackProducer/interface/TrackProducerAlgorithm.h"
0013 
0014 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0015 
0016 class TrackProducer : public KfTrackProducerBase, public edm::stream::EDProducer<> {
0017 public:
0018   /// Constructor
0019   explicit TrackProducer(const edm::ParameterSet& iConfig);
0020 
0021   /// Implementation of produce method
0022   void produce(edm::Event&, const edm::EventSetup&) override;
0023 
0024   /// Get Transient Tracks
0025   std::vector<reco::TransientTrack> getTransient(edm::Event&, const edm::EventSetup&);
0026 
0027   //   /// Put produced collections in the event
0028   //   virtual void putInEvt(edm::Event&,
0029   //            std::unique_ptr<TrackingRecHitCollection>&,
0030   //            std::unique_ptr<TrackCollection>&,
0031   //            std::unique_ptr<reco::TrackExtraCollection>&,
0032   //            std::unique_ptr<std::vector<Trajectory> >&,
0033   //            AlgoProductCollection&);
0034 
0035 private:
0036   TrackProducerAlgorithm<reco::Track> theAlgo;
0037   edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> theTTopoToken;
0038 };
0039 
0040 #endif