10#include <tracking/vxdHoughTracking/filters/pathFilters/ThreeHitVariables.h>
11#include <tracking/spacePointCreation/SpacePoint.h>
12#include <framework/geometry/B2Vector3.h>
21 namespace vxdHoughTracking {
27 FourHitVariables() :
m_oHit(0., 0., 0.),
m_ocHit(0., 0., 0.),
m_icHit(0., 0., 0.),
m_iHit(0., 0., 0.)
62 if (outerCircleCenter.
Perp2() > 1e30 or innerCircleCenter.
Perp2() > 1e30) {
68 return outerCircleRadius - innerCircleRadius;
77 if (outerCircleCenter.
Perp2() > 1e30 or innerCircleCenter.
Perp2() > 1e30) {
81 return fabs(outerCircleCenter.
Perp() - innerCircleCenter.
Perp());
90 if (outerCircleCenter.
Perp2() > 1e30 or innerCircleCenter.
Perp2() > 1e30) {
96 return fabs(0.00299792458 *
m_BFieldZ * (outerCircleRadius - innerCircleRadius));
DataType Perp2() const
The transverse component squared (R^2 in cylindrical coordinate system).
DataType Perp() const
The transverse component (R in cylindrical coordinate system).
Class that allows the calculation of simple variables to estimate the quality of two triplets of hits...
FourHitVariables()
basic constructor
FourHitVariables(const B2Vector3D &oHit, const B2Vector3D &ocHit, const B2Vector3D &icHit, const B2Vector3D &iHit)
actual useful constructor
void setBFieldZ(const double bfieldZ=1.5)
Set the B-Field value used for pT calculations.
double getCircleCenterPositionDifference()
calculates the distance between the estimated circle centers (using 2 subsets of given hits) in the x...
void setHits(const B2Vector3D &oHit, const B2Vector3D &ocHit, const B2Vector3D &icHit, const B2Vector3D &iHit)
Set hits if not given in constructor of if they need to be changed.
B2Vector3D m_ocHit
second-to-outer hit position
ThreeHitVariables m_innerThreeHitVariables
ThreeHitVariables getter for the inner three hits.
double m_BFieldZ
BField along z to estimate pT.
B2Vector3D m_oHit
outermost hit position
ThreeHitVariables m_outerThreeHitVariables
ThreeHitVariables getter for the outer three hits.
double getDeltaPT()
calculates dpt-value (dpt= difference in transverse momentum of 2 subsets of the hits),...
B2Vector3D m_iHit
innermost hit position
double getCircleRadiusDifference()
calculates dpt-value (dpt= difference in transverse momentum of 2 subsets of the hits),...
B2Vector3D m_icHit
second-to-inner hit position
Class that allows the calculation of simple variables to estimate the quality of a triplet of hits.
B2Vector3D getCircleCenterXY()
calculates an estimation of circleCenter position, result is returned as the x and y value of the B2V...
double calcAvgDistanceXY(const B2Vector3D &circleCenter)
helper function which calculates the average distance in XY from the given center
Abstract base class for different kinds of events.