Belle II Software  release-08-01-10
UncertainHelix.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #pragma once
9 
10 #include <framework/dataobjects/Helix.h>
11 
12 #include <TMatrixDSym.h>
13 
14 
15 namespace Belle2 {
36  class UncertainHelix : public Helix {
37  public:
40 
53  UncertainHelix(const ROOT::Math::XYZVector& position,
54  const ROOT::Math::XYZVector& momentum,
55  const short int charge,
56  const double bZ,
57  const TMatrixDSym& cartesianCovariance,
58  const double pValue);
59 
72  UncertainHelix(const double& d0,
73  const double& phi0,
74  const double& omega,
75  const double& z0,
76  const double& tanLambda,
77  const TMatrixDSym& covariance,
78  const double pValue);
79 
91  TMatrixDSym getCartesianCovariance(const double bZ_tesla = 1.5) const;
92 
94  double getPValue() const
95  { return m_pValue; }
96 
100  const TMatrixDSym& getCovariance() const
101  { return m_covariance; }
102 
110  void reverse();
111 
117  double passiveMoveBy(const ROOT::Math::XYZVector& by)
118  { return passiveMoveBy(by.X(), by.Y(), by.Z()); }
119 
128  double passiveMoveBy(const double& byX,
129  const double& byY,
130  const double& byZ);
131 
132  private:
134  TMatrixDSym m_covariance;
135 
137  Double32_t m_pValue;
138 
140  };
142 }
143 
Helix parameter class.
Definition: Helix.h:48
double phi0(void) const
Return helix parameter phi0.
Definition: Helix.h:388
Hep3Vector momentum(double dPhi=0.) const
returns momentum vector after rotating angle dPhi in phi direction.
Definition: Helix.cc:259
This class represents an ideal helix in perigee parameterization including the covariance matrix of t...
UncertainHelix()
Default constuctor initialising all members to zero.
void reverse()
Reverses the direction of travel of the helix in place.
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.
Double32_t m_pValue
Chi2 Probability of the fit.
ClassDef(UncertainHelix, 2)
represents an ideal helix in perigee parameterization including covariance matrix
double passiveMoveBy(const ROOT::Math::XYZVector &by)
Moves origin of the coordinate system (passive transformation) by the given vector.
TMatrixDSym m_covariance
5x5 covariance of the perigee parameters.
const TMatrixDSym & getCovariance() const
Getter for covariance matrix of perigee parameters in matrix form.
Abstract base class for different kinds of events.