BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnKFPrimaryVertexFinder Class Reference

The BmnKFPrimaryVertexFinder class - adaptation of MpdKfPrimaryVertexFinder. More...

#include <BmnKFPrimaryVertexFinder.h>

Inheritance diagram for BmnKFPrimaryVertexFinder:
Collaboration diagram for BmnKFPrimaryVertexFinder:

Public Member Functions

 BmnKFPrimaryVertexFinder ()
 ~BmnKFPrimaryVertexFinder ()
InitStatus Init ()
void Exec (Option_t *option)
void Clear ()
void AddTrack (CbmKFTrackInterface *Track)
void SetTracks (std::vector< CbmKFTrackInterface * > &vTracks)
void EvalVertex ()
void Fit (CbmKFVertexInterface &vtx)
Bool_t ComputeAandB (TMatrixD &xk0, CbmKFTrackInterface &track, Double_t zhit, TMatrixD &a, TMatrixD &b, TMatrixD &ck0)
void FindPca (CbmKFTrackInterface &track, Double_t *vert)
CbmVertex * GetVertex () const
void SetTrackArray (TClonesArray *trArray)
 BmnKFPrimaryVertexFinder ()
 ~BmnKFPrimaryVertexFinder ()
InitStatus Init ()
void Exec (Option_t *option)
void Clear ()
void AddTrack (CbmKFTrackInterface *Track)
void SetTracks (std::vector< CbmKFTrackInterface * > &vTracks)
void EvalVertex ()
void Fit (CbmKFVertexInterface &vtx)
Bool_t ComputeAandB (TMatrixD &xk0, CbmKFTrackInterface &track, Double_t zhit, TMatrixD &a, TMatrixD &b, TMatrixD &ck0)
void FindPca (CbmKFTrackInterface &track, Double_t *vert)
CbmVertex * GetVertex () const
void SetTrackArray (TClonesArray *trArray)

Private Attributes

std::vector< CbmKFTrackInterface * > fTracks
TClonesArray * fInputTracks
CbmVertex * fPrimVert
TH1D * fHist [2]
TH1D * fHistw [2]
TH1D * fHistPca
TH1D * fHistErr [2]
TH1D * fHistZ
TH1D * fHistR
TH2D * fHZR
TH3D * fHist3
TH3D * fHistw3
Double_t fSigma [3]
Double_t fMean [3]
std::vector< int > fTrkID

Detailed Description

Author
A.Zinchenko
Version
1.0
Since
12.10.2023

Class to find primary vertex with the Kalman Filter method

Definition at line 24 of file BmnKFPrimaryVertexFinder.h.

Constructor & Destructor Documentation

◆ BmnKFPrimaryVertexFinder() [1/2]

BmnKFPrimaryVertexFinder::BmnKFPrimaryVertexFinder ( )
inline

Definition at line 38 of file BmnKFPrimaryVertexFinder.h.

References fPrimVert, and fTracks.

◆ ~BmnKFPrimaryVertexFinder() [1/2]

BmnKFPrimaryVertexFinder::~BmnKFPrimaryVertexFinder ( )
inline

Definition at line 41 of file BmnKFPrimaryVertexFinder.h.

References fPrimVert.

◆ BmnKFPrimaryVertexFinder() [2/2]

BmnKFPrimaryVertexFinder::BmnKFPrimaryVertexFinder ( )
inline

Definition at line 38 of file BmnKFPrimaryVertexFinder.h.

References fPrimVert, and fTracks.

◆ ~BmnKFPrimaryVertexFinder() [2/2]

BmnKFPrimaryVertexFinder::~BmnKFPrimaryVertexFinder ( )
inline

Definition at line 41 of file BmnKFPrimaryVertexFinder.h.

References fPrimVert.

Member Function Documentation

◆ AddTrack() [1/2]

void BmnKFPrimaryVertexFinder::AddTrack ( CbmKFTrackInterface * Track)

Definition at line 158 of file BmnKFPrimaryVertexFinder.cxx.

References fTracks.

Referenced by Exec().

Here is the caller graph for this function:

◆ AddTrack() [2/2]

void BmnKFPrimaryVertexFinder::AddTrack ( CbmKFTrackInterface * Track)

◆ Clear() [1/2]

void BmnKFPrimaryVertexFinder::Clear ( )

Definition at line 138 of file BmnKFPrimaryVertexFinder.cxx.

References fHist, fHist3, fHistErr, fHistR, fHistw, fHistw3, fHistZ, fHZR, fTracks, and fTrkID.

Referenced by Exec().

Here is the caller graph for this function:

◆ Clear() [2/2]

void BmnKFPrimaryVertexFinder::Clear ( )

◆ ComputeAandB() [1/2]

