Project
Loading...
Searching...
No Matches
o2::vertexing::DCAFitterN< N, Args > Class Template Referenceabstract

#include <DCAFitterN.h>

Public Types

enum  BadCovPolicy { Discard = 0 , Override = 1 , OverrideAndFlag = 2 }
 

Public Member Functions

 DCAFitterN ()=default
 
 DCAFitterN (float bz, bool useAbsDCA, bool prop2DCA)
 
 GPUd () const Vec3D &getPCACandidate(int cand=0) const
 < return PCA candidate, by default best on is provided (no check for the index validity)
 
 GPUd () const auto getPCACandidatePos(int cand=0) const
 return position of quality-ordered candidate in the internal structures
 
int getCandidatePosition (int cand=0) const
 return Chi2 at PCA candidate (no check for its validity)
 
float getChi2AtPCACandidate (int cand=0) const
 
 GPUd () bool propagateTracksToVertex(int cand=0)
 check if propagation of tracks to candidate vertex was done
 
 GPUd () bool isPropagateTracksToVertexDone(int cand=0) const
 check if propagation of tracks to candidate vertex was done
 
bool isPropagationFailure (int cand=0) const
 
Track & getTrack (int i, int cand=0)
 
const Track & getTrack (int i, int cand=0) const
 create parent track param with errors for decay vertex
 
GPUd() o2 GPUd() o2 GPUd() o2 GPUd () bool recalculatePCAWithErrors(int cand=0)
 < create parent track param w/o errors for decay vertex
 
 GPUd () MatSym3D calcPCACovMatrix(int cand=0) const
 
o2::gpu::gpustd::array< float, 6 > calcPCACovMatrixFlat (int cand=0) const
 
