CMS 3D CMS Logo

ThirdHitZPrediction.cc
Go to the documentation of this file.
1 #include "ThirdHitZPrediction.h"
2 
3 namespace {
4  template <class T>
5  T sqr(T t) {
6  return t * t;
7  }
8 } // namespace
9 
11  double dR23 = (thePoint3 - thePoint2).perp();
12 
13  double slope = dR23 / dR12;
14  if ((theCurvature > 1.e-4) && (std::abs(0.5 * dR23 * theCurvature) < 1.))
15  slope = std::asin(0.5 * dR23 * theCurvature) / dS12;
16 
17  double z3 = thePoint2.z() + dZ12 * slope;
18 
19  double sqr_errorXY23 = sqr_errorXY2 + sqr(erroRPhi3);
20  double error = sqrt(sqr((1 + dR23 / dR12) * theErrorZ2) + sqr(dR23 / dR12 * theErrorZ1) +
21  sqr(dZ12 / dR12) * sqr_errorXY23 + sqr((dZ12 / dR12) * (dR23 / dR12)) * sqr_errorXY12);
22  error *= theNSigma;
23  return Range(z3 - error, z3 + error);
24 }
ThirdHitZPrediction::Range
PixelRecoRange< float > Range
Definition: ThirdHitZPrediction.h:10
ThirdHitZPrediction::theCurvature
double theCurvature
Definition: ThirdHitZPrediction.h:41
ThirdHitZPrediction::sqr_errorXY2
double sqr_errorXY2
Definition: ThirdHitZPrediction.h:39
ThirdHitZPrediction::sqr_errorXY12
double sqr_errorXY12
Definition: ThirdHitZPrediction.h:38
sqr
int sqr(const T &t)
Definition: pfalgo_common_ref.h:9
ThirdHitZPrediction::dR12
double dR12
Definition: ThirdHitZPrediction.h:37
perp
T perp() const
Magnitude of transverse component.
Definition: Basic3DVectorLD.h:133
relativeConstraints.error
error
Definition: relativeConstraints.py:53
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
ThirdHitZPrediction::theNSigma
double theNSigma
Definition: ThirdHitZPrediction.h:42
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
Point3DBase< float, GlobalTag >
ThirdHitZPrediction::operator()
Range operator()(const GlobalPoint &p3, float erroRPhi3) const
Definition: ThirdHitZPrediction.cc:10
PixelRecoRange< float >
ThirdHitZPrediction.h
ThirdHitZPrediction::theErrorZ2
double theErrorZ2
Definition: ThirdHitZPrediction.h:40
ThirdHitZPrediction::dS12
double dS12
Definition: ThirdHitZPrediction.h:37
T
long double T
Definition: Basic3DVectorLD.h:48
ThirdHitZPrediction::theErrorZ1
double theErrorZ1
Definition: ThirdHitZPrediction.h:40
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
slope
static const double slope[3]
Definition: CastorTimeSlew.cc:6
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
ThirdHitZPrediction::thePoint2
GlobalPoint thePoint2
Definition: ThirdHitZPrediction.h:36
ThirdHitZPrediction::dZ12
double dZ12
Definition: ThirdHitZPrediction.h:37
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37