CMS 3D CMS Logo

Public Member Functions | Protected Member Functions

VertexDistance Class Reference

#include <VertexDistance.h>

Inheritance diagram for VertexDistance:
VertexDistance3D VertexDistanceXY

List of all members.

Public Member Functions

virtual VertexDistanceclone () 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

Detailed Description

Abstact class which defines a distance and compatibility between vertices.

Definition at line 16 of file VertexDistance.h.


Constructor & Destructor Documentation

virtual VertexDistance::~VertexDistance ( ) [inline, virtual]

Definition at line 19 of file VertexDistance.h.

{}

Member Function Documentation

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]
float VertexDistance::compatibility ( const VertexState vtx1,
const reco::Vertex vtx2 
) const [virtual]
float VertexDistance::compatibility ( const reco::Vertex vtx1,
const VertexState vtx2 
) const [virtual]
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
Measurement1D VertexDistance::distance ( const reco::Vertex vtx1,
const VertexState vtx2 
) const
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
Measurement1D VertexDistance::distance ( const VertexState vtx1,
const VertexState vtx2 
) const

Definition at line 9 of file VertexDistance.cc.

References VertexState::error(), and VertexState::position().

{
  return distance(vtx1.position(), vtx1.error(),
                  vtx2.position(), vtx2.error());
}
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.