![]() |
ATLAS Offline Software
|
#include <AlignTrack.h>
Public Types | |
| enum | AlignTrackType { Unknown = 0 , Original = 1 , NormalRefitted = 2 , BeamspotConstrained = 3 , VertexConstrained = 4 , VertexMember = 5 , NTrackTypes } |
Public Member Functions | |
| AlignTrack (const Track &associatedTrack) | |
| constructor takes the track containing the original TrackStateOnSurface objects | |
| AlignTrack (const Track &associatedTrack, AlignTSOSCollection *alignTSOSCollection) | |
| constructor takes collection of alignTSOS and the track containing the original TrackStateOnSurface objects | |
| AlignTrack (const AlignTrack &alignTrack) | |
| copy constructor | |
| virtual | ~AlignTrack () |
| destructor | |
| AlignTrack & | operator= (const AlignTrack &alignTrack) |
| assignment operator | |
| void | setAlignTSOSCollection (AlignTSOSCollection *atsosColl) |
| sets collection of AlignTSOS | |
| const AlignTSOSCollection * | alignTSOSCollection () const |
| returns collection of alignTSOS | |
| AlignTSOSCollection::const_iterator | firstAtsos () const |
| retrieve iterator pointer to first element in collection | |
| AlignTSOSCollection::const_iterator | lastAtsos () const |
| returns iterator pointer to last element in collection | |
| AlignTSOSCollection::iterator | firstAtsos () |
| retrieve non-const iterator pointer to first element in collection | |
| AlignTSOSCollection::iterator | lastAtsos () |
| returns non-const iterator pointer to last element in collection | |
| const Track * | originalTrack () const |
| retrieve pointer to original track | |
| void | setOriginalTrack (const Track *track) |
| set pointer to original track | |
| AlignTrackType | type () const |
| get and set the refit type | |
| void | setType (AlignTrackType type) |
| void | doFindPerigee () const |
| For the AlignTrack, if there is pseudo-measurement in the TSOS collection, the perigee will not alway be in the first position. | |
| bool | isSLTrack () const |
| method to determine whether a straight line track or not | |
| void | dump (MsgStream &msg) |
| dump align track information | |
| const Amg::SymMatrixX * | localErrorMatrix () const |
| local error matrix, calculated by AlignTrack by calling atsos->hitDistanceVar() | |
| const Amg::SymMatrixX * | localErrorMatrixInv () const |
| inverse local error matrix, calculated by AlignTrack by calling atsos->hitDistanceVar() | |
| int | nAlignTSOSMeas () const |
| number of alignTSOS (including scatterers if included on AlignTrack | |
| const std::vector< AlignModuleDerivatives > * | derivatives () const |
| The Amg::VectorX is a vector of first-derivatives of the alignTSOS on the alignTrack w.r.t. | |
| void | setDerivatives (std::vector< AlignModuleDerivatives > *vec) |
| const std::vector< AlignModuleDerivatives > * | derivativeErr () const |
| The Amg::VectorX is a vector of errors in first-derivatives of the alignTSOS on the alignTrack w.r.t. | |
| void | setDerivativeErr (std::vector< AlignModuleDerivatives > *vec) |
| const std::vector< std::pair< AlignModule *, std::vector< double > > > * | actualSecondDerivatives () const |
| The Amg::VectorX is a vector of first-derivatives of the alignTSOS on the alignTrack w.r.t. | |
| void | setActualSecondDerivatives (std::vector< std::pair< AlignModule *, std::vector< double > > > *vec) |
| const Amg::VectorX * | residualVector () const |
| Vector of residuals of the alignTSOS on the alignTrack, to be set by AlignTrackDresser. | |
| void | setResidualVector (Amg::VectorX *vec) |
| const Amg::SymMatrixX * | weightMatrix () const |
| Weight matrix is W from Si alignment (see Eqn. | |
| void | setWeightMatrix (Amg::SymMatrixX *mat) |
| const Amg::SymMatrixX * | weightMatrixFirstDeriv () const |
| First deriv weight matrix can be either W from Si alignment (see Eqn. | |
| void | setWeightMatrixFirstDeriv (Amg::SymMatrixX *mat) |
| double | chi2 () const |
| locally calculated chi2 | |
| void | setChi2 (double chi2) |
| double | chi2dof () const |
| locally calculated chi2 | |
| void | setChi2dof (double chi2dof) |
| const Amg::MatrixX * | derivativeMatrix () const |
| set and get derivative matrix | |
| void | setDerivativeMatrix (const Amg::MatrixX *matrix) |
| const Amg::SymMatrixX * | fullCovarianceMatrix () const |
| set and get full covariance matrix | |
| void | setFullCovarianceMatrix (const Amg::SymMatrixX *matrix) |
| double | trackAlignParamQuality (int i) const |
| set and get array (one entry per alignment parameter) of fit chi2 of chi2 vs. | |
| void | setTrackAlignParamQuality (int i, double val) |
| const Trk::Track * | trackWithoutScattering () const |
| returns track with ScatteringAngle pointers all set to zero (used for refit by iPat) | |
| const AlignVertex * | getVtx () const |
| set and get pointer to the associated vertex | |
| AlignVertex * | getVtx () |
| void | setVtx (AlignVertex *const vtx) |
| bool | refitD0 () const |
| get refit flags | |
| bool | refitZ0 () const |
| bool | refitPhi () const |
| bool | refitTheta () const |
| bool | refitQovP () const |
| void | setRefitD0 (bool flag) |
| set refit flags | |
| void | setRefitZ0 (bool flag) |
| void | setRefitPhi (bool flag) |
| void | setRefitTheta (bool flag) |
| void | setRefitQovP (bool flag) |
| bool | isValid () const |
| returns true if the track has non-nullptr fitQuality and non-empty Trk::TrackStates | |
| const FitQuality * | fitQuality () const |
| return a pointer to the fit quality const-overload | |
| FitQuality * | fitQuality () |
| return a pointer to the fit quality non-const overload | |
| void | setFitQuality (std::unique_ptr< FitQuality > quality) |
| set FitQuality. | |
| const Trk::TrackStates * | trackStateOnSurfaces () const |
| return a pointer to a const DataVector of const TrackStateOnSurfaces. | |
| Trk::TrackStates * | trackStateOnSurfaces () |
| return a pointer to a DataVector of const TrackStateOnSurfaces. | |
| void | setTrackStateOnSurfaces (std::unique_ptr< Trk::TrackStates > input) |
| Set the TrackStateOnSurfaces. | |
| const TrackInfo & | info () const |
| Returns a const ref to info of a const tracks. | |
| TrackInfo & | info () |
| returns a ref to the info. | |
| void | setInfo (const TrackInfo &input) |
| set the info. | |
| const Trk::TrackSummary * | trackSummary () const |
| Returns a pointer to the const Trk::TrackSummary owned by this const track (could be nullptr) | |
| Trk::TrackSummary * | trackSummary () |
| Returns a pointer to the Trk::TrackSummary owned by this track (could be nullptr) | |
| void | setTrackSummary (std::unique_ptr< Trk::TrackSummary > input) |
| Set the track summary. | |
| const Perigee * | perigeeParameters () const |
| return Perigee. | |
| const DataVector< const TrackParameters > * | trackParameters () const |
| Return a pointer to a vector of TrackParameters. | |
| const DataVector< const MeasurementBase > * | measurementsOnTrack () const |
| return a pointer to a vector of MeasurementBase (NOT including any that come from outliers). | |
| const DataVector< const MeasurementBase > * | outliersOnTrack () const |
| return a pointer to a vector of MeasurementBase, which represent outliers (i.e. | |
| void | resetCaches () |
| reset all caches | |
Static Public Member Functions | |
| static bool | isSLTrack (const Track *track) |
| static method to determine whether a track is straight line or not | |
| static void | dumpTrackInfo (const Track &track, MsgStream &msg) |
| dump track information | |
| static void | dumpLessTrackInfo (const Track &track, MsgStream &msg) |
| dump less track information | |
| static std::size_t | numberOfInstantiations () |
Static Public Attributes | |
| static std::atomic_size_t | s_numberOfInstantiations |
Protected Types | |
| typedef Trk::TrackStates::const_iterator | TSoS_iterator |
Protected Member Functions | |
| void | findPerigee () const |
| Find perigee in the vector of track parameters. | |
| void | copyHelper (const Track &rhs) |
| Helper method to factor common part of copy ctor and copy assignment. | |
Protected Attributes | |
| std::unique_ptr< TrackStates > | m_trackStateVector = nullptr |
| TrackStateOnSurface. | |
| CxxUtils::CachedValue< DataVector< const TrackParameters > > | m_cachedParameterVector {} |
| A vector of TrackParameters: these can be any of the classes that derive from Trk::TrackParameters, for example, Perigee, MeasuredPerigee, AtaCylinder etc. | |
| CxxUtils::CachedValue< DataVector< const MeasurementBase > > | m_cachedMeasurementVector {} |
| A vector of MeasurementBase: these objects represent the "hits" on the track (but not outliers - see m_cachedOutlierVector) | |
| CxxUtils::CachedValue< DataVector< const MeasurementBase > > | m_cachedOutlierVector {} |
| These objects represent the "outliers" on the track. | |
| CxxUtils::CachedValue< const Perigee * > | m_perigeeParameters {} |
| A pointer to the Track's Perigee parameters. | |
| std::unique_ptr< FitQuality > | m_fitQuality {nullptr} |
| A pointer to the Track's FitQuality. | |
| std::unique_ptr< Trk::TrackSummary > | m_trackSummary {nullptr} |
| Datamember to cache the TrackSummary. | |
| Trk::TrackInfo | m_trackInfo {} |
| This is a class which stores the identity of where the track was created, fitted, which properties the reconstruction had. | |
Private Member Functions | |
| AlignTrack () | |
| void | setAlignParameters () |
| sets derivatives of alignment parameters | |
| void | findPerigeeImpl () const |
| find PerigeeImpl. | |
Private Attributes | |
| const Track * | m_originalTrack |
| point to original track | |
| AlignTrackType | m_type |
| refit type of this alignTrack | |
| int | m_nAlignTSOSMeas |
| variables | |
| AlignTSOSCollection * | m_alignTSOSCollection {} |
| collection of alignTSOS that make up the alignTrack | |
| Amg::SymMatrixX * | m_localErrorMat |
| matrix containing local error matrices along diagonal | |
| Amg::SymMatrixX * | m_localErrorMatInv |
| inverse matrix containing local error matrices along diagonal | |
| const Amg::MatrixX * | m_derivativeMatrix |
| matrix containing derivative matrix from track fitter | |
| const Amg::SymMatrixX * | m_fullCovarianceMatrix |
| matrix containing full covariance matrix from track fitter | |
| std::vector< AlignModuleDerivatives > * | m_derivatives |
| std::vector< AlignModuleDerivatives > * | m_derivativeErr |
| std::vector< std::pair< AlignModule *, std::vector< double > > > * | m_actualSecondDerivatives |
| Amg::VectorX * | m_residuals |
| Amg::MatrixX * | m_weights |
| Amg::MatrixX * | m_weightsFirstDeriv |
| double | m_chi2 |
| double | m_chi2dof |
| AlignVertex * | m_vtx |
| pointer to the associated vertex | |
| bool | m_refitD0 |
| bool | m_refitZ0 |
| bool | m_refitPhi |
| bool | m_refitTheta |
| bool | m_refitQovP |
| double * | m_trackAlignParamQuality |
| CxxUtils::CachedUniquePtr< Trk::Track > | m_trackWithoutScattering |
Definition at line 41 of file AlignTrack.h.
|
protectedinherited |
Definition at line 228 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
| Enumerator | |
|---|---|
| Unknown | default type |
| Original | not refitted, just copy constructed from original Track |
| NormalRefitted | normally refitted, without adding any pseudo-measurement |
| BeamspotConstrained | refitted with beamspot constraint |
| VertexConstrained | refitted with vertex constraint |
| VertexMember | Refitted with 3DoF from the VTX. |
| NTrackTypes | total number of track types |
Definition at line 45 of file AlignTrack.h.
| AlignTrack::AlignTrack | ( | const Track & | associatedTrack | ) |
constructor takes the track containing the original TrackStateOnSurface objects
Definition at line 17 of file AlignTrack.cxx.
| AlignTrack::AlignTrack | ( | const Track & | associatedTrack, |
| AlignTSOSCollection * | alignTSOSCollection ) |
constructor takes collection of alignTSOS and the track containing the original TrackStateOnSurface objects
Definition at line 48 of file AlignTrack.cxx.
| AlignTrack::AlignTrack | ( | const AlignTrack & | alignTrack | ) |
copy constructor
Definition at line 80 of file AlignTrack.cxx.
|
virtual |
|
private |
|
inline |
The Amg::VectorX is a vector of first-derivatives of the alignTSOS on the alignTrack w.r.t.
a particular alignment parameter. There is one Amg::VectorX in the vector for each alignment parameter of each align module. Set by DerivCalcTool.
Definition at line 146 of file AlignTrack.h.
|
inline |
|
inline |
|
inline |
|
protectedinherited |
Helper method to factor common part of copy ctor and copy assignment.
Definition at line 56 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
|
inline |
The Amg::VectorX is a vector of errors in first-derivatives of the alignTSOS on the alignTrack w.r.t.
a particular alignment parameter. There is one Amg::VectorX in the vector for each alignment parameter of each align module. Set by DerivCalcTool.
Definition at line 140 of file AlignTrack.h.
|
inline |
|
inline |
The Amg::VectorX is a vector of first-derivatives of the alignTSOS on the alignTrack w.r.t.
a particular alignment parameter. There is one Amg::VectorX in the vector for each alignment parameter of each align module. Set by DerivCalcTool.
Definition at line 133 of file AlignTrack.h.
|
inline |
For the AlignTrack, if there is pseudo-measurement in the TSOS collection, the perigee will not alway be in the first position.
We should explicitly do the perigee finding. Fortunately, base Class already has a protected function which loop over the TSOS colleciton to do perigee search and assigin the perigee parameters at the perigee. Just call it
Definition at line 104 of file AlignTrack.h.
| void AlignTrack::dump | ( | MsgStream & | msg | ) |
dump align track information
Definition at line 316 of file AlignTrack.cxx.
|
static |
dump less track information
Definition at line 276 of file AlignTrack.cxx.
|
static |
dump track information
Definition at line 269 of file AlignTrack.cxx.
|
protectedinherited |
Find perigee in the vector of track parameters.
It can be used to lazy-init the m_perigeeParameters
Definition at line 123 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
|
privateinherited |
find PerigeeImpl.
Assumes that Perigee parameters are currently inValid.
Definition at line 129 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
|
inline |
retrieve non-const iterator pointer to first element in collection
Definition at line 282 of file AlignTrack.h.
|
inline |
retrieve iterator pointer to first element in collection
Definition at line 279 of file AlignTrack.h.
|
inherited |
return a pointer to the fit quality non-const overload
|
inherited |
return a pointer to the fit quality const-overload
|
inline |
|
inline |
Definition at line 189 of file AlignTrack.h.
|
inline |
|
inherited |
returns a ref to the info.
non-const overload
|
inherited |
Returns a const ref to info of a const tracks.
| bool AlignTrack::isSLTrack | ( | ) | const |
method to determine whether a straight line track or not
Definition at line 263 of file AlignTrack.cxx.
|
static |
static method to determine whether a track is straight line or not
Definition at line 241 of file AlignTrack.cxx.
|
inherited |
returns true if the track has non-nullptr fitQuality and non-empty Trk::TrackStates
|
inline |
returns non-const iterator pointer to last element in collection
Definition at line 283 of file AlignTrack.h.
|
inline |
|
inline |
local error matrix, calculated by AlignTrack by calling atsos->hitDistanceVar()
Definition at line 122 of file AlignTrack.h.
|
inline |
inverse local error matrix, calculated by AlignTrack by calling atsos->hitDistanceVar()
Definition at line 125 of file AlignTrack.h.
|
inherited |
return a pointer to a vector of MeasurementBase (NOT including any that come from outliers).
This DataVector is lazily created by this method and cached.
Definition at line 178 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
|
inline |
number of alignTSOS (including scatterers if included on AlignTrack
Definition at line 128 of file AlignTrack.h.
|
inlinestaticinherited |
Definition at line 25 of file TrkObjectCounter.h.
| AlignTrack & AlignTrack::operator= | ( | const AlignTrack & | alignTrack | ) |
assignment operator
Definition at line 142 of file AlignTrack.cxx.
|
inline |
|
inherited |
return a pointer to a vector of MeasurementBase, which represent outliers (i.e.
measurements not used in the track fit). This DataVector is created lazily by this method and then cached.
Definition at line 210 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
|
inherited |
return Perigee.
Can be nullptr if no perigee parameters were assigned to the Track.
This method performs lazy initialization and caches the result.
PLEASE NOTE! if there is more than one Perigee in trackStateOnSurfaces (which there shouldn't be!!), only the first one will be returned by Trk::Track::perigeeParameters Although the Perigee is just a type of TrackParameter, it has a dedicated method because of the specific physics interest
Definition at line 163 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
|
inline |
|
inline |
Definition at line 195 of file AlignTrack.h.
|
inline |
Definition at line 197 of file AlignTrack.h.
|
inline |
Definition at line 196 of file AlignTrack.h.
|
inline |
Definition at line 194 of file AlignTrack.h.
|
inherited |
reset all caches
|
inline |
Vector of residuals of the alignTSOS on the alignTrack, to be set by AlignTrackDresser.
Owned by AlignTrack.
Definition at line 150 of file AlignTrack.h.
|
inline |
Definition at line 147 of file AlignTrack.h.
|
private |
sets derivatives of alignment parameters
| void AlignTrack::setAlignTSOSCollection | ( | AlignTSOSCollection * | atsosColl | ) |
sets collection of AlignTSOS
Definition at line 341 of file AlignTrack.cxx.
|
inline |
Definition at line 166 of file AlignTrack.h.
|
inline |
Definition at line 170 of file AlignTrack.h.
|
inline |
Definition at line 141 of file AlignTrack.h.
|
inline |
Definition at line 269 of file AlignTrack.h.
|
inline |
Definition at line 134 of file AlignTrack.h.
|
inherited |
set FitQuality.
|
inline |
Definition at line 274 of file AlignTrack.h.
|
inherited |
set the info.
|
inline |
|
inline |
|
inline |
Definition at line 202 of file AlignTrack.h.
|
inline |
Definition at line 204 of file AlignTrack.h.
|
inline |
Definition at line 203 of file AlignTrack.h.
|
inline |
Definition at line 201 of file AlignTrack.h.
|
inline |
Definition at line 151 of file AlignTrack.h.
|
inline |
Definition at line 182 of file AlignTrack.h.
|
inherited |
Set the TrackStateOnSurfaces.
|
inherited |
Set the track summary.
|
inline |
Definition at line 97 of file AlignTrack.h.
|
inline |
Definition at line 190 of file AlignTrack.h.
|
inline |
Definition at line 157 of file AlignTrack.h.
|
inline |
Definition at line 162 of file AlignTrack.h.
|
inline |
set and get array (one entry per alignment parameter) of fit chi2 of chi2 vs.
alignment params (used for numerical derivatives)
Definition at line 181 of file AlignTrack.h.
|
inherited |
Return a pointer to a vector of TrackParameters.
It is created Lazily by this method and then cached.
Definition at line 97 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
|
inherited |
return a pointer to a DataVector of const TrackStateOnSurfaces.
non-const overload
|
inherited |
return a pointer to a const DataVector of const TrackStateOnSurfaces.
const overload
|
inherited |
Returns a pointer to the Trk::TrackSummary owned by this track (could be nullptr)
|
inherited |
Returns a pointer to the const Trk::TrackSummary owned by this const track (could be nullptr)
| const Trk::Track * AlignTrack::trackWithoutScattering | ( | ) | const |
returns track with ScatteringAngle pointers all set to zero (used for refit by iPat)
Definition at line 423 of file AlignTrack.cxx.
|
inline |
|
inline |
Weight matrix is W from Si alignment (see Eqn.
10 of INDET-PUB-2005-002).
It is related to the residual covariance matrix from TRT alignment by W= V^{-1}RV (R is defined in Eqn. 18 of ATL-INDET-PUB-2007-009).
Definition at line 156 of file AlignTrack.h.
|
inline |
First deriv weight matrix can be either W from Si alignment (see Eqn.
10 of INDET-PUB-2005-002) or the inverse local error matrix
Definition at line 161 of file AlignTrack.h.
|
private |
Definition at line 239 of file AlignTrack.h.
|
private |
collection of alignTSOS that make up the alignTrack
Definition at line 223 of file AlignTrack.h.
|
protectedinherited |
A vector of MeasurementBase: these objects represent the "hits" on the track (but not outliers - see m_cachedOutlierVector)
It is created in the return method by looping over all Trk::TrackStateOnSurface adding their pointers to the payload of m_cachedMeasurementVector
Definition at line 271 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
protectedinherited |
These objects represent the "outliers" on the track.
It is created in the return method by looping over all Trk::TrackStateOnSurface adding their pointers to the payload of m_cachedRioVector
Definition at line 280 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
protectedinherited |
A vector of TrackParameters: these can be any of the classes that derive from Trk::TrackParameters, for example, Perigee, MeasuredPerigee, AtaCylinder etc.
It is created in the return method by looping over all Trk::TrackStateOnSurface adding their pointers to the payload of m_cachedParameterVector
Definition at line 260 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
private |
Definition at line 245 of file AlignTrack.h.
|
private |
Definition at line 246 of file AlignTrack.h.
|
private |
Definition at line 238 of file AlignTrack.h.
|
private |
matrix containing derivative matrix from track fitter
Definition at line 232 of file AlignTrack.h.
|
private |
Definition at line 237 of file AlignTrack.h.
|
protectedinherited |
A pointer to the Track's FitQuality.
Definition at line 293 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
private |
matrix containing full covariance matrix from track fitter
Definition at line 235 of file AlignTrack.h.
|
private |
matrix containing local error matrices along diagonal
Definition at line 226 of file AlignTrack.h.
|
private |
inverse matrix containing local error matrices along diagonal
Definition at line 229 of file AlignTrack.h.
|
private |
variables
Definition at line 220 of file AlignTrack.h.
|
private |
point to original track
Definition at line 214 of file AlignTrack.h.
|
protectedinherited |
A pointer to the Track's Perigee parameters.
This will be null if the track does not contain a Perigee or MeasuredPerigee parameter
Definition at line 288 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
private |
Definition at line 251 of file AlignTrack.h.
|
private |
Definition at line 253 of file AlignTrack.h.
|
private |
Definition at line 255 of file AlignTrack.h.
|
private |
Definition at line 254 of file AlignTrack.h.
|
private |
Definition at line 252 of file AlignTrack.h.
|
private |
Definition at line 241 of file AlignTrack.h.
|
private |
Definition at line 257 of file AlignTrack.h.
|
protectedinherited |
This is a class which stores the identity of where the track was created, fitted, which properties the reconstruction had.
Definition at line 304 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
protectedinherited |
These objects link the various parameters related to a surface, for example, TrackParameter, RIO_OnTrack and FitQualityOnSurface
Definition at line 248 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
protectedinherited |
Datamember to cache the TrackSummary.
Definition at line 298 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
private |
describes the quality of contribution to track to alignment parameter (used by shifting derivatives)
Definition at line 259 of file AlignTrack.h.
|
private |
refit type of this alignTrack
Definition at line 217 of file AlignTrack.h.
|
private |
pointer to the associated vertex
Definition at line 249 of file AlignTrack.h.
|
private |
Definition at line 242 of file AlignTrack.h.
|
private |
Definition at line 243 of file AlignTrack.h.
|
inlinestaticinherited |
Definition at line 22 of file TrkObjectCounter.h.