10 std::cout <<
"MathUtil::Phi_mpi_pi() function called with NaN" << std::endl;
23 inline float ATan2(
float y,
float x) {
44 Helix(std::vector<float>
c,
float r,
float p,
float l,
float q) {
66 float inward_radial_vec_z = 0;
69 float center_vec_x = ref_vec_x + inward_radial_vec_x;
70 float center_vec_y = ref_vec_y + inward_radial_vec_y;
71 float center_vec_z = ref_vec_z + inward_radial_vec_z;
72 center_.push_back(center_vec_x);
73 center_.push_back(center_vec_y);
74 center_.push_back(center_vec_z);
90 float r =
sqrt(
x *
x + y * y);
91 return std::make_tuple(
x, y, z, r);
104 return (point_r - r);
135 float x()
const {
return x_; }
136 float y()
const {
return y_; }
177 float x_mid_AB = (xA + xB) / 2.;
178 float y_mid_AB = (yA + yB) / 2.;
183 bool slope_AB_inf = (xB - xA) == 0;
184 bool slope_BC_inf = (xC - xB) == 0;
186 bool slope_AB_zero = (yB - yA) == 0;
187 bool slope_BC_zero = (yC - yB) == 0;
189 float slope_AB = slope_AB_inf ? 0 : (yB - yA) / (xB - xA);
190 float slope_BC = slope_BC_inf ? 0 : (yC - yB) / (xC - xB);
192 float slope_perp_AB = slope_AB_inf
or slope_AB_zero ? 0. : -1. / (slope_AB);
195 if ((slope_AB - slope_BC) == 0) {
196 std::cout <<
" slope_AB_zero: " << slope_AB_zero << std::endl;
197 std::cout <<
" slope_BC_zero: " << slope_BC_zero << std::endl;
198 std::cout <<
" slope_AB_inf: " << slope_AB_inf << std::endl;
199 std::cout <<
" slope_BC_inf: " << slope_BC_inf << std::endl;
200 std::cout <<
" slope_AB: " << slope_AB << std::endl;
201 std::cout <<
" slope_BC: " << slope_BC << std::endl;
202 std::cout <<
"MathUtil::getCenterFromThreePoints() function the three points are in straight line!" << std::endl;
207 (slope_AB * slope_BC * (yA - yC) + slope_BC * (xA + xB) - slope_AB * (xB + xC)) / (2. * (slope_BC - slope_AB));
208 float y = slope_perp_AB * (
x - x_mid_AB) + y_mid_AB;
float ATan2(float y, float x)
Sin< T >::type sin(const T &t)
const std::vector< float > center()
Helix(float pt, float eta, float phi, float vx, float vy, float vz, float charge)
Hit(float x, float y, float z, int idx=-1)
float compare_xy(const std::vector< float > point)
std::tuple< float, float, float, float > get_helix_point(float t)
float Phi_mpi_pi(float x)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Cos< T >::type cos(const T &t)
Tan< T >::type tan(const T &t)
Abs< T >::type abs(const T &t)
float compare_radius(const std::vector< float > point)
float infer_t(const std::vector< float > point)
std::vector< float > center_
SeedingHitSet::ConstRecHitPointer Hit
void setDerivedQuantities()
float ptEstimateFromRadius(float radius)
Helix(std::vector< float > c, float r, float p, float l, float q)
Hit getCenterFromThreePoints(Hit &hitA, Hit &hitB, Hit &hitC)
Power< A, B >::type pow(const A &a, const B &b)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
MPlex< T, D1, D2, N > atan2(const MPlex< T, D1, D2, N > &y, const MPlex< T, D1, D2, N > &x)