BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
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 */
9
10#include "CbmKFMath.h"
11
12#include <vector>
13
14using std::vector;
15
17{
18 Finder.Clear();
19 vStsTracks.clear();
20 vKFTracks.clear();
21}
22
24{
25 if (!Track)
26 return;
27 vStsTracks.push_back(Track);
28 vKFTracks.push_back(CbmKFTrack(*Track));
29}
30
32{
33 if (!Guess) {
34 Finder.SetApproximation();
35 } else {
36 VGuess.SetVertex(*Guess);
37 Finder.SetApproximation(&VGuess);
38 }
39}
40
42{
43 Finder.SetMassConstraint(MotherMass);
44}
45
47{
48 if (!Parent) {
49 Finder.SetTopoConstraint();
50 } else {
51 VParent.SetVertex(*Parent);
52 Finder.SetTopoConstraint(&VParent);
53 }
54}
55
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
66{
67 Finder.GetVertex(vtx);
68}
69/*
70void 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
78void 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*/
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
99{
100 Finder.GetMass(M, Error_);
101}
102
107
int i
Definition P4_F32vec4.h:22
int Int_t
double Double_t
static void CopyTC2TrackParam(FairTrackParam *par, Double_t T[], Double_t C[])
void GetMotherTrack(CbmStsTrack *MotherTrack)
void SetMassConstraint(Double_t MotherMass=-1)
std::vector< CbmStsTrack * > vStsTracks
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)
Modifiers.
Definition CbmStsTrack.h:82
CbmVertex.h.
Definition CbmVertex.h:21