BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
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:
29 /** Default constructor
30 */
31 // AZ CbmStsKFTrackFitter();
33
34 /** Destructor
35 */
36 // AZ ~CbmStsKFTrackFitter() { };
38
39 /** Initialisation
40 */
41 void Init();
42
43 /** Fit given track using Kalman Filter algorithm
44 */
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
55 /** Extrapolate track to any Z position
56 *
57 * @param track already fitted STS track
58 * @param z new z-position
59 * @param e_track (return value) extrapolated track parameters
60 */
61 void Extrapolate(CbmStsTrack* track, Double_t z, FairTrackParam* e_track);
62
63 /** Extrapolate track param. to any Z position
64 *
65 * @param trackPar already fitted track parameters
66 * @param z new z-position
67 * @param e_track (return value) extrapolated track parameters
68 */
69 void Extrapolate(FairTrackParam* trackPar, Double_t z, FairTrackParam* e_track);
70
71 /** Get normalized (in sigma's) impact parameter form vertex vtx
72 * if no vtx given, return deviation from primary vertex
73 */
75
76 /** Fit track to a vertex
77 *
78 * @param track already fitted STS track
79 * @param vtx vertex
80 * @param v_track (return value) fitted track parameters
81 * @return sqrt(Chi^2/NDF)
82 */
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);
89
90 // AZ std::vector<CbmKFStsHit> fHits;
91 std::vector<BmnKFStsHit> fHits;
92
95
97
98 std::map<Double_t, TProfile2D*> fMatHistos;
99
101
102 public:
103 // AZ ClassDef( CbmStsKFTrackFitter, 1 );
105
106 private:
107 // AZ CbmStsKFTrackFitter(const CbmStsKFTrackFitter&);
108 // AZ void operator=(const CbmStsKFTrackFitter&);
111};
112
113#endif
bool Bool_t
int Int_t
double Double_t
#define ClassDef(name, id)
std::map< Double_t, TProfile2D * > fMatHistos
void Extrapolate(CbmStsTrack *track, Double_t z, FairTrackParam *e_track)
Extrapolate track to any Z position.
void operator=(const BmnStsKFTrackFitter &)
void Init()
Initialisation.
Int_t FitWithMat(CbmKFTrack &track, Int_t downstream)
TClonesArray * fStsHitsArray
void EvalMaterial(CbmKFTrack &track, int ihit, Int_t downstream, CbmKFMaterial &mat)
void ReadMatBudget(TString &matBudgetFileName)
BmnStsKFTrackFitter(const BmnStsKFTrackFitter &)
BmnStsKFTrackFitter()
Default constructor.
Double_t GetChiToVertex(CbmStsTrack *track, CbmVertex *vtx=0)
Get normalized (in sigma's) impact parameter form vertex vtx if no vtx given, return deviation from p...
void SetKFHits(CbmKFTrack &T, CbmStsTrack *track)
Bool_t CheckTrack(CbmKFTrack &T)
Int_t DoFit(CbmStsTrack *track, Int_t pidHypo=211)
Fit given track using Kalman Filter algorithm.
TClonesArray * fMvdHitsArray
Int_t Fit(CbmStsTrack *track, Int_t pidHypo=211)
Double_t FitToVertex(CbmStsTrack *track, CbmVertex *vtx, FairTrackParam *v_track)
Fit track to a vertex.
std::vector< BmnKFStsHit > fHits
CbmStsTrackFitter()
Default constructor.
CbmVertex.h.
Definition CbmVertex.h:21
friend friend class TClonesArray