BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
CbmStsKFSecondaryVertexFinder.cxx
Go to the documentation of this file.
1
/** Implementation of the CbmKFSecondaryVertexFinder class
2
*
3
* @author S.Gorbunov, I.Kisel
4
* @version 1.0
5
* @since 06.02.06
6
*
7
*/
8
#include "
CbmStsKFSecondaryVertexFinder.h
"
9
10
#include "CbmKFMath.h"
11
12
#include <vector>
13
14
using
std::vector;
15
16
void
CbmStsKFSecondaryVertexFinder::Clear
()
17
{
18
Finder
.Clear();
19
vStsTracks
.clear();
20
vKFTracks
.clear();
21
}
22
23
void
CbmStsKFSecondaryVertexFinder::AddTrack
(
CbmStsTrack
* Track)
24
{
25
if
(!Track)
26
return
;
27
vStsTracks
.push_back(Track);
28
vKFTracks
.push_back(
CbmKFTrack
(*Track));
29
}
30
31
void
CbmStsKFSecondaryVertexFinder::SetApproximation
(
CbmVertex
* Guess)
32
{
33
if
(!Guess) {
34
Finder
.SetApproximation();
35
}
else
{
36
VGuess
.SetVertex(*Guess);
37
Finder
.SetApproximation(&
VGuess
);
38
}
39
}
40
41
void
CbmStsKFSecondaryVertexFinder::SetMassConstraint
(
Double_t
MotherMass)
42
{
43
Finder
.SetMassConstraint(MotherMass);
44
}
45
46
void
CbmStsKFSecondaryVertexFinder::SetTopoConstraint
(
CbmVertex
* Parent)
47
{
48
if
(!Parent) {
49
Finder
.SetTopoConstraint();
50
}
else
{
51
VParent
.SetVertex(*Parent);
52
Finder
.SetTopoConstraint(&
VParent
);
53
}
54
}
55
56
void
CbmStsKFSecondaryVertexFinder::Fit
()
57
{
58
Finder
.ClearTracks();
59
for
(vector<CbmKFTrack>::iterator
i
=
vKFTracks
.begin();
i
!=
vKFTracks
.end(); ++
i
) {
60
Finder
.AddTrack(&*
i
);
61
}
62
Finder
.Fit();
63
}
64
65
void
CbmStsKFSecondaryVertexFinder::GetVertex
(
CbmVertex
& vtx)
66
{
67
Finder
.GetVertex(vtx);
68
}
69
/*
70
void CbmStsKFSecondaryVertexFinder::GetFittedTrack( Int_t itrack, CbmStsTrack *Track ){
71
if(!Track) return;
72
*Track = *vStsTracks[itrack];
73
double T[6], C[15];
74
Finder.GetTrack(itrack, T, C );
75
CbmKFMath::CopyTC2TrackParam( Track->GetParamFirst(), T, C );
76
}
77
78
void CbmStsKFSecondaryVertexFinder::GetFittedTrack( Int_t itrack, FairTrackParam *Param ){
79
if(!Param) return;
80
double T[6], C[15];
81
Finder.GetTrack(itrack, T, C );
82
CbmKFMath::CopyTC2TrackParam( Param, T, C );
83
}
84
*/
85
void
CbmStsKFSecondaryVertexFinder::GetMotherTrack
(
CbmStsTrack
* MotherTrack)
86
{
87
if
(!MotherTrack)
88
return
;
89
double
T[6], C[15];
90
Finder
.GetMotherTrack(T, C);
91
CbmKFMath::CopyTC2TrackParam
(MotherTrack->
GetParamFirst
(), T, C);
92
CbmKFMath::CopyTC2TrackParam
(MotherTrack->
GetParamLast
(), T, C);
93
MotherTrack->
SetPidHypo
(211);
94
MotherTrack->
SetChi2
(0);
95
MotherTrack->
SetNDF
(1);
96
}
97
98
void
CbmStsKFSecondaryVertexFinder::GetMass
(
Double_t
* M,
Double_t
* Error_)
99
{
100
Finder
.GetMass(M, Error_);
101
}
102
103
CbmStsTrack
*
CbmStsKFSecondaryVertexFinder::GetTrack
(
Int_t
itrack)
104
{
105
return
vStsTracks
[itrack];
106
}
107
108
Int_t
CbmStsKFSecondaryVertexFinder::GetNTracks
()
109
{
110
return
vStsTracks
.size();
111
}
CbmStsKFSecondaryVertexFinder.h
i
int i
Definition
P4_F32vec4.h:22
Int_t
int Int_t
Double_t
double Double_t
CbmKFMath::CopyTC2TrackParam
static void CopyTC2TrackParam(FairTrackParam *par, Double_t T[], Double_t C[])
Definition
CbmKFMath.cxx:773
CbmKFTrack
Definition
CbmKFTrack.h:22
CbmStsKFSecondaryVertexFinder::GetTrack
CbmStsTrack * GetTrack(Int_t itrack)
Definition
CbmStsKFSecondaryVertexFinder.cxx:103
CbmStsKFSecondaryVertexFinder::Clear
void Clear()
Definition
CbmStsKFSecondaryVertexFinder.cxx:16
CbmStsKFSecondaryVertexFinder::GetMotherTrack
void GetMotherTrack(CbmStsTrack *MotherTrack)
Definition
CbmStsKFSecondaryVertexFinder.cxx:85
CbmStsKFSecondaryVertexFinder::GetNTracks
Int_t GetNTracks()
Definition
CbmStsKFSecondaryVertexFinder.cxx:108
CbmStsKFSecondaryVertexFinder::VParent
CbmKFVertex VParent
Definition
CbmStsKFSecondaryVertexFinder.h:25
CbmStsKFSecondaryVertexFinder::VGuess
CbmKFVertex VGuess
Definition
CbmStsKFSecondaryVertexFinder.h:25
CbmStsKFSecondaryVertexFinder::SetMassConstraint
void SetMassConstraint(Double_t MotherMass=-1)
Definition
CbmStsKFSecondaryVertexFinder.cxx:41
CbmStsKFSecondaryVertexFinder::GetVertex
void GetVertex(CbmVertex &vtx)
Definition
CbmStsKFSecondaryVertexFinder.cxx:65
CbmStsKFSecondaryVertexFinder::SetTopoConstraint
void SetTopoConstraint(CbmVertex *Parent=0)
Definition
CbmStsKFSecondaryVertexFinder.cxx:46
CbmStsKFSecondaryVertexFinder::Finder
CbmKFSecondaryVertexFinder Finder
Definition
CbmStsKFSecondaryVertexFinder.h:26
CbmStsKFSecondaryVertexFinder::AddTrack
void AddTrack(CbmStsTrack *Track)
Definition
CbmStsKFSecondaryVertexFinder.cxx:23
CbmStsKFSecondaryVertexFinder::Fit
void Fit()
Definition
CbmStsKFSecondaryVertexFinder.cxx:56
CbmStsKFSecondaryVertexFinder::vKFTracks
std::vector< CbmKFTrack > vKFTracks
Definition
CbmStsKFSecondaryVertexFinder.h:24
CbmStsKFSecondaryVertexFinder::SetApproximation
void SetApproximation(CbmVertex *Guess=0)
Definition
CbmStsKFSecondaryVertexFinder.cxx:31
CbmStsKFSecondaryVertexFinder::vStsTracks
std::vector< CbmStsTrack * > vStsTracks
Definition
CbmStsKFSecondaryVertexFinder.h:23
CbmStsKFSecondaryVertexFinder::GetMass
void GetMass(Double_t *M, Double_t *Error)
Definition
CbmStsKFSecondaryVertexFinder.cxx:98
CbmStsTrack
Definition
CbmStsTrack.h:28
CbmStsTrack::SetNDF
void SetNDF(Int_t ndf)
Definition
CbmStsTrack.h:87
CbmStsTrack::GetParamLast
FairTrackParam * GetParamLast()
Definition
CbmStsTrack.h:70
CbmStsTrack::SetChi2
void SetChi2(Double_t chi2)
Definition
CbmStsTrack.h:86
CbmStsTrack::GetParamFirst
FairTrackParam * GetParamFirst()
Definition
CbmStsTrack.h:69
CbmStsTrack::SetPidHypo
void SetPidHypo(Int_t pid)
Modifiers.
Definition
CbmStsTrack.h:82
CbmVertex
CbmVertex.h.
Definition
CbmVertex.h:21
reconstruction
KF
Interface
CbmStsKFSecondaryVertexFinder.cxx
Generated on
for BmnRoot by
1.17.0