92
TEST_F(PatternRecognitionTest, test_constructor) {
93
PatternRecognition pr;
94
pr.set_parameters_to_default();
95
EXPECT_TRUE(pr._straight_pr_on);
96
EXPECT_TRUE(pr._helical_pr_on);
97
EXPECT_EQ(0, pr._verb);
98
EXPECT_EQ(2, pr._n_trackers);
99
EXPECT_EQ(5, pr._n_stations);
100
EXPECT_EQ(0.3844, pr._sd_1to4);
101
EXPECT_EQ(0.4298, pr._sd_5);
102
EXPECT_EQ(1.0, pr._sd_phi_1to4);
103
EXPECT_EQ(1.0, pr._sd_phi_5);
104
EXPECT_EQ(2.0, pr._res_cut);
105
EXPECT_EQ(150.0, pr._R_res_cut);
106
EXPECT_EQ(15.0, pr._straight_chisq_cut);
107
EXPECT_EQ(4.0, pr._sz_chisq_cut);
108
EXPECT_EQ(0.75, pr._n_turns_cut);
109
EXPECT_EQ(180.0, pr._Pt_max);
110
EXPECT_EQ(50.0, pr._Pz_min);
93
114
TEST_F(PatternRecognitionTest, test_process_good) {
95
116
PatternRecognition pr;
117
pr.set_parameters_to_default();
97
119
// Set up the spacepoints vector
98
120
std::vector<SciFiSpacePoint*> spnts = set_up_spacepoints();
165
187
TEST_F(PatternRecognitionTest, test_multiple_evts_per_trigger) {
167
189
PatternRecognition pr;
190
pr.set_parameters_to_default();
169
192
// Set up the spacepoints vector
170
193
std::vector<SciFiSpacePoint*> spnts_t1_trk1;
303
326
// Perform the recon
304
pr.process(true, false, evt1); // Helical on, Straight off
327
pr.set_helical_pr_on(true);
328
pr.set_straight_pr_on(false);
306
331
std::vector<SciFiStraightPRTrack*> strks;
307
332
std::vector<SciFiHelicalPRTrack*> htrks;
761
791
TEST_F(PatternRecognitionTest, test_set_seed_stations) {
763
793
PatternRecognition pr;
794
pr.set_parameters_to_default();
764
795
std::vector<int> ignore_stations(0);
765
796
int outer_st_num, inner_st_num, mid_st_num;
910
941
TEST_F(PatternRecognitionTest, test_set_end_stations) {
912
943
PatternRecognition pr;
944
pr.set_parameters_to_default();
913
945
std::vector<int> ignore_stations(0);
914
946
int outer_st_num, inner_st_num;
1040
1072
TEST_F(PatternRecognitionTest, test_find_dsdz) {
1042
1074
PatternRecognition pr;
1075
pr.set_parameters_to_default();
1044
1077
// Set up spacepoints from an MC helical track
1045
1078
SciFiSpacePoint *sp1 = new SciFiSpacePoint();
1078
1111
spnts.push_back(sp4);
1079
1112
spnts.push_back(sp5);
1081
LeastSquaresFitter lsq(0.3844, 0.4298, 150.0);
1082
1114
SimpleCircle circle;
1083
bool good_radius = lsq.circle_fit(spnts, circle);
1115
bool good_radius = LeastSquaresFitter::circle_fit(0.3844, 0.4298, 150.0, spnts, circle);
1085
1117
double epsilon = 0.01;
1112
1144
TEST_F(PatternRecognitionTest, test_find_n_turns) {
1114
1146
PatternRecognition pr;
1147
pr.set_parameters_to_default();
1116
1149
// T1 positives
1117
1150
double arr_z[] = {1100.41, 750.48, 450.48, 200.617, 0.6523};