21 const ::cluster::ClusterParamsAlg& cluster2)
25 double angle1 = cluster1.GetParams().angle_2d;
26 double angle2 = cluster2.GetParams().angle_2d;
28 double w_start1 = cluster1.GetParams().start_point.w;
29 double t_start1 = cluster1.GetParams().start_point.t;
30 double w_start2 = cluster2.GetParams().start_point.w;
31 double t_start2 = cluster2.GetParams().start_point.t;
33 double len1 = cluster1.GetParams().length;
34 double len2 = cluster2.GetParams().length;
36 size_t hits1 = cluster1.GetHitVector().size();
37 size_t hits2 = cluster2.GetHitVector().size();
39 double startseparation =
40 (w_start2 - w_start1) * (w_start2 - w_start1) + (t_start2 - t_start1) * (t_start2 - t_start1);
47 if ((hits1 <
_minHits) or (hits2 <
_minHits) or (angle1 < -360) or (angle2 < -360))
51 std::cout <<
"Cluster 1:" << std::endl;
52 std::cout <<
"\tStart: ( " << w_start1 <<
", " << t_start1 <<
" )" << std::endl;
53 std::cout <<
"\tAngle: " << angle1 << std::endl;
54 std::cout <<
"\tLength: " << len1 << std::endl;
55 std::cout <<
"\tN Hits: " << hits1 << std::endl;
57 std::cout <<
"Cluster 2:" << std::endl;
58 std::cout <<
"\tStart: ( " << w_start2 <<
", " << t_start2 <<
" )" << std::endl;
59 std::cout <<
"\tAngle: " << angle2 << std::endl;
60 std::cout <<
"\tLength: " << len2 << std::endl;
61 std::cout <<
"\tN Hits: " << hits2 << std::endl;
63 std::cout <<
"Start Point Separation: " << startseparation << std::endl;
70 if (startseparation == 0)
74 if ((t_start2 - t_start1) == 0)
77 double slope = (t_start2 - t_start1) / (w_start2 - w_start1);
78 angle = atan(slope) * 180. / 3.14;
81 separation =
abs(angle - angle1);
84 std::cout <<
"Angle S1--S2: " << angle << std::endl;
85 std::cout <<
"Angle1--S2: " << separation << std::endl;
92 if (
_verbose) { std::cout <<
"Separate! cluster 1 BIG" << std::endl << std::endl; }
98 angle = (int)(angle) % 360;
100 separation =
abs(angle - angle2);
103 std::cout <<
"Angle S2--S1: " << angle << std::endl;
104 std::cout <<
"Angle2--S1: " << separation << std::endl;
111 if (
_verbose) { std::cout <<
"Separate! cluster 2 BIG" << std::endl << std::endl; }
constexpr auto abs(T v)
Returns the absolute value of the argument.