Bool_t BmnKFPrimaryVertexFinder::ComputeAandB ( TMatrixD & xk0,
CbmKFTrackInterface & track,
Double_t zhit,
TMatrixD & a,
TMatrixD & b,
TMatrixD & ck0 )

Compute matrices of derivatives w.r.t. vertex coordinates and track momentum

Definition at line 811 of file BmnKFPrimaryVertexFinder.cxx.

References CbmKFTrackInterface::Extrapolate(), CbmKFTrackInterface::GetCovMatrix(), TMatrixT< class Element >::GetMatrixArray(), CbmKFTrack::GetTrack(), i, CbmKFMath::indexS(), TMatrixT< Double_t >::kMult, TMath::Sign(), and TMath::Sqrt().

Referenced by Fit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeAandB() [2/2]

Bool_t BmnKFPrimaryVertexFinder::ComputeAandB ( TMatrixD & xk0,
CbmKFTrackInterface & track,
Double_t zhit,
TMatrixD & a,
TMatrixD & b,
TMatrixD & ck0 )

◆ EvalVertex() [1/2]

void BmnKFPrimaryVertexFinder::EvalVertex ( )

Definition at line 172 of file BmnKFPrimaryVertexFinder.cxx.

References TMath::Abs(), dist(), TH1::Draw(), CbmKFTrackInterface::Extrapolate(), fHist, fHist3, fHistErr, fHistR, fHistw, fHistw3, fHistZ, fHZR, TAxis::FindBin(), fInputTracks, fMean, fPrimVert, fSigma, fTracks, CbmKFTrack::GetCovMatrix(), TH1::GetMaximum(), TH1::GetMaximumBin(), TAxis::GetNbins(), CbmStsTrack::GetNStsHits(), CbmStsTrack::GetParamFirst(), CbmKFTrack::GetTrack(), TH1::GetXaxis(), i, CbmKF::Instance(), TMath::Max(), TMath::Min(), TPad::Modified(), TAxis::SetRange(), TMath::Sqrt(), TCanvas::Update(), CbmKF::vTargets, CbmKFTube::z, and z.

Referenced by Exec().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EvalVertex() [2/2]

void BmnKFPrimaryVertexFinder::EvalVertex ( )

◆ Exec() [1/2]

void BmnKFPrimaryVertexFinder::Exec ( Option_t * option)

Definition at line 60 of file BmnKFPrimaryVertexFinder.cxx.

References AddTrack(), Clear(), EvalVertex(), fInputTracks, Fit(), fPrimVert, fTrkID, CbmStsTrack::GetChi2(), CbmStsTrack::GetFlag(), CbmStsTrack::GetNDF(), CbmStsTrack::GetNStsHits(), i, TMath::Min(), CbmStsTrack::SetFlag(), CbmKFTrack::SetStsTrack(), and v.

Here is the call graph for this function:

◆ Exec() [2/2]

void BmnKFPrimaryVertexFinder::Exec ( Option_t * option)

◆ FindPca() [1/2]

void BmnKFPrimaryVertexFinder::FindPca ( CbmKFTrackInterface & track,
Double_t * vert )

Definition at line 928 of file BmnKFPrimaryVertexFinder.cxx.

References dist(), CbmKFTrackInterface::Extrapolate(), fHistPca, TF1::GetMinimumX(), CbmKFTrackInterface::GetTrack(), i, and TMath::Sqrt().

Here is the call graph for this function:

◆ FindPca() [2/2]

void BmnKFPrimaryVertexFinder::FindPca ( CbmKFTrackInterface & track,
Double_t * vert )

◆ Fit() [1/2]

void BmnKFPrimaryVertexFinder::Fit ( CbmKFVertexInterface & vtx)

Definition at line 420 of file BmnKFPrimaryVertexFinder.cxx.

References ComputeAandB(), CbmKFTube::dz, fMean, fSigma, fTracks, fTrkID, CbmKFVertexInterface::GetCovMatrix(), CbmKFVertexInterface::GetRefChi2(), CbmKFVertexInterface::GetRefNDF(), CbmKFVertexInterface::GetRefNTracks(), CbmKFVertexInterface::GetRefX(), CbmKFVertexInterface::GetRefY(), CbmKFVertexInterface::GetRefZ(), i, CbmKFMath::indexS(), CbmKF::Instance(), TMatrixT< class Element >::Invert(), TMatrixT< Double_t >::kInverted, TMatrixT< Double_t >::kMult, TMatrixT< Double_t >::kTransposeMult, m, TMath::Max(), TMath::Min(), CbmKFTube::RR, TMath::Sqrt(), CbmKF::vTargets, and CbmKFTube::z.

Referenced by Exec().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Fit() [2/2]

void BmnKFPrimaryVertexFinder::Fit ( CbmKFVertexInterface & vtx)

◆ GetVertex() [1/2]

CbmVertex * BmnKFPrimaryVertexFinder::GetVertex ( ) const
inline

