BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmPVFinderKF.cxx
Go to the documentation of this file.
1#include "CbmPVFinderKF.h"
2
3#include "CbmKFPrimaryVertexFinder.h"
4#include "CbmKFTrack.h"
5#include "CbmKFVertex.h"
6#include "CbmStsTrack.h"
7#include "TClonesArray.h"
8#include "math.h"
9
11{
12
13 Int_t NTracks = tracks->GetEntries();
14
16 CbmKFTrack* CloneArray = new CbmKFTrack[NTracks];
17 for (Int_t i = 0; i < NTracks; i++) {
18 CbmStsTrack* st = (CbmStsTrack*)tracks->At(i);
19 Int_t NHits = st->GetNStsHits();
20 if (NHits < 4)
21 continue;
22 if (st->GetFlag())
23 continue;
24 if (st->GetChi2() < 0. || st->GetChi2() > 3.5 * 3.5 * st->GetNDF())
25 continue;
26 CbmKFTrack& T = CloneArray[i];
27 T.SetStsTrack(*st);
28 if (!finite(T.GetTrack()[0]) || !finite(T.GetCovMatrix()[0]))
29 continue;
30 Finder.AddTrack(&T);
31 }
33 Finder.Fit(v);
34 v.GetVertex(*vertex);
35 delete[] CloneArray;
36 return 0;
37}
__m128 v
Definition P4_F32vec4.h:1
int i
Definition P4_F32vec4.h:22
int Int_t
The CbmKFPrimaryVertexFinder class.
void AddTrack(CbmKFTrackInterface *Track)
void Fit(CbmKFVertexInterface &vtx)
void SetStsTrack(CbmStsTrack &track, bool first=1)
Int_t FindPrimaryVertex(TClonesArray *tracks, CbmVertex *vertex)
Execution of PV finding.
Int_t GetFlag() const
Definition CbmStsTrack.h:65
Int_t GetNStsHits() const
Accessors.
Definition CbmStsTrack.h:60
Double_t GetChi2() const
Definition CbmStsTrack.h:66
Int_t GetNDF() const
Definition CbmStsTrack.h:67
CbmVertex.h.
Definition CbmVertex.h:21
Int_t GetEntries() const override
TObject * At(Int_t idx) const override
friend friend class TClonesArray