Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
recob::Track Class Reference

Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a "fitted" track: More...

#include <Track.h>

Public Types

using Point_t = tracking::Point_t
 
using Vector_t = tracking::Vector_t
 
using Positions_t = tracking::Positions_t
 
using Momenta_t = tracking::Momenta_t
 
using Rotation_t = tracking::Rotation_t
 
using TrajectoryPoint_t = tracking::TrajectoryPoint_t
 
using SMatrixSym55 = tracking::SMatrixSym55
 
using SMatrixSym66 = tracking::SMatrixSym66
 
using SMatrix65 = tracking::SMatrix65
 
using SMatrix56 = tracking::SMatrix56
 
using SVector6 = tracking::SVector6
 
using SVector5 = tracking::SVector5
 
using PointFlags_t = TrackTrajectory::PointFlags_t
 
using Flags_t = TrackTrajectory::Flags_t
 

Public Member Functions

 Track ()=default
 
 Track (TrackTrajectory const &Traj, int PId, float Chi2, int Ndof, SMatrixSym55 const &CovVertex, SMatrixSym55 const &CovEnd, int tkID)
 
 Track (TrackTrajectory &&Traj, int PId, float Chi2, int Ndof, SMatrixSym55 &&CovVertex, SMatrixSym55 &&CovEnd, int tkID)
 
 Track (Positions_t &&positions, Momenta_t &&momenta, Flags_t &&flags, bool hasMomenta, int PId, float Chi2, int Ndof, SMatrixSym55 &&CovVertex, SMatrixSym55 &&CovEnd, int tkID)
 
const recob::TrackTrajectoryTrajectory () const
 Access to the stored recob::TrackTrajectory. More...
 
size_t NumberTrajectoryPoints () const
 Various functions related to the presence and the number of (valid) points. More...
 
size_t NPoints () const
 
size_t FirstPoint () const
 
size_t LastPoint () const
 
size_t FirstValidPoint () const
 
size_t NextValidPoint (size_t index) const
 
size_t PreviousValidPoint (size_t index) const
 
size_t LastValidPoint () const
 
bool HasPoint (size_t i) const
 
bool HasValidPoint (size_t i) const
 
unsigned int CountValidPoints () const
 
TrajectoryPoint_t TrajectoryPoint (size_t i) const
 Access to i-th TrajectoryPoint or its Flags. More...
 
PointFlags_t const & FlagsAtPoint (size_t i) const
 
Point_t const & Start () const
 Access to track position at different points. More...
 
Point_t const & Vertex () const
 
Point_t const & End () const
 
Point_t const & LocationAtPoint (size_t i) const
 
Vector_t StartDirection () const
 Access to track direction at different points. More...
 
Vector_t VertexDirection () const
 
Vector_t EndDirection () const
 
Vector_t DirectionAtPoint (size_t i) const
 
bool HasMomentum () const
 
double MomentumAtPoint (unsigned int p) const
 
double VertexMomentum () const
 
double StartMomentum () const
 
double EndMomentum () const
 
Vector_t const & VertexMomentumVector () const
 
Vector_t const & StartMomentumVector () const
 
Vector_t const & EndMomentumVector () const
 
Vector_t const & MomentumVectorAtPoint (size_t i) const
 
const SMatrixSym55StartCovariance () const
 Access to covariance matrices. More...
 
const SMatrixSym55VertexCovariance () const
 
const SMatrixSym55EndCovariance () const
 
std::pair< Point_t, Point_tExtent () const
 Access to position, momentum or covariance at the start and end of the track. More...
 
std::pair< Vector_t, Vector_tDirection () const
 
std::pair< SMatrixSym55, SMatrixSym55Covariances () const
 
double Length (size_t p=0) const
 Access to various track properties. More...
 
float Chi2 () const
 
float Chi2PerNdof () const
 
int Ndof () const
 
int ParticleId () const
 
double Theta () const
 Access to spherical or geographical angles at vertex or at any point. More...
 
double Theta (size_t p) const
 
double Phi () const
 
double Phi (size_t p) const
 
double ZenithAngle () const
 
double ZenithAngle (size_t p) const
 
double AzimuthAngle () const
 
double AzimuthAngle (size_t p) const
 
Rotation_t GlobalToLocalRotationAtPoint (size_t p) const
 
Rotation_t LocalToGlobalRotationAtPoint (size_t p) const
 
SVector5 VertexParametersLocal5D () const
 Accessors to track parameters and covariance matrices in Local5D and Global6D coordinates. More...
 
SVector5 EndParametersLocal5D () const
 
const SMatrixSym55VertexCovarianceLocal5D () const
 
const SMatrixSym55EndCovarianceLocal5D () const
 
SVector6 VertexParametersGlobal6D () const
 
SVector6 EndParametersGlobal6D () const
 
SMatrixSym66 VertexCovarianceGlobal6D () const
 
SMatrixSym66 EndCovarianceGlobal6D () const
 
Templated version of homonymous functions to access to position, direction, momentum information, and covariances.
template<typename T >
Start () const
 Start position. Use e.g. as: More...
 
template<typename T >
Vertex () const
 Start position. Use e.g. as: More...
 
template<typename T >
End () const
 End position. Use e.g. as: More...
 
template<typename T >
LocationAtPoint (unsigned int p) const
 Position at point p. Use e.g. as: More...
 
