BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmKFTrack.cxx
Go to the documentation of this file.
1#include "CbmKFTrack.h"
2
3#include "CbmKFMath.h"
4#include "CbmStsTrack.h"
5#include "FairTrackParam.h"
6#include "TDatabasePDG.h"
7#include "TMath.h"
8#include "TParticlePDG.h"
9
11 : fMass(0)
12 , fChi2(0)
14 , fNDF(0)
15 , fHits()
16{
17 for (Int_t i = 0; i < 6; i++)
18 fT[i] = 0.;
19 for (Int_t i = 0; i < 15; i++)
20 fC[i] = 0.;
21}
22
24{
25 for (Int_t i = 0; i < 6; i++)
26 fT[i] = track.GetTrack()[i];
27 for (Int_t i = 0; i < 15; i++)
28 fC[i] = track.GetCovMatrix()[i];
29 fMass = track.GetMass();
30 fIsElectron = track.IsElectron();
31 fChi2 = track.GetRefChi2();
32 fNDF = track.GetRefNDF();
33}
34
35void CbmKFTrack::SetTrackParam(FairTrackParam& track)
36{
38}
39
40void CbmKFTrack::SetStsTrack(CbmStsTrack& track, bool first)
41{
42 SetPID(track.GetPidHypo());
43 SetTrackParam(first ? *track.GetParamFirst() : *track.GetParamLast());
44 GetRefChi2() = track.GetChi2();
45 GetRefNDF() = track.GetNDF();
46}
47
48void CbmKFTrack::GetTrackParam(FairTrackParam& track)
49{
51}
52
53void CbmKFTrack::GetStsTrack(CbmStsTrack& track, bool first)
54{
55 GetTrackParam(first ? *track.GetParamFirst() : *track.GetParamLast());
56 track.SetChi2(GetRefChi2());
57 track.SetNDF(GetRefNDF());
58}
59
61{
62 TParticlePDG* particlePDG = TDatabasePDG::Instance()->GetParticle(pidHypo);
63 fMass = (particlePDG) ? particlePDG->Mass() : 0.13957;
64 fIsElectron = (TMath::Abs(pidHypo) == 11);
65}
int i
Definition P4_F32vec4.h:22
int Int_t
constexpr Bool_t kFALSE
static void CopyTC2TrackParam(FairTrackParam *par, Double_t T[], Double_t C[])
static void CopyTrackParam2TC(FairTrackParam *par, Double_t T[], Double_t C[])
virtual Double_t * GetTrack()
Is it electron.
virtual Int_t & GetRefNDF()
Chi^2 after fit.
virtual Double_t * GetCovMatrix()
array[6] of track parameters(x,y,tx,ty,qp,z)
virtual Double_t GetMass()
Information not to be changed.
virtual Double_t & GetRefChi2()
array[15] of covariance matrix
virtual Bool_t IsElectron()
Mass hypothesis.
void GetStsTrack(CbmStsTrack &track, bool first=1)
std::vector< CbmKFHit * > fHits
Definition CbmKFTrack.h:30
void SetTrack(CbmKFTrackInterface &track)
Int_t fNDF
Definition CbmKFTrack.h:27
void SetStsTrack(CbmStsTrack &track, bool first=1)
Bool_t fIsElectron
Definition CbmKFTrack.h:26
void SetTrackParam(FairTrackParam &track)
void GetTrackParam(FairTrackParam &track)
Double_t fT[6]
Definition CbmKFTrack.h:25
Double_t fChi2
Definition CbmKFTrack.h:25
Double_t fMass
Definition CbmKFTrack.h:25
Double_t fC[15]
Definition CbmKFTrack.h:25
Double_t & GetRefChi2()
array[15] of covariance matrix
Definition CbmKFTrack.h:76
Int_t & GetRefNDF()
Chi^2 after fit.
Definition CbmKFTrack.h:77
void SetPID(Int_t pidHypo)
void SetNDF(Int_t ndf)
Definition CbmStsTrack.h:87
FairTrackParam * GetParamLast()
Definition CbmStsTrack.h:70
Int_t GetPidHypo() const
Definition CbmStsTrack.h:64
void SetChi2(Double_t chi2)
Definition CbmStsTrack.h:86
Double_t GetChi2() const
Definition CbmStsTrack.h:66
FairTrackParam * GetParamFirst()
Definition CbmStsTrack.h:69
Int_t GetNDF() const
Definition CbmStsTrack.h:67
static TDatabasePDG * Instance()
TParticlePDG * GetParticle(const char *name) const
Double_t Mass() const
Double_t Abs(Double_t d)