CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/RecoEgamma/EgammaPhotonProducers/interface/TrackProducerWithSCAssociation.h

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   //Same recipe as Ursula's for electrons. Copy this from TrackProducerBase to get the OrphanHandle
00042   //ugly temporary solution!! I agree !
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