Belle II Software  release-05-02-19
UncertainHelix.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2013 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <framework/dataobjects/Helix.h>
13 
14 #include <TMatrixDSym.h>
15 
16 
17 class TVector3;
18 
19 namespace Belle2 {
40  class UncertainHelix : public Helix {
41  public:
44 
57  UncertainHelix(const TVector3& position,
58  const TVector3& momentum,
59  const short int charge,
60  const double bZ,
61  const TMatrixDSym& cartesianCovariance,
62  const double pValue);
63 
76  UncertainHelix(const double& d0,
77  const double& phi0,
78  const double& omega,
79  const double& z0,
80  const double& tanLambda,
81  const TMatrixDSym& covariance,
82  const double pValue);
83 
95  TMatrixDSym getCartesianCovariance(const double bZ_tesla = 1.5) const;
96 
98  double getPValue() const
99  { return m_pValue; }
100 
104  const TMatrixDSym& getCovariance() const
105  { return m_covariance; }
106 
114  void reverse();
115 
121  double passiveMoveBy(const TVector3& by)
122  { return passiveMoveBy(by.X(), by.Y(), by.Z()); }
123 
132  double passiveMoveBy(const double& byX,
133  const double& byY,
134  const double& byZ);
135 
136  private:
138  TMatrixDSym m_covariance;
139 
141  Double32_t m_pValue;
142 
144  };
146 }
147 
Belle2::UncertainHelix::getPValue
double getPValue() const
Getter for Chi2 Probability of the track fit.
Definition: UncertainHelix.h:98
Belle2::UncertainHelix
This class represents an ideal helix in perigee parameterization including the covariance matrix of t...
Definition: UncertainHelix.h:40
Belle2::UncertainHelix::getCartesianCovariance
TMatrixDSym getCartesianCovariance(const double bZ_tesla=1.5) const
Getter for the position and momentum covariance matrix.
Definition: UncertainHelix.cc:115
Belle2::CDC::Helix::phi0
double phi0(void) const
Return helix parameter phi0.
Definition: Helix.h:391
Belle2::UncertainHelix::ClassDef
ClassDef(UncertainHelix, 2)
represents an ideal helix in perigee parameterization including covariance matrix
Belle2::UncertainHelix::m_pValue
Double32_t m_pValue
Chi2 Probability of the fit.
Definition: UncertainHelix.h:141
Belle2::UncertainHelix::reverse
void reverse()
Reverses the direction of travel of the helix in place.
Definition: UncertainHelix.cc:184
Belle2::UncertainHelix::passiveMoveBy
double passiveMoveBy(const TVector3 &by)
Moves origin of the coordinate system (passive transformation) by the given vector.
Definition: UncertainHelix.h:121
Belle2::CDC::Helix::momentum
Hep3Vector momentum(double dPhi=0.) const
returns momentum vector after rotating angle dPhi in phi direction.
Definition: Helix.cc:261
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::UncertainHelix::getCovariance
const TMatrixDSym & getCovariance() const
Getter for covariance matrix of perigee parameters in matrix form.
Definition: UncertainHelix.h:104
Belle2::UncertainHelix::UncertainHelix
UncertainHelix()
Default constuctor initialising all members to zero.
Definition: UncertainHelix.cc:19
Belle2::CDC::Helix
Helix parameter class.
Definition: Helix.h:51
Belle2::UncertainHelix::m_covariance
TMatrixDSym m_covariance
5x5 covariance of the perigee parameters.
Definition: UncertainHelix.h:138