#include <Chi2TrackCompatibilityEstimator.h>
This object reweights the tracks according to a chi2 value constructed according to the distance to the vertex (the error of the vertex is not considered in constructing the chi squared, because this is an apriori probability which enters the fit)
- Author
- N. Giacinto Piacquadio (for the Freiburg Group)
Changes:
David Shope david.nosp@m..ric.nosp@m.hard..nosp@m.shop.nosp@m.e@cer.nosp@m.n.ch (2016-03-18) EDM Migration to xAOD - move Trk::Vertex to Amg::Vector3D
Definition at line 33 of file Chi2TrackCompatibilityEstimator.h.
◆ _compatibility()
template<class T >
float Trk::Chi2TrackCompatibilityEstimator::_compatibility |
( |
T & |
plane, |
|
|
const Amg::Vector3D & |
vertex |
|
) |
| const |
|
private |
Compatibility method returning the compatibility value.
Definition at line 44 of file Chi2TrackCompatibilityEstimator.cxx.
44 :
" << myAtaPlane->associatedSurface() );
46 //now, once you have the AtaPlane, project the actual vertex on the plane.
47 Amg::RotationMatrix3D myPlaneRotation=myAtaPlane->associatedSurface().transform().rotation();
48 Amg::Vector3D myTranslation=myAtaPlane->associatedSurface().transform().translation();
50 //get the x and y direction of the plane
51 Amg::Vector3D myXdirPlane=myPlaneRotation.col(0);
52 Amg::Vector3D myYdirPlane=myPlaneRotation.col(1);
53 //CLHEP::Hep3Vector myZdirPlane=myRotation.colZ();
55 #ifdef Chi2TrackCompatibilityEstimator_DEBUG
56 std::cout << std::setprecision(10) << "Chi2TrackCompatibilityEstimator:
" << "Position is:
" << vertex << std::endl;
57 std::cout << std::setprecision(10) << "Chi2TrackCompatibilityEstimator:
" << "Rotation is:
" << myPlaneRotation << std::endl;
58 std::cout << std::setprecision(10) << "Chi2TrackCompatibilityEstimator:
" << "Norm of colX() is: " << myXdirPlane.
mag() << "
of colY() is: " << myYdirPlane.
mag() << std::endl;
59 std::cout << std::setprecision(10) << "Chi2TrackCompatibilityEstimator: " << "Translation is: " << myTranslation << std::endl;
64 #ifdef Chi2TrackCompatibilityEstimator_DEBUG
65 std::cout << std::setprecision(10) <<
"Chi2TrackCompatibilityEstimator: " <<
"VertexMinusCenter: " << vertexMinusCenter << std::endl;
69 myVertexlocXlocY[0]=vertexMinusCenter.dot(myXdirPlane);
70 myVertexlocXlocY[1]=vertexMinusCenter.dot(myYdirPlane);
72 #ifdef Chi2TrackCompatibilityEstimator_DEBUG
73 std::cout << std::setprecision(10) <<
"Chi2TrackCompatibilityEstimator: " <<
"Vertex local coordinates: " << myVertexlocXlocY << std::endl;
89 const AmgSymMatrix(5) * covar = (myAtaPlane->covariance());
91 myWeightXY = myWeightXY.
inverse().eval();
97 #ifdef Chi2TrackCompatibilityEstimator_DEBUG
98 std::cout << std::setprecision(10) <<
"Chi2TrackCompatibilityEstimator: " <<
"Parameters local coordinates: " <<
" x: " <<myAtaPlane->parameters()[
Trk::locX] <<
99 " y: " << myAtaPlane->parameters()[
Trk::locY] << std::endl;
100 std::cout << std::setprecision(10) <<
"Chi2TrackCompatibilityEstimator: " <<
"VertexToTrack coordinates: " << myXY << std::endl;
103 ATH_MSG_DEBUG (
"The weight assigned to the track is " << myXY.dot(myWeightXY*myXY) );
109 return myXY.dot(myWeightXY*myXY);
◆ compatibility()
Compatibility method returning the compatibility value.
Definition at line 115 of file Chi2TrackCompatibilityEstimator.cxx.
123 if (myNeutralAtaPlane!=
nullptr && myNeutralAtaPlane->covariance()!=
nullptr){
127 ATH_MSG_WARNING(
" No compatibility plane attached to the VxTrackAtVertex. Compatibility couldn't be found... 0 compatibility returned." );
◆ estimate()
◆ finalize()
StatusCode Trk::Chi2TrackCompatibilityEstimator::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode Trk::Chi2TrackCompatibilityEstimator::initialize |
( |
| ) |
|
|
overridevirtual |
The documentation for this class was generated from the following files: