1 #ifndef RECOTOOL_CBALGOANGLESEPARATE_CXX 2 #define RECOTOOL_CBALGOANGLESEPARATE_CXX 22 const ::cluster::ClusterParamsAlg &cluster2)
26 double angle1 = cluster1.GetParams().angle_2d;
27 double angle2 = cluster2.GetParams().angle_2d;
29 double w_start1 = cluster1.GetParams().start_point.w;
30 double t_start1 = cluster1.GetParams().start_point.t;
31 double w_start2 = cluster2.GetParams().start_point.w;
32 double t_start2 = cluster2.GetParams().start_point.t;
34 double len1 = cluster1.GetParams().length;
35 double len2 = cluster2.GetParams().length;
37 size_t hits1 = cluster1.GetHitVector().size();
38 size_t hits2 = cluster1.GetHitVector().size();
42 or (angle1 < -360) or (angle2 < -360) )
46 std::cout <<
"Cluster 1:" << std::endl;
47 std::cout <<
"\tStart: ( " << w_start1 <<
", " << t_start1 <<
" )" << std::endl;
48 std::cout <<
"\tAngle: " << angle1 << std::endl;
49 std::cout <<
"\tLength: " << len1 << std::endl;
50 std::cout <<
"\tN Hits: " << hits1 << std::endl;
52 std::cout <<
"Cluster 2:" << std::endl;
53 std::cout <<
"\tStart: ( " << w_start2 <<
", " << t_start2 <<
" )" << std::endl;
54 std::cout <<
"\tAngle: " << angle2 << std::endl;
55 std::cout <<
"\tLength: " << len2 << std::endl;
56 std::cout <<
"\tN Hits: " << hits2 << std::endl;
64 if ( (t_start2-t_start1) == 0 )
67 double slope = (t_start2-t_start1)/(w_start2-w_start1);
68 angle = atan(slope)*180./3.14;
71 separation = abs(angle-angle1);
73 std::cout <<
"Angle S1--S2: " << angle << std::endl;
74 std::cout <<
"Angle1--S2: " << separation << std::endl;
80 if (
_verbose) { std::cout <<
"Separate! cluster 1 BIG" << std::endl << std::endl; }
86 angle = (int)(angle) % 360;
87 separation = abs(angle-angle2);
89 std::cout <<
"Angle S2--S1: " << angle << std::endl;
90 std::cout <<
"Angle2--S1: " << separation << std::endl;
96 if (
_verbose) { std::cout <<
"Separate! cluster 2 BIG" << std::endl << std::endl; }
100 if (
_debug) { std::cout << std::endl; }