Project
Loading...
Searching...
No Matches
o2::its::TrackerTraits< nLayers > Class Template Reference

#include <TrackerTraits.h>

Inherited by o2::its::TrackerTraitsGPU< nLayers >.

Public Member Functions

virtual ~TrackerTraits ()=default
 
virtual void adoptTimeFrame (TimeFrame< nLayers > *tf)
 
virtual void initialiseTimeFrame (const int iteration)
 
virtual void computeLayerTracklets (const int iteration, int iROFslice, int iVertex)
 
virtual void computeLayerCells (const int iteration)
 
virtual void findCellsNeighbours (const int iteration)
 
virtual void findRoads (const int iteration)
 
virtual bool supportsExtendTracks () const noexcept
 
virtual void extendTracks (const int iteration)
 
virtual bool supportsFindShortPrimaries () const noexcept
 
virtual void findShortPrimaries ()
 
virtual bool trackFollowing (TrackITSExt *track, int rof, bool outward, const int iteration)
 
virtual void processNeighbours (int iLayer, int iLevel, const bounded_vector< CellSeed > &currentCellSeed, const bounded_vector< int > &currentCellId, bounded_vector< CellSeed > &updatedCellSeed, bounded_vector< int > &updatedCellId)
 
void updateTrackingParameters (const std::vector< TrackingParameters > &trkPars)
 
TimeFrame< nLayers > * getTimeFrame ()
 
virtual void setBz (float bz)
 
float getBz () const
 
void setCorrType (const o2::base::PropagatorImpl< float >::MatCorrType type)
 
bool isMatLUT () const
 
virtual const chargetName () const noexcept
 
virtual bool isGPU () const noexcept
 
void setMemoryPool (std::shared_ptr< BoundedMemoryResource > &pool) noexcept
 
auto getMemoryPool () const noexcept
 
 GPUhd () static const eval int4 getEmptyBinsRect()
 
const int4 getBinsRect (int layer, float phi, float maxdeltaphi, float z, float maxdeltaz) const noexcept
 
const int4 getBinsRect (const Cluster &cls, int layer, float z1, float z2, float maxdeltaz, float maxdeltaphi) const noexcept
 
const int4 getBinsRect (int layer, float phi, float maxdeltaphi, float z1, float z2, float maxdeltaz) const noexcept
 
void SetRecoChain (o2::gpu::GPUChainITS *chain)
 
void setSmoothing (bool v)
 
bool getSmoothing () const
 
void setNThreads (int n)
 
int getNThreads () const
 
o2::gpu::GPUChainITSgetChain () const
 
virtual int getTFNumberOfClusters () const
 
virtual int getTFNumberOfTracklets () const
 
virtual int getTFNumberOfCells () const
 

Protected Attributes

o2::base::PropagatorImpl< float >::MatCorrType mCorrType = o2::base::PropagatorImpl<float>::MatCorrType::USEMatCorrNONE
 
o2::gpu::GPUChainITSmChain = nullptr
 
TimeFrame< nLayers > * mTimeFrame
 
std::vector< TrackingParametersmTrkParams
 
float mBz {-999.f}
 
bool mIsZeroField {false}
 

Detailed Description

template<int nLayers = 7>
class o2::its::TrackerTraits< nLayers >

Definition at line 43 of file TrackerTraits.h.

Constructor & Destructor Documentation

◆ ~TrackerTraits()

template<int nLayers = 7>
virtual o2::its::TrackerTraits< nLayers >::~TrackerTraits ( )
virtualdefault

Member Function Documentation

◆ adoptTimeFrame()

template<int nLayers = 7>
virtual void o2::its::TrackerTraits< nLayers >::adoptTimeFrame ( TimeFrame< nLayers > *  tf)
inlinevirtual

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 47 of file TrackerTraits.h.

◆ computeLayerCells()

template<int nLayers>
void o2::its::TrackerTraits< nLayers >::computeLayerCells ( const int  iteration)
virtual

Track seed preparation. Clusters are numbered progressively from the innermost going outward.

Track seed preparation. Clusters are numbered progressively from the innermost going outward.

Create cells labels

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 269 of file TrackerTraits.cxx.

◆ computeLayerTracklets()

template<int nLayers>
void o2::its::TrackerTraits< nLayers >::computeLayerTracklets ( const int  iteration,
int  iROFslice,
int  iVertex 
)
virtual

protecting from overflows adding the detector resolution

Sort tracklets

Remove duplicates

recalculate lut

Layer 0 is done outside the loop

Create tracklets labels

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 55 of file TrackerTraits.cxx.

◆ extendTracks()

template<int nLayers>
void o2::its::TrackerTraits< nLayers >::extendTracks ( const int  iteration)
virtual

We have to refit the track

