Belle II Software development
|
A general helix class including a covariance matrix. More...
#include <UncertainHelix.h>
Public Member Functions | |
UncertainHelix () | |
Default constructor for ROOT compatibility. | |
UncertainHelix (const double curvature, const double phi0, const double impact, const double tanLambda, const double z0, const HelixCovariance &helixCovariance=HelixUtil::identity(), const double chi2=0.0, std::size_t ndf=0) | |
Composes an uncertain perigee circle from the perigee parameters and a 3x3 covariance matrix. | |
UncertainHelix (const HelixParameters ¶meters, const HelixCovariance &helixCovariance=HelixUtil::identity(), const double chi2=0.0, std::size_t ndf=0) | |
Constructor taking all stored parameters. | |
UncertainHelix (const double curvature, const Vector2D &phi0Vec, const double impact, const double tanLambda, const double z0, const HelixCovariance &helixCovariance=HelixUtil::identity(), const double chi2=0.0, std::size_t ndf=0) | |
Composes an uncertain perigee circle from the perigee parameters and a 3x3 covariance matrix. | |
UncertainHelix (const Helix &helix, const HelixCovariance &helixCovariance=HelixUtil::identity(), const double chi2=0.0, std::size_t ndf=0) | |
Augments a plain helix with a covariance matrix. Covariance defaults to zero. | |
UncertainHelix (const UncertainPerigeeCircle &uncertainPerigeeCircle, const UncertainSZLine &uncertainSZLine) | |
Augments a plain helix with a covariance matrix. Covariance defaults to zero. | |
const Helix * | operator-> () const |
Access to the constant interface of the underlying parameter line Allows the user of this "super" class to use the getters and other methods to get information about the line but disallows mutation of internal state. | |
operator const Helix & () const | |
Downcast to the "super" class. | |
const Helix & | helix () const |
Getter for the underlying helix. | |
HelixParameters | helixParameters () const |
Getter for the perigee parameters in the order defined by EPerigeeParameter.h. | |
UncertainPerigeeCircle | uncertainCircleXY () const |
Projects the helix into the xy plain carrying over the relevant parts of the convariance matrix. | |
UncertainSZLine | uncertainSZLine () const |
Reduces the helix to an sz line carrying over the relevant parts of the convariance matrix. | |
void | setHelixCovariance (const HelixCovariance &helixCovariance) |
Setter for the whole covariance matrix of the perigee parameters. | |
const HelixCovariance & | helixCovariance () const |
Getter for the whole covariance matrix of the perigee parameters. | |
double | covariance (const EHelixParameter &iRow, const EHelixParameter &iCol) const |
Getter for individual elements of the covariance matrix. | |
double | variance (const EHelixParameter &i) const |
Getter for individual diagonal elements of the covariance matrix. | |
double | chi2 () const |
Getter for the chi square value of the helix fit. | |
void | setChi2 (const double chi2) |
Setter for the chi square value of the helix fit. | |
std::size_t | ndf () const |
Getter for the number of degrees of freediom used in the helix fit. | |
void | setNDF (std::size_t ndf) |
Setter for the number of degrees of freediom used in the helix fit. | |
void | invalidate () |
Sets all circle parameters to zero and the covariance matrix to something noninformative. | |
void | reverse () |
Flips the orientation of the circle in place. | |
UncertainHelix | reversed () const |
Returns a copy of the circle with opposite orientation. | |
void | passiveMoveBy (const Vector3D &by) |
Moves the coordinate system by the vector by and calculates the new perigee and its covariance matrix. | |
double | shiftPeriod (int nPeriods) |
Adjust the arclength measure to start n periods later. | |
Static Public Member Functions | |
static UncertainHelix | average (const UncertainHelix &fromHelix, const UncertainHelix &toHelix) |
Construct the averages of the two given helices by properly considering their covariance matrix. | |
static UncertainHelix | average (const UncertainPerigeeCircle &fromPerigeeCircle, const PerigeeHelixAmbiguity &fromAmbiguity, const UncertainPerigeeCircle &toPerigeeCircle, const PerigeeHelixAmbiguity &toAmbiguity, const SZParameters &szParameters) |
Construct the average helix including its covariance matrix from two different stereo angle projections. | |
static UncertainHelix | average (const UncertainHelix &helix, const UncertainPerigeeCircle &perigeeCircle, const PerigeeHelixAmbiguity &ambiguityMatrix) |
Construct the average helix including its covariance matrix incoorporating additional information from a stereo projection. | |
static UncertainHelix | average (const UncertainPerigeeCircle &fromPerigeeCircle, const PerigeeHelixAmbiguity &fromAmbiguity, const UncertainHelix &toHelix) |
Construct the average helix including its covariance matrix incoorporating additional information from a stereo projection. | |
Private Attributes | |
Helix | m_helix |
Memory for the underlying helix. | |
HelixCovariance | m_helixCovariance = HelixUtil::identity() |
Memory for the 5x5 covariance matrix of the helix parameters. | |
double | m_chi2 = 0.0 |
Memory for the chi square value of the fit of this helix. | |
size_t | m_ndf = 0.0 |
Memory for the number of degrees of freedom of the fit of this helix. | |
A general helix class including a covariance matrix.
Definition at line 34 of file UncertainHelix.h.
|
inline |
Default constructor for ROOT compatibility.
Definition at line 38 of file UncertainHelix.h.
|
inline |
Composes an uncertain perigee circle from the perigee parameters and a 3x3 covariance matrix.
Definition at line 44 of file UncertainHelix.h.
|
inlineexplicit |
Constructor taking all stored parameters.
Definition at line 60 of file UncertainHelix.h.
|
inline |
Composes an uncertain perigee circle from the perigee parameters and a 3x3 covariance matrix.
Definition at line 73 of file UncertainHelix.h.
|
inlineexplicit |
Augments a plain helix with a covariance matrix. Covariance defaults to zero.
Definition at line 89 of file UncertainHelix.h.
|
inline |
Augments a plain helix with a covariance matrix. Covariance defaults to zero.
Definition at line 101 of file UncertainHelix.h.
|
static |
Construct the averages of the two given helices by properly considering their covariance matrix.
Definition at line 23 of file UncertainHelix.cc.
|
inlinestatic |
Construct the average helix including its covariance matrix incoorporating additional information from a stereo projection.
The averaging in the higher dimensional helix parameter space from the lower dimensional projectsions is accomplished by considering the ambiguity matrix of the projection.
Both circle and helix parameters and their covariance matrix are considered to be passed on the same origin. The circle is considered to be fitted in the sz space defined by the given helix.
helix | Second perigee circle |
perigeeCircle | Perigee circle to be incoorporated |
ambiguityMatrix | Ambiguity matrix of the perigee parameters with respect to the helix parameters |
Definition at line 161 of file UncertainHelix.h.
|
static |
Construct the average helix including its covariance matrix incoorporating additional information from a stereo projection.
The averaging in the higher dimensional helix parameter space from the lower dimensional projectsions is accomplished by considering the ambiguity matrix of the projection.
Both circle and helix parameters and their covariance matrix are considered to be passed on the same origin. The circle is considered to be fitted in the sz space defined by the given helix.
fromPerigeeCircle | Perigee circle to be incorporated |
fromAmbiguity | Ambiguity matrix of the perigee parameters with respect to the helix parameters |
toHelix | Second perigee circle |
Definition at line 43 of file UncertainHelix.cc.
|
static |
Construct the average helix including its covariance matrix from two different stereo angle projections.
The averaging in the higher dimensional helix parameter space from the lower dimensional projections is accomplished by considering the ambiguity matrix of the projections. The average only succeeds when the projections are not parallel two each other which is generally the case for two different super layers of different stereo kind.
Both circle and helix parameters and their covariance matrix are considered to be passed on the same origin.
fromPerigeeCircle | First perigee circle |
fromAmbiguity | Ambiguity matrix of the first perigee parameters with respect to the helix parameters |
toPerigeeCircle | Second perigee circle |
toAmbiguity | Ambiguity matrix of the second perigee parameters with respect to the helix parameters |
szParameters | Reference sz parameters where the perigee circles have been fitted. |
Definition at line 64 of file UncertainHelix.cc.
|
inline |
Getter for the chi square value of the helix fit.
Definition at line 263 of file UncertainHelix.h.
|
inline |
Getter for individual elements of the covariance matrix.
Definition at line 251 of file UncertainHelix.h.
|
inline |
Getter for the underlying helix.
Definition at line 211 of file UncertainHelix.h.
|
inline |
Getter for the whole covariance matrix of the perigee parameters.
Definition at line 245 of file UncertainHelix.h.
|
inline |
Getter for the perigee parameters in the order defined by EPerigeeParameter.h.
Definition at line 217 of file UncertainHelix.h.
|
inline |
Sets all circle parameters to zero and the covariance matrix to something noninformative.
Definition at line 287 of file UncertainHelix.h.
|
inline |
Getter for the number of degrees of freediom used in the helix fit.
Definition at line 275 of file UncertainHelix.h.
|
inline |
Downcast to the "super" class.
Definition at line 205 of file UncertainHelix.h.
|
inline |
Access to the constant interface of the underlying parameter line Allows the user of this "super" class to use the getters and other methods to get information about the line but disallows mutation of internal state.
This ensures that the parameters are not changed without proper adjustment to the covariance matrix in this class, which can be achieved by the more limited set of methods in this class accessible by normal . method calls
Definition at line 199 of file UncertainHelix.h.
|
inline |
Moves the coordinate system by the vector by and calculates the new perigee and its covariance matrix.
Change is inplace.
Definition at line 315 of file UncertainHelix.h.
|
inline |
Flips the orientation of the circle in place.
Definition at line 297 of file UncertainHelix.h.
|
inline |
Returns a copy of the circle with opposite orientation.
Definition at line 304 of file UncertainHelix.h.
|
inline |
Setter for the chi square value of the helix fit.
Definition at line 269 of file UncertainHelix.h.
|
inline |
Setter for the whole covariance matrix of the perigee parameters.
Definition at line 239 of file UncertainHelix.h.
|
inline |
Setter for the number of degrees of freediom used in the helix fit.
Definition at line 281 of file UncertainHelix.h.
|
inline |
Adjust the arclength measure to start n periods later.
Definition at line 327 of file UncertainHelix.h.
|
inline |
Projects the helix into the xy plain carrying over the relevant parts of the convariance matrix.
Definition at line 225 of file UncertainHelix.h.
|
inline |
Reduces the helix to an sz line carrying over the relevant parts of the convariance matrix.
Definition at line 233 of file UncertainHelix.h.
|
inline |
Getter for individual diagonal elements of the covariance matrix.
Definition at line 257 of file UncertainHelix.h.
|
private |
Memory for the chi square value of the fit of this helix.
Definition at line 345 of file UncertainHelix.h.
|
private |
Memory for the underlying helix.
Definition at line 339 of file UncertainHelix.h.
|
private |
Memory for the 5x5 covariance matrix of the helix parameters.
Definition at line 342 of file UncertainHelix.h.
|
private |
Memory for the number of degrees of freedom of the fit of this helix.
Definition at line 348 of file UncertainHelix.h.