CMS 3D CMS Logo

Classes | Functions
PixelRecoUtilities Namespace Reference

Classes

struct  FieldAt0
 

Functions

template<typename T >
T bendingRadius (T pt, const edm::EventSetup &iSetup)
 
template<typename T >
T curvature (T InversePt, const edm::EventSetup &iSetup)
 
float fieldInInvGev (const edm::EventSetup &iSetup)
 
template<typename T >
T inversePt (T curvature, const edm::EventSetup &iSetup)
 
double longitudinalBendingCorrection (double radius, double pt, const edm::EventSetup &iSetup)
 

Detailed Description

Small utility funcions used during seed generation

Function Documentation

template<typename T >
T PixelRecoUtilities::bendingRadius ( T  pt,
const edm::EventSetup iSetup 
)

gives bending radius in magnetic field, pT in GeV, magnetic field taken at (0,0,0)

Definition at line 34 of file PixelRecoUtilities.h.

References PixelRecoUtilities::FieldAt0::fieldInInvGev.

Referenced by HitPairGeneratorFromLayerPairForPhotonConversion::getPhiRange(), InnerDeltaPhi::InnerDeltaPhi(), and longitudinalBendingCorrection().

34  {
35  return pt * fieldInInvGev(iSetup);
36  }
float fieldInInvGev(const edm::EventSetup &iSetup)
template<typename T >
T PixelRecoUtilities::curvature ( T  InversePt,
const edm::EventSetup iSetup 
)
float PixelRecoUtilities::fieldInInvGev ( const edm::EventSetup iSetup)
inline

Magnetic field intensity in units of cm/GeV. The value is cached in a static variable, so the actual MagneticField is accessed only once.

Definition at line 25 of file PixelRecoUtilities.h.

References PixelRecoUtilities::FieldAt0::fieldInInvGev.

Referenced by pixelrecoutilities::LongitudinalBendingCorrection::init(), and PixelFitterByHelixProjections::run().

25  {
26  static const FieldAt0 fieldAt0(iSetup);
27  return fieldAt0.fieldInInvGev;
28  }
template<typename T >
T PixelRecoUtilities::inversePt ( T  curvature,
const edm::EventSetup iSetup 
)
double PixelRecoUtilities::longitudinalBendingCorrection ( double  radius,
double  pt,
const edm::EventSetup iSetup 
)
inline

distance between stright line propagation and helix r_stright_line = radius+longitudinalBendingCorrection(radius,pt)

Definition at line 55 of file PixelRecoUtilities.h.

References bendingRadius().

Referenced by RectangularEtaPhiTrackingRegion::estimator().

55  {
56  double invCurv = bendingRadius(pt, iSetup);
57  if (invCurv == 0.)
58  return 0.;
59  return radius / 6. * radius * radius / (2. * invCurv * 2. * invCurv);
60  }
T bendingRadius(T pt, const edm::EventSetup &iSetup)