13#include <analysis/VertexFitting/KFit/KFitTrack.h>
18using namespace Belle2::analysis;
41 const CLHEP::HepLorentzVector& p,
const HepPoint3D& x,
const CLHEP::HepSymMatrix& e,
const double charge,
155const HepLorentzVector
215 case 0:
return pxe.
m_P.x();
216 case 1:
return pxe.
m_P.y();
217 case 2:
return pxe.
m_P.z();
218 case 3:
return pxe.
m_X.x();
219 case 4:
return pxe.
m_X.y();
220 case 5:
return pxe.
m_X.z();
223 sprintf(buf,
"%s:%s(): which=%d out of range", __FILE__, __func__, which);
238 for (
int i = 0; i <= 5; i++)
254 for (
int i = 0; i < 3; i++) {
255 for (
int j = i; j < 3; j++) {
257 err[3 + i][3 + j] = e[4 + i][4 + j];
261 for (
int i = 0; i < 3; i++) {
262 for (
int j = 0; j < 3; j++) {
263 err[i][3 + j] = e[i][4 + j];
KFitTrack is a container of the track information (Lorentz vector, position, and error matrix),...
void checkMatrixDimension(const CLHEP::HepSymMatrix &m, const int dim) const
Check if the matrix size is intended one.
void checkFlag(const int flag) const
Check if the flag is one of KFitConst::kBeforeFit or KFitConst::kAfterFit.
double m_Charge
Charge of the track.
double m_Mass
Mass of the track.
KFitTrack & operator=(const KFitTrack &)
Operator: assignment operator.
KFitTrack(void)
Construct an object with no argument.
void setCharge(const double q)
Set a charge of the track.
~KFitTrack(void)
Destruct the object.
const CLHEP::HepLorentzVector getMomentum(const int flag=KFitConst::kAfterFit) const
Get a Lorentz vector of the track.
void setPosition(const HepPoint3D &x, const int flag=KFitConst::kBeforeFit)
Set a position of the track.
const HepPoint3D getVertex(void) const
Get a vertex position associated to the track.
const CLHEP::HepSymMatrix getVertexError(void) const
Get a vertex error matrix associated to the track.
HepPoint3D m_Vertex
Vertex position associated to the track.
void setVertexError(const CLHEP::HepSymMatrix &ve)
Set a vertex error matrix associated to the track.
CLHEP::HepSymMatrix m_VertexError
Vertex error matrix associated to the track.
const CLHEP::HepSymMatrix getError(const int flag=KFitConst::kAfterFit) const
Get an error matrix of the track.
const CLHEP::HepSymMatrix getFitError(const int flag) const
Get an error matrix of the track.
void setVertex(const HepPoint3D &v)
Set a vertex position associated to the track.
double getCharge(void) const
Get a charge of the track.
void setMomentum(const CLHEP::HepLorentzVector &p, const int flag=KFitConst::kBeforeFit)
Set a Lorentz vector of the track.
struct KFitPXE m_PXEBefore
Lorentz vector, position, and error matrix of the track before the fit.
double getFitParameter(const int which, const int flag) const
Get a parameter of the track.
void setError(const CLHEP::HepSymMatrix &e, const int flag=KFitConst::kBeforeFit)
Set an error matrix of the track.
const HepPoint3D getPosition(const int flag=KFitConst::kAfterFit) const
Get a position of the track.
const CLHEP::HepMatrix getMomPos(const int flag) const
Get a combination of Lorentz vector and position of the track.
struct KFitPXE m_PXEAfter
Lorentz vector, position, and error matrix of the track after the fit.
double getMass(void) const
Get a mass of the track.
Abstract base class for different kinds of events.
static const int kNumber6
Constant 6 to check matrix size (internal use)
static const int kAfterFit
Input parameter to specify after-fit when setting/getting a track attribute.
static const int kBeforeFit
Input parameter to specify before-fit when setting/getting a track attribute.
static const int kNumber7
Constant 7 to check matrix size (internal use)
KFitPXE is a container of the track information (Lorentz vector, position, and error matrix).
HepPoint3D m_X
Position of the track.
CLHEP::HepSymMatrix m_E
(7x7) error matrix of the track
CLHEP::HepLorentzVector m_P
Lorentz vector of the track.