17 if ((momentum.
x()*diff.
x() + momentum.
y()*diff.
y()) < 0 )
19 return unsignedDistance;
31 + vtx2PositionError.
matrix();
40 double err2 = ROOT::Math::Similarity(error,vDiff);
42 if( dist != 0) err =
sqrt(err2)/dist;
58 error[0][0] = err1[0][0] + err2[0][0];
59 error[0][1] = err1[0][1] + err2[0][1];
60 error[1][1] = err1[1][1] + err2[1][1];
61 if (error == theNullMatrix)
return FLT_MAX;
70 bool ifail = !error.Invert();
72 throw cms::Exception(
"VertexDistanceXY::matrix inversion problem");
75 return ROOT::Math::Similarity(error,vDiff);
T y() const
Cartesian y coordinate.
T x() const
Cartesian x coordinate.
Measurement1D signedDistance(const reco::Vertex &primVtx, const reco::Vertex &secVtx, const GlobalVector &momentum) const override
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > AlgebraicSymMatrix22
const AlgebraicSymMatrix33 matrix() const
const Point & position() const
position
Measurement1D distance(const GlobalPoint &vtx1Position, const GlobalError &vtx1PositionError, const GlobalPoint &vtx2Position, const GlobalError &vtx2PositionError) const override
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > AlgebraicSymMatrix33
ROOT::Math::SVector< double, 3 > AlgebraicVector3
float compatibility(const GlobalPoint &vtx1Position, const GlobalError &vtx1PositionError, const GlobalPoint &vtx2Position, const GlobalError &vtx2PositionError) const override
ROOT::Math::SVector< double, 2 > AlgebraicVector2
Power< A, B >::type pow(const A &a, const B &b)