2 template<
class T>
T sqr(
T t) {
return t *
t; }
9 thePoint1(p1), thePoint2(p2),
10 theErrorXY1(erroRPhi1), theErrorZ1(errorZ1),
11 theErrorXY2(erroRPhi2), theErrorZ2(errorZ2),
12 theCurvature(curvature),
theNSigma(nSigma)
16 const GlobalPoint& thePoint3,
float erroRPhi3)
const
19 if (dR12 < 1.
e-5) dR12 = 1.e-5;
23 double slope = dR23/dR12;
35 +
sqr(dZ12/dR12 )*sqr_errorXY23
36 +
sqr(dZ12*dR23/dR12/dR12)*sqr_errorXY12
39 return Range(z3-error,z3+error);
PixelRecoRange< float > Range
static const double slope[3]
T curvature(T InversePt, const edm::EventSetup &iSetup)
Range operator()(const GlobalPoint &p3, float erroRPhi3) const
T perp() const
Magnitude of transverse component.
Square< F >::type sqr(const F &f)
ThirdHitZPrediction(const GlobalPoint &p1, float erroRPhi1, float errorZ1, const GlobalPoint &p2, float erroRPhi2, float errorZ2, double curvature, double nSigma=3.)