Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef GsfTrackRefitter_h
0002 #define GsfTrackRefitter_h
0003 
0004 /** \class GsfTrackRefitter
0005  *  Refit GSF Tracks. Based on the TrackRefitter.
0006  */
0007 
0008 #include "FWCore/Framework/interface/stream/EDProducer.h"
0009 #include "RecoTracker/TrackProducer/interface/GsfTrackProducerBase.h"
0010 #include "RecoTracker/TrackProducer/interface/TrackProducerAlgorithm.h"
0011 #include "FWCore/Utilities/interface/InputTag.h"
0012 #include "TrackingTools/GsfTracking/interface/GsfTrackConstraintAssociation.h"
0013 
0014 class GsfTrackRefitter : public GsfTrackProducerBase, public edm::stream::EDProducer<> {
0015 public:
0016   /// Constructor
0017   explicit GsfTrackRefitter(const edm::ParameterSet& iConfig);
0018 
0019   /// Implementation of produce method
0020   void produce(edm::Event&, const edm::EventSetup&) override;
0021 
0022 private:
0023   TrackProducerAlgorithm<reco::GsfTrack> theAlgo;
0024   enum Constraint {
0025     none,
0026     //          momentum,
0027     vertex
0028   };
0029   Constraint constraint_;
0030   edm::EDGetTokenT<GsfTrackVtxConstraintAssociationCollection> gsfTrackVtxConstraintTag_;
0031   edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> ttopoToken_;
0032 };
0033 
0034 #endif