BmnRoot
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 "TVector3.h"
21
#include "TLorentzVector.h"
22
#include "
CbmL1MCPoint.h
"
23
#include <vector>
24
#include <iostream>
25
using
std::vector;
26
27
class
CbmL1Track
;
28
29
class
CbmL1MCTrack
30
{
31
public
:
32
double
mass
,
q
,
p
,
x
,
y
,
z
,
px
,
py
,
pz
;
33
int
ID
,
mother_ID
,
pdg
;
34
vector<int>
Points
;
// indices of pints in L1::vMCPoints
35
vector<int>
StsHits
;
// indices of hits in algo->vStsHits or L1::vStsHits
36
37
CbmL1MCTrack
()
38
:
mass
(0),
q
(0),
p
(0),
x
(0),
y
(0),
z
(0),
px
(0),
py
(0),
pz
(0),
ID
(-1),
mother_ID
(-1),
pdg
(-1),
Points
(),
StsHits
(),
39
nMCContStations(0),nHitContStations(0),maxNStaMC(0),maxNSensorMC(0),maxNStaHits(0),nStations(0),nMCStations(0),isReconstructable(0),isAdditional(0),
40
rTracks(),tTracks(){};
41
42
CbmL1MCTrack
(
int
_ID)
43
:
mass
(0),
q
(0),
p
(0),
x
(0),
y
(0),
z
(0),
px
(0),
py
(0),
pz
(0),
ID
(_ID),
mother_ID
(-1),
pdg
(-1),
Points
(),
StsHits
(),
44
nMCContStations(0),nHitContStations(0),maxNStaMC(0),maxNSensorMC(0),maxNStaHits(0),nStations(0),nMCStations(),isReconstructable(0),isAdditional(0),
45
rTracks(),tTracks(){};
46
CbmL1MCTrack
(
double
mass
,
double
q
, TVector3 vr, TLorentzVector vp,
int
ID
,
int
mother_ID
,
int
pdg
);
47
// CbmL1MCTrack(TmpMCPoints &mcPoint, TVector3 vr, TLorentzVector vp, int ID, int mother_ID);
48
49
bool
IsPrimary
()
const
{
return
mother_ID
< 0;};
50
bool
IsReconstructable
()
const
{
return
isReconstructable;};
51
bool
IsAdditional
()
const
{
return
isAdditional; }
52
int
NStations
()
const
{
return
nStations;};
53
int
NMCStations
()
const
{
return
nMCStations;};
54
int
NMCContStations
()
const
{
return
nMCContStations;};
55
56
void
Init
();
57
58
void
AddRecoTrack
(
CbmL1Track
* rTr){rTracks.push_back(rTr);}
59
vector< CbmL1Track* >&
GetRecoTracks
(){
return
rTracks;}
60
int
GetNClones
()
const
{
return
rTracks.size() - 1;}
61
bool
IsReconstructed
()
const
{
return
rTracks.size(); }
62
63
void
AddTouchTrack
(
CbmL1Track
* tTr){tTracks.push_back(tTr);}
64
bool
IsDisturbed
()
const
{
return
tTracks.size(); }
65
66
friend
class
CbmL1
;
67
private
:
68
int
nMCContStations;
// number of consecutive stations with mcPoints
69
int
nHitContStations;
// number of consecutive stations with hits
70
int
maxNStaMC;
// max number of mcPoints on station
71
int
maxNSensorMC;
// max number of mcPoints with same z
72
int
maxNStaHits;
// max number of hits on station
73
74
int
nStations;
// number of stations with hits
75
int
nMCStations;
// number of stations with MCPoints
76
77
bool
isReconstructable;
78
bool
isAdditional;
// is not reconstructable, but stil interesting
79
80
void
CalculateMCCont();
81
void
CalculateHitCont();
82
void
CalculateMaxNStaHits();
83
void
CalculateMaxNStaMC();
84
void
CalculateIsReconstructable();
85
86
// next members filled and used in Performance
87
vector< CbmL1Track* > rTracks;
// array of assosiated recoTracks
88
vector< CbmL1Track* > tTracks;
// array of recoTracks wich aren't assosiated with this mcTrack, but use some hits from it.
89
90
};
91
92
93
#endif
CbmL1MCTrack
Definition
CbmL1MCTrack.h:30
CbmL1MCTrack::NMCContStations
int NMCContStations() const
Definition
CbmL1MCTrack.h:54
CbmL1MCTrack::px
double px
Definition
CbmL1MCTrack.h:32
CbmL1MCTrack::GetNClones
int GetNClones() const
Definition
CbmL1MCTrack.h:60
CbmL1MCTrack::mass
double mass
Definition
CbmL1MCTrack.h:32
CbmL1MCTrack::p
double p
Definition
CbmL1MCTrack.h:32
CbmL1MCTrack::pdg
int pdg
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::pz
double pz
Definition
CbmL1MCTrack.h:32
CbmL1MCTrack::z
double z
Definition
CbmL1MCTrack.h:32
CbmL1MCTrack::x
double x
Definition
CbmL1MCTrack.h:32
CbmL1MCTrack::AddRecoTrack
void AddRecoTrack(CbmL1Track *rTr)
Definition
CbmL1MCTrack.h:58
CbmL1MCTrack::IsReconstructed
bool IsReconstructed() const
Definition
CbmL1MCTrack.h:61
CbmL1MCTrack::IsReconstructable
bool IsReconstructable() const
Definition
CbmL1MCTrack.h:50
CbmL1MCTrack::py
double py
Definition
CbmL1MCTrack.h:32
CbmL1MCTrack::NStations
int NStations() const
Definition
CbmL1MCTrack.h:52
CbmL1MCTrack::CbmL1MCTrack
CbmL1MCTrack(int _ID)
Definition
CbmL1MCTrack.h:42
CbmL1MCTrack::StsHits
vector< int > StsHits
Definition
CbmL1MCTrack.h:35
CbmL1MCTrack::AddTouchTrack
void AddTouchTrack(CbmL1Track *tTr)
Definition
CbmL1MCTrack.h:63
CbmL1MCTrack::ID
int ID
Definition
CbmL1MCTrack.h:33
CbmL1MCTrack::GetRecoTracks
vector< CbmL1Track * > & GetRecoTracks()
Definition
CbmL1MCTrack.h:59
CbmL1MCTrack::IsAdditional
bool IsAdditional() const
Definition
CbmL1MCTrack.h:51
CbmL1MCTrack::q
double q
Definition
CbmL1MCTrack.h:32
CbmL1MCTrack::IsDisturbed
bool IsDisturbed() const
Definition
CbmL1MCTrack.h:64
CbmL1MCTrack::NMCStations
int NMCStations() const
Definition
CbmL1MCTrack.h:53
CbmL1MCTrack::IsPrimary
bool IsPrimary() const
Definition
CbmL1MCTrack.h:49
CbmL1MCTrack::Init
void Init()
Definition
CbmL1MCTrack.cxx:52
CbmL1MCTrack::y
double y
Definition
CbmL1MCTrack.h:32
CbmL1MCTrack::Points
vector< int > Points
Definition
CbmL1MCTrack.h:34
CbmL1MCTrack::CbmL1MCTrack
CbmL1MCTrack()
Definition
CbmL1MCTrack.h:37
CbmL1MCTrack::mother_ID
int mother_ID
Definition
CbmL1MCTrack.h:33
CbmL1Track
Definition
CbmL1Track.h:34
CbmL1
Definition
CbmL1.h:49
CbmL1MCPoint.h
install
include
CbmL1MCTrack.h
Generated on Fri May 15 2026 10:40:57 for BmnRoot by
1.9.8