17#ifndef ALICEO2_MCH_TRACKMCH_H_
18#define ALICEO2_MCH_TRACKMCH_H_
42 double zAtMID,
const TMatrixD& paramAtMID,
const TMatrixD& covAtMID,
const Time&
time);
51 double getX()
const {
return mParam[0]; }
53 double getY()
const {
return mParam[2]; }
55 double getZ()
const {
return mZ; }
65 short getSign()
const {
return (mParam[4] < 0) ? -1 : 1; }
99 void setChi2(
double chi2) { mChi2 = chi2; }
101 int getNDF()
const {
return 2 * mClusRef.getEntries() - 5; }
120 mTimeMUS.setTimeStamp(t);
121 mTimeMUS.setTimeStampError(te);
128 static constexpr int SNParams = 5;
129 static constexpr int SCovSize = 15;
131 static constexpr int SCovIdx[SNParams][SNParams] = {{0, 1, 3, 6, 10},
135 {10, 11, 12, 13, 14}};
140 double mParam[SNParams] = {0.};
147 double mCov[SCovSize] = {0.};
154 double mParamAtMID[SNParams] = {0.};
155 double mCovAtMID[SCovSize] = {0.};
161std::ostream&
operator<<(std::ostream& os,
const TrackMCH& t);
Class to refer to the 1st entry and N elements of some group in the continuous container.
MCH track external format.
TrackMCH(const TrackMCH &track)=default
double getZAtMID() const
get the track z position on the MID side where the parameters are evaluated
TrackMCH & operator=(const TrackMCH &track)=default
void setParametersAtMID(const TMatrixD ¶m)
set the track parameters on the MID side
void setTimeMUS(const Time &t)
o2::dataformats::TimeStampWithError< float, float > Time
const double * getParameters() const
get the track parameters
InteractionRecord getMeanIR(uint32_t refOrbit) const
interaction record corresponding to the mean track time
double getZ() const
get the track z position where the parameters are evaluated
const double * getCovariances() const
get the track parameter covariances
void setClusterRef(int firstClusterIdx, int nClusters)
set the number of the clusters attached to the track and the index of the first one
void setTimeMUS(float t, float te)
void setCovariances(const TMatrixD &cov)
set the track parameter covariances
int getLastClusterIdx() const
get the index of the last cluster attached to the track
void setZAtMID(double z)
set the track z position on the MID side where the parameters are evaluated
double getChi2OverNDF() const
get the track normalized chi2
int getFirstClusterIdx() const
get the index of the first cluster attached to the track
void setChi2(double chi2)
set the track chi2
int getNDF() const
get the number of degrees of freedom of the track
double getChi2() const
get the track chi2
double getX() const
get the track x position
void setParameters(const TMatrixD ¶m)
set the track parameters
const Time & getTimeMUS() const
mean time associated to this track, with error
int getNClusters() const
get the number of clusters attached to the track
double getCovarianceAtMID(int i, int j) const
get the covariance between track parameters i and j on the MID side
void setCovariancesAtMID(const TMatrixD &cov)
set the track parameter covariances on the MID side
const double * getCovariancesAtMID() const
get the track parameter covariances on the MID side
TrackMCH(TrackMCH &&)=default
short getSign() const
get the muon sign
double getCovariance(int i, int j) const
get the covariance between track parameters i and j
TrackMCH & operator=(TrackMCH &&)=default
void setZ(double z)
set the track z position where the parameters are evaluated
const double * getParametersAtMID() const
get the track parameters on the MID side
double getY() const
get the track y position
GLdouble GLdouble GLdouble z
std::string asString(const o2::mch::TrackMCH &t)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...