Belle II Software  release-06-01-15
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 class TVector3;
16 
17 namespace Belle2 {
38  class UncertainHelix : public Helix {
39  public:
42 
55  UncertainHelix(const TVector3& position,
56  const TVector3& momentum,
57  const short int charge,
58  const double bZ,
59  const TMatrixDSym& cartesianCovariance,
60  const double pValue);
61 
74  UncertainHelix(const double& d0,
75  const double& phi0,
76  const double& omega,
77  const double& z0,
78  const double& tanLambda,
79  const TMatrixDSym& covariance,
80  const double pValue);
81 
93  TMatrixDSym getCartesianCovariance(const double bZ_tesla = 1.5) const;
94 
96  double getPValue() const
97  { return m_pValue; }
98 
102  const TMatrixDSym& getCovariance() const
103  { return m_covariance; }
104 
112  void reverse();
113 
119  double passiveMoveBy(const TVector3& by)
120  { return passiveMoveBy(by.X(), by.Y(), by.Z()); }
121 
130  double passiveMoveBy(const double& byX,
131  const double& byY,
132  const double& byZ);
133 
134  private:
136  TMatrixDSym m_covariance;
137 
139  Double32_t m_pValue;
140 
142  };
144 }
145 
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
TMatrixDSym m_covariance
5x5 covariance of the perigee parameters.
double passiveMoveBy(const TVector3 &by)
Moves origin of the coordinate system (passive transformation) by the given vector.
const TMatrixDSym & getCovariance() const
Getter for covariance matrix of perigee parameters in matrix form.
Abstract base class for different kinds of events.