BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
CbmStsTrack.cxx
Go to the documentation of this file.
1
// -------------------------------------------------------------------------
2
// ----- CbmStsTrack source file -----
3
// ----- Created 26/01/05 by V. Friese -----
4
// -------------------------------------------------------------------------
5
6
#include "
CbmStsTrack.h
"
7
8
#include "FairHit.h"
9
10
#include <iostream>
11
#include <map>
12
13
using
std::cout;
14
using
std::endl;
15
using
std::map;
16
17
// ----- Default constructor -------------------------------------------
18
CbmStsTrack::CbmStsTrack
()
19
:
TObject
()
20
,
fStsHits
()
21
,
fMvdHits
()
22
,
fPidHypo
(0)
23
,
fParamFirst
()
24
,
fParamLast
()
25
,
fFlag
(0)
26
,
fChi2
(0.)
27
,
fNDF
(0)
28
,
fB
(0.)
29
,
fStsHitMap
()
30
,
fMvdHitMap
()
31
,
fnEv
()
32
,
fHitsArr
(
"CbmStsHit"
, 10)
33
{}
34
// -------------------------------------------------------------------------
35
36
// ----- Destructor ----------------------------------------------------
37
CbmStsTrack::~CbmStsTrack
()
38
{
39
fStsHitMap
.clear();
40
fMvdHitMap
.clear();
41
}
42
// -------------------------------------------------------------------------
43
44
// ----- Public method AddStsHit ---------------------------------------
45
void
CbmStsTrack::AddStsHit
(
Int_t
hitIndex,
FairHit
* hit)
46
{
47
fStsHitMap
[hit->GetZ()] = hitIndex;
48
}
49
// -------------------------------------------------------------------------
50
51
// ----- SM -------------------------------------------------------------
52
void
CbmStsTrack::AddPixelHit
(
Int_t
hitIndex,
CbmBaseHit
* hit)
53
{
54
fStsHitMap
[hit->
GetZ
()] = hitIndex;
55
}
56
// -------------------------------------------------------------------------
57
58
// ----- Public method AddMvdHit ---------------------------------------
59
void
CbmStsTrack::AddMvdHit
(
Int_t
hitIndex,
FairHit
* hit)
60
{
61
fMvdHitMap
[hit->GetZ()] = hitIndex;
62
}
63
// -------------------------------------------------------------------------
64
65
// ----- Public method Print -------------------------------------------
66
void
CbmStsTrack::Print
()
67
{
68
cout <<
" Number of attached STS hits : "
<<
fStsHits
.GetSize() << endl;
69
cout <<
" Number of attached MVD hits : "
<<
fMvdHits
.GetSize() << endl;
70
fParamFirst
.Print();
71
cout <<
" Chi2: "
<<
fChi2
<<
", Quality flag "
<<
fFlag
<< endl;
72
}
73
// -------------------------------------------------------------------------
74
75
// ----- Public method SortHits ----------------------------------------
76
void
CbmStsTrack::SortHits
()
77
{
78
79
Int_t
index = 0;
80
map<Double_t, Int_t>::iterator it;
81
82
fStsHits
.Reset();
83
fStsHits
.Set(
fStsHitMap
.size());
84
index = 0;
85
for
(it =
fStsHitMap
.begin(); it !=
fStsHitMap
.end(); it++) {
86
fStsHits
[index] = it->second;
87
index++;
88
}
89
90
fMvdHits
.Reset();
91
fMvdHits
.Set(
fMvdHitMap
.size());
92
index = 0;
93
for
(it =
fMvdHitMap
.begin(); it !=
fMvdHitMap
.end(); it++) {
94
fMvdHits
[index] = it->second;
95
index++;
96
}
97
}
98
// -------------------------------------------------------------------------
99
100
// ----- Public method SortMvdHits ----------------------------------------
101
void
CbmStsTrack::SortMvdHits
()
102
{
103
104
Int_t
index = 0;
105
map<Double_t, Int_t>::iterator it;
106
107
fMvdHits
.Reset();
108
fMvdHits
.Set(
fMvdHitMap
.size());
109
for
(it =
fMvdHitMap
.begin(); it !=
fMvdHitMap
.end(); it++) {
110
fMvdHits
[index] = it->second;
111
index++;
112
}
113
}
114
// -------------------------------------------------------------------------
115
116
Double_t
CbmStsTrack::GetPt
()
const
117
{
118
// AZ-260124 - compute Pt at first point
119
120
Double_t
tx =
fParamFirst
.GetTx();
121
Double_t
ty =
fParamFirst
.GetTy();
122
Double_t
txy2 = tx * tx + ty * ty;
123
Double_t
pz =
TMath::Abs
(1 /
fParamFirst
.GetQp()) /
TMath::Sqrt
(1 + txy2);
124
Double_t
pt = pz *
TMath::Sqrt
(txy2);
125
return
pt;
126
}
127
// -------------------------------------------------------------------------
128
129
Double_t
CbmStsTrack::GetEta
()
const
130
{
131
// AZ-260124 - compute Eta at first point
132
133
Double_t
tx =
fParamFirst
.GetTx();
134
Double_t
ty =
fParamFirst
.GetTy();
135
Double_t
txy2 = tx * tx + ty * ty;
136
Double_t
pz =
TMath::Abs
(1 /
fParamFirst
.GetQp()) /
TMath::Sqrt
(1 + txy2);
137
Double_t
pt = pz *
TMath::Sqrt
(txy2);
138
TVector3
mom(pt, 0.0, pz);
139
return
mom.
Eta
();
140
}
Int_t
int Int_t
Double_t
double Double_t
CbmStsTrack.h
CbmBaseHit
Definition
CbmBaseHit.h:36
CbmBaseHit::GetZ
Double_t GetZ() const
Definition
CbmBaseHit.h:50
CbmStsTrack::fHitsArr
TClonesArray fHitsArr
Definition
CbmStsTrack.h:126
CbmStsTrack::~CbmStsTrack
virtual ~CbmStsTrack()
Destructor.
Definition
CbmStsTrack.cxx:37
CbmStsTrack::fFlag
Int_t fFlag
Quality flag.
Definition
CbmStsTrack.h:109
CbmStsTrack::SortHits
void SortHits()
Public method SortHits Sorts the hits in downstream direction and writes the hit indizes into the mem...
Definition
CbmStsTrack.cxx:76
CbmStsTrack::fB
Double32_t fB
Impact parameter of track at target z, in units of its error.
Definition
CbmStsTrack.h:116
CbmStsTrack::fParamFirst
FairTrackParam fParamFirst
Track parameters at first and last fitted hit.
Definition
CbmStsTrack.h:105
CbmStsTrack::Print
void Print()
Public method Print Output to screen.
Definition
CbmStsTrack.cxx:66
CbmStsTrack::fStsHitMap
std::map< Double_t, Int_t > fStsHitMap
Maps from hit z position to hit index.
Definition
CbmStsTrack.h:122
CbmStsTrack::AddStsHit
void AddStsHit(Int_t hitIndex, FairHit *hit)
Add a StsHit to the list.
Definition
CbmStsTrack.cxx:45
CbmStsTrack::CbmStsTrack
CbmStsTrack()
Default constructor.
Definition
CbmStsTrack.cxx:18
CbmStsTrack::fMvdHits
TArrayI fMvdHits
Array containg the indizes of the MVD hits attached to the track.
Definition
CbmStsTrack.h:99
CbmStsTrack::fPidHypo
Int_t fPidHypo
PID hypothesis used by the track fitter.
Definition
CbmStsTrack.h:102
CbmStsTrack::fMvdHitMap
std::map< Double_t, Int_t > fMvdHitMap
Definition
CbmStsTrack.h:123
CbmStsTrack::fStsHits
TArrayI fStsHits
Array containg the indizes of the STS hits attached to the track.
Definition
CbmStsTrack.h:96
CbmStsTrack::fChi2
Double32_t fChi2
Chi square and NDF of track fit.
Definition
CbmStsTrack.h:112
CbmStsTrack::AddMvdHit
void AddMvdHit(Int_t hitIndex, FairHit *mvdHit)
Associate a MvdHit to the track.
Definition
CbmStsTrack.cxx:59
CbmStsTrack::fNDF
Int_t fNDF
Definition
CbmStsTrack.h:113
CbmStsTrack::GetEta
Double_t GetEta() const
Definition
CbmStsTrack.cxx:129
CbmStsTrack::SortMvdHits
void SortMvdHits()
Definition
CbmStsTrack.cxx:101
CbmStsTrack::fParamLast
FairTrackParam fParamLast
Definition
CbmStsTrack.h:106
CbmStsTrack::AddPixelHit
void AddPixelHit(Int_t hitIndex, CbmBaseHit *hit)
Definition
CbmStsTrack.cxx:52
CbmStsTrack::GetPt
Double_t GetPt() const
Definition
CbmStsTrack.cxx:116
CbmStsTrack::fnEv
Int_t fnEv
Definition
CbmStsTrack.h:125
FairHit
TObject::TObject
TObject()
TVector3
TVector3::Eta
Double_t Eta() const
TMath::Sqrt
Double_t Sqrt(Double_t x)
TMath::Abs
Double_t Abs(Double_t d)
base
cbm
CbmStsTrack.cxx
Generated on
for BmnRoot by
1.17.0