Analysis Software
Documentation for sPHENIX simulation software
|
Kalman filter implementation with linearization around a reference track. More...
#include <GenFit/blob/master/fitters/include/KalmanFitterRefTrack.h>
Public Member Functions | |
KalmanFitterRefTrack (unsigned int maxIterations=4, double deltaPval=1e-3, double blowUpFactor=1e3, bool squareRootFormalism=false) | |
virtual | ~KalmanFitterRefTrack () |
TrackPoint * | fitTrack (Track *tr, const AbsTrackRep *rep, double &chi2, double &ndf, int direction) |
Fit the track. | |
void | processTrackWithRep (Track *tr, const AbsTrackRep *rep, bool resortHits=false) override |
bool | prepareTrack (Track *tr, const AbsTrackRep *rep, bool setSortingParams, int &nFailedHits) |
Prepare the track. | |
void | setRefitAll (bool refit=true) |
If true always refit all points, otherwise fit points only if reference states have changed. | |
void | setDeltaChi2Ref (double dChi2) |
Public Member Functions inherited from genfit::AbsKalmanFitter | |
AbsKalmanFitter (unsigned int maxIterations=4, double deltaPval=1e-3, double blowUpFactor=1e3) | |
virtual | ~AbsKalmanFitter () |
void | getChiSquNdf (const Track *tr, const AbsTrackRep *rep, double &bChi2, double &fChi2, double &bNdf, double &fNdf) const |
double | getChiSqu (const Track *tr, const AbsTrackRep *rep, int direction=-1) const |
double | getNdf (const Track *tr, const AbsTrackRep *rep, int direction=-1) const |
double | getRedChiSqu (const Track *tr, const AbsTrackRep *rep, int direction=-1) const |
double | getPVal (const Track *tr, const AbsTrackRep *rep, int direction=-1) const |
unsigned int | getMinIterations () const |
unsigned int | getMaxIterations () const |
double | getDeltaPval () const |
double | getRelChi2Change () const |
double | getBlowUpFactor () const |
bool | getResetOffDiagonals () const |
double | getBlowUpMaxVal () const |
eMultipleMeasurementHandling | getMultipleMeasurementHandling () const |
int | getMaxFailedHits () const |
virtual void | setMinIterations (unsigned int n) |
Set the minimum number of iterations. | |
virtual void | setMaxIterations (unsigned int n) |
Set the maximum number of iterations. | |
void | setDeltaPval (double deltaPval) |
Set Convergence criterion. | |
void | setRelChi2Change (double relChi2Change) |
void | setBlowUpFactor (double blowUpFactor) |
void | setResetOffDiagonals (bool resetOffDiagonals) |
void | setBlowUpMaxVal (double blowUpMaxVal) |
Limit the cov entries to this maximum value when blowing up the cov. Set to negative value to disable. Default is 1.E6. | |
void | setMultipleMeasurementHandling (eMultipleMeasurementHandling mmh) |
How should multiple measurements be handled? | |
virtual void | setMaxFailedHits (int val) |
bool | isTrackPrepared (const Track *tr, const AbsTrackRep *rep) const |
bool | isTrackFitted (const Track *tr, const AbsTrackRep *rep) const |
bool | canIgnoreWeights () const |
returns if the fitter can ignore the weights and handle the MeasurementOnPlanes as if they had weight 1. | |
Public Member Functions inherited from genfit::AbsFitter | |
AbsFitter () | |
virtual | ~AbsFitter () |
void | processTrack (Track *, bool resortHits=false) |
virtual void | setDebugLvl (unsigned int lvl=1) |
Private Member Functions | |
void | processTrackPoint (KalmanFitterInfo *fi, const KalmanFitterInfo *prevFi, const TrackPoint *tp, double &chi2, double &ndf, int direction) |
void | processTrackPointSqrt (KalmanFitterInfo *fi, const KalmanFitterInfo *prevFi, const TrackPoint *tp, double &chi2, double &ndf, int direction) |
bool | removeOutdated (Track *tr, const AbsTrackRep *rep, int ¬ChangedUntil, int ¬ChangedFrom) |
Remove referenceStates if they are too far from smoothed states. | |
void | removeForwardBackwardInfo (Track *tr, const AbsTrackRep *rep, int notChangedUntil, int notChangedFrom) const |
If refitAll_, remove all information. | |
Private Attributes | |
bool | refitAll_ |
double | deltaChi2Ref_ |
TMatrixD | FTransportMatrix_ |
TMatrixD | BTransportMatrix_ |
TMatrixDSym | FNoiseMatrix_ |
TMatrixDSym | BNoiseMatrix_ |
TVectorD | forwardDeltaState_ |
TVectorD | backwardDeltaState_ |
TVectorD | p_ |
TMatrixDSym | C_ |
TMatrixDSym | covSumInv_ |
TMatrixDSym | Rinv_ |
TVectorD | res_ |
TVectorD | resM_ |
bool | squareRootFormalism_ |
Additional Inherited Members | |
Protected Member Functions inherited from genfit::AbsKalmanFitter | |
const std::vector < MeasurementOnPlane * > | getMeasurements (const KalmanFitterInfo *fi, const TrackPoint *tp, int direction) const |
get the measurementsOnPlane taking the multipleMeasurementHandling_ into account | |
Protected Attributes inherited from genfit::AbsKalmanFitter | |
unsigned int | minIterations_ |
Minimum number of iterations to attempt. Forward and backward are counted as one iteration. | |
unsigned int | maxIterations_ |
Maximum number of iterations to attempt. Forward and backward are counted as one iteration. | |
double | deltaPval_ |
Convergence criterion. | |
double | relChi2Change_ |
double | blowUpFactor_ |
Blow up the covariance of the forward (backward) fit by this factor before seeding the backward (forward) fit. | |
bool | resetOffDiagonals_ |
Reset the off-diagonals to 0 when blowing up the cov. | |
double | blowUpMaxVal_ |
Limit the cov entries to this maxuimum value when blowing up the cov. | |
eMultipleMeasurementHandling | multipleMeasurementHandling_ |
How to handle if there are multiple MeasurementsOnPlane. | |
int | maxFailedHits_ |
Kalman filter implementation with linearization around a reference track.
Definition at line 37 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 37 of file KalmanFitterRefTrack.h
|
inline |
Definition at line 39 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 39 of file KalmanFitterRefTrack.h
|
inlinevirtual |
Definition at line 45 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 45 of file KalmanFitterRefTrack.h
TrackPoint * KalmanFitterRefTrack::fitTrack | ( | Track * | tr, |
const AbsTrackRep * | rep, | ||
double & | chi2, | ||
double & | ndf, | ||
int | direction | ||
) |
Fit the track.
Needs a prepared track! Return last TrackPoint that has been processed.
Definition at line 39 of file KalmanFitterRefTrack.cc.
View newest version in sPHENIX GitHub at line 39 of file KalmanFitterRefTrack.cc
References assert, C_, genfit::AbsFitter::debugLvl_, genfit::debugOut, Acts::Test::dim, genfit::KalmanFittedStateOnPlane::getChiSquareIncrement(), genfit::AbsTrackRep::getDim(), genfit::TrackPoint::getFitterInfo(), genfit::KalmanFittedStateOnPlane::getNdf(), genfit::Track::getNumPoints(), genfit::Track::getNumPointsWithMeasurement(), genfit::Track::getPointWithMeasurement(), genfit::KalmanFitterInfo::getUpdate(), genfit::TrackPoint::hasFitterInfo(), genfit::KalmanFitterInfo::hasUpdate(), i, p_, processTrackPoint(), refitAll_, and physmon_simulation::tp.
Referenced by processTrackWithRep().
bool KalmanFitterRefTrack::prepareTrack | ( | Track * | tr, |
const AbsTrackRep * | rep, | ||
bool | setSortingParams, | ||
int & | nFailedHits | ||
) |
Prepare the track.
Calc all reference states. If setSortingParams is true, the extrapolation lengths will be set as sorting parameters of the TrackPoints. Returns if the track has been changed.
Definition at line 328 of file KalmanFitterRefTrack.cc.
View newest version in sPHENIX GitHub at line 328 of file KalmanFitterRefTrack.cc
References genfit::KalmanFitterInfo::addMeasurementsOnPlane(), genfit::KalmanFitterInfo::areWeightsFixed(), assert, backwardDeltaState_, genfit::MeasuredStateOnPlane::blowUpCov(), genfit::AbsKalmanFitter::blowUpFactor_, genfit::AbsKalmanFitter::blowUpMaxVal_, BNoiseMatrix_, BTransportMatrix_, genfit::AbsMeasurement::constructPlane(), genfit::AbsFitter::debugLvl_, genfit::debugOut, genfit::TrackPoint::deleteFitterInfo(), genfit::KalmanFitterInfo::deleteMeasurementInfo(), genfit::KalmanFitterInfo::deleteReferenceInfo(), Acts::UnitConstants::e, genfit::errorOut, genfit::AbsTrackRep::extrapolateToPlane(), genfit::KalmanFitterInfo::fixWeights(), FNoiseMatrix_, forwardDeltaState_, FTransportMatrix_, genfit::StateOnPlane::getAuxInfo(), genfit::AbsTrackRep::getBackwardJacobianAndNoise(), genfit::KalmanFitterInfo::getBackwardUpdate(), genfit::Track::getCardinalRep(), genfit::AbsTrackRep::getCharge(), genfit::AbsTrackRep::getDim(), genfit::Track::getFitStatus(), genfit::KalmanFitterInfo::getFittedState(), genfit::TrackPoint::getFitterInfo(), genfit::AbsTrackRep::getForwardJacobianAndNoise(), genfit::ReferenceStateOnPlane::getForwardSegmentLength(), genfit::KalmanFitterInfo::getNumMeasurements(), genfit::Track::getNumPoints(), genfit::StateOnPlane::getPlane(), genfit::AbsFitterInfo::getPlane(), genfit::Track::getPoint(), genfit::Track::getPointWithMeasurementAndFitterInfo(), genfit::AbsTrackRep::getPosMom(), genfit::AbsTrackRep::getQop(), genfit::TrackPoint::getRawMeasurement(), genfit::TrackPoint::getRawMeasurements(), genfit::KalmanFitterInfo::getReferenceState(), genfit::StateOnPlane::getRep(), genfit::StateOnPlane::getState(), genfit::Track::getStateSeed(), genfit::Track::getTimeSeed(), genfit::KalmanFitterInfo::getWeights(), genfit::KalmanFitterInfo::hasBackwardUpdate(), genfit::TrackPoint::hasFitterInfo(), genfit::KalmanFitterInfo::hasForwardPrediction(), genfit::KalmanFitterInfo::hasPredictionsAndUpdates(), genfit::TrackPoint::hasRawMeasurements(), genfit::KalmanFitterInfo::hasReferenceState(), i, genfit::AbsKalmanFitter::isTrackPrepared(), genfit::AbsKalmanFitter::maxFailedHits_, Acts::PrimitivesView3DTest::plane, Acts::Test::pos, removeForwardBackwardInfo(), removeOutdated(), genfit::ReferenceStateOnPlane::resetBackward(), genfit::ReferenceStateOnPlane::resetForward(), genfit::AbsKalmanFitter::resetOffDiagonals_, genfit::ReferenceStateOnPlane::setBackwardDeltaState(), genfit::ReferenceStateOnPlane::setBackwardNoiseMatrix(), genfit::ReferenceStateOnPlane::setBackwardSegmentLength(), genfit::ReferenceStateOnPlane::setBackwardTransportMatrix(), genfit::Exception::setFatal(), genfit::TrackPoint::setFitterInfo(), genfit::ReferenceStateOnPlane::setForwardDeltaState(), genfit::ReferenceStateOnPlane::setForwardNoiseMatrix(), genfit::KalmanFitterInfo::setForwardPrediction(), genfit::ReferenceStateOnPlane::setForwardSegmentLength(), genfit::ReferenceStateOnPlane::setForwardTransportMatrix(), genfit::AbsTrackRep::setPosMom(), genfit::AbsTrackRep::setQop(), genfit::KalmanFitterInfo::setReferenceState(), genfit::StateOnPlane::setRep(), genfit::TrackPoint::setSortingParameter(), genfit::AbsTrackRep::setTime(), genfit::KalmanFitStatus::setTrackLen(), genfit::KalmanFitterInfo::setWeights(), and genfit::Exception::what().
Referenced by processTrackWithRep().
|
private |
Definition at line 920 of file KalmanFitterRefTrack.cc.
View newest version in sPHENIX GitHub at line 920 of file KalmanFitterRefTrack.cc
References assert, genfit::AbsKalmanFitter::blowUpFactor_, genfit::AbsKalmanFitter::blowUpMaxVal_, C_, genfit::AbsKalmanFitter::canIgnoreWeights(), genfit::KalmanFitterInfo::checkConsistency(), covSumInv_, genfit::AbsFitter::debugLvl_, genfit::debugOut, Acts::Test::dim, dummy, Acts::UnitConstants::e, F, genfit::StateOnPlane::getAuxInfo(), genfit::AbsTrackRep::getCharge(), genfit::MeasuredStateOnPlane::getCov(), genfit::Track::getCovSeed(), genfit::ReferenceStateOnPlane::getDeltaState(), genfit::AbsTrackRep::getDim(), genfit::MeasurementOnPlane::getHMatrix(), genfit::AbsKalmanFitter::getMeasurements(), genfit::ReferenceStateOnPlane::getNoiseMatrix(), genfit::StateOnPlane::getPlane(), genfit::AbsTrackRep::getPosMom(), genfit::KalmanFitterInfo::getPrediction(), genfit::KalmanFitterInfo::getReferenceState(), genfit::AbsFitterInfo::getRep(), genfit::StateOnPlane::getRep(), genfit::StateOnPlane::getState(), genfit::TrackPoint::getTrack(), genfit::AbsFitterInfo::getTrackPoint(), genfit::ReferenceStateOnPlane::getTransportMatrix(), genfit::KalmanFitterInfo::getUpdate(), genfit::MeasurementOnPlane::getWeight(), H, genfit::AbsFitterInfo::hasPrediction(), genfit::tools::invertMatrix(), it, Acts::UnitConstants::m, N, p_, Acts::Test::pos, Print(), processTrackPointSqrt(), res_, genfit::AbsKalmanFitter::resetOffDiagonals_, Rinv_, genfit::StateOnPlane::setAuxInfo(), genfit::AbsTrackRep::setPosMomCov(), genfit::KalmanFitterInfo::setPrediction(), genfit::KalmanFitterInfo::setUpdate(), squareRootFormalism_, and genfit::Exception::what().
Referenced by fitTrack().
|
private |
Definition at line 1127 of file KalmanFitterRefTrack.cc.
View newest version in sPHENIX GitHub at line 1127 of file KalmanFitterRefTrack.cc
References assert, genfit::AbsKalmanFitter::blowUpFactor_, genfit::AbsKalmanFitter::blowUpMaxVal_, C_, genfit::AbsKalmanFitter::canIgnoreWeights(), genfit::KalmanFitterInfo::checkConsistency(), genfit::AbsFitter::debugLvl_, genfit::debugOut, Acts::Test::dim, dummy, Acts::UnitConstants::e, F, genfit::StateOnPlane::getAuxInfo(), genfit::AbsTrackRep::getCharge(), genfit::MeasuredStateOnPlane::getCov(), genfit::Track::getCovSeed(), genfit::ReferenceStateOnPlane::getDeltaState(), genfit::AbsTrackRep::getDim(), genfit::MeasurementOnPlane::getHMatrix(), genfit::AbsKalmanFitter::getMeasurements(), genfit::ReferenceStateOnPlane::getNoiseMatrix(), genfit::StateOnPlane::getPlane(), genfit::AbsTrackRep::getPosMom(), genfit::KalmanFitterInfo::getPrediction(), genfit::KalmanFitterInfo::getReferenceState(), genfit::AbsFitterInfo::getRep(), genfit::StateOnPlane::getRep(), genfit::StateOnPlane::getState(), genfit::TrackPoint::getTrack(), genfit::AbsFitterInfo::getTrackPoint(), genfit::ReferenceStateOnPlane::getTransportMatrix(), genfit::KalmanFitterInfo::getUpdate(), genfit::MeasurementOnPlane::getWeight(), H, genfit::AbsFitterInfo::hasPrediction(), genfit::tools::invertMatrix(), it, genfit::tools::kalmanPredictionCovSqrt(), genfit::tools::kalmanUpdateSqrt(), Acts::UnitConstants::m, N, genfit::tools::noiseMatrixSqrt(), p_, Acts::Test::pos, Print(), Q(), Acts::IntegrationTest::R, res_, genfit::AbsKalmanFitter::resetOffDiagonals_, Rinv_, S(), genfit::StateOnPlane::setAuxInfo(), genfit::AbsTrackRep::setPosMomCov(), genfit::KalmanFitterInfo::setPrediction(), genfit::KalmanFitterInfo::setUpdate(), Acts::KalmanVertexTrackUpdater::update(), and genfit::Exception::what().
Referenced by processTrackPoint().
|
overridevirtual |
Process Track with one AbsTrackRep of the Track. Optionally resort the hits if necessary (and supported by the fitter)
Implements genfit::AbsFitter.
Definition at line 106 of file KalmanFitterRefTrack.cc.
View newest version in sPHENIX GitHub at line 106 of file KalmanFitterRefTrack.cc
References genfit::MeasuredStateOnPlane::blowUpCov(), genfit::AbsKalmanFitter::blowUpFactor_, genfit::AbsKalmanFitter::blowUpMaxVal_, charge(), genfit::AbsFitter::debugLvl_, genfit::debugOut, genfit::AbsKalmanFitter::deltaPval_, Acts::UnitConstants::e, genfit::errorOut, fitTrack(), genfit::KalmanFitterInfo::getBackwardPrediction(), genfit::AbsTrackRep::getCharge(), genfit::Track::getFitStatus(), genfit::TrackPoint::getFitterInfo(), genfit::KalmanFitterInfo::getForwardUpdate(), genfit::Track::getIdForRep(), genfit::Track::getPointWithMeasurement(), genfit::Track::getPointWithMeasurementAndFitterInfo(), genfit::KalmanFitterInfo::hasBackwardPrediction(), genfit::Track::hasFitStatus(), genfit::FitStatus::isTrackPruned(), genfit::AbsKalmanFitter::maxIterations_, genfit::AbsKalmanFitter::minIterations_, prepareTrack(), genfit::KalmanFitStatus::Print(), genfit::Track::Print(), refitAll_, genfit::AbsKalmanFitter::relChi2Change_, genfit::AbsKalmanFitter::resetOffDiagonals_, genfit::KalmanFitStatus::setBackwardChi2(), genfit::KalmanFitStatus::setBackwardNdf(), genfit::KalmanFitterInfo::setBackwardPrediction(), genfit::FitStatus::setCharge(), genfit::Track::setFitStatus(), genfit::KalmanFitStatus::setForwardChi2(), genfit::KalmanFitStatus::setForwardNdf(), genfit::FitStatus::setHasTrackChanged(), genfit::FitStatus::setIsFitConvergedFully(), genfit::FitStatus::setIsFitConvergedPartially(), genfit::FitStatus::setIsFitted(), genfit::KalmanFitStatus::setIsFittedWithReferenceTrack(), genfit::FitStatus::setNFailedPoints(), genfit::KalmanFitStatus::setNumIterations(), genfit::Track::sort(), utils::status, physmon_simulation::tp, and genfit::Exception::what().
|
private |
If refitAll_, remove all information.
Definition at line 899 of file KalmanFitterRefTrack.cc.
View newest version in sPHENIX GitHub at line 899 of file KalmanFitterRefTrack.cc
References genfit::Track::deleteBackwardInfo(), genfit::Track::deleteForwardInfo(), genfit::Track::getNumPoints(), and refitAll_.
Referenced by prepareTrack().
|
private |
Remove referenceStates if they are too far from smoothed states.
Does NOT remove forward and backward info, but returns from/to where they have to be removed later Return if anything has changed.
Definition at line 805 of file KalmanFitterRefTrack.cc.
View newest version in sPHENIX GitHub at line 805 of file KalmanFitterRefTrack.cc
References genfit::AbsFitter::debugLvl_, genfit::debugOut, genfit::KalmanFitterInfo::deleteReferenceInfo(), deltaChi2Ref_, genfit::MeasuredStateOnPlane::getCov(), genfit::KalmanFitterInfo::getFittedState(), genfit::TrackPoint::getFitterInfo(), genfit::Track::getNumPoints(), genfit::Track::getPoint(), genfit::KalmanFitterInfo::getReferenceState(), genfit::StateOnPlane::getState(), genfit::TrackPoint::hasFitterInfo(), genfit::KalmanFitterInfo::hasPredictionsAndUpdates(), genfit::TrackPoint::hasRawMeasurements(), genfit::KalmanFitterInfo::hasReferenceState(), i, j, genfit::Track::Print(), and resM_.
Referenced by prepareTrack().
|
inline |
When will the reference track be updated? If (smoothedState - referenceState) * smoothedCov^(-1) * (smoothedState - referenceState)^T >= deltaChi2Ref_.
Definition at line 71 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 71 of file KalmanFitterRefTrack.h
References deltaChi2Ref_.
|
inline |
If true always refit all points, otherwise fit points only if reference states have changed.
Definition at line 65 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 65 of file KalmanFitterRefTrack.h
References refitAll_.
|
private |
Definition at line 97 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 97 of file KalmanFitterRefTrack.h
Referenced by prepareTrack().
|
private |
Definition at line 95 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 95 of file KalmanFitterRefTrack.h
Referenced by prepareTrack().
|
private |
Definition at line 93 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 93 of file KalmanFitterRefTrack.h
Referenced by prepareTrack().
|
private |
Definition at line 101 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 101 of file KalmanFitterRefTrack.h
Referenced by fitTrack(), processTrackPoint(), and processTrackPointSqrt().
|
private |
Definition at line 102 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 102 of file KalmanFitterRefTrack.h
Referenced by processTrackPoint().
|
private |
Definition at line 89 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 89 of file KalmanFitterRefTrack.h
Referenced by removeOutdated(), and setDeltaChi2Ref().
|
private |
Definition at line 94 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 94 of file KalmanFitterRefTrack.h
Referenced by prepareTrack().
|
private |
Definition at line 96 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 96 of file KalmanFitterRefTrack.h
Referenced by prepareTrack().
|
private |
Definition at line 92 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 92 of file KalmanFitterRefTrack.h
Referenced by prepareTrack().
|
private |
Definition at line 100 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 100 of file KalmanFitterRefTrack.h
Referenced by fitTrack(), processTrackPoint(), and processTrackPointSqrt().
|
private |
Definition at line 88 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 88 of file KalmanFitterRefTrack.h
Referenced by fitTrack(), processTrackWithRep(), removeForwardBackwardInfo(), and setRefitAll().
|
private |
Definition at line 104 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 104 of file KalmanFitterRefTrack.h
Referenced by processTrackPoint(), and processTrackPointSqrt().
|
private |
Definition at line 107 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 107 of file KalmanFitterRefTrack.h
Referenced by removeOutdated().
|
private |
Definition at line 103 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 103 of file KalmanFitterRefTrack.h
Referenced by processTrackPoint(), and processTrackPointSqrt().
|
private |
Definition at line 109 of file KalmanFitterRefTrack.h.
View newest version in sPHENIX GitHub at line 109 of file KalmanFitterRefTrack.h
Referenced by processTrackPoint().