Make sure that the newly attached clusters get marked as used

Definition at line 942 of file TrackerTraits.cxx.

◆ findCellsNeighbours()

template<int nLayers>
void o2::its::TrackerTraits< nLayers >::findCellsNeighbours ( const int  iteration)
virtual

copy

TODO: switch to the chi2 wrt cluster to avoid correlation

copy

TODO: switch to the chi2 wrt cluster to avoid correlation

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 496 of file TrackerTraits.cxx.

◆ findRoads()

template<int nLayers>
void o2::its::TrackerTraits< nLayers >::findRoads ( const int  iteration)
virtual

tame the memory peaks

tame the memory peaks

tame the memory peaks

tame the memory peaks

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 788 of file TrackerTraits.cxx.

◆ findShortPrimaries()

template<int nLayers>
void o2::its::TrackerTraits< nLayers >::findShortPrimaries ( )
virtual

add propagation to the primary vertices compatible with the ROF(s) of the cell

Definition at line 991 of file TrackerTraits.cxx.

◆ getBinsRect() [1/3]

template<int nLayers = 7>
const int4 o2::its::TrackerTraits< nLayers >::getBinsRect ( const Cluster cls,
int  layer,
float  z1,
float  z2,
float  maxdeltaz,
float  maxdeltaphi 
) const
inlinenoexcept

Definition at line 78 of file TrackerTraits.h.

◆ getBinsRect() [2/3]

template<int nLayers = 7>
const int4 o2::its::TrackerTraits< nLayers >::getBinsRect ( int  layer,
float  phi,
float  maxdeltaphi,
float  z,
float  maxdeltaz 
) const
inlinenoexcept

Definition at line 77 of file TrackerTraits.h.

◆ getBinsRect() [3/3]

template<int nLayers>
const int4 o2::its::TrackerTraits< nLayers >::getBinsRect ( int  layer,
float  phi,
float  maxdeltaphi,
float  z1,
float  z2,
float  maxdeltaz 
) const
inlinenoexcept

Definition at line 113 of file TrackerTraits.h.

◆ getBz()

template<int nLayers = 7>
float o2::its::TrackerTraits< nLayers >::getBz ( ) const
inline

Definition at line 67 of file TrackerTraits.h.

◆ getChain()

template<int nLayers = 7>
o2::gpu::GPUChainITS * o2::its::TrackerTraits< nLayers >::getChain ( ) const
inline

Definition at line 86 of file TrackerTraits.h.

◆ getMemoryPool()

template<int nLayers = 7>
auto o2::its::TrackerTraits< nLayers >::getMemoryPool ( ) const
inlinenoexcept

Definition at line 73 of file TrackerTraits.h.

◆ getName()

template<int nLayers = 7>
virtual const char * o2::its::TrackerTraits< nLayers >::getName ( ) const
inlinevirtualnoexcept

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 70 of file TrackerTraits.h.

◆ getNThreads()

template<int nLayers = 7>
int o2::its::TrackerTraits< nLayers >::getNThreads ( ) const
inline

Definition at line 84 of file TrackerTraits.h.

◆ getSmoothing()

template<int nLayers = 7>
bool o2::its::TrackerTraits< nLayers >::getSmoothing ( ) const
inline

Definition at line 82 of file TrackerTraits.h.

◆ getTFNumberOfCells()

template<int nLayers = 7>
virtual int o2::its::TrackerTraits< nLayers >::getTFNumberOfCells ( ) const
inlinevirtual

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 91 of file TrackerTraits.h.

◆ getTFNumberOfClusters()

template<int nLayers = 7>
virtual int o2::its::TrackerTraits< nLayers >::getTFNumberOfClusters ( ) const
inlinevirtual

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 89 of file TrackerTraits.h.

◆ getTFNumberOfTracklets()

template<int nLayers = 7>
virtual int o2::its::TrackerTraits< nLayers >::getTFNumberOfTracklets ( ) const
inlinevirtual

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 90 of file TrackerTraits.h.

◆ getTimeFrame()

template<int nLayers = 7>
TimeFrame< nLayers > * o2::its::TrackerTraits< nLayers >::getTimeFrame ( )
inline

Definition at line 64 of file TrackerTraits.h.

◆ GPUhd()

template<int nLayers = 7>
o2::its::TrackerTraits< nLayers >::GPUhd ( ) const
inline

Definition at line 76 of file TrackerTraits.h.

◆ initialiseTimeFrame()

template<int nLayers = 7>
virtual void o2::its::TrackerTraits< nLayers >::initialiseTimeFrame ( const int  iteration)
inlinevirtual

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 48 of file TrackerTraits.h.

◆ isGPU()

template<int nLayers = 7>
virtual bool o2::its::TrackerTraits< nLayers >::isGPU ( ) const
inlinevirtualnoexcept

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 71 of file TrackerTraits.h.

