BmnRoot
Loading...
Searching...
No Matches
BmnStsKFTrackFitter.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- BmnStsKFTrackFitter header file -----
3// ----- Created 27/03/21 by A.Zinchenko, D.Zinchenko -----
4// ----- (from CbmStsKFTrackFitter.h) -----
5// ----- BM@N STS track Kalman fitter with strip hits. -----
6// -------------------------------------------------------------------------
7
8#ifndef BMNSTSKFTRACKFITTER
9#define BMNSTSKFTRACKFITTER 1
10
11// AZ #include "CbmKFStsHit.h"
12#include "BmnKFStsHit.h"
13#include "CbmStsTrackFitter.h"
14
15#include <TFile.h>
16#include <map>
17#include <vector>
18
19class CbmKFTrack;
20class CbmVertex;
21class TClonesArray;
22class TProfile2D;
23
24// AZ class CbmStsKFTrackFitter : public CbmStsTrackFitter{
26{
27
28 public:
31 // AZ CbmStsKFTrackFitter();
33
36 // AZ ~CbmStsKFTrackFitter() { };
38
41 void Init();
42
45 Int_t DoFit(CbmStsTrack* track, Int_t pidHypo = 211);
46
47 // Fit given track using Kalman Filter algorithm (with material budget)
48 void ReadMatBudget(TString& matBudgetFileName);
49 Int_t Fit(CbmStsTrack* track, Int_t pidHypo = 211); // AZ
50 Int_t FitWithMat(CbmKFTrack& track, Int_t downstream); // AZ
51 // Evaluate material between hits (stations)
52 void EvalMaterial(CbmKFTrack& track, int ihit, Int_t downstream, CbmKFMaterial& mat); // AZ
53 // void SetMatHistos(std::map<Double_t,TProfile2D*> *matHistos) { fMatHistos = matHistos; } //AZ
54
61 void Extrapolate(CbmStsTrack* track, Double_t z, FairTrackParam* e_track);
62
69 void Extrapolate(FairTrackParam* trackPar, Double_t z, FairTrackParam* e_track);
70
74 Double_t GetChiToVertex(CbmStsTrack* track, CbmVertex* vtx = 0);
75
83 Double_t FitToVertex(CbmStsTrack* track, CbmVertex* vtx, FairTrackParam* v_track);
84 void SetKFHits(CbmKFTrack& T, CbmStsTrack* track); // AZ
85
86 private:
87 // AZ void SetKFHits(CbmKFTrack &T, CbmStsTrack* track);
88 Bool_t CheckTrack(CbmKFTrack& T);
89
90 // AZ std::vector<CbmKFStsHit> fHits;
91 std::vector<BmnKFStsHit> fHits;
92
93 TClonesArray* fMvdHitsArray;
94 TClonesArray* fStsHitsArray;
95
96 Bool_t fIsInitialised;
97
98 std::map<Double_t, TProfile2D*> fMatHistos;
99
100 TFile* fMatBudgetFile;
101
102 public:
103 // AZ ClassDef( CbmStsKFTrackFitter, 1 );
105
106 private:
107 // AZ CbmStsKFTrackFitter(const CbmStsKFTrackFitter&);
108 // AZ void operator=(const CbmStsKFTrackFitter&);
110 void operator=(const BmnStsKFTrackFitter&);
111};
112
113#endif
void Extrapolate(CbmStsTrack *track, Double_t z, FairTrackParam *e_track)
Int_t FitWithMat(CbmKFTrack &track, Int_t downstream)
void EvalMaterial(CbmKFTrack &track, int ihit, Int_t downstream, CbmKFMaterial &mat)
void ReadMatBudget(TString &matBudgetFileName)
Double_t GetChiToVertex(CbmStsTrack *track, CbmVertex *vtx=0)
ClassDef(BmnStsKFTrackFitter, 1)
void SetKFHits(CbmKFTrack &T, CbmStsTrack *track)
Int_t DoFit(CbmStsTrack *track, Int_t pidHypo=211)
Int_t Fit(CbmStsTrack *track, Int_t pidHypo=211)
Double_t FitToVertex(CbmStsTrack *track, CbmVertex *vtx, FairTrackParam *v_track)