32#include "smatrix/SVector.hh"
33#include "smatrix/Functions.hh"
34#include "smatrix/SVertex.hh"
35#include "smatrix/BinaryOperators.hh"
57inline double Sdistance(
const Vertex& v1,
const Vertex& v2) {
58 return mag(v1.vpos() - v2.vpos());
70 return mag(v1.vpos() - v2.vpos()) *
sign(v1.vpos()[2] - v2.vpos()[2]);
82 return mag(v.vpos() - x);
96 return mag(
cross(
t.xvec()-v.vpos(),
t.evec()));
116 const double a = t1.tx();
117 const double b = t1.ty();
119 const double a1 = t2.tx();
120 const double b1 = t2.ty();
126 if(det==0)
return mag(
cross(dx,t1.evec()));
128 const double det2 = dx[0]*(b*
c1 - c*b1) + dx[1]*(c*a1 -
a*
c1) + dx[2]*(
a*b1 - b*a1);
130 return fabs(det2/sqrt(det));
172 t.xvec() -
t.tvec() *
dot(
t.evec(),
t.xvec()-v.vpos()) - v.vpos();
196template <
unsigned int NTR>
207template <
unsigned int NTR,
unsigned int NTR2>
213 if(Cmat.
sinvert() ==
false) {
return 1.e10; }
T mag(const SVector< T, D > &rhs)
Definition: Functions.hh:216
T dot(const SVector< T, D > &lhs, const SVector< T, D > &rhs)
Definition: Functions.hh:132
SVector< T, 3 > cross(const SVector< T, 3 > &lhs, const SVector< T, 3 > &rhs)
Definition: Functions.hh:283
const T square(const T &x)
Definition: Functions.hh:46
const int sign(const T &x)
Definition: Functions.hh:97
T product(const SMatrix< T, D > &lhs, const SVector< T, D > &rhs)
Definition: MatrixFunctions.hh:451
double SGNVVdistance(const Vertex &v1, const Vertex &v2)
Definition: SDistance.hh:69
double Sdistance(const SVector< double, 3 > &x1, const SVector< double, 3 > &x2)
Definition: SDistance.hh:45
double Chi2distance(const Track &t1, const Track &t2)
Definition: SDistance.hh:182
double SGNdistance(const Track &t, const Vertex &v)
Definition: SDistance.hh:169
double Tdistance(const Track &t1, const Track &t2)
Definition: SDistance.hh:115
double TVdistance(const Track &t, const Vertex &v)
Definition: SDistance.hh:95
Expr< UnaryOp< Fabs< T >, Expr< A, T, D >, T >, T, D > fabs(const Expr< A, T, D > &rhs)
Definition: UnaryOperators.hh:96
void a()
Definition: check_aligned.C:59
bool sinvert()
invert symmetric, pos. def. Matrix via Dsinv
Definition: SVertex.hh:73
float chi2() const
vertex $\chi^2$
const SKalman< NTR > & kalman(unsigned int i) const
read only access to Kalman objects
const SVector< double, 3 > & vposR() const
vertex position $\vec{v} = (v_x,v_y,v_z)$ (fast readonly access)
bool findVertexVt()
Vt based Kalman filter vertex fit.
TTree * t
Definition: check_shower.C:4
TCanvas * c1
Definition: energy.C:13