Belle II Software development
|
This class represents an ideal helix in perigee parameterization including the covariance matrix of the 5 perigee parameters. More...
#include <UncertainHelix.h>
Public Member Functions | |
UncertainHelix () | |
Default constuctor initialising all members to zero. | |
UncertainHelix (const ROOT::Math::XYZVector &position, const ROOT::Math::XYZVector &momentum, const short int charge, const double bZ, const TMatrixDSym &cartesianCovariance, const double pValue) | |
Constructor initializing class with fit result. | |
UncertainHelix (const double &d0, const double &phi0, const double &omega, const double &z0, const double &tanLambda, const TMatrixDSym &covariance, const double pValue) | |
Constructor initializing class with perigee parameters. | |
TMatrixDSym | getCartesianCovariance (const double bZ_tesla=1.5) const |
Getter for the position and momentum covariance matrix. | |
double | getPValue () const |
Getter for Chi2 Probability of the track fit. | |
const TMatrixDSym & | getCovariance () const |
Getter for covariance matrix of perigee parameters in matrix form. | |
void | reverse () |
Reverses the direction of travel of the helix in place. | |
double | passiveMoveBy (const ROOT::Math::XYZVector &by) |
Moves origin of the coordinate system (passive transformation) by the given vector. | |
double | passiveMoveBy (const double &byX, const double &byY, const double &byZ) |
Moves origin of the coordinate system (passive transformation) by the given vector. | |
const HepPoint3D & | center (void) const |
returns position of helix center(z = 0.); | |
const HepPoint3D & | pivot (void) const |
returns pivot position. | |
const HepPoint3D & | pivot (const HepPoint3D &newPivot) |
Sets pivot position. | |
double | radius (void) const |
returns radious of helix. | |
HepPoint3D | x (double dPhi=0.) const |
returns position after rotating angle dPhi in phi direction. | |
double * | x (double dPhi, double p[3]) const |
returns position after rotating angle dPhi in phi direction. | |
HepPoint3D | x (double dPhi, HepSymMatrix &Ex) const |
returns position and convariance matrix(Ex) after rotation. | |
Hep3Vector | direction (double dPhi=0.) const |
returns direction vector after rotating angle dPhi in phi direction. | |
Hep3Vector | momentum (double dPhi=0.) const |
returns momentum vector after rotating angle dPhi in phi direction. | |
Hep3Vector | momentum (double dPhi, HepSymMatrix &Em) const |
returns momentum vector after rotating angle dPhi in phi direction. | |
HepLorentzVector | momentum (double dPhi, double mass) const |
returns 4momentum vector after rotating angle dPhi in phi direction. | |
HepLorentzVector | momentum (double dPhi, double mass, HepSymMatrix &Em) const |
returns 4momentum vector after rotating angle dPhi in phi direction. | |
HepLorentzVector | momentum (double dPhi, double mass, HepPoint3D &x, HepSymMatrix &Emx) const |
returns 4momentum vector after rotating angle dPhi in phi direction. | |
double | dr (void) const |
Return helix parameter dr. | |
double | phi0 (void) const |
Return helix parameter phi0. | |
double | kappa (void) const |
Return helix parameter kappa. | |
double | dz (void) const |
Return helix parameter dz. | |
double | tanl (void) const |
Return helix parameter tangent lambda. | |
double | curv (void) const |
Return curvature of helix. | |
double | sinPhi0 (void) const |
Return sin phi0. | |
double | cosPhi0 (void) const |
Return cos phi0. | |
const HepVector & | a (void) const |
Returns helix parameters. | |
const HepVector & | a (const HepVector &newA) |
Sets helix parameters. | |
const HepSymMatrix & | Ea (void) const |
Returns error matrix. | |
const HepSymMatrix & | Ea (const HepSymMatrix &newdA) |
Sets helix paramters and error matrix. | |
void | set (const HepPoint3D &pivot, const HepVector &a, const HepSymMatrix &Ea) |
Sets helix pivot position, parameters, and error matrix. | |
void | ignoreErrorMatrix (void) |
Unsets error matrix. | |
double | bFieldZ (double bz) |
Sets/returns z componet of the magnetic field. | |
double | bFieldZ (void) const |
Returns z componet of the magnetic field. | |
HepMatrix | delApDelA (const HepVector &ap) const |
DAp/DA. | |
HepMatrix | delXDelA (double phi) const |
DX/DA. | |
HepMatrix | delMDelA (double phi) const |
DM/DA. | |
HepMatrix | del4MDelA (double phi, double mass) const |
DM4/DA. | |
HepMatrix | del4MXDelA (double phi, double mass) const |
DMX4/DA. | |
Static Public Member Functions | |
static void | set_limits (const HepVector &a_min, const HepVector &a_max) |
set limit for parameter "a" | |
static bool | set_exception (bool) |
set exception | |
static bool | set_print (bool) |
Set print option for debugging. | |
Static Public Attributes | |
static const double | ConstantAlpha = 222.376063 |
Constant alpha for uniform field. | |
Private Member Functions | |
ClassDef (UncertainHelix, 2) | |
represents an ideal helix in perigee parameterization including covariance matrix | |
void | updateCache (void) |
updateCache | |
void | checkValid (void) |
Check whether helix parameters is valid or not. | |
void | debugPrint (void) const |
Print the helix parameters to stdout. | |
void | debugHelix (void) const |
Debug Helix. | |
Private Attributes | |
TMatrixDSym | m_covariance |
5x5 covariance of the perigee parameters. | |
Double32_t | m_pValue |
Chi2 Probability of the fit. | |
bool | m_matrixValid |
True: matrix valid, False: matrix not valid. | |
bool | m_helixValid |
True: helix valid, False: helix not valid. | |
double | m_bField |
Magnetic field, assuming uniform Bz in the unit of kG. | |
double | m_alpha |
10000.0/(speed of light)/B. | |
HepPoint3D | m_pivot |
Pivot. | |
HepVector | m_a |
Helix parameter. | |
HepSymMatrix | m_Ea |
Error of the helix parameter. | |
HepPoint3D | m_center |
Cache of the center position of Helix. | |
double | m_cp |
Cache of the cos phi0. | |
double | m_sp |
Cache of the sin phi0. | |
double | m_pt |
Cache of the pt. | |
double | m_r |
Cache of the r. | |
double | m_ac [5] |
Cache of the helix parameter. | |
Static Private Attributes | |
static HepVector | ms_amin |
minimum limit of Helix parameter a | |
static HepVector | ms_amax |
maxiimum limit of Helix parameter a | |
static bool | ms_check_range |
Check the helix parameter's range. | |
static bool | ms_print_debug |
Debug option flag. | |
static bool | ms_throw_exception |
Throw exception flag. | |
static const std::string | invalidhelix |
String "Invalid Helix". | |
This class represents an ideal helix in perigee parameterization including the covariance matrix of the 5 perigee parameters.
The used perigee parameters are:
getPerigee().Cross(getMomentum()).Z()
.in that exact order.
It may also store a p-value obtained from the fit of the helix.
Definition at line 36 of file UncertainHelix.h.
UncertainHelix | ( | ) |
Default constuctor initialising all members to zero.
Definition at line 17 of file UncertainHelix.cc.
UncertainHelix | ( | const ROOT::Math::XYZVector & | position, |
const ROOT::Math::XYZVector & | momentum, | ||
const short int | charge, | ||
const double | bZ, | ||
const TMatrixDSym & | cartesianCovariance, | ||
const double | pValue | ||
) |
Constructor initializing class with fit result.
The given position, momentum and their covariance matrix are extrapolated to the perigee assuming a homogeneous magnetic field in the z direction.
position | Position of the track at the perigee. |
momentum | Momentum of the track at the perigee. |
charge | Charge of the particle. |
bZ | Magnetic field to be used for the calculation of the curvature; |
cartesianCovariance | 6x6 Covariance matrix for position and momentum of the track at the perigee. |
pValue | p-value of the fit. It is assumed, that the B-field is parallel to the z-Axis. |
Definition at line 24 of file UncertainHelix.cc.
UncertainHelix | ( | const double & | d0, |
const double & | phi0, | ||
const double & | omega, | ||
const double & | z0, | ||
const double & | tanLambda, | ||
const TMatrixDSym & | covariance, | ||
const double | pValue | ||
) |
Constructor initializing class with perigee parameters.
d0 | The signed distance from the origin to the perigee. The sign is positive (negative), if the angle from the xy perigee position vector to the transverse momentum vector is +pi/2 (-pi/2). d0 has the same sign as getPosition().Cross(getMomentum()).Z() . |
phi0 | The angle between the transverse momentum and the x axis and in [-pi, pi] |
omega | The signed curvature of the track where the sign is given by the charge of the particle |
z0 | The z coordinate of the perigee. |
tanLambda | The slope of the track in the sz plane (dz/ds) |
covariance | 5x5 Covariance matrix for the five helix parameters. Indices correspond to the order d0, phi0, omega, z0, tanLambda. |
pValue | p-value of the Helix fit |
Definition at line 98 of file UncertainHelix.cc.
|
inlineinherited |
Sets helix parameters.
Definition at line 444 of file Helix.h.
|
inlineinherited |
|
inlineinherited |
Sets/returns z componet of the magnetic field.
[in] | bz | z-component of the magnetic field. |
Definition at line 473 of file Helix.h.
|
inlineinherited |
|
inlineinherited |
returns position of helix center(z = 0.);
Definition at line 343 of file Helix.h.
|
privateinherited |
Check whether helix parameters is valid or not.
Sets m_helixValid.
Definition at line 895 of file Helix.cc.
|
inlineinherited |
|
inlineinherited |
|
privateinherited |
|
privateinherited |
Print the helix parameters to stdout.
|
inherited |
DM4/DA.
Definition at line 749 of file Helix.cc.
|
inherited |
DMX4/DA.
Definition at line 798 of file Helix.cc.
|
inherited |
DAp/DA.
Definition at line 584 of file Helix.cc.
|
inherited |
DM/DA.
Definition at line 710 of file Helix.cc.
|
inherited |
DX/DA.
Definition at line 654 of file Helix.cc.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
TMatrixDSym getCartesianCovariance | ( | const double | bZ_tesla = 1.5 | ) | const |
Getter for the position and momentum covariance matrix.
bZ_tesla | Magnetic field to be used for the calculation from the curvature; |
Definition at line 113 of file UncertainHelix.cc.
|
inline |
Getter for covariance matrix of perigee parameters in matrix form.
Definition at line 100 of file UncertainHelix.h.
|
inline |
|
inherited |
Unsets error matrix.
Error calculations will be ignored after this function call until an error matrix be set again. 0 matrix will be return as a return value for error matrix when you call functions which returns an error matrix.
Definition at line 872 of file Helix.cc.
|
inlineinherited |
|
inherited |
returns 4momentum vector after rotating angle dPhi in phi direction.
Definition at line 306 of file Helix.cc.
|
inherited |
returns 4momentum vector after rotating angle dPhi in phi direction.
Definition at line 358 of file Helix.cc.
|
inherited |
returns 4momentum vector after rotating angle dPhi in phi direction.
Definition at line 331 of file Helix.cc.
|
inherited |
returns momentum vector after rotating angle dPhi in phi direction.
Definition at line 281 of file Helix.cc.
|
inherited |
returns momentum vector after rotating angle dPhi in phi direction.
Definition at line 259 of file Helix.cc.
double passiveMoveBy | ( | const double & | byX, |
const double & | byY, | ||
const double & | byZ | ||
) |
Moves origin of the coordinate system (passive transformation) by the given vector.
Updates the helix inplace.
byX | X displacement by which the origin of the coordinate system should be moved. |
byY | Y displacement by which the origin of the coordinate system should be moved. |
byZ | Z displacement by which the origin of the coordinate system should be moved. |
Definition at line 198 of file UncertainHelix.cc.
|
inline |
Moves origin of the coordinate system (passive transformation) by the given vector.
Updates the helix inplace.
by | Vector by which the origin of the coordinate system should be moved. |
Definition at line 117 of file UncertainHelix.h.
|
inlineinherited |
|
inherited |
Sets pivot position.
Definition at line 393 of file Helix.cc.
|
inlineinherited |
|
inlineinherited |
void reverse | ( | ) |
Reverses the direction of travel of the helix in place.
The same points that are located on the helix stay are the same after the transformation, but have the opposite two dimensional arc length associated to them. The momentum at each point is reversed. The charge sign is changed to its opposite by this transformation.
Definition at line 182 of file UncertainHelix.cc.
|
inherited |
Sets helix pivot position, parameters, and error matrix.
Definition at line 467 of file Helix.cc.
|
staticinherited |
|
staticinherited |
|
staticinherited |
Set print option for debugging.
|
inlineinherited |
|
inlineinherited |
|
privateinherited |
updateCache
Definition at line 508 of file Helix.cc.
|
inherited |
returns position after rotating angle dPhi in phi direction.
x = x0 + dr * cos(phi0) + (alpha / kappa) * (cos(phi0) - cos(phi0+phi)) y = y0 + dr * sin(phi0) + (alpha / kappa) * (sin(phi0) - sin(phi0+phi)) z = z0 + dz - (alpha / kappa) * tan(lambda) * phi
Definition at line 216 of file Helix.cc.
|
inherited |
returns position and convariance matrix(Ex) after rotation.
Definition at line 235 of file Helix.cc.
|
inherited |
returns position after rotating angle dPhi in phi direction.
x = x0 + dr * cos(phi0) + (alpha / kappa) * (cos(phi0) - cos(phi0+phi)) y = y0 + dr * sin(phi0) + (alpha / kappa) * (sin(phi0) - sin(phi0+phi)) z = z0 + dz - (alpha / kappa) * tan(lambda) * phi
Definition at line 197 of file Helix.cc.
|
staticinherited |
|
staticprivateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
private |
5x5 covariance of the perigee parameters.
Definition at line 134 of file UncertainHelix.h.
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
private |
Chi2 Probability of the fit.
Definition at line 137 of file UncertainHelix.h.
|
staticprivateinherited |
|
staticprivateinherited |
|
staticprivateinherited |
|
staticprivateinherited |
|
staticprivateinherited |