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 00022 00023 void 00024 GsfPFRecTrack::addBrem(const reco::PFBrem& brem){ 00025 pfBremVec_.push_back(brem); 00026 } 00027 00028 00029 void 00030 GsfPFRecTrack::calculateBremPositionREP() { 00031 for ( unsigned j=0; j<pfBremVec_.size(); ++j ) 00032 pfBremVec_[j].calculatePositionREP(); 00033 } 00034 00035 void 00036 GsfPFRecTrack::addConvBremPFRecTrackRef(const reco::PFRecTrackRef& pfrectracksref){ 00037 assoPFRecTrack_.push_back(pfrectracksref); 00038 }