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

◆ bendingRadius()

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.

34  {
35  return pt * fieldInInvGev(iSetup);
36  }

References fieldInInvGev(), and DiDispStaMuonMonitor_cfi::pt.

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

◆ curvature()

template<typename T >
T PixelRecoUtilities::curvature ( T  InversePt,
const edm::EventSetup iSetup 
)

◆ fieldInInvGev()

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.

25  {
26  static const FieldAt0 fieldAt0(iSetup);
27  return fieldAt0.fieldInInvGev;
28  }

References PixelRecoUtilities::FieldAt0::fieldInInvGev.

Referenced by bendingRadius(), curvature(), pixelrecoutilities::LongitudinalBendingCorrection::init(), inversePt(), CAHitNtupletCUDA::produce(), PixelNtupletsFitterProducer::produce(), and PixelFitterByHelixProjections::run().

◆ inversePt()

template<typename T >
T PixelRecoUtilities::inversePt ( T  curvature,
const edm::EventSetup iSetup 
)

◆ longitudinalBendingCorrection()

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.

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  }

References bendingRadius(), DiDispStaMuonMonitor_cfi::pt, and CosmicsPD_Skims::radius.

Referenced by RectangularEtaPhiTrackingRegion::estimator().

PixelRecoUtilities::fieldInInvGev
float fieldInInvGev(const edm::EventSetup &iSetup)
Definition: PixelRecoUtilities.h:25
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
PixelRecoUtilities::curvature
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition: PixelRecoUtilities.h:42
CosmicsPD_Skims.radius
radius
Definition: CosmicsPD_Skims.py:135
PixelRecoUtilities::bendingRadius
T bendingRadius(T pt, const edm::EventSetup &iSetup)
Definition: PixelRecoUtilities.h:34