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

#include <DCAFitterN.h>

Public Types

enum  BadCovPolicy : uint8_t { Discard = 0 , Override = 1 , OverrideAndFlag = 2 }
 
enum  FitStatus : uint8_t {
  None , Converged , MaxIter , NoCrossing ,
  RejRadius , RejTrackX , RejTrackRoughZ , RejChi2Max ,
  FailProp , FailInvCov , FailInvWeight , FailInv2ndDeriv ,
  FailCorrTracks , FailCloserAlt , NStatusesDefined
}
 

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 failed
 
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 () double calcCollinearInflation(int cand) const
 
 GPUd () MatSym3D calcPCACovMatrix(int cand=0) const
 
std::array< float, 6 > calcPCACovMatrixFlat (int cand=0) const
 
const Track * getOrigTrackPtr (int i) const
 
 GPUdi () FitStatus getFitStatus(int cand=0) const noexcept
 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 107 of file DCAFitterN.h.

Member Enumeration Documentation

◆ BadCovPolicy

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

Definition at line 131 of file DCAFitterN.h.

◆ FitStatus

template<int N, typename... Args>
enum o2::vertexing::DCAFitterN::FitStatus : uint8_t
Enumerator
None 
Converged 
MaxIter 
NoCrossing 
RejRadius 
RejTrackX 
RejTrackRoughZ 
RejChi2Max 
FailProp 
FailInvCov 
FailInvWeight 
FailInv2ndDeriv 
FailCorrTracks 
FailCloserAlt 
NStatusesDefined 

Definition at line 137 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 163 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>
std::array< float, 6 > o2::vertexing::DCAFitterN< N, Args >::calcPCACovMatrixFlat ( int  cand = 0) const
inline

Definition at line 230 of file DCAFitterN.h.

◆ getBadCovPolicy()

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

Definition at line 366 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 178 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 181 of file DCAFitterN.h.

◆ getNProngs()

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

Definition at line 160 of file DCAFitterN.h.

◆ getOrigTrackPtr()

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

Definition at line 236 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 195 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 205 of file DCAFitterN.h.

◆ GPUd() [1/28]

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

◆ GPUd() [2/28]

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

◆ GPUd() [3/28]

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

◆ GPUd() [4/28]

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

◆ GPUd() [5/28]

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

check if propagation of tracks to candidate vertex failed

Definition at line 188 of file DCAFitterN.h.

◆ GPUd() [6/28]

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

◆ GPUd() [7/28]

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

◆ GPUd() [8/28]

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/28]

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/28]

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

◆ GPUd() [11/28]

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 171 of file DCAFitterN.h.

◆ GPUd() [12/28]

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 170 of file DCAFitterN.h.

◆ GPUd() [13/28]

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

◆ GPUd() [14/28]

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

◆ GPUd() [15/28]

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

◆ GPUd() [16/28]

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

◆ GPUd() [17/28]

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() [18/28]

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

◆ GPUd() [19/28]

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

◆ GPUd() [20/28]

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

◆ GPUd() [21/28]

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

◆ GPUd() [22/28]

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

◆ GPUd() [23/28]

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

◆ GPUd() [24/28]

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

◆ GPUd() [25/28]

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

◆ GPUd() [26/28]

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

◆ GPUd() [27/28]

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

◆ GPUd() [28/28]

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

◆ GPUdi() [1/10]

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

◆ GPUdi() [2/10]

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

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

Definition at line 238 of file DCAFitterN.h.

◆ GPUdi() [3/10]

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

Definition at line 285 of file DCAFitterN.h.

◆ GPUdi() [4/10]

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

Definition at line 241 of file DCAFitterN.h.

◆ GPUdi() [5/10]

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

Definition at line 287 of file DCAFitterN.h.

◆ GPUdi() [6/10]

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

◆ GPUdi() [7/10]

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

Definition at line 339 of file DCAFitterN.h.

◆ GPUdi() [8/10]

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

Definition at line 358 of file DCAFitterN.h.

◆ GPUdi() [9/10]

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

Definition at line 286 of file DCAFitterN.h.

◆ GPUdi() [10/10]

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 191 of file DCAFitterN.h.

◆ setBadCovPolicy()

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

Definition at line 365 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 330 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() void assign(int) {}
template <class T
std::function< void(void *, const void *)> assign
int32_t i
GPUd() const auto getPCACandidatePos(int cand=0) const
return position of quality-ordered candidate in the internal structures
Definition DCAFitterN.h:171
int cand
track X-param at V0 candidate (no check for the candidate validity)
Definition DCAFitterN.h:313
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)

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

Definition at line 313 of file DCAFitterN.h.

◆ mOrigTrPtr

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

Definition at line 335 of file DCAFitterN.h.

◆ pnt

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

Definition at line 354 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 330 of file DCAFitterN.h.

◆ tr

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

Definition at line 351 of file DCAFitterN.h.


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