Go to the documentation of this file.00001 #ifndef TrackProducerWithSCAssociation_h
00002 #define TrackProducerWithSCAssociation_h
00003
00015 #include "RecoTracker/TrackProducer/interface/TrackProducerBase.h"
00016 #include "RecoTracker/TrackProducer/interface/TrackProducerAlgorithm.h"
00017 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00018 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00019
00020 class TrackProducerWithSCAssociation : public TrackProducerBase<reco::Track>, public edm::EDProducer {
00021 public:
00022
00023 explicit TrackProducerWithSCAssociation(const edm::ParameterSet& iConfig);
00024
00025
00026 virtual void produce(edm::Event&, const edm::EventSetup&);
00027
00028 std::vector<reco::TransientTrack> getTransient(edm::Event&, const edm::EventSetup&);
00029
00030 private:
00031 std::string myname_;
00032 TrackProducerAlgorithm<reco::Track> theAlgo;
00033 std::string conversionTrackCandidateProducer_;
00034 std::string trackCSuperClusterAssociationCollection_;
00035 std::string trackSuperClusterAssociationCollection_;
00036 edm::OrphanHandle<reco::TrackCollection> rTracks_;
00037 bool myTrajectoryInEvent_;
00038 bool validTrackCandidateSCAssociationInput_;
00039
00040
00041
00042
00043 void putInEvt(edm::Event& evt,
00044 const Propagator* thePropagator,
00045 const MeasurementTracker* theMeasTk,
00046 std::auto_ptr<TrackingRecHitCollection>& selHits,
00047 std::auto_ptr<reco::TrackCollection>& selTracks,
00048 std::auto_ptr<reco::TrackExtraCollection>& selTrackExtras,
00049 std::auto_ptr<std::vector<Trajectory> >& selTrajectories,
00050 AlgoProductCollection& algoResults);
00051 };
00052
00053 #endif