Functions | |
template<typename T> | |
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> | |
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> | |
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) |
T PixelRecoUtilities::bendingRadius | ( | T | 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);}
T PixelRecoUtilities::curvature | ( | T | 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 }
T PixelRecoUtilities::inversePt | ( | T | 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 }