BmnRoot
Loading...
Searching...
No Matches
L1Triplet.h
Go to the documentation of this file.
1
#ifndef L1Triplet_H
2
#define L1Triplet_H
3
4
class
L1Triplet
5
{
6
7
private
:
8
9
THitI
w0;
// left hit (16b) index in vStsHits array
10
THitI
w1;
// middle hit(16b)
11
THitI
w2;
// right hit(16b)
12
unsigned
char
b0;
// chi2(5b) + level(3b)
13
unsigned
char
bl;
// level
14
unsigned
char
b1;
// qp (8b)
15
unsigned
char
st;
// staL (4b), staM-1-staL (2b), staR-2-staL (2b)
16
float
chi2;
17
18
public
:
19
20
unsigned
char
Cqp
;
21
22
std::vector<unsigned int>
neighbours
;
23
24
L1Triplet
(): w0(0), w1(0), w2(0), b0(0), bl(0), b1(0), st(0), chi2(0.),
25
Cqp
(0),
neighbours
() {
26
neighbours
.clear();
27
};
28
29
void
Set
(
unsigned
int
iHitL,
unsigned
int
iHitM,
unsigned
int
iHitR,
30
unsigned
int
iStaL,
unsigned
int
iStaM,
unsigned
int
iStaR,
31
unsigned
char
Level,
unsigned
char
Qp,
32
float
Chi2
33
){
34
chi2 = Chi2;
35
36
w0 = iHitL;
37
w1 = iHitM;
38
w2 = iHitR;
39
40
Chi2 =
sqrt
(
fabs
(Chi2))*31./3.5 ;
// 3.5 == 31
41
if
( Chi2>31 || !finite(Chi2) ) Chi2 = 31;
42
b0 = ( (
static_cast<
unsigned
char
>
( Chi2 ))<<3 ) + (Level%8);
43
b1 = Qp;
44
bl = Level;
45
46
st = (iStaL<<4) + ((iStaM-iStaL-1)<<2) + (iStaR-iStaL-2);
47
}
48
49
THitI
GetLHit
()
const
{
50
return
w0;
51
}
52
THitI
GetMHit
()
const
{
53
return
w1;
54
}
55
THitI
GetRHit
()
const
{
56
return
w2;
57
}
58
59
// unsigned int GetFirstNeighbour() const {
60
// return w1;
61
// }
62
// unsigned int GetNNeighbours() const {
63
// return w2;
64
// }
65
66
unsigned
char
GetLevel
()
const
{
67
// return b0%8;
68
return
bl;
69
}
70
71
unsigned
char
GetQp
()
const
{
72
return
b1;
73
}
74
75
float
GetChi2
()
const
{
76
// float x = (b0>>3)*3.5/31.;
77
// return x*x;
78
return
chi2;
79
}
80
81
float
GetQpOrig
(
float
MaxInvMom ){
82
return
(
GetQp
()*(MaxInvMom*2)/255. - MaxInvMom);
83
}
84
85
int
GetLSta
()
const
{
86
return
st>>4;
87
}
88
89
int
GetMSta
()
const
{
90
return
((st%16)>>2) +
GetLSta
() + 1;
91
}
92
93
int
GetRSta
()
const
{
94
return
(st%4) +
GetLSta
() + 2;
95
}
96
97
};
98
99
#endif
THitI
unsigned int THitI
Definition
L1StsHit.h:6
sqrt
friend F32vec4 sqrt(const F32vec4 &a)
Definition
P4_F32vec4.h:34
fabs
friend F32vec4 fabs(const F32vec4 &a)
Definition
P4_F32vec4.h:52
L1Triplet
Definition
L1Triplet.h:5
L1Triplet::Set
void Set(unsigned int iHitL, unsigned int iHitM, unsigned int iHitR, unsigned int iStaL, unsigned int iStaM, unsigned int iStaR, unsigned char Level, unsigned char Qp, float Chi2)
Definition
L1Triplet.h:29
L1Triplet::GetRSta
int GetRSta() const
Definition
L1Triplet.h:93
L1Triplet::L1Triplet
L1Triplet()
Definition
L1Triplet.h:24
L1Triplet::GetQp
unsigned char GetQp() const
Definition
L1Triplet.h:71
L1Triplet::GetLSta
int GetLSta() const
Definition
L1Triplet.h:85
L1Triplet::GetLHit
THitI GetLHit() const
Definition
L1Triplet.h:49
L1Triplet::GetMHit
THitI GetMHit() const
Definition
L1Triplet.h:52
L1Triplet::GetMSta
int GetMSta() const
Definition
L1Triplet.h:89
L1Triplet::GetRHit
THitI GetRHit() const
Definition
L1Triplet.h:55
L1Triplet::GetQpOrig
float GetQpOrig(float MaxInvMom)
Definition
L1Triplet.h:81
L1Triplet::GetLevel
unsigned char GetLevel() const
Definition
L1Triplet.h:66
L1Triplet::neighbours
std::vector< unsigned int > neighbours
Definition
L1Triplet.h:22
L1Triplet::Cqp
unsigned char Cqp
Definition
L1Triplet.h:20
L1Triplet::GetChi2
float GetChi2() const
Definition
L1Triplet.h:75
reconstruction
cat
L1Algo
L1Triplet.h
Generated on Fri May 15 2026 10:40:58 for BmnRoot by
1.9.8