LCFIVertex  0.7.2
interactionpoint.cpp
1 #include "../include/interactionpoint.h"
2 #include "../../util/inc/matrix.h"
3 
4 namespace vertex_lcfi { namespace ZVTOP
5 {
6  InteractionPoint::InteractionPoint()
7  {
8  }
9 
10  InteractionPoint::InteractionPoint(const Vector3 & Position,const SymMatrix3x3 & ErrorMatrix)
11  :_Position(Position),_ErrorMatrix(ErrorMatrix)
12  {
13  _InvErrorMatrix = InvertMatrix(ErrorMatrix);
14  }
15 
16  double InteractionPoint::distanceTo(const Vector3 & Point) const
17  {
18  return _Position.distanceTo(Point);
19  }
20 
22  {
23  return _Position;
24  }
25 
27  {
28  return _ErrorMatrix;
29  }
30 
32  {
33  return _InvErrorMatrix;
34  }
35 
36  double InteractionPoint::chi2(const Vector3 & Point) const
37  {
38  Vector3 Residual = Point-(this->position());
39  //std::cout << "Res: " << Residual << std::endl ;
40  //std::cout << "Err: " << _InvErrorMatrix<< std::endl;
41  //std::cout << "Err: " << this->inverseErrorMatrix()<< std::endl;
42  //std::cout << "Chi2: " << prec_inner_prod(trans(Residual),prec_prod(this->inverseErrorMatrix(), Residual))<< std::endl<< std::endl;
43  return prec_inner_prod(trans(Residual),prec_prod(this->inverseErrorMatrix(), Residual));
44  }
45 }}
46 
const Vector3 & position() const
Return position of IP.
const SymMatrix3x3 & errorMatrix() const
Return error of IP.
const Matrix3x3 & inverseErrorMatrix() const
Return inverse error of IP.
double distanceTo(const Vector3 &Point) const
Return distance from this interacion point to a point.
double chi2(const Vector3 &Point) const
Return chi squared of IP to a point.