const Track * getOrigTrackPtr (int i) const
 return number of iterations during minimization (no check for its validity)
 
 GPUdi () int getNIterations(int cand=0) const
 
 GPUdi () void setPropagateToPCA(bool v
 
 GPUd () void print() const
 
 GPUdi () int getFitterID() const
 
 GPUdi () void setFitterID(int i)
 
 GPUdi () size_t getCallID() const
 

Static Public Member Functions

static constexpr int getNProngs ()
 

Protected Member Functions

 GPUd () bool calcPCACoefs()
 
 GPUd () bool calcInverseWeight()
 
 GPUd () void calcResidDerivatives()
 
 GPUd () void calcResidDerivativesNoErr()
 
 GPUd () void calcRMatrices()
 
 GPUd () void calcChi2Derivatives()
 
 GPUd () void calcChi2DerivativesNoErr()
 
 GPUd () void calcPCA()
 
 GPUd () void calcPCANoErr()
 
 GPUd () void calcTrackResiduals()
 
 GPUd () void calcTrackDerivatives()
 
 GPUd () double calcChi2() const
 
 GPUd () double calcChi2NoErr() const
 
 GPUd () bool correctTracks(const VecND &corrX)
 
 GPUd () bool minimizeChi2()
 
 GPUd () bool minimizeChi2NoErr()
 
 GPUd () bool roughDZCut() const
 
 GPUd () bool closerToAlternative() const
 
GPUd() bool propagateToX(o2 GPUd() bool propagateParamToX(o2 GPUd () static double getAbsMax(const VecND &v)
 track param positions at V0 candidate (no check for the candidate validity)
 
 GPUdi () const Vec3D &getTrackPos(int i
 
int class Tr GPUd () void assign(int i
 
 assign (i+1, args...)
 
 GPUdi () void clear()
 
 GPUdi () static void setTrackPos(Vec3D &pnt
 
 GPUdi () void clearLogThrottlers()
 
void setBadCovPolicy (BadCovPolicy v)
 
BadCovPolicy getBadCovPolicy () const
 

Protected Attributes

int cand
 track X-param at V0 candidate (no check for the candidate validity)
 
int class Tr const T & t
 
int class Tr const T const Tr & args
 
 mOrigTrPtr [i] = &t
 
const Track & tr
 
 pnt [1] = tr.getY()
 

Detailed Description

template<int N, typename... Args>
class o2::vertexing::DCAFitterN< N, Args >

Definition at line 96 of file DCAFitterN.h.

Member Enumeration Documentation

◆ BadCovPolicy

template<int N, typename... Args>
enum o2::vertexing::DCAFitterN::BadCovPolicy
Enumerator
Discard 
Override 
OverrideAndFlag 

Definition at line 121 of file DCAFitterN.h.

Constructor & Destructor Documentation

◆ DCAFitterN() [1/2]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::DCAFitterN ( )
default

◆ DCAFitterN() [2/2]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::DCAFitterN ( float  bz,
bool  useAbsDCA,
bool  prop2DCA 
)
inline

Definition at line 130 of file DCAFitterN.h.

Member Function Documentation

◆ assign()

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::assign ( i 1,
args...   
)
protected

◆ calcPCACovMatrixFlat()

template<int N, typename... Args>
o2::gpu::gpustd::array< float, 6 > o2::vertexing::DCAFitterN< N, Args >::calcPCACovMatrixFlat ( int  cand = 0) const
inline

Definition at line 196 of file DCAFitterN.h.

◆ getBadCovPolicy()

template<int N, typename... Args>
BadCovPolicy o2::vertexing::DCAFitterN< N, Args >::getBadCovPolicy ( ) const
inlineprotected

Definition at line 335 of file DCAFitterN.h.

◆ getCandidatePosition()

template<int N, typename... Args>
int o2::vertexing::DCAFitterN< N, Args >::getCandidatePosition ( int  cand = 0) const
inline

return Chi2 at PCA candidate (no check for its validity)

Definition at line 145 of file DCAFitterN.h.

◆ getChi2AtPCACandidate()

template<int N, typename... Args>
float o2::vertexing::DCAFitterN< N, Args >::getChi2AtPCACandidate ( int  cand = 0) const
inline

prepare copies of tracks at the V0 candidate (no check for the candidate validity) must be called before getTrack(i,cand) query

Definition at line 148 of file DCAFitterN.h.

◆ getNProngs()

template<int N, typename... Args>
static constexpr int o2::vertexing::DCAFitterN< N, Args >::getNProngs ( )
inlinestaticconstexpr

Definition at line 127 of file DCAFitterN.h.

◆ getOrigTrackPtr()

template<int N, typename... Args>
const Track * o2::vertexing::DCAFitterN< N, Args >::getOrigTrackPtr ( int  i) const
inline

return number of iterations during minimization (no check for its validity)

Definition at line 202 of file DCAFitterN.h.

◆ getTrack() [1/2]

template<int N, typename... Args>
Track & o2::vertexing::DCAFitterN< N, Args >::getTrack ( int  i,
int  cand = 0 
)
inline

Definition at line 162 of file DCAFitterN.h.

◆ getTrack() [2/2]

template<int N, typename... Args>
const Track & o2::vertexing::DCAFitterN< N, Args >::getTrack ( int  i,
int  cand = 0 
) const
inline

create parent track param with errors for decay vertex

Definition at line 172 of file DCAFitterN.h.

◆ GPUd() [1/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [2/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [3/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const
protected

◆ GPUd() [4/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const &
protected

◆ GPUd() [5/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const
inlinepure virtual

check if propagation of tracks to candidate vertex was done

Definition at line 155 of file DCAFitterN.h.

◆ GPUd() [6/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [7/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [8/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
pure virtual

check if propagation of tracks to candidate vertex was done

◆ GPUd() [9/27]

template<int N, typename... Args>
GPUd() o2 GPUd() o2 GPUd() o2 o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
pure virtual

< create parent track param w/o errors for decay vertex

< calculate on the fly track param (no cov mat) at candidate, check isValid to make sure propagation was successful < recalculate PCA as a cov-matrix weighted mean, even if absDCA method was used

◆ GPUd() [10/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const
protected

◆ GPUd() [11/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const
inlinepure virtual

return position of quality-ordered candidate in the internal structures

Definition at line 138 of file DCAFitterN.h.

◆ GPUd() [12/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const &
inlinepure virtual

< return PCA candidate, by default best on is provided (no check for the index validity)

Definition at line 137 of file DCAFitterN.h.

◆ GPUd() [13/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const
protected

◆ GPUd() [14/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const
protected

◆ GPUd() [15/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const
pure virtual

◆ GPUd() [16/27]

template<int N, typename... Args>
GPUd() bool propagateToX(o2 GPUd() bool propagateParamToX(o2 o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const &
protected

track param positions at V0 candidate (no check for the candidate validity)

◆ GPUd() [17/27]

template<int N, typename... Args>
int class Tr o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [18/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [19/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [20/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [21/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [22/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [23/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [24/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [25/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [26/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( )
protected

◆ GPUd() [27/27]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUd ( ) const

◆ GPUdi() [1/9]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUdi ( ) const &
protected

◆ GPUdi() [2/9]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUdi ( ) const
inline

Definition at line 249 of file DCAFitterN.h.

◆ GPUdi() [3/9]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUdi ( ) const
inlinepure virtual

Definition at line 205 of file DCAFitterN.h.

◆ GPUdi() [4/9]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUdi ( ) const
inline

Definition at line 251 of file DCAFitterN.h.

◆ GPUdi() [5/9]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUdi ( ) &
protected

◆ GPUdi() [6/9]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUdi ( )
inlineprotected

Definition at line 314 of file DCAFitterN.h.

◆ GPUdi() [7/9]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUdi ( )
inlineprotected

Definition at line 327 of file DCAFitterN.h.

◆ GPUdi() [8/9]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUdi ( )
inline

Definition at line 250 of file DCAFitterN.h.

◆ GPUdi() [9/9]

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::GPUdi ( )

◆ isPropagationFailure()

template<int N, typename... Args>
bool o2::vertexing::DCAFitterN< N, Args >::isPropagationFailure ( int  cand = 0) const
inline

track param propagated to V0 candidate (no check for the candidate validity) propagateTracksToVertex must be called in advance

Definition at line 158 of file DCAFitterN.h.

◆ setBadCovPolicy()

template<int N, typename... Args>
void o2::vertexing::DCAFitterN< N, Args >::setBadCovPolicy ( BadCovPolicy  v)
inlineprotected

Definition at line 334 of file DCAFitterN.h.

Member Data Documentation

◆ args

template<int N, typename... Args>
int class Tr const T const Tr& o2::vertexing::DCAFitterN< N, Args >::args
protected
Initial value:
{
static_assert(std::is_convertible<T, Track>(), "Wrong track type")

Definition at line 305 of file DCAFitterN.h.

◆ cand

template<int N, typename... Args>
int o2::vertexing::DCAFitterN< N, Args >::cand
protected
Initial value:
= 0) const { return mTrPos[mOrder[cand]][i]; }
GPUd() float getTrackX(int i, int cand = 0) const { return getTrackPos(i, cand)[0]; }
GPUd() MatStd3D getTrackRotMatrix(int i) const
{
MatStd3D mat;
mat(2, 2) = 1;
mat(0, 0) = mat(1, 1) = mTrAux[i].c;
mat(0, 1) = -mTrAux[i].s;
mat(1, 0) = mTrAux[i].s;
return mat;
}
GPUd() MatSym3D getTrackCovMatrix(int i, int cand = 0) const
{
const auto& trc = mCandTr[mOrder[cand]][i];
MatSym3D mat;
mat(0, 0) = trc.getSigmaY2() * XerrFactor;
mat(1, 1) = trc.getSigmaY2();
mat(2, 2) = trc.getSigmaZ2();
mat(2, 1) = trc.getSigmaZY();
return mat;
}
GPUd() void assign(int) {}
template <class T
int32_t i
GPUd() const auto getPCACandidatePos(int cand=0) const
return position of quality-ordered candidate in the internal structures
Definition DCAFitterN.h:138
int cand
track X-param at V0 candidate (no check for the candidate validity)
Definition DCAFitterN.h:277
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)

track X-param at V0 candidate (no check for the candidate validity)

Definition at line 277 of file DCAFitterN.h.

◆ mOrigTrPtr

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::mOrigTrPtr[i] = &t
protected

Definition at line 310 of file DCAFitterN.h.

◆ pnt

template<int N, typename... Args>
o2::vertexing::DCAFitterN< N, Args >::pnt[2] = tr.getY()
protected

Definition at line 323 of file DCAFitterN.h.

◆ t

template<int N, typename... Args>
int class Tr const T& o2::vertexing::DCAFitterN< N, Args >::t
protected

Definition at line 305 of file DCAFitterN.h.

◆ tr

template<int N, typename... Args>
const Track& o2::vertexing::DCAFitterN< N, Args >::tr
protected
Initial value:

Definition at line 320 of file DCAFitterN.h.


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