Definition at line 42 of file LowPtClusterShapeSeedComparitor.cc.
References trackerHits::c, CircleFromThreePoints::center(), PixelRecoUtilities::curvature(), CircleFromThreePoints::curvature(), dir, LogDebug, M_PI, mag2(), L1TEmulatorMonitor_cff::p, slope, funct::sqr(), mathSSE::sqrt(), v, PV2DBase< T, PVType, FrameType >::x(), Basic2DVector< T >::x(), PV2DBase< T, PVType, FrameType >::y(), and Basic2DVector< T >::y().
45 vector<Global2DVector>
p;
46 for(vector<GlobalPoint>::const_iterator ig =
g.begin();
51 vector<GlobalVector> globalDirs;
56 if(circle.curvature() != 0.)
60 float rad2 = (p[0] -
c).
mag2();
64 if(area >= rad2) a12 =
M_PI/2;
65 else a12 = asin(area / rad2);
67 float slope = (
g[1].z() -
g[0].z()) / a12;
69 float cotTheta = slope * circle.curvature();
70 float coshEta =
sqrt(1 +
sqr(cotTheta));
73 float sinTheta = 1. / coshEta;
74 float cosTheta = cotTheta * sinTheta;
81 for(vector<Global2DVector>::const_iterator ip = p.begin();
91 LogDebug(
"LowPtClusterShapeSeedComparitor")<<
"the curvature is null:"
94 <<
"\n point3: "<<
g[2];
static const double slope[3]
float areaParallelogram(const Global2DVector &a, const Global2DVector &b)
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 g
T curvature(T InversePt, const edm::EventSetup &iSetup)
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
Square< F >::type sqr(const F &f)
Global3DVector GlobalVector