Project
Loading...
Searching...
No Matches
o2::its::ClusterLines Class Referencefinal

Least-squares vertex fit over a set of lines (the normal equations AX = -B). More...

#include <ClusterLines.h>

Inherits o2::its::LineFit.

Public Member Functions

 GPUhdDefault () ClusterLines()=default
 
 ClusterLines (gsl::span< const int > lineIndices, gsl::span< const Line > lines)
 Fit over lines[lineIndices[i]]; lineIndices must be sorted and unique.
 
 GPUhdi () void add(const Line &line)
 Accumulate one line into the normal equations and the time estimate.
 
 GPUhdi () void addResidual(const Line &line)
 Running-mean update of the RMS2 and average distance about the stored vertex.
 
 GPUhdi () void addResidual(const Line &line
 Running-mean update about an externally solved vertex.
 
 Line::getDCAComponents (line, vertex, dca)
 
 for (int i=0;i< 6;++i)
 
bool operator== (const ClusterLines &rhs) const noexcept
 
- Public Member Functions inherited from o2::its::LineFit
 GPUhdi () bool add(const Line &line)
 Accumulate one line.
 
 GPUhdi () bool solve(float vertex[3]) const
 Solve the symmetric 3x3 system into vertex (= -A^-1 B); false if it is singular.
 
 GPUhdi () void computeClusterCentroid()
 Solve into the stored vertex, setting the validity flag.
 
 GPUhdi () bool isValid() const noexcept
 
 GPUhdi () const float *getVertex() const noexcept
 
 GPUhdi () int getSize() const noexcept
 
 GPUhdi () int getNContributors() const noexcept
 
 GPUhdi () const TimeEstBC &getTimeStamp() const noexcept
 
 GPUhdi () float getR2() const noexcept
 
 GPUhdi () float getR() const noexcept
 
 GPUhdi () const float *getRMS2() const noexcept
 
 GPUhdi () float getAvgDistance2() const noexcept
 

Public Attributes

const float vertex [3]
 
const float d2 = Line::getDistance2FromPoint(line, vertex)
 
 mResidualCount
 
const float inv = 1.f / static_cast<float>(mResidualCount)
 
 mAvgDistance2 = (d2 - mAvgDistance2) / static_cast<float>(mResidualCount)
 

Additional Inherited Members

- Protected Attributes inherited from o2::its::LineFit
double mA [6] = {0., 0., 0., 0., 0., 0.}
 
double mB [3] = {0., 0., 0.}
 
float mVertex [3] = {0.f, 0.f, 0.f}
 
float mRMS2 [6] = {0.f, 0.f, 0.f, 0.f, 0.f, 0.f}
 
float mAvgDistance2 = 0.f
 
int mNContributors = 0
 
bool mIsValid = false
 
TimeEstBC mTime
 

Detailed Description

Least-squares vertex fit over a set of lines (the normal equations AX = -B).

Definition at line 221 of file ClusterLines.h.

Constructor & Destructor Documentation

◆ ClusterLines()

o2::its::ClusterLines::ClusterLines ( gsl::span< const int >  lineIndices,
gsl::span< const Line >  lines 
)

Fit over lines[lineIndices[i]]; lineIndices must be sorted and unique.

Definition at line 81 of file ClusterLines.cxx.

Member Function Documentation

◆ for()

o2::its::ClusterLines::for ( )
inline

Definition at line 253 of file ClusterLines.h.

◆ GPUhdDefault()

o2::its::ClusterLines::GPUhdDefault ( )
default

◆ GPUhdi() [1/3]

o2::its::ClusterLines::GPUhdi ( ) const &
inline

Accumulate one line into the normal equations and the time estimate.

Definition at line 229 of file ClusterLines.h.

◆ GPUhdi() [2/3]

o2::its::ClusterLines::GPUhdi ( ) const &

Running-mean update about an externally solved vertex.

◆ GPUhdi() [3/3]

o2::its::ClusterLines::GPUhdi ( ) const &
inline

Running-mean update of the RMS2 and average distance about the stored vertex.

Definition at line 243 of file ClusterLines.h.

◆ Line::getDCAComponents()

o2::its::ClusterLines::Line::getDCAComponents ( line  ,
vertex  ,
dca   
)

◆ operator==()

bool o2::its::ClusterLines::operator== ( const ClusterLines &  rhs) const
noexcept

Definition at line 98 of file ClusterLines.cxx.

Member Data Documentation

◆ d2

const float o2::its::ClusterLines::d2 = Line::getDistance2FromPoint(line, vertex)

Definition at line 250 of file ClusterLines.h.

◆ inv

const float o2::its::ClusterLines::inv = 1.f / static_cast<float>(mResidualCount)

Definition at line 252 of file ClusterLines.h.

◆ mAvgDistance2

o2::its::ClusterLines::mAvgDistance2 = (d2 - mAvgDistance2) / static_cast<float>(mResidualCount)

Definition at line 256 of file ClusterLines.h.

◆ mResidualCount

o2::its::ClusterLines::mResidualCount

Definition at line 251 of file ClusterLines.h.

◆ vertex

const float o2::its::ClusterLines::vertex[3]
Initial value:
{
float dca[6]

Definition at line 246 of file ClusterLines.h.


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