template<typename T >
StartDirection () const
 Start direction. Use e.g. as: More...
 
template<typename T >
VertexDirection () const
 Start direction. Use e.g. as: More...
 
template<typename T >
EndDirection () const
 End direction. Use e.g. as: More...
 
template<typename T >
DirectionAtPoint (unsigned int p) const
 Direction at point p. Use e.g. as: More...
 
template<typename T >
StartMomentumVector () const
 Momentum vector at start point. Use e.g. as: More...
 
template<typename T >
VertexMomentumVector () const
 Momentum vector at start point. Use e.g. as: More...
 
template<typename T >
EndMomentumVector () const
 Momentum vector at end point. Use e.g. as: More...
 
template<typename T >
MomentumVectorAtPoint (unsigned int p) const
 Momentum vector at point p. Use e.g. as: More...
 
template<typename T >
StartCovariance () const
 Covariance matrix at start point. Use e.g. as: More...
 
template<typename T >
VertexCovariance () const
 Covariance matrix at start point. Use e.g. as: More...
 
template<typename T >
EndCovariance () const
 Covariance matrix at end point. Use e.g. as: More...
 
template<typename T >
std::pair< T, T > Extent () const
 Position at start and end points. Use e.g. as: More...
 
template<typename T >
std::pair< T, T > Direction () const
 Direction at start and end points. Use e.g. as: More...
 
template<typename T >
GlobalToLocalRotationAtPoint (unsigned int p) const
 Returns a rotation matrix that brings trajectory direction along z. Use e.g. as: More...
 
template<typename T >
LocalToGlobalRotationAtPoint (unsigned int p) const
 Returns a rotation matrix bringing relative directions to global. Use e.g. as: More...
 

Protected Attributes

TrackTrajectory fTraj
 Stored trajectory data member. More...
 
int fPId = 0
 Particle ID hypothesis used in the fit (if any) More...
 
float fChi2 = -1.
 Fit chi2. More...
 
int fNdof = 0.
 Number of degrees of freedom of the fit. More...
 
SMatrixSym55 fCovVertex
 Covariance matrix (local 5D representation) at start point (vertex) More...
 
SMatrixSym55 fCovEnd
 Covariance matrix (local 5D representation) at end point. More...
 
int fID = -1
 track's ID More...
 

Friends

std::ostream & operator<< (std::ostream &stream, Track const &a)
 
int ID () const
 
bool operator< (const Track &a, const Track &b)
 

Detailed Description

Track from a non-cascading particle.

A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a "fitted" track:

Please refer to the recob::TrackTrajectory documentation for more information about it; for a discussion on the object type for coordinates see recob::tracking::Coord_t.

In terms of interface, recob::Track extends recob::TrackTrajectory, so that methods of the stored recob::TrackTrajectory can be called directly from the recob::Track interface, e.g.:

Two different parameter conventions are used in a recob::Track, and functions to convert from one to the other are provided:

  1. Trajectory points and momenta (or directions) are in form of 3-vectors, corresponding to a global Cartesian 6D representation
  2. Covariance matrices are stored in a Local 5D representation (so that the covariance matrix is invertible), where the parameters are defined on the plane orthogonal to the track direction at a given track point. By construction the local parameters of the track itself are (0,0,0,0,1/p). See lardataobj/RecoBase/TrackingPlane.h for more information.

Definition at line 49 of file Track.h.

Member Typedef Documentation

Definition at line 68 of file Track.h.

Definition at line 56 of file Track.h.

Definition at line 53 of file Track.h.

Definition at line 67 of file Track.h.

Definition at line 55 of file Track.h.

Definition at line 57 of file Track.h.

Definition at line 63 of file Track.h.

Definition at line 62 of file Track.h.

Definition at line 60 of file Track.h.

Definition at line 61 of file Track.h.

Definition at line 65 of file Track.h.

Definition at line 64 of file Track.h.

Definition at line 58 of file Track.h.

Definition at line 54 of file Track.h.

Constructor & Destructor Documentation

recob::Track::Track ( )
default
recob::Track::Track ( TrackTrajectory const &  Traj,
int  PId,
float  Chi2,
int  Ndof,
SMatrixSym55 const &  CovVertex,
SMatrixSym55 const &  CovEnd,
int  tkID 
)
inline

Definition at line 85 of file Track.h.

87  : fTraj(Traj), fPId(PId), fChi2(Chi2), fNdof(Ndof), fCovVertex(CovVertex), fCovEnd(CovEnd),fID(tkID) { };
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
SMatrixSym55 fCovVertex
Covariance matrix (local 5D representation) at start point (vertex)
Definition: Track.h:76
SMatrixSym55 fCovEnd
Covariance matrix (local 5D representation) at end point.
Definition: Track.h:77
float Chi2() const
Definition: Track.h:168
int fID
track&#39;s ID
Definition: Track.h:78
float fChi2
Fit chi2.
Definition: Track.h:74
int Ndof() const
Definition: Track.h:170
int fNdof
Number of degrees of freedom of the fit.
Definition: Track.h:75
int fPId
Particle ID hypothesis used in the fit (if any)
Definition: Track.h:73
recob::Track::Track ( TrackTrajectory &&  Traj,
int  PId,
float  Chi2,
int  Ndof,
SMatrixSym55 &&  CovVertex,
SMatrixSym55 &&  CovEnd,
int  tkID 
)
inline

Definition at line 89 of file Track.h.

91  : fTraj(std::move(Traj)), fPId(PId), fChi2(Chi2), fNdof(Ndof), fCovVertex(std::move(CovVertex)), fCovEnd(std::move(CovEnd)),fID(tkID) { };
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
SMatrixSym55 fCovVertex
Covariance matrix (local 5D representation) at start point (vertex)
Definition: Track.h:76
SMatrixSym55 fCovEnd
Covariance matrix (local 5D representation) at end point.
Definition: Track.h:77
float Chi2() const
Definition: Track.h:168
int fID
track&#39;s ID
Definition: Track.h:78
float fChi2
Fit chi2.
Definition: Track.h:74
def move(depos, offset)
Definition: depos.py:107
int Ndof() const
Definition: Track.h:170
int fNdof
Number of degrees of freedom of the fit.
Definition: Track.h:75
int fPId
Particle ID hypothesis used in the fit (if any)
Definition: Track.h:73
recob::Track::Track ( Positions_t &&  positions,
Momenta_t &&  momenta,
Flags_t &&  flags,
bool  hasMomenta,
int  PId,
float  Chi2,
int  Ndof,
SMatrixSym55 &&  CovVertex,
SMatrixSym55 &&  CovEnd,
int  tkID 
)
inline

Definition at line 93 of file Track.h.

95  : fTraj(std::move(positions),std::move(momenta),std::move(flags),hasMomenta), fPId(PId), fChi2(Chi2), fNdof(Ndof), fCovVertex(std::move(CovVertex)), fCovEnd(std::move(CovEnd)),fID(tkID) { };
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
SMatrixSym55 fCovVertex
Covariance matrix (local 5D representation) at start point (vertex)
Definition: Track.h:76
SMatrixSym55 fCovEnd
Covariance matrix (local 5D representation) at end point.
Definition: Track.h:77
float Chi2() const
Definition: Track.h:168
int fID
track&#39;s ID
Definition: Track.h:78
float fChi2
Fit chi2.
Definition: Track.h:74
def move(depos, offset)
Definition: depos.py:107
int Ndof() const
Definition: Track.h:170
int fNdof
Number of degrees of freedom of the fit.
Definition: Track.h:75
int fPId
Particle ID hypothesis used in the fit (if any)
Definition: Track.h:73

Member Function Documentation

double recob::Track::AzimuthAngle ( ) const
inline

Definition at line 182 of file Track.h.

182 { return fTraj.AzimuthAngle(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
double AzimuthAngle(size_t p) const
"Azimuth" angle of trajectory, with respect to the sky.
double recob::Track::AzimuthAngle ( size_t  p) const
inline

Definition at line 183 of file Track.h.

183 { return fTraj.AzimuthAngle(p); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
p
Definition: test.py:223
double AzimuthAngle(size_t p) const
"Azimuth" angle of trajectory, with respect to the sky.
float recob::Track::Chi2 ( ) const
inline

Definition at line 168 of file Track.h.

168 { return fChi2; }
float fChi2
Fit chi2.
Definition: Track.h:74
float recob::Track::Chi2PerNdof ( ) const
inline

Definition at line 169 of file Track.h.

169 { return fNdof>0 ? fChi2/float(fNdof) : util::kBogusF; }
Namespace for general, non-LArSoft-specific utilities.
float fChi2
Fit chi2.
Definition: Track.h:74
int fNdof
Number of degrees of freedom of the fit.
Definition: Track.h:75
constexpr float kBogusF
obviously bogus float value
unsigned int recob::Track::CountValidPoints ( ) const
inline

Definition at line 112 of file Track.h.

112 { return fTraj.CountValidPoints(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
unsigned int CountValidPoints() const
Computes and returns the number of points with valid location.
std::pair<SMatrixSym55, SMatrixSym55> recob::Track::Covariances ( ) const
inline

Definition at line 162 of file Track.h.

162 { return std::pair<SMatrixSym55, SMatrixSym55>(fCovVertex,fCovEnd); }
SMatrixSym55 fCovVertex
Covariance matrix (local 5D representation) at start point (vertex)
Definition: Track.h:76
SMatrixSym55 fCovEnd
Covariance matrix (local 5D representation) at end point.
Definition: Track.h:77
std::pair<Vector_t, Vector_t> recob::Track::Direction ( ) const
inline

Definition at line 161 of file Track.h.

161 { return fTraj.Direction(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
std::pair< T, T > Direction() const
Fills the starting and ending direction of the trajectory.
template<typename T >
std::pair<T, T> recob::Track::Direction ( ) const
inline

Direction at start and end points. Use e.g. as:

TVector3 startdir, enddir; std::tie(startdir, enddir) = track.Direction<TVector3>();

.

Definition at line 266 of file Track.h.

266 { return fTraj.Direction<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
std::pair< T, T > Direction() const
Fills the starting and ending direction of the trajectory.
Vector_t recob::Track::DirectionAtPoint ( size_t  i) const
inline

Definition at line 134 of file Track.h.

134 { return fTraj.DirectionAtPoint(i); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
T DirectionAtPoint(unsigned int p) const
Direction at point p. Use e.g. as:
template<typename T >
T recob::Track::DirectionAtPoint ( unsigned int  p) const
inline

Direction at point p. Use e.g. as:

TVector3 dir = track.DirectionAtPoint<TVector3>(p);

.

Definition at line 239 of file Track.h.

239 { return fTraj.DirectionAtPoint<T>(p); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
T DirectionAtPoint(unsigned int p) const
Direction at point p. Use e.g. as:
p
Definition: test.py:223
Point_t const& recob::Track::End ( void  ) const
inline

Definition at line 125 of file Track.h.

125 { return fTraj.End(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Point_t const & End() const
Returns the position of the last valid point of the trajectory [cm].
template<typename T >
T recob::Track::End ( void  ) const
inline

End position. Use e.g. as:

TVector3 end = track.End<TVector3>();

.

Definition at line 224 of file Track.h.

224 { return fTraj.End<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Point_t const & End() const
Returns the position of the last valid point of the trajectory [cm].
const SMatrixSym55& recob::Track::EndCovariance ( ) const
inline

Definition at line 155 of file Track.h.

155 { return fCovEnd; }
SMatrixSym55 fCovEnd
Covariance matrix (local 5D representation) at end point.
Definition: Track.h:77
template<typename T >
T recob::Track::EndCovariance ( ) const
inline

Covariance matrix at end point. Use e.g. as:

TMatrixD endcov = track.EndCovariance<TMatrixD>();

.

Definition at line 293 of file Track.h.

293  {
294  T result = T(5,5);
295  for (unsigned int i=0; i<5; i++) {
296  for (unsigned int j=0; j<5; j++) {
297  result(i,j) = fCovEnd.At(i,j);
298  }
299  }
300  return result;
301 }
static QCString result
SMatrixSym55 fCovEnd
Covariance matrix (local 5D representation) at end point.
Definition: Track.h:77
Track::SMatrixSym66 recob::Track::EndCovarianceGlobal6D ( ) const

Definition at line 85 of file Track.cxx.

85  {
87  }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
SMatrixSym55 fCovEnd
Covariance matrix (local 5D representation) at end point.
Definition: Track.h:77
bool HasMomentum() const
Definition: Track.h:140
SMatrixSym66 Local5DToGlobal6DCovariance(SMatrixSym55 cov5d, bool hasMomentum, const Vector_t &trackMomOrDir) const
Translate track covariance from local to global coordinates. The track momentum (or direction) is nee...
Definition: TrackingPlane.h:97
Vector_t EndDirection() const
Returns the direction of the trajectory at the last point.
Vector_t const & EndMomentumVector() const
Returns the momentum of the trajectory at the last valid point [GeV/c].
const SMatrixSym55& recob::Track::EndCovarianceLocal5D ( ) const
inline

Definition at line 207 of file Track.h.

207 { return fCovEnd; }
SMatrixSym55 fCovEnd
Covariance matrix (local 5D representation) at end point.
Definition: Track.h:77
Vector_t recob::Track::EndDirection ( ) const
inline

Definition at line 133 of file Track.h.

133 { return fTraj.EndDirection(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t EndDirection() const
Returns the direction of the trajectory at the last point.
template<typename T >
T recob::Track::EndDirection ( ) const
inline

End direction. Use e.g. as:

TVector3 enddir = track.EndDirection<TVector3>();

.

Definition at line 236 of file Track.h.

236 { return fTraj.EndDirection<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t EndDirection() const
Returns the direction of the trajectory at the last point.
double recob::Track::EndMomentum ( ) const
inline

Definition at line 144 of file Track.h.

144 { return fTraj.EndMomentum(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
double EndMomentum() const
Vector_t const& recob::Track::EndMomentumVector ( ) const
inline

Definition at line 147 of file Track.h.

147 { return fTraj.EndMomentumVector(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t const & EndMomentumVector() const
Returns the momentum of the trajectory at the last valid point [GeV/c].
template<typename T >
T recob::Track::EndMomentumVector ( ) const
inline

Momentum vector at end point. Use e.g. as:

TVector3 endmom = track.EndMomentumVector<TVector3>();

.

Definition at line 248 of file Track.h.

248 { return fTraj.EndMomentumVector<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t const & EndMomentumVector() const
Returns the momentum of the trajectory at the last valid point [GeV/c].
Track::SVector6 recob::Track::EndParametersGlobal6D ( ) const

Definition at line 60 of file Track.cxx.

60  {
62  result[0] = End().X();
63  result[1] = End().Y();
64  result[2] = End().Z();
65  result[3] = EndDirection().X();
66  result[4] = EndDirection().Y();
67  result[5] = EndDirection().Z();
68  return result;
69  }
static QCString result
tracking::SVector6 SVector6
Definition: Track.h:64
Vector_t EndDirection() const
Definition: Track.h:133
Point_t const & End() const
Definition: Track.h:125
Track::SVector5 recob::Track::EndParametersLocal5D ( ) const

Definition at line 76 of file Track.cxx.

76  {
77  //return tracking::Plane::Global6DToLocal5DParameters(EndParametersGlobal6D(), fTraj.End(), fTraj.EndDirection());
78  return Track::SVector5(0.,0.,0.,0.,(HasMomentum() ? 1./EndMomentum() : 1. ));
79  }
double EndMomentum() const
Definition: Track.h:144
tracking::SVector5 SVector5
Definition: Track.h:65
bool HasMomentum() const
Definition: Track.h:140
std::pair<Point_t, Point_t> recob::Track::Extent ( ) const
inline

Access to position, momentum or covariance at the start and end of the track.

Definition at line 160 of file Track.h.

160 { return fTraj.Extent(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
std::pair< T, T > Extent() const
Fills the first and last valid point in the trajectory.
template<typename T >
std::pair<T, T> recob::Track::Extent ( ) const
inline

Position at start and end points. Use e.g. as:

TVector3 start, end; std::tie(start, end) = track.Extent<TVector3>();

.

Definition at line 263 of file Track.h.

263 { return fTraj.Extent<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
std::pair< T, T > Extent() const
Fills the first and last valid point in the trajectory.
size_t recob::Track::FirstPoint ( ) const
inline

Definition at line 104 of file Track.h.

104 { return fTraj.FirstPoint(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
size_t FirstPoint() const
Returns the index of the first point in the trajectory (yep, it&#39;s 0).
Definition: Trajectory.h:171
size_t recob::Track::FirstValidPoint ( ) const
inline

Definition at line 106 of file Track.h.

106 { return fTraj.FirstValidPoint(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
size_t FirstValidPoint() const
Returns the index of the first valid point in the trajectory.
PointFlags_t const& recob::Track::FlagsAtPoint ( size_t  i) const
inline

Definition at line 118 of file Track.h.

118 { return fTraj.FlagsAtPoint(i); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
PointFlags_t const & FlagsAtPoint(size_t i) const
Returns the flags for the specified trajectory point.
Rotation_t recob::Track::GlobalToLocalRotationAtPoint ( size_t  p) const
inline

Definition at line 190 of file Track.h.

TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
T GlobalToLocalRotationAtPoint(unsigned int p) const
Returns a rotation matrix that brings trajectory direction along z. Use e.g. as:
p
Definition: test.py:223
template<typename T >
T recob::Track::GlobalToLocalRotationAtPoint ( unsigned int  p) const
inline

Returns a rotation matrix that brings trajectory direction along z. Use e.g. as:

TMatrixD rot = track.GlobalToLocalRotationAtPoint<TMatrixD>(p);

.

Definition at line 269 of file Track.h.

TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
T GlobalToLocalRotationAtPoint(unsigned int p) const
Returns a rotation matrix that brings trajectory direction along z. Use e.g. as:
p
Definition: test.py:223
bool recob::Track::HasMomentum ( ) const
inline

Access to track momentum at different points. The user must check that HasMomentum() returns true to ensure the validity of the result of these functions.

Definition at line 140 of file Track.h.

140 { return fTraj.HasMomentum(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
bool HasMomentum() const
Returns whether information about the momentum is available.
Definition: Trajectory.h:425
bool recob::Track::HasPoint ( size_t  i) const
inline

Definition at line 110 of file Track.h.

110 { return fTraj.HasPoint(i); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
bool HasPoint(size_t i) const
Returns whether the specified trajectory point is available.
Definition: Trajectory.h:183
bool recob::Track::HasValidPoint ( size_t  i) const
inline

Definition at line 111 of file Track.h.

111 { return fTraj.HasValidPoint(i); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
bool HasValidPoint(size_t i) const
Returns whether the specified point has NoPoint flag unset.
int recob::Track::ID ( ) const
inline

Track ID number, needed to relate a track to its possible track parent (e.g. in case of a refit). Note that art Assns to the same object are not currently supported. The < operator is based on the track ID.

Definition at line 198 of file Track.h.

198 { return fID; }
int fID
track&#39;s ID
Definition: Track.h:78
size_t recob::Track::LastPoint ( ) const
inline

Definition at line 105 of file Track.h.

105 { return fTraj.LastPoint(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
size_t LastPoint() const
Returns the index of the last point in the trajectory.
Definition: Trajectory.h:175
size_t recob::Track::LastValidPoint ( ) const
inline

Definition at line 109 of file Track.h.

109 { return fTraj.LastValidPoint(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
size_t LastValidPoint() const
Returns the index of the last valid point in the trajectory.
double recob::Track::Length ( size_t  p = 0) const
inline

Access to various track properties.

Definition at line 167 of file Track.h.

167 { return fTraj.Length(p); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
double Length(size_t startAt=0) const
Returns the approximate length of the trajectory.
p
Definition: test.py:223
Rotation_t recob::Track::LocalToGlobalRotationAtPoint ( size_t  p) const
inline

Definition at line 191 of file Track.h.

TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
T LocalToGlobalRotationAtPoint(unsigned int p) const
Returns a rotation matrix bringing relative directions to global. Use e.g. as:
p
Definition: test.py:223
template<typename T >
T recob::Track::LocalToGlobalRotationAtPoint ( unsigned int  p) const
inline

Returns a rotation matrix bringing relative directions to global. Use e.g. as:

TMatrixD rot = track.LocalToGlobalRotationAtPoint<TMatrixD>(p);

.

Definition at line 272 of file Track.h.

TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
T LocalToGlobalRotationAtPoint(unsigned int p) const
Returns a rotation matrix bringing relative directions to global. Use e.g. as:
p
Definition: test.py:223
Point_t const& recob::Track::LocationAtPoint ( size_t  i) const
inline

Definition at line 126 of file Track.h.

126 { return fTraj.LocationAtPoint(i); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
T LocationAtPoint(unsigned int p) const
Position at point p. Use e.g. as:
template<typename T >
T recob::Track::LocationAtPoint ( unsigned int  p) const
inline

Position at point p. Use e.g. as:

TVector3 pos = track.LocationAtPoint<TVector3>(p);

.

Definition at line 227 of file Track.h.

227 { return fTraj.LocationAtPoint<T>(p); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
T LocationAtPoint(unsigned int p) const
Position at point p. Use e.g. as:
p
Definition: test.py:223
double recob::Track::MomentumAtPoint ( unsigned int  p) const
inline

Definition at line 141 of file Track.h.

141 { return fTraj.MomentumAtPoint(p); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
double MomentumAtPoint(size_t i) const
Computes and returns the modulus of the momentum at a point.
Definition: Trajectory.h:442
p
Definition: test.py:223
Vector_t const& recob::Track::MomentumVectorAtPoint ( size_t  i) const
inline

Definition at line 148 of file Track.h.

148 { return fTraj.MomentumVectorAtPoint(i); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
T MomentumVectorAtPoint(unsigned int p) const
Momentum vector at point p. Use e.g. as:
template<typename T >
T recob::Track::MomentumVectorAtPoint ( unsigned int  p) const
inline

Momentum vector at point p. Use e.g. as:

TVector3 mom = track.MomentumVectorAtPoint<TVector3>(p);

.

Definition at line 251 of file Track.h.

251 { return fTraj.MomentumVectorAtPoint<T>(p); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
p
Definition: test.py:223
T MomentumVectorAtPoint(unsigned int p) const
Momentum vector at point p. Use e.g. as:
int recob::Track::Ndof ( ) const
inline

Definition at line 170 of file Track.h.

170 { return fNdof; }
int fNdof
Number of degrees of freedom of the fit.
Definition: Track.h:75
size_t recob::Track::NextValidPoint ( size_t  index) const
inline

Definition at line 107 of file Track.h.

107 { return fTraj.NextValidPoint(index); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
size_t NextValidPoint(size_t index) const
Returns the index of the next valid point in the trajectory.
size_t recob::Track::NPoints ( ) const
inline

Definition at line 103 of file Track.h.

103 { return fTraj.NPoints(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
size_t NPoints() const
Returns the number of stored trajectory points.
Definition: Trajectory.h:167
size_t recob::Track::NumberTrajectoryPoints ( ) const
inline

Various functions related to the presence and the number of (valid) points.

Definition at line 102 of file Track.h.

102 { return fTraj.NumberTrajectoryPoints(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
size_t NumberTrajectoryPoints() const
Returns the number of stored trajectory points.
Definition: Trajectory.h:156
int recob::Track::ParticleId ( ) const
inline

Definition at line 171 of file Track.h.

171 { return fPId; }
int fPId
Particle ID hypothesis used in the fit (if any)
Definition: Track.h:73
double recob::Track::Phi ( ) const
inline

Definition at line 178 of file Track.h.

178 { return fTraj.Phi(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
double Phi(size_t p) const
Azimuthal angle at a point on the trajectory, with respect to z.
double recob::Track::Phi ( size_t  p) const
inline

Definition at line 179 of file Track.h.

179 { return fTraj.Phi(p); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
p
Definition: test.py:223
double Phi(size_t p) const
Azimuthal angle at a point on the trajectory, with respect to z.
size_t recob::Track::PreviousValidPoint ( size_t  index) const
inline

Definition at line 108 of file Track.h.

108 { return fTraj.PreviousValidPoint(index); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
size_t PreviousValidPoint(size_t index) const
Returns the index of the previous valid point in the trajectory.
Point_t const& recob::Track::Start ( ) const
inline

Access to track position at different points.

Definition at line 123 of file Track.h.

123 { return fTraj.Start(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Point_t const & Start() const
Returns the position of the first valid point of the trajectory [cm].
template<typename T >
T recob::Track::Start ( ) const
inline

Start position. Use e.g. as:

TVector3 start = track.Start<TVector3>();

.

Definition at line 218 of file Track.h.

218 { return fTraj.Start<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Point_t const & Start() const
Returns the position of the first valid point of the trajectory [cm].
const SMatrixSym55& recob::Track::StartCovariance ( ) const
inline

Access to covariance matrices.

Definition at line 153 of file Track.h.

153 { return fCovVertex; }
SMatrixSym55 fCovVertex
Covariance matrix (local 5D representation) at start point (vertex)
Definition: Track.h:76
template<typename T >
T recob::Track::StartCovariance ( ) const
inline

Covariance matrix at start point. Use e.g. as:

TMatrixD startcov = track.StartCovariance<TMatrixD>();

.

Definition at line 283 of file Track.h.

283  {
284  T result = T(5,5);
285  for (unsigned int i=0; i<5; i++) {
286  for (unsigned int j=0; j<5; j++) {
287  result(i,j) = fCovVertex.At(i,j);
288  }
289  }
290  return result;
291 }
SMatrixSym55 fCovVertex
Covariance matrix (local 5D representation) at start point (vertex)
Definition: Track.h:76
static QCString result
Vector_t recob::Track::StartDirection ( ) const
inline

Access to track direction at different points.

Definition at line 131 of file Track.h.

131 { return fTraj.StartDirection(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t StartDirection() const
Returns the direction of the trajectory at the first point.
template<typename T >
T recob::Track::StartDirection ( ) const
inline

Start direction. Use e.g. as:

TVector3 startdir = track.StartDirection<TVector3>();

.

Definition at line 230 of file Track.h.

230 { return fTraj.StartDirection<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t StartDirection() const
Returns the direction of the trajectory at the first point.
double recob::Track::StartMomentum ( ) const
inline

Definition at line 143 of file Track.h.

143 { return fTraj.StartMomentum(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
double StartMomentum() const
Vector_t const& recob::Track::StartMomentumVector ( ) const
inline

Definition at line 146 of file Track.h.

146 { return fTraj.StartMomentumVector(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t const & StartMomentumVector() const
Returns the momentum of the trajectory at the first valid point [GeV/c].
template<typename T >
T recob::Track::StartMomentumVector ( ) const
inline

Momentum vector at start point. Use e.g. as:

TVector3 startmom = track.StartMomentumVector<TVector3>();

.

Definition at line 242 of file Track.h.

242 { return fTraj.StartMomentumVector<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t const & StartMomentumVector() const
Returns the momentum of the trajectory at the first valid point [GeV/c].
double recob::Track::Theta ( ) const
inline

Access to spherical or geographical angles at vertex or at any point.

Definition at line 176 of file Track.h.

176 { return fTraj.Theta(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
double Theta(size_t p) const
Trajectory angle at point, with respect to positive z direction.
double recob::Track::Theta ( size_t  p) const
inline

Definition at line 177 of file Track.h.

177 { return fTraj.Theta(p); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
p
Definition: test.py:223
double Theta(size_t p) const
Trajectory angle at point, with respect to positive z direction.
const recob::TrackTrajectory& recob::Track::Trajectory ( ) const
inline

Access to the stored recob::TrackTrajectory.

Definition at line 98 of file Track.h.

98 { return fTraj; }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
TrajectoryPoint_t recob::Track::TrajectoryPoint ( size_t  i) const
inline

Access to i-th TrajectoryPoint or its Flags.

Definition at line 117 of file Track.h.

117 { return fTraj.TrajectoryPoint(i); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
TrajectoryPoint_t TrajectoryPoint(size_t i) const
Returns position and momentum at the specified trajectory point.
Definition: Trajectory.h:213
Point_t const& recob::Track::Vertex ( void  ) const
inline

Definition at line 124 of file Track.h.

124 { return fTraj.Vertex(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Point_t const & Vertex() const
Returns the position of the first valid point of the trajectory [cm].
template<typename T >
T recob::Track::Vertex ( void  ) const
inline

Start position. Use e.g. as:

TVector3 vertex = track.Vertex<TVector3>();

.

Definition at line 221 of file Track.h.

221 { return fTraj.Vertex<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Point_t const & Vertex() const
Returns the position of the first valid point of the trajectory [cm].
const SMatrixSym55& recob::Track::VertexCovariance ( ) const
inline

Definition at line 154 of file Track.h.

154 { return fCovVertex; }
SMatrixSym55 fCovVertex
Covariance matrix (local 5D representation) at start point (vertex)
Definition: Track.h:76
template<typename T >
T recob::Track::VertexCovariance ( ) const
inline

Covariance matrix at start point. Use e.g. as:

TMatrixD vertexcov = track.VertexCovariance<TMatrixD>();

.

Definition at line 257 of file Track.h.

257 { return StartCovariance<T>(); }
Track::SMatrixSym66 recob::Track::VertexCovarianceGlobal6D ( ) const

Definition at line 81 of file Track.cxx.

81  {
83  }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
SMatrixSym55 fCovVertex
Covariance matrix (local 5D representation) at start point (vertex)
Definition: Track.h:76
bool HasMomentum() const
Definition: Track.h:140
Vector_t const & VertexMomentumVector() const
Returns the momentum of the trajectory at the first valid point [GeV/c].
Vector_t VertexDirection() const
Returns the direction of the trajectory at the first point.
SMatrixSym66 Local5DToGlobal6DCovariance(SMatrixSym55 cov5d, bool hasMomentum, const Vector_t &trackMomOrDir) const
Translate track covariance from local to global coordinates. The track momentum (or direction) is nee...
Definition: TrackingPlane.h:97
const SMatrixSym55& recob::Track::VertexCovarianceLocal5D ( ) const
inline

Definition at line 206 of file Track.h.

206 { return fCovVertex; }
SMatrixSym55 fCovVertex
Covariance matrix (local 5D representation) at start point (vertex)
Definition: Track.h:76
Vector_t recob::Track::VertexDirection ( ) const
inline

Definition at line 132 of file Track.h.

132 { return fTraj.VertexDirection(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t VertexDirection() const
Returns the direction of the trajectory at the first point.
template<typename T >
T recob::Track::VertexDirection ( ) const
inline

Start direction. Use e.g. as:

TVector3 vertexdir = track.VertexDirection<TVector3>();

.

Definition at line 233 of file Track.h.

233 { return fTraj.VertexDirection<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t VertexDirection() const
Returns the direction of the trajectory at the first point.
double recob::Track::VertexMomentum ( ) const
inline

Definition at line 142 of file Track.h.

142 { return fTraj.VertexMomentum(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
double VertexMomentum() const
Vector_t const& recob::Track::VertexMomentumVector ( ) const
inline

Definition at line 145 of file Track.h.

145 { return fTraj.VertexMomentumVector() ; }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t const & VertexMomentumVector() const
Returns the momentum of the trajectory at the first valid point [GeV/c].
template<typename T >
T recob::Track::VertexMomentumVector ( ) const
inline

Momentum vector at start point. Use e.g. as:

TVector3 vertexmom = track.VertexMomentumVector<TVector3>();

.

Definition at line 245 of file Track.h.

245 { return fTraj.VertexMomentumVector<T>(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
Vector_t const & VertexMomentumVector() const
Returns the momentum of the trajectory at the first valid point [GeV/c].
Track::SVector6 recob::Track::VertexParametersGlobal6D ( ) const

Definition at line 49 of file Track.cxx.

49  {
51  result[0] = Vertex().X();
52  result[1] = Vertex().Y();
53  result[2] = Vertex().Z();
54  result[3] = VertexDirection().X();
55  result[4] = VertexDirection().Y();
56  result[5] = VertexDirection().Z();
57  return result;
58  }
static QCString result
Vector_t VertexDirection() const
Definition: Track.h:132
tracking::SVector6 SVector6
Definition: Track.h:64
Point_t const & Vertex() const
Definition: Track.h:124
Track::SVector5 recob::Track::VertexParametersLocal5D ( ) const

Accessors to track parameters and covariance matrices in Local5D and Global6D coordinates.

Definition at line 71 of file Track.cxx.

71  {
72  //return tracking::Plane::Global6DToLocal5DParameters(VertexParametersGlobal6D(), fTraj.Vertex(), fTraj.VertexDirection());
73  return Track::SVector5(0.,0.,0.,0.,(HasMomentum() ? 1./VertexMomentum() : 1. ));
74  }
double VertexMomentum() const
Definition: Track.h:142
tracking::SVector5 SVector5
Definition: Track.h:65
bool HasMomentum() const
Definition: Track.h:140
double recob::Track::ZenithAngle ( ) const
inline

Definition at line 180 of file Track.h.

180 { return fTraj.ZenithAngle(); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
double ZenithAngle(size_t p) const
"Zenith" angle of trajectory, with respect to the vertical axis.
double recob::Track::ZenithAngle ( size_t  p) const
inline

Definition at line 181 of file Track.h.

181 { return fTraj.ZenithAngle(p); }
TrackTrajectory fTraj
Stored trajectory data member.
Definition: Track.h:72
double ZenithAngle(size_t p) const
"Zenith" angle of trajectory, with respect to the vertical axis.
p
Definition: test.py:223

Friends And Related Function Documentation

bool operator< ( const Track a,
const Track b 
)
friend

Definition at line 40 of file Track.cxx.

41  {
42  if(a.ID() != b. ID())
43  return a.ID() < b.ID();
44 
45  return false; //They are equal
46  }
const double a
int ID() const
Definition: Track.h:198
static bool * b
Definition: config.cpp:1043
std::ostream& operator<< ( std::ostream &  stream,
Track const &  a 
)
friend

Definition at line 21 of file Track.cxx.

22  {
23  auto const& start = a.VertexDirection();
24  auto const& end = a.EndDirection();
25  stream << std::setiosflags(std::ios::fixed) << std::setprecision(3)
26  << "\n Track ID " << std::setw(4) << std::right << a.ID()
27  << " Theta = " << std::setw(6) << std::right << a.Theta()
28  << " Phi = " << std::setw(6) << std::right << a.Phi()
29  << "\n StartCosines : ( " << start.X() << " ; " << start.Y() << " ; " << start.Z()
30  << ") EndCosines : ( " << end.X() << " ; " << end.Y() << " ; " << end.Z()
31  << ")"
32  << "\n #Position and Direction = "
33  << std::setw(5) << std::right << a.NumberTrajectoryPoints();
34  stream << std::endl;
35 
36  return stream;
37  }
end
while True: pbar.update(maxval-len(onlies[E][S])) #print iS, "/", len(onlies[E][S]) found = False for...
Q_EXPORT QTSManip setprecision(int p)
Definition: qtextstream.h:343
const double a
Q_EXPORT QTSManip setw(int w)
Definition: qtextstream.h:331
QTextStream & endl(QTextStream &s)

Member Data Documentation

float recob::Track::fChi2 = -1.
protected

Fit chi2.

Definition at line 74 of file Track.h.

SMatrixSym55 recob::Track::fCovEnd
protected

Covariance matrix (local 5D representation) at end point.

Definition at line 77 of file Track.h.

SMatrixSym55 recob::Track::fCovVertex
protected

Covariance matrix (local 5D representation) at start point (vertex)

Definition at line 76 of file Track.h.

int recob::Track::fID = -1
protected

track's ID

Definition at line 78 of file Track.h.

int recob::Track::fNdof = 0.
protected

Number of degrees of freedom of the fit.

Definition at line 75 of file Track.h.

int recob::Track::fPId = 0
protected

Particle ID hypothesis used in the fit (if any)

Definition at line 73 of file Track.h.

TrackTrajectory recob::Track::fTraj
protected

Stored trajectory data member.

Definition at line 72 of file Track.h.


The documentation for this class was generated from the following files: