Belle II Software development
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
15namespace Belle2 {
20
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 };
141
142}
143
Helix(const HepPoint3D &pivot, const HepVector &a, const HepSymMatrix &Ea)
Constructor with pivot, helix parameter a, and its error matrix.
Definition Helix.cc:132
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
UncertainHelix()
Default constructor 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.