- static void BransonCorrection(AliMUONTrackParam *trackParam, Double_t xVtx, Double_t yVtx, Double_t zVtx);
- static Double_t TotalMomentumEnergyLoss(Double_t thetaLimit, Double_t pTotal, Double_t theta);
- static void FieldCorrection(AliMUONTrackParam *trackParam, Double_t Z);
+ static void ExtrapToVertex(AliMUONTrackParam* trackParam,
+ Double_t xVtx, Double_t yVtx, Double_t zVtx,
+ Double_t errXVtx, Double_t errYVtx,
+ Bool_t correctForMCS, Bool_t correctForEnergyLoss);
+
+ static void AddMCSEffectInAbsorber(AliMUONTrackParam* trackParam, Double_t signedPathLength, Double_t f0, Double_t f1, Double_t f2);
+ static void CorrectMCSEffectInAbsorber(AliMUONTrackParam* param,
+ Double_t xVtx, Double_t yVtx, Double_t zVtx,
+ Double_t errXVtx, Double_t errYVtx,
+ Double_t absZBeg, Double_t pathLength, Double_t f0, Double_t f1, Double_t f2);
+ static void CorrectELossEffectInAbsorber(AliMUONTrackParam* param, Double_t eLoss, Double_t sigmaELoss2);
+ static Bool_t GetAbsorberCorrectionParam(Double_t trackXYZIn[3], Double_t trackXYZOut[3], Double_t pTotal,
+ Double_t &pathLength, Double_t &f0, Double_t &f1, Double_t &f2,
+ Double_t &meanRho, Double_t &totalELoss, Double_t &sigmaELoss2);
+
+ static Double_t BetheBloch(Double_t pTotal, Double_t pathLength, Double_t rho, Double_t atomicZ, Double_t atomicZoverA);
+ static Double_t EnergyLossFluctuation2(Double_t pTotal, Double_t pathLength, Double_t rho, Double_t atomicZoverA);
+
+ static void Cov2CovP(const TMatrixD ¶m, TMatrixD &cov);
+ static void CovP2Cov(const TMatrixD ¶m, TMatrixD &cov);