ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRecEvent
SiSPSeededTrackFinderData
src
SiSpacePointsProSeed.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
SiSPSeededTrackFinderData/SiSpacePointsProSeed.h
"
6
7
#include "
SiSpacePointsSeed/SiSpacePointsSeed.h
"
8
#include "
SiSPSeededTrackFinderData/SiSpacePointForSeed.h
"
9
10
namespace
InDet
{
11
SiSpacePointsProSeed::SiSpacePointsProSeed
()
12
{
13
m_s0
= nullptr ;
14
m_s1
= nullptr ;
15
m_s2
= nullptr ;
16
m_d0
= 0.;
17
m_eta
= 0.;
18
m_z
= 0.;
19
m_q
= 0.;
20
}
21
22
// Variables not copied deliberately?
23
// cppcheck-suppress operatorEqVarError
24
SiSpacePointsProSeed
& SiSpacePointsProSeed::operator =
25
(
const
SiSpacePointsProSeed
&
sp
)
26
{
27
if
(&
sp
!=
this
) {
28
29
m_d0
=
sp
.m_d0;
30
m_z
=
sp
.m_z ;
31
m_eta
=
sp
.m_eta;
32
m_q
=
sp
.m_q ;
33
m_s0
=
sp
.m_s0;
34
m_s1
=
sp
.m_s1;
35
m_s2
=
sp
.m_s2;
36
}
37
return
(*
this
);
38
}
39
40
SiSpacePointsProSeed::SiSpacePointsProSeed
41
(
SiSpacePointForSeed
*&
s0
,
SiSpacePointForSeed
*& s1,
SiSpacePointForSeed
*& s2,
float
z
)
42
{
43
set
(
s0
,s1,s2,
z
);
m_q
= 0.;
44
}
45
47
// Copy constructor
49
50
SiSpacePointsProSeed::SiSpacePointsProSeed
(
const
SiSpacePointsProSeed
&
sp
):
m_s0
(
sp
.
m_s0
),
m_s1
(
sp
.
m_s1
),
m_s2
(
sp
.
m_s2
)
51
{
52
*
this
=
sp
;
53
}
54
56
// Set
58
59
void
SiSpacePointsProSeed::set
60
(
SiSpacePointForSeed
*&
s0
,
SiSpacePointForSeed
*& s1,
SiSpacePointForSeed
*& s2,
float
z
)
61
{
62
m_z
=
z
;
63
m_s0
=
s0
;
64
m_s1
= s1;
65
m_s2
= s2;
66
}
67
69
// Set two space points seed
71
72
void
SiSpacePointsProSeed::set2
(
InDet::SiSpacePointsSeed
& s)
73
{
74
s.erase();
75
s.add(
m_s0
->spacepoint);
76
s.add(
m_s1
->spacepoint);
77
s.setZVertex(
double
(
m_z
));
78
}
79
81
// Set three space points seed
83
84
bool
SiSpacePointsProSeed::set3
(
InDet::SiSpacePointsSeed
& s)
85
{
86
87
bool
pixb = !
m_s0
->spacepoint->clusterList().second;
88
bool
pixt = !
m_s2
->spacepoint->clusterList().second;
89
90
if
(pixb!=pixt) {
91
if
(
m_q
>
m_s0
->quality() &&
m_q
>
m_s1
->quality() &&
m_q
>
m_s2
->quality())
return
false
;
92
}
93
94
m_s0
->setQuality(
m_q
);
95
m_s1
->setQuality(
m_q
);
96
m_s2
->setQuality(
m_q
);
97
98
s.erase();
99
s.add(
m_s0
->spacepoint);
100
s.add(
m_s1
->spacepoint);
101
s.add(
m_s2
->spacepoint);
102
s.setD0(
m_s2
->param());
103
s.setZVertex(
double
(
m_z
));
104
s.setEta(
m_s2
->eta());
105
s.setX1(
m_s0
->x());
106
s.setX2(
m_s1
->x());
107
s.setX3(
m_s2
->x());
108
s.setY1(
m_s0
->y());
109
s.setY2(
m_s1
->y());
110
s.setY3(
m_s2
->y());
111
s.setZ1(
m_s0
->z());
112
s.setZ2(
m_s1
->z());
113
s.setZ3(
m_s2
->z());
114
s.setR1(
m_s0
->radius());
115
s.setR2(
m_s1
->radius());
116
s.setR3(
m_s2
->radius());
117
s.setDZDR_B(
m_s0
->dzdr());
118
s.setDZDR_T(
m_s2
->dzdr());
119
s.setPt(
m_s2
->Pt());
120
return
true
;
121
}
122
124
// Set quality in pro seed
126
127
bool
SiSpacePointsProSeed::setQuality
(
float
q)
128
{
129
m_q
= q;
130
bool
pixb = !
m_s0
->spacepoint->clusterList().second;
131
bool
pixt = !
m_s2
->spacepoint->clusterList().second;
133
if
(pixb==pixt) {
134
m_s0
->setQuality(q);
135
m_s1
->setQuality(q);
136
m_s2
->setQuality(q);
137
return
true
;
138
}
139
return
q <
m_s0
->quality() || q <
m_s1
->quality() || q <
m_s2
->quality();
140
}
141
142
}
// end of name space
sp
static Double_t sp
Definition
LArPhysWaveHECTool.cxx:37
s0
static Double_t s0
Definition
LArPhysWaveHECTool.cxx:37
SiSpacePointForSeed.h
SiSpacePointsProSeed.h
SiSpacePointsSeed.h
InDet::SiSpacePointForSeed
Definition
SiSpacePointForSeed.h:31
InDet::SiSpacePointsProSeed::m_q
float m_q
Definition
SiSpacePointsProSeed.h:74
InDet::SiSpacePointsProSeed::m_eta
float m_eta
Definition
SiSpacePointsProSeed.h:67
InDet::SiSpacePointsProSeed::m_d0
float m_d0
Definition
SiSpacePointsProSeed.h:65
InDet::SiSpacePointsProSeed::SiSpacePointsProSeed
SiSpacePointsProSeed()
Definition
SiSpacePointsProSeed.cxx:11
InDet::SiSpacePointsProSeed::set
void set(SiSpacePointForSeed *&, SiSpacePointForSeed *&, SiSpacePointForSeed *&, float)
Definition
SiSpacePointsProSeed.cxx:60
InDet::SiSpacePointsProSeed::z
const float & z() const
Definition
SiSpacePointsProSeed.h:45
InDet::SiSpacePointsProSeed::set2
void set2(InDet::SiSpacePointsSeed &)
Definition
SiSpacePointsProSeed.cxx:72
InDet::SiSpacePointsProSeed::m_s0
SiSpacePointForSeed * m_s0
Definition
SiSpacePointsProSeed.h:62
InDet::SiSpacePointsProSeed::m_s2
SiSpacePointForSeed * m_s2
Definition
SiSpacePointsProSeed.h:64
InDet::SiSpacePointsProSeed::set3
bool set3(InDet::SiSpacePointsSeed &)
Definition
SiSpacePointsProSeed.cxx:84
InDet::SiSpacePointsProSeed::m_z
float m_z
Definition
SiSpacePointsProSeed.h:66
InDet::SiSpacePointsProSeed::m_s1
SiSpacePointForSeed * m_s1
Definition
SiSpacePointsProSeed.h:63
InDet::SiSpacePointsProSeed::setQuality
bool setQuality(float)
Definition
SiSpacePointsProSeed.cxx:127
InDet::SiSpacePointsSeed
Definition
SiSpacePointsSeed.h:30
InDet
Primary Vertex Finder.
Definition
VP1ErrorUtils.h:36
Generated on
for ATLAS Offline Software by
1.17.0