#include <VertexDistance.h>
Public Member Functions | |
virtual VertexDistance * | clone () const =0 |
virtual float | compatibility (const VertexState &, const reco::Vertex &) const |
virtual float | compatibility (const reco::Vertex &, const reco::Vertex &) const |
virtual float | compatibility (const reco::Vertex &, const VertexState &) const |
virtual float | compatibility (const VertexState &, const VertexState &) const |
Measurement1D | distance (const VertexState &, const VertexState &) const |
Measurement1D | distance (const VertexState &, const reco::Vertex &) const |
Measurement1D | distance (const reco::Vertex &, const VertexState &) const |
Measurement1D | distance (const reco::Vertex &, const reco::Vertex &) const |
virtual Measurement1D | signedDistance (const reco::Vertex &primVtx, const reco::Vertex &secVtx, const GlobalVector &momentum) const =0 |
virtual | ~VertexDistance () |
Protected Member Functions | |
virtual float | compatibility (const GlobalPoint &vtx1Position, const GlobalError &vtx1PositionError, const GlobalPoint &vtx2Position, const GlobalError &vtx2PositionError) const =0 |
virtual Measurement1D | distance (const GlobalPoint &vtx1Position, const GlobalError &vtx1PositionError, const GlobalPoint &vtx2Position, const GlobalError &vtx2PositionError) const =0 |
Abstact class which defines a distance and compatibility between vertices.
Definition at line 16 of file VertexDistance.h.
virtual VertexDistance::~VertexDistance | ( | ) | [inline, virtual] |
Definition at line 19 of file VertexDistance.h.
{}
virtual VertexDistance* VertexDistance::clone | ( | ) | const [pure virtual] |
Implemented in VertexDistance3D, and VertexDistanceXY.
float VertexDistance::compatibility | ( | const reco::Vertex & | vtx1, |
const reco::Vertex & | vtx2 | ||
) | const [virtual] |
Definition at line 68 of file VertexDistance.cc.
References reco::Vertex::covariance(), and reco::Vertex::position().
{ return compatibility(GlobalPoint(Basic3DVector<float> (vtx1.position())), GlobalError(vtx1.covariance()), GlobalPoint(Basic3DVector<float> (vtx2.position())), GlobalError(vtx2.covariance())); }
float VertexDistance::compatibility | ( | const VertexState & | vtx1, |
const reco::Vertex & | vtx2 | ||
) | const [virtual] |
Definition at line 59 of file VertexDistance.cc.
References reco::Vertex::covariance(), VertexState::error(), reco::Vertex::position(), and VertexState::position().
{ return compatibility(vtx1.position(), vtx1.error(), GlobalPoint(Basic3DVector<float> (vtx2.position())), GlobalError(vtx2.covariance())); }
float VertexDistance::compatibility | ( | const reco::Vertex & | vtx1, |
const VertexState & | vtx2 | ||
) | const [virtual] |
Definition at line 51 of file VertexDistance.cc.
References reco::Vertex::covariance(), VertexState::error(), reco::Vertex::position(), and VertexState::position().
{ return compatibility(GlobalPoint(Basic3DVector<float> (vtx1.position())), GlobalError(vtx1.covariance()), vtx2.position(), vtx2.error()); }
float VertexDistance::compatibility | ( | const VertexState & | vtx1, |
const VertexState & | vtx2 | ||
) | const [virtual] |
Definition at line 44 of file VertexDistance.cc.
References VertexState::error(), and VertexState::position().
{ return compatibility(vtx1.position(), vtx1.error(), vtx2.position(), vtx2.error()); }
virtual float VertexDistance::compatibility | ( | const GlobalPoint & | vtx1Position, |
const GlobalError & | vtx1PositionError, | ||
const GlobalPoint & | vtx2Position, | ||
const GlobalError & | vtx2PositionError | ||
) | const [protected, pure virtual] |
Implemented in VertexDistance3D, and VertexDistanceXY.
Measurement1D VertexDistance::distance | ( | const reco::Vertex & | vtx1, |
const reco::Vertex & | vtx2 | ||
) | const |
Definition at line 35 of file VertexDistance.cc.
References reco::Vertex::covariance(), and reco::Vertex::position().
Referenced by IPTools::absoluteImpactParameter(), VertexCompatibleWithBeam::distanceToBeam(), and VertexCompatibleWithBeam::operator()().
{ return distance(GlobalPoint(Basic3DVector<float> (vtx1.position())), GlobalError(vtx1.covariance()), GlobalPoint(Basic3DVector<float> (vtx2.position())), GlobalError(vtx2.covariance())); }
Measurement1D VertexDistance::distance | ( | const reco::Vertex & | vtx1, |
const VertexState & | vtx2 | ||
) | const |
Definition at line 16 of file VertexDistance.cc.
References reco::Vertex::covariance(), VertexState::error(), reco::Vertex::position(), and VertexState::position().
{ return distance(GlobalPoint(Basic3DVector<float> (vtx1.position())), GlobalError(vtx1.covariance()), vtx2.position(), vtx2.error()); }
virtual Measurement1D VertexDistance::distance | ( | const GlobalPoint & | vtx1Position, |
const GlobalError & | vtx1PositionError, | ||
const GlobalPoint & | vtx2Position, | ||
const GlobalError & | vtx2PositionError | ||
) | const [protected, pure virtual] |
Implemented in VertexDistance3D, and VertexDistanceXY.
Measurement1D VertexDistance::distance | ( | const VertexState & | vtx1, |
const reco::Vertex & | vtx2 | ||
) | const |
Definition at line 25 of file VertexDistance.cc.
References reco::Vertex::covariance(), VertexState::error(), reco::Vertex::position(), and VertexState::position().
{ return distance(vtx1.position(), vtx1.error(), GlobalPoint(Basic3DVector<float> (vtx2.position())), GlobalError(vtx2.covariance())); }
Measurement1D VertexDistance::distance | ( | const VertexState & | vtx1, |
const VertexState & | vtx2 | ||
) | const |
Definition at line 9 of file VertexDistance.cc.
References VertexState::error(), and VertexState::position().
virtual Measurement1D VertexDistance::signedDistance | ( | const reco::Vertex & | primVtx, |
const reco::Vertex & | secVtx, | ||
const GlobalVector & | momentum | ||
) | const [pure virtual] |
The signed distance is computed using a vector from the primary to the secondary vertex and a given reference vector. for the 2D case: The sign is determined by the scalar product of the x,y component of the vector connecting the vertices and the reference vector: if the scalar product is greater than zero, the sign is +1, else -1
for the 3D case: Follows same approach, using all three components of the two vectors
Implemented in VertexDistance3D, and VertexDistanceXY.