CMS 3D CMS Logo

PixelRecoUtilities Namespace Reference

Small utility funcions used during seed generation. More...


Functions

template<typename T>
bendingRadius (T pt, const edm::EventSetup &iSetup)
 gives bending radius in magnetic field, pT in GeV, magnetic field taken at (0,0,0)
template<typename T>
curvature (T InversePt, const edm::EventSetup &iSetup)
 gives transverse curvature (=1/radius of curvature) in magnetic field, pT in GeV, magnetic field taken at (0,0,0)
float fieldInInvGev (const edm::EventSetup &iSetup)
 Magnetic field intensity in units of cm/GeV.
template<typename T>
inversePt (T curvature, const edm::EventSetup &iSetup)
 inverse pt from curvature
double longitudinalBendingCorrection (double radius, double pt, const edm::EventSetup &iSetup)
 distance between stright line propagation and helix r_stright_line = radius+longitudinalBendingCorrection(radius,pt)


Detailed Description

Small utility funcions used during seed generation.

Function Documentation

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

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

Definition at line 25 of file PixelRecoUtilities.h.

References fieldInInvGev().

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

00025 {return pt*fieldInInvGev(iSetup);}

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

gives transverse curvature (=1/radius of curvature) in magnetic field, pT in GeV, magnetic field taken at (0,0,0)

Definition at line 31 of file PixelRecoUtilities.h.

References fieldInInvGev().

Referenced by PixelTripletHLTGenerator::hitTriplets(), OutInConversionSeedFinder::makeTrackState(), PathToPlane2Order::operator()(), RectangularEtaPhiTrackingRegion::phiWindow(), L1MuonPixelTrackFitter::run(), TrackFitter::run(), and PixelFitterByHelixProjections::run().

00031 {return InversePt/fieldInInvGev(iSetup);}

float PixelRecoUtilities::fieldInInvGev ( const edm::EventSetup iSetup  ) 

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 21 of file PixelRecoUtilities.cc.

References edm::EventSetup::get().

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

00022 {  
00023   edm::ESHandle<MagneticField> pSetup;
00024   iSetup.get<IdealMagneticFieldRecord>().get(pSetup);
00025   //MP da capire come accedere al B 
00026   static float theInvField = 
00027     1./fabs(pSetup->inTesla(GlobalPoint(0,0,0)).z()  *2.99792458e-3);
00028   return theInvField;
00029 }

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

inverse pt from curvature

Definition at line 35 of file PixelRecoUtilities.h.

References fieldInInvGev().

Referenced by PixelFitterByConformalMappingAndLine::run(), TrackFitter::run(), and PixelFitterByHelixProjections::run().

00035 {return curvature*fieldInInvGev(iSetup);}

double PixelRecoUtilities::longitudinalBendingCorrection ( double  radius,
double  pt,
const edm::EventSetup iSetup 
)

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

Definition at line 8 of file PixelRecoUtilities.cc.

References bendingRadius().

Referenced by RectangularEtaPhiTrackingRegion::estimator().

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


Generated on Tue Jun 9 18:50:28 2009 for CMSSW by  doxygen 1.5.4