BmnRoot
Loading...
Searching...
No Matches
CbmKFTrack.cxx
Go to the documentation of this file.
1#include "CbmKFTrack.h"
2
3#include "CbmKFMath.h"
4
5#include "FairTrackParam.h"
6#include "CbmStsTrack.h"
7
8#include "TParticlePDG.h"
9#include "TDatabasePDG.h"
10#include "TMath.h"
11
12
13CbmKFTrack::CbmKFTrack(): fMass(0), fChi2(0), fIsElectron(kFALSE), fNDF(0), fHits(){
14 for (Int_t i=0; i<6; i++) fT[i]=0.;
15 for (Int_t i=0; i<15; i++) fC[i]=0.;
16}
17
18
20 for( Int_t i=0; i<6; i++) fT[i] = track.GetTrack()[i];
21 for( Int_t i=0; i<15; i++) fC[i] = track.GetCovMatrix()[i];
22 fMass = track.GetMass();
23 fIsElectron = track.IsElectron();
24 fChi2 = track.GetRefChi2();
25 fNDF = track.GetRefNDF();
26}
27
28void CbmKFTrack::SetTrackParam( FairTrackParam &track )
29{
30 CbmKFMath::CopyTrackParam2TC( &track, fT, fC );
31}
32
33void CbmKFTrack::SetStsTrack( CbmStsTrack &track, bool first )
34{
35 SetPID( track.GetPidHypo() );
36 SetTrackParam( first? *track.GetParamFirst() : *track.GetParamLast() );
37 GetRefChi2() = track.GetChi2();
38 GetRefNDF() = track.GetNDF();
39}
40
41void CbmKFTrack::GetTrackParam( FairTrackParam &track )
42{
43 CbmKFMath::CopyTC2TrackParam( &track, fT, fC );
44}
45
46void CbmKFTrack::GetStsTrack( CbmStsTrack &track, bool first )
47{
48 GetTrackParam( first? *track.GetParamFirst() : *track.GetParamLast() );
49 track.SetChi2( GetRefChi2() );
50 track.SetNDF( GetRefNDF() );
51}
52
53void CbmKFTrack::SetPID( Int_t pidHypo )
54{
55 TParticlePDG* particlePDG = TDatabasePDG::Instance()->GetParticle(pidHypo);
56 fMass = (particlePDG) ? particlePDG->Mass() :0.13957;
57 fIsElectron = (TMath::Abs(pidHypo)==11);
58}
int i
Definition P4_F32vec4.h:22
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()
virtual Double_t & GetRefChi2()
array[15] of covariance matrix
virtual Bool_t IsElectron()
Mass hypothesis.
void GetStsTrack(CbmStsTrack &track, bool first=1)
void SetTrack(CbmKFTrackInterface &track)
void SetStsTrack(CbmStsTrack &track, bool first=1)
void SetTrackParam(FairTrackParam &track)
void GetTrackParam(FairTrackParam &track)
Double_t & GetRefChi2()
array[15] of covariance matrix
Definition CbmKFTrack.h:53
Int_t & GetRefNDF()
Chi^2 after fit.
Definition CbmKFTrack.h:54
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