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 35 of file PixelRecoUtilities.h.

References fieldInInvGev().

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

{return pt*fieldInInvGev(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 26 of file PixelRecoUtilities.h.

References PixelRecoUtilities::FieldAt0::fieldInInvGev.

Referenced by bendingRadius(), curvature(), pixelrecoutilities::LongitudinalBendingCorrection::init(), and inversePt().

                                                          {
    static  FieldAt0 fieldAt0(iSetup);
    return fieldAt0.fieldInInvGev;
  }
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 51 of file PixelRecoUtilities.h.

References bendingRadius().

Referenced by RectangularEtaPhiTrackingRegion::estimator().

                                                                                                     {
    double invCurv = bendingRadius(pt,iSetup);
    if ( invCurv == 0. ) return 0.;
    return  radius/6. * radius*radius/(2.*invCurv * 2.*invCurv);
  }