BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
CbmL1MCTrack.h
Go to the documentation of this file.
1
/*
2
*====================================================================
3
*
4
* CBM Level 1 Reconstruction
5
*
6
* Authors: I.Kisel, S.Gorbunov
7
*
8
* e-mail : ikisel@kip.uni-heidelberg.de
9
*
10
*====================================================================
11
*
12
* L1 Monte Carlo information
13
*
14
*====================================================================
15
*/
16
17
#ifndef CbmL1MCTrack_H
18
#define CbmL1MCTrack_H
19
20
#include "
CbmL1MCPoint.h
"
21
#include "
TLorentzVector.h
"
22
#include "
TVector3.h
"
23
24
#include <iostream>
25
#include <vector>
26
using
std::vector;
27
28
class
CbmL1Track
;
29
30
class
CbmL1MCTrack
31
{
32
public
:
33
double
mass
,
q
,
p
,
x
,
y
,
z
,
px
,
py
,
pz
;
34
int
ID
,
mother_ID
,
pdg
;
35
vector<int>
Points
;
// indices of pints in L1::vMCPoints
36
vector<int>
StsHits
;
// indices of hits in algo->vStsHits or L1::vStsHits
37
38
CbmL1MCTrack
()
39
:
mass
(0)
40
,
q
(0)
41
,
p
(0)
42
,
x
(0)
43
,
y
(0)
44
,
z
(0)
45
,
px
(0)
46
,
py
(0)
47
,
pz
(0)
48
,
ID
(-1)
49
,
mother_ID
(-1)
50
,
pdg
(-1)
51
,
Points
()
52
,
StsHits
()
53
,
nMCContStations
(0)
54
,
nHitContStations
(0)
55
,
maxNStaMC
(0)
56
,
maxNSensorMC
(0)
57
,
maxNStaHits
(0)
58
,
nStations
(0)
59
,
nMCStations
(0)
60
,
isReconstructable
(0)
61
,
isAdditional
(0)
62
,
rTracks
()
63
,
tTracks
() {};
64
65
CbmL1MCTrack
(
int
_ID)
66
:
mass
(0)
67
,
q
(0)
68
,
p
(0)
69
,
x
(0)
70
,
y
(0)
71
,
z
(0)
72
,
px
(0)
73
,
py
(0)
74
,
pz
(0)
75
,
ID
(_ID)
76
,
mother_ID
(-1)
77
,
pdg
(-1)
78
,
Points
()
79
,
StsHits
()
80
,
nMCContStations
(0)
81
,
nHitContStations
(0)
82
,
maxNStaMC
(0)
83
,
maxNSensorMC
(0)
84
,
maxNStaHits
(0)
85
,
nStations
(0)
86
,
nMCStations
()
87
,
isReconstructable
(0)
88
,
isAdditional
(0)
89
,
rTracks
()
90
,
tTracks
() {};
91
CbmL1MCTrack
(
double
mass
,
double
q
,
TVector3
vr,
TLorentzVector
vp,
int
ID
,
int
mother_ID
,
int
pdg
);
92
// CbmL1MCTrack(TmpMCPoints &mcPoint, TVector3 vr, TLorentzVector vp, int ID, int mother_ID);
93
94
bool
IsPrimary
()
const
{
return
mother_ID
< 0; };
95
bool
IsReconstructable
()
const
{
return
isReconstructable
; };
96
bool
IsAdditional
()
const
{
return
isAdditional
; }
97
int
NStations
()
const
{
return
nStations
; };
98
int
NMCStations
()
const
{
return
nMCStations
; };
99
int
NMCContStations
()
const
{
return
nMCContStations
; };
100
101
void
Init
();
102
103
void
AddRecoTrack
(
CbmL1Track
* rTr) {
rTracks
.push_back(rTr); }
104
vector<CbmL1Track*>&
GetRecoTracks
() {
return
rTracks
; }
105
int
GetNClones
()
const
{
return
rTracks
.size() - 1; }
106
bool
IsReconstructed
()
const
{
return
rTracks
.size(); }
107
108
void
AddTouchTrack
(
CbmL1Track
* tTr) {
tTracks
.push_back(tTr); }
109
bool
IsDisturbed
()
const
{
return
tTracks
.size(); }
110
111
friend
class
CbmL1
;
112
113
private
:
114
int
nMCContStations
;
// number of consecutive stations with mcPoints
115
int
nHitContStations
;
// number of consecutive stations with hits
116
int
maxNStaMC
;
// max number of mcPoints on station
117
int
maxNSensorMC
;
// max number of mcPoints with same z
118
int
maxNStaHits
;
// max number of hits on station
119
120
int
nStations
;
// number of stations with hits
121
int
nMCStations
;
// number of stations with MCPoints
122
123
bool
isReconstructable
;
124
bool
isAdditional
;
// is not reconstructable, but stil interesting
125
126
void
CalculateMCCont
();
127
void
CalculateHitCont
();
128
void
CalculateMaxNStaHits
();
129
void
CalculateMaxNStaMC
();
130
void
CalculateIsReconstructable
();
131
132
// next members filled and used in Performance
133
vector<CbmL1Track*>
rTracks
;
// array of assosiated recoTracks
134
vector<CbmL1Track*>
135
tTracks
;
// array of recoTracks wich aren't assosiated with this mcTrack, but use some hits from it.
136
};
137
138
#endif
TLorentzVector.h
TVector3.h
CbmL1MCTrack::NMCContStations
int NMCContStations() const
Definition
CbmL1MCTrack.h:99
CbmL1MCTrack::rTracks
vector< CbmL1Track * > rTracks
Definition
CbmL1MCTrack.h:133
CbmL1MCTrack::CalculateIsReconstructable
void CalculateIsReconstructable()
Definition
CbmL1MCTrack.cxx:220
CbmL1MCTrack::maxNStaHits
int maxNStaHits
Definition
CbmL1MCTrack.h:118
CbmL1MCTrack::px
double px
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::GetNClones
int GetNClones() const
Definition
CbmL1MCTrack.h:105
CbmL1MCTrack::nMCContStations
int nMCContStations
Definition
CbmL1MCTrack.h:114
CbmL1MCTrack::mass
double mass
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::isAdditional
bool isAdditional
Definition
CbmL1MCTrack.h:124
CbmL1MCTrack::nHitContStations
int nHitContStations
Definition
CbmL1MCTrack.h:115
CbmL1MCTrack::CalculateMaxNStaHits
void CalculateMaxNStaHits()
Definition
CbmL1MCTrack.cxx:153
CbmL1MCTrack::p
double p
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::pdg
int pdg
Definition
CbmL1MCTrack.h:34
CbmL1MCTrack::pz
double pz
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::maxNSensorMC
int maxNSensorMC
Definition
CbmL1MCTrack.h:117
CbmL1MCTrack::CalculateMCCont
void CalculateMCCont()
Definition
CbmL1MCTrack.cxx:96
CbmL1MCTrack::z
double z
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::CbmL1
friend class CbmL1
Definition
CbmL1MCTrack.h:111
CbmL1MCTrack::x
double x
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::nStations
int nStations
Definition
CbmL1MCTrack.h:120
CbmL1MCTrack::AddRecoTrack
void AddRecoTrack(CbmL1Track *rTr)
Definition
CbmL1MCTrack.h:103
CbmL1MCTrack::IsReconstructed
bool IsReconstructed() const
Definition
CbmL1MCTrack.h:106
CbmL1MCTrack::IsReconstructable
bool IsReconstructable() const
Definition
CbmL1MCTrack.h:95
CbmL1MCTrack::py
double py
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::NStations
int NStations() const
Definition
CbmL1MCTrack.h:97
CbmL1MCTrack::CbmL1MCTrack
CbmL1MCTrack(int _ID)
Definition
CbmL1MCTrack.h:65
CbmL1MCTrack::maxNStaMC
int maxNStaMC
Definition
CbmL1MCTrack.h:116
CbmL1MCTrack::CalculateMaxNStaMC
void CalculateMaxNStaMC()
Definition
CbmL1MCTrack.cxx:182
CbmL1MCTrack::StsHits
vector< int > StsHits
Definition
CbmL1MCTrack.h:36
CbmL1MCTrack::AddTouchTrack
void AddTouchTrack(CbmL1Track *tTr)
Definition
CbmL1MCTrack.h:108
CbmL1MCTrack::ID
int ID
Definition
CbmL1MCTrack.h:34
CbmL1MCTrack::GetRecoTracks
vector< CbmL1Track * > & GetRecoTracks()
Definition
CbmL1MCTrack.h:104
CbmL1MCTrack::nMCStations
int nMCStations
Definition
CbmL1MCTrack.h:121
CbmL1MCTrack::IsAdditional
bool IsAdditional() const
Definition
CbmL1MCTrack.h:96
CbmL1MCTrack::isReconstructable
bool isReconstructable
Definition
CbmL1MCTrack.h:123
CbmL1MCTrack::q
double q
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::IsDisturbed
bool IsDisturbed() const
Definition
CbmL1MCTrack.h:109
CbmL1MCTrack::NMCStations
int NMCStations() const
Definition
CbmL1MCTrack.h:98
CbmL1MCTrack::IsPrimary
bool IsPrimary() const
Definition
CbmL1MCTrack.h:94
CbmL1MCTrack::Init
void Init()
Definition
CbmL1MCTrack.cxx:75
CbmL1MCTrack::y
double y
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::CalculateHitCont
void CalculateHitCont()
Definition
CbmL1MCTrack.cxx:121
CbmL1MCTrack::tTracks
vector< CbmL1Track * > tTracks
Definition
CbmL1MCTrack.h:135
CbmL1MCTrack::Points
vector< int > Points
Definition
CbmL1MCTrack.h:35
CbmL1MCTrack::CbmL1MCTrack
CbmL1MCTrack()
Definition
CbmL1MCTrack.h:38
CbmL1MCTrack::mother_ID
int mother_ID
Definition
CbmL1MCTrack.h:34
CbmL1Track
Definition
CbmL1Track.h:33
TLorentzVector
TVector3
CbmL1MCPoint.h
install
include
CbmL1MCTrack.h
Generated on
for BmnRoot by
1.17.0