Definition at line 63 of file BmnKFPrimaryVertexFinder.h.

References fPrimVert.

◆ GetVertex() [2/2]

CbmVertex * BmnKFPrimaryVertexFinder::GetVertex ( ) const
inline

Definition at line 63 of file BmnKFPrimaryVertexFinder.h.

References fPrimVert.

◆ Init() [1/2]

InitStatus BmnKFPrimaryVertexFinder::Init ( )

◆ Init() [2/2]

InitStatus BmnKFPrimaryVertexFinder::Init ( )

◆ SetTrackArray() [1/2]

void BmnKFPrimaryVertexFinder::SetTrackArray ( TClonesArray * trArray)
inline

Definition at line 64 of file BmnKFPrimaryVertexFinder.h.

References fInputTracks.

◆ SetTrackArray() [2/2]

void BmnKFPrimaryVertexFinder::SetTrackArray ( TClonesArray * trArray)
inline

Definition at line 64 of file BmnKFPrimaryVertexFinder.h.

References fInputTracks.

◆ SetTracks() [1/2]

void BmnKFPrimaryVertexFinder::SetTracks ( std::vector< CbmKFTrackInterface * > & vTracks)

◆ SetTracks() [2/2]

void BmnKFPrimaryVertexFinder::SetTracks ( std::vector< CbmKFTrackInterface * > & vTracks)

Member Data Documentation

◆ fHist

TH1D * BmnKFPrimaryVertexFinder::fHist
private

Definition at line 29 of file BmnKFPrimaryVertexFinder.h.

Referenced by Clear(), EvalVertex(), and Init().

◆ fHist3

TH3D * BmnKFPrimaryVertexFinder::fHist3
private

Definition at line 31 of file BmnKFPrimaryVertexFinder.h.

Referenced by Clear(), EvalVertex(), and Init().

◆ fHistErr

TH1D * BmnKFPrimaryVertexFinder::fHistErr
private

Definition at line 29 of file BmnKFPrimaryVertexFinder.h.

Referenced by Clear(), EvalVertex(), and Init().

◆ fHistPca

TH1D * BmnKFPrimaryVertexFinder::fHistPca
private

Definition at line 29 of file BmnKFPrimaryVertexFinder.h.

Referenced by FindPca(), and Init().

◆ fHistR

TH1D * BmnKFPrimaryVertexFinder::fHistR
private

Definition at line 29 of file BmnKFPrimaryVertexFinder.h.

Referenced by Clear(), EvalVertex(), and Init().

◆ fHistw

TH1D * BmnKFPrimaryVertexFinder::fHistw
private

Definition at line 29 of file BmnKFPrimaryVertexFinder.h.

Referenced by Clear(), EvalVertex(), and Init().

◆ fHistw3

TH3D * BmnKFPrimaryVertexFinder::fHistw3
private

Definition at line 31 of file BmnKFPrimaryVertexFinder.h.

Referenced by Clear(), EvalVertex(), and Init().

◆ fHistZ

TH1D * BmnKFPrimaryVertexFinder::fHistZ
private

Definition at line 29 of file BmnKFPrimaryVertexFinder.h.

Referenced by Clear(), EvalVertex(), and Init().

◆ fHZR

TH2D * BmnKFPrimaryVertexFinder::fHZR
private

Definition at line 30 of file BmnKFPrimaryVertexFinder.h.

Referenced by Clear(), EvalVertex(), and Init().

◆ fInputTracks

TClonesArray * BmnKFPrimaryVertexFinder::fInputTracks
private

Definition at line 27 of file BmnKFPrimaryVertexFinder.h.

Referenced by EvalVertex(), Exec(), Init(), and SetTrackArray().

◆ fMean

Double_t BmnKFPrimaryVertexFinder::fMean
private

Definition at line 33 of file BmnKFPrimaryVertexFinder.h.

Referenced by EvalVertex(), and Fit().

◆ fPrimVert

CbmVertex * BmnKFPrimaryVertexFinder::fPrimVert
private

◆ fSigma

Double_t BmnKFPrimaryVertexFinder::fSigma
private

Definition at line 32 of file BmnKFPrimaryVertexFinder.h.

Referenced by EvalVertex(), and Fit().

◆ fTracks

std::vector< CbmKFTrackInterface * > BmnKFPrimaryVertexFinder::fTracks
private

Definition at line 26 of file BmnKFPrimaryVertexFinder.h.

Referenced by BmnKFPrimaryVertexFinder(), AddTrack(), Clear(), EvalVertex(), and Fit().

◆ fTrkID

std::vector< int > BmnKFPrimaryVertexFinder::fTrkID
private

Definition at line 34 of file BmnKFPrimaryVertexFinder.h.

Referenced by Clear(), Exec(), and Fit().


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