33
33
TEST_F(SciFiHelicalPRTrackTestDS, test_default_constructor) {
34
34
unsigned int size = 0;
35
35
SciFiHelicalPRTrack prtrack;
36
EXPECT_EQ(prtrack.get_x0(), -1.0);
37
EXPECT_EQ(prtrack.get_y0(), -1.0);
38
EXPECT_EQ(prtrack.get_z0(), -1.0);
36
EXPECT_EQ(prtrack.get_pos0().x(), -1.0);
37
EXPECT_EQ(prtrack.get_pos0().y(), -1.0);
38
EXPECT_EQ(prtrack.get_pos0().z(), -1.0);
39
39
EXPECT_EQ(prtrack.get_phi0(), -1.0);
40
EXPECT_EQ(prtrack.get_psi0(), -1.0);
41
40
EXPECT_EQ(prtrack.get_dsdz(), -1.0);
42
41
EXPECT_EQ(prtrack.get_R(), -1.0);
43
42
EXPECT_EQ(prtrack.get_chisq(), -1.0);
44
43
EXPECT_EQ(prtrack.get_chisq_dof(), -1.0);
44
EXPECT_EQ(prtrack.get_point_spread(), -1.0);
45
45
EXPECT_EQ(prtrack.get_line_sz_chisq(), -1.0);
46
46
EXPECT_EQ(prtrack.get_circle_x0(), -1.0);
47
47
EXPECT_EQ(prtrack.get_circle_y0(), -1.0);
49
49
EXPECT_EQ(prtrack.get_tracker(), -1);
50
50
EXPECT_EQ(prtrack.get_num_points(), -1);
51
51
EXPECT_EQ(prtrack.get_charge(), 0);
52
EXPECT_EQ(prtrack.get_spacepoints().size(), size);
52
EXPECT_EQ(prtrack.get_spacepoints()->GetEntries(), size);
55
TEST_F(SciFiHelicalPRTrackTestDS, test_parameter_constructor) {
56
SciFiHelicalPRTrack prtrack(0, 3, -1, 1.0, 2.0, 1100.0, 4.0, 2.4, 0.02, 15.0, 30.0);
57
EXPECT_EQ(prtrack.get_x0(), 1.0);
58
EXPECT_EQ(prtrack.get_y0(), 2.0);
59
EXPECT_EQ(prtrack.get_z0(), 1100.0);
60
EXPECT_EQ(prtrack.get_phi0(), 4.0);
61
EXPECT_EQ(prtrack.get_psi0(), 2.4);
62
EXPECT_EQ(prtrack.get_dsdz(), 0.02);
63
EXPECT_EQ(prtrack.get_tracker(), 0);
64
EXPECT_EQ(prtrack.get_num_points(), 3);
65
EXPECT_EQ(prtrack.get_charge(), -1);
66
EXPECT_EQ(prtrack.get_chisq(), 30.0);
55
// TEST_F(SciFiHelicalPRTrackTestDS, test_parameter_constructor) {
56
// SciFiHelicalPRTrack prtrack(0, 3, -1, 1.0, 2.0, 1100.0, 4.0, 2.4, 0.02, 15.0, 30.0);
57
// EXPECT_EQ(prtrack.get_x0(), 1.0);
58
// EXPECT_EQ(prtrack.get_y0(), 2.0);
59
// EXPECT_EQ(prtrack.get_z0(), 1100.0);
60
// EXPECT_EQ(prtrack.get_phi0(), 4.0);
61
// EXPECT_EQ(prtrack.get_dsdz(), 0.02);
62
// EXPECT_EQ(prtrack.get_tracker(), 0);
63
// EXPECT_EQ(prtrack.get_num_points(), 3);
64
// EXPECT_EQ(prtrack.get_charge(), -1);
65
// EXPECT_EQ(prtrack.get_chisq(), 30.0);
69
68
TEST_F(SciFiHelicalPRTrackTestDS, test_simplefit_constructor) {
72
ThreeVector pos0(1.0, 2.0, 1100.0);
78
double sz_chisq = 7.0;
80
double circ_chisq = 6.0;
82
double chisq_dof = 2.0;
83
double point_spread = 10.0;
85
ThreeVector pos0(x, y, z);
73
86
SimpleLine line_sz;
74
87
SimpleCircle circle;
77
line_sz.set_chisq(7.0);
79
circle.set_chisq(6.0);
81
SciFiHelicalPRTrack prtrack(0, 5, -1, pos0, phi0, psi0, circle, line_sz);
82
EXPECT_EQ(prtrack.get_x0(), 1.0);
83
EXPECT_EQ(prtrack.get_y0(), 2.0);
84
EXPECT_EQ(prtrack.get_z0(), 1100.0);
85
EXPECT_EQ(prtrack.get_phi0(), phi0);
86
EXPECT_EQ(prtrack.get_psi0(), psi0);
87
EXPECT_EQ(prtrack.get_dsdz(), 0.03);
88
EXPECT_EQ(prtrack.get_R(), 13.0);
89
EXPECT_EQ(prtrack.get_line_sz_chisq(), 7.0);
90
EXPECT_EQ(prtrack.get_circle_chisq(), 6.0);
91
EXPECT_EQ(prtrack.get_tracker(), 0);
92
EXPECT_EQ(prtrack.get_num_points(), 5);
93
EXPECT_EQ(prtrack.get_charge(), -1);
90
line_sz.set_chisq(sz_chisq);
92
circle.set_chisq(circ_chisq);
93
std::vector<double> phi;
94
std::vector<SciFiSpacePoint*> spnts;
95
SciFiSpacePoint *spoint = new SciFiSpacePoint();
96
spoint->set_tracker(tracker);
97
spnts.push_back(spoint);
99
SciFiHelicalPRTrack trk(tracker, num_points, charge, pos0, phi0, circle, line_sz,
100
chisq, chisq_dof, point_spread, phi, spnts);
102
EXPECT_EQ(trk.get_pos0().x(), x);
103
EXPECT_EQ(trk.get_pos0().y(), y);
104
EXPECT_EQ(trk.get_pos0().z(), z);
105
EXPECT_EQ(trk.get_phi0(), phi0);
106
EXPECT_EQ(trk.get_dsdz(), m);
107
EXPECT_EQ(trk.get_R(), R);
108
EXPECT_EQ(trk.get_line_sz_chisq(), sz_chisq);
109
EXPECT_EQ(trk.get_circle_chisq(), circ_chisq);
110
EXPECT_EQ(trk.get_tracker(), tracker);
111
EXPECT_EQ(trk.get_num_points(), num_points);
112
EXPECT_EQ(trk.get_charge(), charge);
113
EXPECT_EQ(trk.get_chisq(), chisq);
114
EXPECT_EQ(trk.get_chisq_dof(), chisq_dof);
115
EXPECT_EQ(trk.get_point_spread(), point_spread);
117
EXPECT_EQ(trk.get_spacepoints()->GetEntries(), size);
118
EXPECT_EQ(static_cast<SciFiSpacePoint*>(trk.get_spacepoints()->At(0))->get_tracker(), tracker);
120
EXPECT_EQ(trk.get_phi().size(), size);
96
123
TEST_F(SciFiHelicalPRTrackTestDS, test_copy_constructor) {
102
129
double z0 = 1100.0;
103
130
double phi0 = 4.0;
105
131
double dsdz = 0.02;
107
133
double chisq = 30.0;
108
134
double chisq_dof = 10.0;
135
double point_spread = 50.0;
109
136
double line_sz_chisq = 5.0;
110
137
double circle_x0 = 6.0;
111
138
double circle_y0 = 7.0;
112
139
double circle_chisq = 8.0;
114
SciFiHelicalPRTrack trk1(tracker, num_points, charge, x0, y0, z0, phi0, psi0, dsdz, R, chisq);
115
trk1.set_chisq_dof(chisq_dof);
116
trk1.set_line_sz_chisq(line_sz_chisq);
117
trk1.set_circle_x0(circle_x0);
118
trk1.set_circle_y0(circle_y0);
119
trk1.set_circle_chisq(circle_chisq);
141
SciFiHelicalPRTrack* trk1 = new SciFiHelicalPRTrack;
142
trk1->set_tracker(tracker);
143
trk1->set_num_points(num_points);
144
trk1->set_charge(charge);
145
trk1->set_pos0(ThreeVector(x0, y0, z0));
146
trk1->set_phi0(phi0);
147
trk1->set_dsdz(dsdz);
149
trk1->set_chisq(chisq);
150
trk1->set_chisq_dof(chisq_dof);
151
trk1->set_point_spread(point_spread);
152
trk1->set_line_sz_chisq(line_sz_chisq);
153
trk1->set_circle_x0(circle_x0);
154
trk1->set_circle_y0(circle_y0);
155
trk1->set_circle_chisq(circle_chisq);
121
157
SciFiSpacePoint *spoint = new SciFiSpacePoint();
122
158
spoint->set_tracker(tracker);
123
159
SciFiSpacePointPArray spoints;
124
160
spoints.push_back(spoint);
125
trk1.set_spacepoints(spoints);
161
trk1->set_spacepoints_pointers(spoints);
127
163
std::vector<double> phi_i(0);
128
164
phi_i.push_back(1.0);
129
165
phi_i.push_back(-2.0);
131
SciFiHelicalPRTrack trk2(trk1);
167
SciFiHelicalPRTrack trk2(*trk1);
133
EXPECT_EQ(trk2.get_x0(), x0);
134
EXPECT_EQ(trk2.get_y0(), y0);
135
EXPECT_EQ(trk2.get_z0(), z0);
170
EXPECT_EQ(trk2.get_pos0().x(), x0);
171
EXPECT_EQ(trk2.get_pos0().y(), y0);
172
EXPECT_EQ(trk2.get_pos0().z(), z0);
136
173
EXPECT_EQ(trk2.get_phi0(), phi0);
137
EXPECT_EQ(trk2.get_psi0(), psi0);
138
174
EXPECT_EQ(trk2.get_dsdz(), dsdz);
139
175
EXPECT_EQ(trk2.get_R(), R);
140
176
EXPECT_EQ(trk2.get_chisq(), chisq);
141
177
EXPECT_EQ(trk2.get_chisq_dof(), chisq_dof);
178
EXPECT_EQ(trk2.get_point_spread(), point_spread);
142
179
EXPECT_EQ(trk2.get_line_sz_chisq(), line_sz_chisq);
143
180
EXPECT_EQ(trk2.get_circle_x0(), circle_x0);
144
181
EXPECT_EQ(trk2.get_circle_y0(), circle_y0);
146
183
EXPECT_EQ(trk2.get_tracker(), tracker);
147
184
EXPECT_EQ(trk2.get_num_points(), num_points);
148
185
EXPECT_EQ(trk2.get_charge(), charge);
149
EXPECT_EQ(trk2.get_spacepoints()[0]->get_tracker(), tracker);
152
TEST_F(SciFiHelicalPRTrackTestDS, test_helix_constructor) {
163
double chisq_dof = 10.0;
169
hlx.set_chisq(chisq);
170
hlx.set_chisq_dof(chisq_dof);
172
ThreeVector pos(x0, y0, z0);
174
SciFiHelicalPRTrack prtrack(tracker, num_points, charge, pos, hlx);
176
unsigned int size = 0;
178
EXPECT_EQ(prtrack.get_x0(), x0);
179
EXPECT_EQ(prtrack.get_y0(), y0);
180
EXPECT_EQ(prtrack.get_z0(), z0);
181
EXPECT_EQ(prtrack.get_phi0(), phi0);
182
EXPECT_EQ(prtrack.get_psi0(), -1);
183
EXPECT_EQ(prtrack.get_dsdz(), dsdz);
184
EXPECT_EQ(prtrack.get_R(), R);
185
EXPECT_EQ(prtrack.get_chisq(), chisq);
186
EXPECT_EQ(prtrack.get_chisq_dof(), chisq_dof);
187
EXPECT_EQ(prtrack.get_line_sz_chisq(), -1);
188
EXPECT_EQ(prtrack.get_circle_x0(), -1);
189
EXPECT_EQ(prtrack.get_circle_y0(), -1);
190
EXPECT_EQ(prtrack.get_circle_chisq(), -1);
191
EXPECT_EQ(prtrack.get_spacepoints().size(), size);
192
EXPECT_EQ(prtrack.get_tracker(), tracker);
193
EXPECT_EQ(prtrack.get_num_points(), num_points);
194
EXPECT_EQ(prtrack.get_charge(), charge);
186
EXPECT_EQ(static_cast<SciFiSpacePoint*>(trk2.get_spacepoints()->At(0))->get_tracker(), tracker);
189
// TEST_F(SciFiHelicalPRTrackTestDS, test_helix_constructor) {
191
// int num_points = 3;
195
// double z0 = 1100.0;
196
// double phi0 = 4.0;
197
// double dsdz = 0.02;
199
// double chisq = 30.0;
200
// double chisq_dof = 10.0;
204
// hlx.set_Phi_0(phi0);
205
// hlx.set_dsdz(dsdz);
206
// hlx.set_chisq(chisq);
207
// hlx.set_chisq_dof(chisq_dof);
209
// ThreeVector pos(x0, y0, z0);
211
// SciFiHelicalPRTrack prtrack(tracker, num_points, charge, pos, hlx);
213
// unsigned int size = 0;
215
// EXPECT_EQ(prtrack.get_x0(), x0);
216
// EXPECT_EQ(prtrack.get_y0(), y0);
217
// EXPECT_EQ(prtrack.get_z0(), z0);
218
// EXPECT_EQ(prtrack.get_phi0(), phi0);
219
// EXPECT_EQ(prtrack.get_dsdz(), dsdz);
220
// EXPECT_EQ(prtrack.get_R(), R);
221
// EXPECT_EQ(prtrack.get_chisq(), chisq);
222
// EXPECT_EQ(prtrack.get_chisq_dof(), chisq_dof);
223
// EXPECT_EQ(prtrack.get_line_sz_chisq(), -1);
224
// EXPECT_EQ(prtrack.get_circle_x0(), -1);
225
// EXPECT_EQ(prtrack.get_circle_y0(), -1);
226
// EXPECT_EQ(prtrack.get_circle_chisq(), -1);
227
// EXPECT_EQ(prtrack.get_spacepoints().size(), size);
228
// EXPECT_EQ(prtrack.get_tracker(), tracker);
229
// EXPECT_EQ(prtrack.get_num_points(), num_points);
230
// EXPECT_EQ(prtrack.get_charge(), charge);
197
233
TEST_F(SciFiHelicalPRTrackTestDS, test_assignment_operator) {
203
239
double z0 = 1100.0;
204
240
double phi0 = 4.0;
206
241
double dsdz = 0.02;
208
243
double chisq = 30.0;
209
244
double chisq_dof = 10.0;
245
double point_spread = 50.0;
210
246
double line_sz_chisq = 5.0;
211
247
double circle_x0 = 6.0;
212
248
double circle_y0 = 7.0;
213
249
double circle_chisq = 8.0;
215
SciFiHelicalPRTrack trk1(tracker, num_points, charge, x0, y0, z0, phi0, psi0, dsdz, R, chisq);
216
trk1.set_chisq_dof(chisq_dof);
217
trk1.set_line_sz_chisq(line_sz_chisq);
218
trk1.set_circle_x0(circle_x0);
219
trk1.set_circle_y0(circle_y0);
220
trk1.set_circle_chisq(circle_chisq);
251
SciFiHelicalPRTrack* trk1 = new SciFiHelicalPRTrack();
252
trk1->set_tracker(tracker);
253
trk1->set_num_points(num_points);
254
trk1->set_charge(charge);
255
trk1->set_pos0(ThreeVector(x0, y0, z0));
256
trk1->set_phi0(phi0);
257
trk1->set_dsdz(dsdz);
259
trk1->set_chisq(chisq);
260
trk1->set_chisq_dof(chisq_dof);
261
trk1->set_point_spread(point_spread);
262
trk1->set_line_sz_chisq(line_sz_chisq);
263
trk1->set_circle_x0(circle_x0);
264
trk1->set_circle_y0(circle_y0);
265
trk1->set_circle_chisq(circle_chisq);
222
267
SciFiSpacePoint *spoint = new SciFiSpacePoint();
223
268
spoint->set_tracker(tracker);
224
269
SciFiSpacePointPArray spoints;
225
270
spoints.push_back(spoint);
226
trk1.set_spacepoints(spoints);
271
trk1->set_spacepoints_pointers(spoints);
228
273
SciFiHelicalPRTrack trk2;
231
EXPECT_EQ(trk2.get_x0(), x0);
232
EXPECT_EQ(trk2.get_y0(), y0);
233
EXPECT_EQ(trk2.get_z0(), z0);
276
EXPECT_EQ(trk2.get_pos0().x(), x0);
277
EXPECT_EQ(trk2.get_pos0().y(), y0);
278
EXPECT_EQ(trk2.get_pos0().z(), z0);
234
279
EXPECT_EQ(trk2.get_phi0(), phi0);
235
EXPECT_EQ(trk2.get_psi0(), psi0);
236
280
EXPECT_EQ(trk2.get_dsdz(), dsdz);
237
281
EXPECT_EQ(trk2.get_R(), R);
238
282
EXPECT_EQ(trk2.get_chisq(), chisq);
239
283
EXPECT_EQ(trk2.get_chisq_dof(), chisq_dof);
284
EXPECT_EQ(trk2.get_point_spread(), point_spread);
240
285
EXPECT_EQ(trk2.get_line_sz_chisq(), line_sz_chisq);
241
286
EXPECT_EQ(trk2.get_circle_x0(), circle_x0);
242
287
EXPECT_EQ(trk2.get_circle_y0(), circle_y0);
270
315
SciFiSpacePointPArray spoints;
271
316
spoints.push_back(spoint);
273
SciFiHelicalPRTrack prtrack;
278
prtrack.set_phi0(phi0);
279
prtrack.set_psi0(psi0);
280
prtrack.set_dsdz(dsdz);
282
prtrack.set_chisq(chisq);
283
prtrack.set_chisq_dof(chisq_dof);
284
prtrack.set_line_sz_chisq(line_sz_chisq);
285
prtrack.set_circle_x0(circle_x0);
286
prtrack.set_circle_y0(circle_y0);
287
prtrack.set_circle_chisq(circle_chisq);
289
prtrack.set_tracker(tracker);
290
prtrack.set_num_points(num_points);
291
prtrack.set_charge(-1);
293
prtrack.set_spacepoints(spoints);
295
EXPECT_EQ(prtrack.get_x0(), x0);
296
EXPECT_EQ(prtrack.get_y0(), y0);
297
EXPECT_EQ(prtrack.get_z0(), z0);
298
EXPECT_EQ(prtrack.get_phi0(), phi0);
299
EXPECT_EQ(prtrack.get_psi0(), psi0);
300
EXPECT_EQ(prtrack.get_dsdz(), dsdz);
301
EXPECT_EQ(prtrack.get_R(), R);
302
EXPECT_EQ(prtrack.get_chisq(), chisq);
303
EXPECT_EQ(prtrack.get_chisq_dof(), chisq_dof);
304
EXPECT_EQ(prtrack.get_line_sz_chisq(), line_sz_chisq);
305
EXPECT_EQ(prtrack.get_circle_x0(), circle_x0);
306
EXPECT_EQ(prtrack.get_circle_y0(), circle_y0);
307
EXPECT_EQ(prtrack.get_circle_chisq(), circle_chisq);
308
EXPECT_EQ(prtrack.get_tracker(), tracker);
309
EXPECT_EQ(prtrack.get_num_points(), num_points);
310
EXPECT_EQ(prtrack.get_charge(), charge);
312
EXPECT_EQ(prtrack.get_spacepoints()[0]->get_tracker(), tracker);
318
SciFiHelicalPRTrack trk;
320
trk.set_tracker(tracker);
321
trk.set_num_points(num_points);
326
trk.set_chisq(chisq);
327
trk.set_chisq_dof(chisq_dof);
328
trk.set_point_spread(point_spread);
329
trk.set_line_sz_chisq(line_sz_chisq);
330
trk.set_circle_x0(circle_x0);
331
trk.set_circle_y0(circle_y0);
332
trk.set_circle_chisq(circle_chisq);
333
trk.set_pos0(ThreeVector(x0, y0, z0));
334
trk.set_spacepoints_pointers(spoints);
336
EXPECT_EQ(trk.get_tracker(), tracker);
337
EXPECT_EQ(trk.get_num_points(), num_points);
338
EXPECT_EQ(trk.get_charge(), charge);
339
EXPECT_EQ(trk.get_phi0(), phi0);
340
EXPECT_EQ(trk.get_dsdz(), dsdz);
341
EXPECT_EQ(trk.get_R(), R);
342
EXPECT_EQ(trk.get_chisq(), chisq);
343
EXPECT_EQ(trk.get_chisq_dof(), chisq_dof);
344
EXPECT_EQ(trk.get_point_spread(), point_spread);
345
EXPECT_EQ(trk.get_line_sz_chisq(), line_sz_chisq);
346
EXPECT_EQ(trk.get_circle_x0(), circle_x0);
347
EXPECT_EQ(trk.get_circle_y0(), circle_y0);
348
EXPECT_EQ(trk.get_circle_chisq(), circle_chisq);
349
EXPECT_EQ(trk.get_pos0().x(), x0);
350
EXPECT_EQ(trk.get_pos0().y(), y0);
351
EXPECT_EQ(trk.get_pos0().z(), z0);
353
static_cast<SciFiSpacePoint*>(trk.get_spacepoints()->At(0))->get_tracker(), tracker);
354
EXPECT_EQ(trk.get_spacepoints_pointers()[0]->get_tracker(), tracker);
315
357
} // ~namespace MAUS