◆ isMatLUT()

template<int nLayers>
bool o2::its::TrackerTraits< nLayers >::isMatLUT ( ) const

Definition at line 1274 of file TrackerTraits.cxx.

◆ processNeighbours()

template<int nLayers>
void o2::its::TrackerTraits< nLayers >::processNeighbours ( int  iLayer,
int  iLevel,
const bounded_vector< CellSeed > &  currentCellSeed,
const bounded_vector< int > &  currentCellId,
bounded_vector< CellSeed > &  updatedCellSeed,
bounded_vector< int > &  updatedCellId 
)
virtual

this we do only on the first iteration, hence the check on currentCellId

Let's start the fitting procedure

Definition at line 626 of file TrackerTraits.cxx.

◆ setBz()

template<int nLayers>
void o2::its::TrackerTraits< nLayers >::setBz ( float  bz)
virtual

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 1266 of file TrackerTraits.cxx.

◆ setCorrType()

template<int nLayers = 7>
void o2::its::TrackerTraits< nLayers >::setCorrType ( const o2::base::PropagatorImpl< float >::MatCorrType  type)
inline

Definition at line 68 of file TrackerTraits.h.

◆ setMemoryPool()

template<int nLayers = 7>
void o2::its::TrackerTraits< nLayers >::setMemoryPool ( std::shared_ptr< BoundedMemoryResource > &  pool)
inlinenoexcept

Definition at line 72 of file TrackerTraits.h.

◆ setNThreads()

template<int nLayers>
void o2::its::TrackerTraits< nLayers >::setNThreads ( int  n)

Definition at line 1280 of file TrackerTraits.cxx.

◆ SetRecoChain()

template<int nLayers = 7>
void o2::its::TrackerTraits< nLayers >::SetRecoChain ( o2::gpu::GPUChainITS chain)
inline

Definition at line 80 of file TrackerTraits.h.

◆ setSmoothing()

template<int nLayers = 7>
void o2::its::TrackerTraits< nLayers >::setSmoothing ( bool  v)
inline

Definition at line 81 of file TrackerTraits.h.

◆ supportsExtendTracks()

template<int nLayers = 7>
virtual bool o2::its::TrackerTraits< nLayers >::supportsExtendTracks ( ) const
inlinevirtualnoexcept

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 55 of file TrackerTraits.h.

◆ supportsFindShortPrimaries()

template<int nLayers = 7>
virtual bool o2::its::TrackerTraits< nLayers >::supportsFindShortPrimaries ( ) const
inlinevirtualnoexcept

Reimplemented in o2::its::TrackerTraitsGPU< nLayers >.

Definition at line 57 of file TrackerTraits.h.

◆ trackFollowing()

template<int nLayers>
bool o2::its::TrackerTraits< nLayers >::trackFollowing ( TrackITSExt track,
int  rof,
bool  outward,
const int  iteration 
)
virtual

This is wrong for outward propagation as the chi2 refers to inward parameters

Definition at line 1120 of file TrackerTraits.cxx.

◆ updateTrackingParameters()

template<int nLayers = 7>
void o2::its::TrackerTraits< nLayers >::updateTrackingParameters ( const std::vector< TrackingParameters > &  trkPars)
inline

Definition at line 63 of file TrackerTraits.h.

Member Data Documentation

◆ mBz

template<int nLayers = 7>
float o2::its::TrackerTraits< nLayers >::mBz {-999.f}
protected

Definition at line 108 of file TrackerTraits.h.

◆ mChain

template<int nLayers = 7>
o2::gpu::GPUChainITS* o2::its::TrackerTraits< nLayers >::mChain = nullptr
protected

Definition at line 104 of file TrackerTraits.h.

◆ mCorrType

template<int nLayers = 7>
o2::base::PropagatorImpl<float>::MatCorrType o2::its::TrackerTraits< nLayers >::mCorrType = o2::base::PropagatorImpl<float>::MatCorrType::USEMatCorrNONE
protected

Definition at line 103 of file TrackerTraits.h.

◆ mIsZeroField

template<int nLayers = 7>
bool o2::its::TrackerTraits< nLayers >::mIsZeroField {false}
protected

Definition at line 109 of file TrackerTraits.h.

◆ mTimeFrame

template<int nLayers = 7>
TimeFrame<nLayers>* o2::its::TrackerTraits< nLayers >::mTimeFrame
protected

Definition at line 105 of file TrackerTraits.h.

◆ mTrkParams

template<int nLayers = 7>
std::vector<TrackingParameters> o2::its::TrackerTraits< nLayers >::mTrkParams
protected

Definition at line 106 of file TrackerTraits.h.


The documentation for this class was generated from the following files: