#include <RecoBTag/SecondaryVertex/interface/TrackKinematics.h>
Public Member Functions | |
void | add (const reco::Track &track, double weight=1.0) |
unsigned int | numberOfTracks () const |
double | sumOfWeights () const |
TrackKinematics (const reco::Vertex &vertex) | |
TrackKinematics (const reco::TrackRefVector &tracks) | |
TrackKinematics (const std::vector< reco::Track > &tracks) | |
TrackKinematics () | |
const math::XYZTLorentzVector & | vectorSum () const |
const math::XYZTLorentzVector & | weightedVectorSum () const |
~TrackKinematics () | |
Private Attributes | |
unsigned int | n |
math::XYZTLorentzVector | sum |
double | sumWeights |
math::XYZTLorentzVector | weightedSum |
Definition at line 13 of file TrackKinematics.h.
TrackKinematics::TrackKinematics | ( | ) |
reco::TrackKinematics::TrackKinematics | ( | const std::vector< reco::Track > & | tracks | ) |
TrackKinematics::TrackKinematics | ( | const reco::TrackRefVector & | tracks | ) |
Definition at line 29 of file TrackKinematics.cc.
References edm::RefVector< C, T, F >::begin(), edm::RefVector< C, T, F >::end(), and iter.
00029 : 00030 n(0), sumWeights(0) 00031 { 00032 for(TrackRefVector::const_iterator iter = tracks.begin(); 00033 iter != tracks.end(); iter++) 00034 add(**iter); 00035 }
TrackKinematics::TrackKinematics | ( | const reco::Vertex & | vertex | ) |
Definition at line 37 of file TrackKinematics.cc.
References iter, reco::Vertex::tracks_begin(), reco::Vertex::tracks_end(), and reco::Vertex::trackWeight().
00037 : 00038 n(0), sumWeights(0) 00039 { 00040 for(Vertex::trackRef_iterator iter = vertex.tracks_begin(); 00041 iter != vertex.tracks_end(); iter++) 00042 add(**iter, vertex.trackWeight(*iter)); 00043 }
reco::TrackKinematics::~TrackKinematics | ( | ) | [inline] |
void TrackKinematics::add | ( | const reco::Track & | track, | |
double | weight = 1.0 | |||
) |
Definition at line 45 of file TrackKinematics.cc.
References n, reco::ParticleMasses::piPlus, reco::TrackBase::px(), reco::TrackBase::py(), reco::TrackBase::pz(), sum, sumWeights, and weightedSum.
Referenced by CombinedSVComputer::operator()().
00046 { 00047 ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > vec; 00048 00049 vec.SetPx(track.px()); 00050 vec.SetPy(track.py()); 00051 vec.SetPz(track.pz()); 00052 vec.SetM(ParticleMasses::piPlus); 00053 00054 n++; 00055 sumWeights += weight; 00056 sum += vec; 00057 weightedSum += weight * vec; 00058 }
unsigned int reco::TrackKinematics::numberOfTracks | ( | ) | const [inline] |
Definition at line 23 of file TrackKinematics.h.
References n.
Referenced by CombinedSVComputer::operator()().
00023 { return n; }
double reco::TrackKinematics::sumOfWeights | ( | ) | const [inline] |
Definition at line 24 of file TrackKinematics.h.
References sumWeights.
00024 { return sumWeights; }
const math::XYZTLorentzVector& reco::TrackKinematics::vectorSum | ( | ) | const [inline] |
Definition at line 26 of file TrackKinematics.h.
References sum.
Referenced by reco::VertexFilter::operator()(), and CombinedSVComputer::operator()().
00027 { return sum; }
const math::XYZTLorentzVector& reco::TrackKinematics::weightedVectorSum | ( | ) | const [inline] |
Definition at line 28 of file TrackKinematics.h.
References weightedSum.
Referenced by reco::VertexFilter::operator()(), and CombinedSVComputer::operator()().
00029 { return weightedSum; }
unsigned int reco::TrackKinematics::n [private] |
double reco::TrackKinematics::sumWeights [private] |