00001 #include "DataFormats/ParticleFlowReco/interface/GsfPFRecTrack.h" 00002 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00003 #include "Math/GenVector/PositionVector3D.h" 00004 #include "DataFormats/Math/interface/Point3D.h" 00005 // #include "FWCore/MessageLogger/interface/MessageLogger.h" 00006 00007 using namespace reco; 00008 GsfPFRecTrack::GsfPFRecTrack(double charge, 00009 AlgoType_t algoType, 00010 int trackId, 00011 const reco::GsfTrackRef& gsftrackRef, 00012 const edm::Ref<std::vector<PFRecTrack> >& kfpfrectrackref) : 00013 PFRecTrack(charge,algoType), 00014 gsfTrackRef_(gsftrackRef), 00015 kfPFRecTrackRef_(kfpfrectrackref), 00016 pfBremVec_(0) 00017 { 00018 trackId_=trackId; 00019 } 00020 00021 void 00022 GsfPFRecTrack::addBrem(const reco::PFBrem& brem){ 00023 pfBremVec_.push_back(brem); 00024 } 00025 00026 void 00027 GsfPFRecTrack::calculateBremPositionREP() { 00028 for ( unsigned j=0; j<pfBremVec_.size(); ++j ) 00029 pfBremVec_[j].calculatePositionREP(); 00030 } 00031 00032 void 00033 GsfPFRecTrack::addConvBremPFRecTrackRef(const reco::PFRecTrackRef& pfrectracksref){ 00034 assoPFRecTrack_.push_back(pfrectracksref); 00035 } 00036 00037 void 00038 GsfPFRecTrack::addConvBremGsfPFRecTrackRef(const reco::GsfPFRecTrackRef& gsfpfrectracksref){ 00039 assoGsfPFRecTrack_.push_back(gsfpfrectracksref); 00040 }