00001 #ifndef DataFormats_ParticleFlowReco_GsfPFRecTrack_h 00002 #define DataFormats_ParticleFlowReco_GsfPFRecTrack_h 00003 00004 #include "DataFormats/ParticleFlowReco/interface/PFRecTrack.h" 00005 #include "DataFormats/ParticleFlowReco/interface/PFRecTrackFwd.h" 00006 /* #include "DataFormats/Common/interface/RefToBase.h" */ 00007 #include "DataFormats/GsfTrackReco/interface/GsfTrackFwd.h" 00008 #include "DataFormats/ParticleFlowReco/interface/GsfPFRecTrackFwd.h" 00009 #include "DataFormats/ParticleFlowReco/interface/PFBrem.h" 00010 #include <iostream> 00011 00012 namespace reco { 00013 00024 class GsfPFRecTrack : public PFRecTrack 00025 { 00026 00027 public: 00028 GsfPFRecTrack(){}; 00029 GsfPFRecTrack(double charge, 00030 AlgoType_t algoType, 00031 int trackId, 00032 const reco::GsfTrackRef& gtrackref, 00033 const edm::Ref<std::vector<PFRecTrack> >& kfpfrectrackref); 00034 00035 00036 00038 const reco::GsfTrackRef& 00039 gsfTrackRef() const {return gsfTrackRef_;} 00040 00042 const edm::Ref<std::vector<PFRecTrack> >& 00043 kfPFRecTrackRef() const {return kfPFRecTrackRef_;} 00045 void addBrem( const reco::PFBrem& brem); 00046 00048 void calculateBremPositionREP(); 00049 00051 const std::vector<reco::PFBrem>& PFRecBrem()const {return pfBremVec_;} 00052 00054 int trackId() const {return trackId_;} 00055 00056 00058 void addConvBremPFRecTrackRef(const reco::PFRecTrackRef& pfrectracksref); 00059 00061 const std::vector<reco::PFRecTrackRef>& convBremPFRecTrackRef() const {return assoPFRecTrack_;} 00062 00064 void addConvBremGsfPFRecTrackRef(const reco::GsfPFRecTrackRef& gsfpfrectracksref); 00065 00067 const std::vector<reco::GsfPFRecTrackRef>& convBremGsfPFRecTrackRef() const {return assoGsfPFRecTrack_;} 00068 00069 private: 00071 reco::GsfTrackRef gsfTrackRef_; 00072 00074 reco::PFRecTrackRef kfPFRecTrackRef_; 00075 00077 std::vector<reco::PFBrem> pfBremVec_; 00078 00080 std::vector<reco::PFRecTrackRef> assoPFRecTrack_; 00081 00083 std::vector<reco::GsfPFRecTrackRef> assoGsfPFRecTrack_; 00084 00086 int trackId_; 00087 }; 00088 00089 00090 } 00091 00092 #endif