BmnRoot
Loading...
Searching...
No Matches
CbmStsKFSecondaryVertexFinder.cxx
Go to the documentation of this file.
1
9
10#include "CbmKFMath.h"
11
12#include <vector>
13
14using std::vector;
15
17 Finder.Clear();
18 vStsTracks.clear();
19 vKFTracks.clear();
20}
21
23 if( !Track ) return;
24 vStsTracks.push_back(Track);
25 vKFTracks.push_back(CbmKFTrack(*Track));
26}
27
29 if( !Guess ){
30 Finder.SetApproximation();
31 }else{
32 VGuess.SetVertex( *Guess );
33 Finder.SetApproximation(&VGuess);
34 }
35}
36
38 Finder.SetMassConstraint( MotherMass );
39}
40
42 if( !Parent ){
43 Finder.SetTopoConstraint();
44 }else{
45 VParent.SetVertex( *Parent );
46 Finder.SetTopoConstraint(&VParent);
47 }
48}
49
51 Finder.ClearTracks();
52 for(vector<CbmKFTrack>::iterator i=vKFTracks.begin(); i!=vKFTracks.end(); ++i){
53 Finder.AddTrack( &*i );
54 }
55 Finder.Fit();
56}
57
61/*
62void CbmStsKFSecondaryVertexFinder::GetFittedTrack( Int_t itrack, CbmStsTrack *Track ){
63 if(!Track) return;
64 *Track = *vStsTracks[itrack];
65 double T[6], C[15];
66 Finder.GetTrack(itrack, T, C );
67 CbmKFMath::CopyTC2TrackParam( Track->GetParamFirst(), T, C );
68}
69
70void CbmStsKFSecondaryVertexFinder::GetFittedTrack( Int_t itrack, FairTrackParam *Param ){
71 if(!Param) return;
72 double T[6], C[15];
73 Finder.GetTrack(itrack, T, C );
74 CbmKFMath::CopyTC2TrackParam( Param, T, C );
75}
76*/
78 if( !MotherTrack ) return;
79 double T[6], C[15];
80 Finder.GetMotherTrack( T, C );
81 CbmKFMath::CopyTC2TrackParam( MotherTrack->GetParamFirst(), T, C );
82 CbmKFMath::CopyTC2TrackParam( MotherTrack->GetParamLast(), T, C );
83 MotherTrack->SetPidHypo(211);
84 MotherTrack->SetChi2(0);
85 MotherTrack->SetNDF(1);
86}
87
88void CbmStsKFSecondaryVertexFinder::GetMass( Double_t *M, Double_t *Error_ ){
89 Finder.GetMass( M, Error_ );
90}
91
93 return vStsTracks[itrack];
94}
95
97 return vStsTracks.size();
98}
int i
Definition P4_F32vec4.h:22
static void CopyTC2TrackParam(FairTrackParam *par, Double_t T[], Double_t C[])
void SetTopoConstraint(CbmKFVertexInterface *Parent=0)
void GetMass(Double_t *M, Double_t *Error)
void SetApproximation(CbmKFVertexInterface *Guess=0)
void SetMassConstraint(Double_t MotherMass=-1)
void GetVertex(CbmKFVertexInterface &vtx)
void GetMotherTrack(Double_t T[], Double_t C[])
void AddTrack(CbmKFTrackInterface *Track)
void SetVertex(CbmVertex &v)
Number of tracks used during fit.
void GetMotherTrack(CbmStsTrack *MotherTrack)
void SetMassConstraint(Double_t MotherMass=-1)
void GetMass(Double_t *M, Double_t *Error)
void SetNDF(Int_t ndf)
Definition CbmStsTrack.h:87
FairTrackParam * GetParamLast()
Definition CbmStsTrack.h:70
void SetChi2(Double_t chi2)
Definition CbmStsTrack.h:86
FairTrackParam * GetParamFirst()
Definition CbmStsTrack.h:69
void SetPidHypo(Int_t pid)
Definition CbmStsTrack.h:82