BmnRoot
Loading...
Searching...
No Matches
BmnKFPrimaryVertexFinder.h
Go to the documentation of this file.
1
10#ifndef BMNKFPRIMARYVERTEXFINDER_H
11#define BMNKFPRIMARYVERTEXFINDER_H
12
13#include "CbmKFTrackInterface.h"
15#include "CbmVertex.h"
16#include "FairTask.h"
17#include "TClonesArray.h"
18
19#include <TH1.h>
20#include <TH3.h> // AZ-300525
21#include <TMatrixD.h>
22#include <vector>
23
24class BmnKFPrimaryVertexFinder : public FairTask
25{
26 std::vector<CbmKFTrackInterface*> fTracks;
27 TClonesArray* fInputTracks;
28 CbmVertex* fPrimVert;
29 TH1D *fHist[2], *fHistw[2], *fHistPca, *fHistErr[2], *fHistZ, *fHistR;
30 TH2D* fHZR; // AZ-310525
31 TH3D *fHist3, *fHistw3; // AZ-300525
32 Double_t fSigma[3];
33 Double_t fMean[3];
34 std::vector<int> fTrkID; // AZ-090824 - track indices
35
36 public:
37 // AZ-151023 BmnKFPrimaryVertexFinder():fTracks() { Clear(); };
39 : fTracks()
40 , fPrimVert(nullptr) {};
42 {
43 if (fPrimVert)
44 delete fPrimVert;
45 };
46
47 InitStatus Init();
48 void Exec(Option_t* option);
49 void Clear();
50 void AddTrack(CbmKFTrackInterface* Track);
51 void SetTracks(std::vector<CbmKFTrackInterface*>& vTracks);
52 void EvalVertex();
53 void Fit(CbmKFVertexInterface& vtx);
54 // void ComputeAandB(TMatrixD &xk0, const CbmKFTrack &track, Double_t zhit, TMatrixD &a, TMatrixD &b, TMatrixD
55 // &ck0);
56 Bool_t ComputeAandB(TMatrixD& xk0,
58 Double_t zhit,
59 TMatrixD& a,
60 TMatrixD& b,
61 TMatrixD& ck0);
62 void FindPca(CbmKFTrackInterface& track, Double_t* vert);
63 CbmVertex* GetVertex() const { return fPrimVert; } // AZ-250525
64 void SetTrackArray(TClonesArray* trArray) { fInputTracks = trArray; } // AZ-230825 - set track array
65
67};
68
69#endif /* !BMNKFPRIMARYVERTEXFINDER_H */
ClassDef(BmnKFPrimaryVertexFinder, 0)
void AddTrack(CbmKFTrackInterface *Track)
void SetTracks(std::vector< CbmKFTrackInterface * > &vTracks)
Bool_t ComputeAandB(TMatrixD &xk0, CbmKFTrackInterface &track, Double_t zhit, TMatrixD &a, TMatrixD &b, TMatrixD &ck0)
void SetTrackArray(TClonesArray *trArray)
void FindPca(CbmKFTrackInterface &track, Double_t *vert)
void Fit(CbmKFVertexInterface &vtx)