Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:51

0001 #ifndef PixelRecoUtilities_LongitudinalBendingCorrection_H
0002 #define PixelRecoUtilities_LongitudinalBendingCorrection_H
0003 #include "MagneticField/Engine/interface/MagneticField.h"
0004 
0005 namespace pixelrecoutilities {
0006   class LongitudinalBendingCorrection {
0007   public:
0008     LongitudinalBendingCorrection() : coeff(0) {}
0009     LongitudinalBendingCorrection(float pt, const MagneticField& field) { init(pt, field); }
0010     void init(float pt, const MagneticField& field) {
0011       auto theInvCurv = pt * field.inverseBzAtOriginInGeV();
0012       coeff = 1.f / (4.f * 6.f * theInvCurv * theInvCurv);
0013     }
0014 
0015     inline float operator()(float radius) const { return radius * radius * radius * coeff; }
0016 
0017   private:
0018     float coeff;
0019   };
0020 }  // namespace pixelrecoutilities
0021 
0022 #endif