CMS 3D CMS Logo

DistanceOfVertices Class Reference

#include <RecoVertex/TertiaryTracksVertexFinder/interface/DistanceOfVertices.h>

Inheritance diagram for DistanceOfVertices:

DistanceOfVertices2D

List of all members.

Public Member Functions

virtual Measurement1D distance (const TransientVertex &, const TransientVertex &)=0
 DistanceOfVertices ()
virtual Measurement1D signedDistance (const TransientVertex &, const TransientVertex &, const Hep3Vector &)=0
virtual ~DistanceOfVertices ()

Protected Member Functions

Hep3Vector deltaV2V1 (const TransientVertex &v1, const TransientVertex &v2)
double terms2D (const TransientVertex &v1, const TransientVertex &v2)
double terms3D (const TransientVertex &v1, const TransientVertex &v2)


Detailed Description

Definition at line 12 of file DistanceOfVertices.h.


Constructor & Destructor Documentation

DistanceOfVertices::DistanceOfVertices (  )  [inline]

Definition at line 16 of file DistanceOfVertices.h.

00016 {}

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

Definition at line 17 of file DistanceOfVertices.h.

00017 {}


Member Function Documentation

Hep3Vector DistanceOfVertices::deltaV2V1 ( const TransientVertex v1,
const TransientVertex v2 
) [inline, protected]

Definition at line 25 of file DistanceOfVertices.h.

References TransientVertex::position(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by DistanceOfVertices2D::distance(), DistanceOfVertices2D::signedDistance(), terms2D(), and terms3D().

00025                                                                                      {
00026     return Hep3Vector ( v2.position().x() - v1.position().x() ,
00027                         v2.position().y() - v1.position().y() ,
00028                         v2.position().z() - v1.position().z() ) ;
00029   }

virtual Measurement1D DistanceOfVertices::distance ( const TransientVertex ,
const TransientVertex  
) [pure virtual]

Implemented in DistanceOfVertices2D.

virtual Measurement1D DistanceOfVertices::signedDistance ( const TransientVertex ,
const TransientVertex ,
const Hep3Vector &   
) [pure virtual]

Implemented in DistanceOfVertices2D.

double DistanceOfVertices::terms2D ( const TransientVertex v1,
const TransientVertex v2 
) [inline, protected]

Definition at line 32 of file DistanceOfVertices.h.

References GlobalErrorBase< T, ErrorWeightType >::cxx(), GlobalErrorBase< T, ErrorWeightType >::cyx(), GlobalErrorBase< T, ErrorWeightType >::cyy(), deltaV2V1(), and TransientVertex::positionError().

Referenced by DistanceOfVertices2D::distance(), and terms3D().

00032                                                                              {
00033     // better to have meaningful variables ...
00034     double deltaX = deltaV2V1(v1,v2).x() ;
00035     double deltaY = deltaV2V1(v1,v2).y() ;
00036 
00037     // covariance matrix of the diff. = sum of ind. cov. matr.
00038     GlobalError covDelta = v1.positionError() + v2.positionError() ;
00039 
00040     double covDeltaXX = covDelta.cxx() ;
00041     double covDeltaYY = covDelta.cyy() ;
00042     double covDeltaXY = covDelta.cyx() ;
00043 
00044     return (   deltaX*deltaX * covDeltaXX  +
00045                deltaY*deltaY * covDeltaYY  +
00046              2*deltaX*deltaY * covDeltaXY    ) ; 
00047   }

double DistanceOfVertices::terms3D ( const TransientVertex v1,
const TransientVertex v2 
) [inline, protected]

Definition at line 50 of file DistanceOfVertices.h.

References GlobalErrorBase< T, ErrorWeightType >::czx(), GlobalErrorBase< T, ErrorWeightType >::czy(), GlobalErrorBase< T, ErrorWeightType >::czz(), deltaV2V1(), TransientVertex::positionError(), and terms2D().

00050                                                                              {
00051     //
00052     double deltaX = deltaV2V1(v1,v2).x() ;
00053     double deltaY = deltaV2V1(v1,v2).y() ;
00054     double deltaZ = deltaV2V1(v1,v2).z() ;
00055 
00056     // covariance matrix of the diff. = sum of ind. cov. matr.
00057     GlobalError covDelta = v1.positionError() + v2.positionError() ;
00058 
00059     double covDeltaZZ = covDelta.czz() ;
00060     double covDeltaXZ = covDelta.czx() ;
00061     double covDeltaYZ = covDelta.czy() ;
00062 
00063     
00064     return (   terms2D ( v1 , v2 )         +
00065                deltaZ*deltaZ * covDeltaZZ  +
00066              2*deltaX*deltaZ * covDeltaXZ  +  
00067              2*deltaY*deltaZ * covDeltaYZ   ) ;
00068   }


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:18:29 2009 for CMSSW by  doxygen 1.5.4