![]() |
AliRoot Core
3abf5b4 (3abf5b4)
|
Track parameters in ALICE dimuon spectrometer. More...
#include <AliMFTTrackExtrap.h>
Public Member Functions | |
AliMFTTrackExtrap () | |
Constructor. More... | |
virtual | ~AliMFTTrackExtrap () |
Destructor. More... | |
Static Public Member Functions | |
static void | SetField () |
static Bool_t | IsFieldON () |
return kTRUE if the field is switched ON More... | |
static Double_t | GetImpactParamFromBendingMomentum (Double_t bendingMomentum) |
static Double_t | GetBendingMomentumFromImpactParam (Double_t impactParam) |
static void | LinearExtrapToZ (AliMFTTrackParam *trackParam, Double_t zEnd) |
static void | LinearExtrapToZCov (AliMFTTrackParam *trackParam, Double_t zEnd, Bool_t updatePropagator=kFALSE) |
static Bool_t | ExtrapToZ (AliMFTTrackParam *trackParam, Double_t zEnd) |
static Bool_t | ExtrapToZCov (AliMFTTrackParam *trackParam, Double_t zEnd, Bool_t updatePropagator=kFALSE) |
static void | ExtrapToVertex (AliMFTTrackParam *trackParam, Double_t xVtx, Double_t yVtx, Double_t zVtx, Double_t errXVtx, Double_t errYVtx) |
static void | ExtrapToVertexWithoutELoss (AliMFTTrackParam *trackParam, Double_t xVtx, Double_t yVtx, Double_t zVtx, Double_t errXVtx, Double_t errYVtx) |
static void | ExtrapToVertexWithoutBranson (AliMFTTrackParam *trackParam, Double_t zVtx) |
static void | ExtrapToVertexUncorrected (AliMFTTrackParam *trackParam, Double_t zVtx) |
static Double_t | TotalMomentumEnergyLoss (AliMFTTrackParam *trackParam, Double_t xVtx, Double_t yVtx, Double_t zVtx) |
static Double_t | GetMCSAngle2 (const AliMFTTrackParam ¶m, Double_t dZ, Double_t x0) |
static void | AddMCSEffect (AliMFTTrackParam *param, Double_t dZ, Double_t x0) |
static Bool_t | ExtrapOneStepRungekutta (Double_t charge, Double_t step, const Double_t *vect, Double_t *vout) |
static Double_t | LinearRegression (Int_t nVal, Double_t *xVal, Double_t *yVal, Double_t &p0, Double_t &p1) |
static Double_t | Sagitta (Int_t nVal, Double_t *xVal, Double_t *yVal, Double_t &distL, Double_t &q2) |
static Double_t | QuadraticRegression (Int_t nVal, Double_t *xVal, Double_t *yVal, Double_t &p0, Double_t &p1, Double_t &p2) |
static Double_t | CircleRegression (Int_t nVal, Double_t *xVal, Double_t *yVal) |
Private Member Functions | |
AliMFTTrackExtrap (const AliMFTTrackExtrap &trackExtrap) | |
Not implemented. More... | |
AliMFTTrackExtrap & | operator= (const AliMFTTrackExtrap &trackExtrap) |
Not implemented. More... | |
Static Private Member Functions | |
static Bool_t | ExtrapToZHelix (AliMFTTrackParam *trackParam, Double_t Z) |
static Bool_t | ExtrapToZRungekutta (AliMFTTrackParam *trackParam, Double_t Z) |
static void | ConvertTrackParamForExtrap (AliMFTTrackParam *trackParam, Double_t forwardBackward, Double_t *v3) |
static void | RecoverTrackParam (Double_t *v3, Double_t Charge, AliMFTTrackParam *trackParam) |
static void | ExtrapToVertex (AliMFTTrackParam *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 (AliMFTTrackParam *trackParam, Double_t signedPathLength, Double_t f0, Double_t f1, Double_t f2) |
static void | CorrectMCSEffectInAbsorber (AliMFTTrackParam *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 (AliMFTTrackParam *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 | EnergyLossFluctuation (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) |
static void | ExtrapOneStepHelix (Double_t charge, Double_t step, const Double_t *vect, Double_t *vout) |
static void | ExtrapOneStepHelix3 (Double_t field, Double_t step, const Double_t *vect, Double_t *vout) |
Static Private Attributes | |
static const Double_t | fgkSimpleBPosition = 0.5 * (AliMFTConstants::DefaultPlaneZ(0) + AliMFTConstants::DefaultPlaneZ(9)) |
! position of the dipole More... | |
static const Double_t | fgkSimpleBLength |
! length of the dipole More... | |
static Double_t | fgSimpleBValue = 0. |
! magnetic field value at the centre More... | |
static Bool_t | fgFieldON = kFALSE |
! kTRUE if the field is switched ON More... | |
static const Bool_t | fgkUseHelix = kTRUE |
! Tell whether to use Helix or not (default is Runge-Kutta) More... | |
static const Int_t | fgkMaxStepNumber = 5000 |
! Maximum number of steps for track extrapolation More... | |
static const Double_t | fgkHelixStepLength = 0.1 |
! Step lenght for track extrapolation (used in Helix) More... | |
static const Double_t | fgkRungeKuttaMaxResidue = 0.002 |
! Maximal distance (in Z) to destination to stop the track extrapolation (used in Runge-Kutta) More... | |
Track parameters in ALICE dimuon spectrometer.
Tools for track extrapolation in ALICE dimuon spectrometer
Definition at line 23 of file AliMFTTrackExtrap.h.
|
inline |
Constructor.
Definition at line 27 of file AliMFTTrackExtrap.h.
|
inlinevirtual |
Destructor.
Definition at line 29 of file AliMFTTrackExtrap.h.
|
private |
Not implemented.
|
static |
Add to the track parameter covariances the effects of multiple Coulomb scattering through a material of thickness "Abs(dZ)" and of radiation length "x0" assuming linear propagation and using the small angle approximation. dZ = zOut - zIn (sign is important) and "param" is assumed to be given zOut. If x0 <= 0., assume dZ = pathLength/x0 and consider the material thickness as negligible.
Definition at line 998 of file AliMFTTrackExtrap.cxx.
Referenced by AliMFTTrackReconstructor::AddMCSEffect().
|
staticprivate |
Add to the track parameter covariances the effects of multiple Coulomb scattering signedPathLength must have the sign of (zOut - zIn) where all other parameters are assumed to be given at zOut.
Definition at line 707 of file AliMFTTrackExtrap.cxx.
|
staticprivate |
Returns the mean total momentum energy loss of muon with total momentum='pTotal' in the absorber layer of lenght='pathLength', density='rho', A='atomicA' and Z='atomicZ'
Definition at line 1250 of file AliMFTTrackExtrap.cxx.
Referenced by GetAbsorberCorrectionParam().
|
static |
Perform a Circular Regression Assume same error on all clusters = 1 Return Radius evaluation
Definition at line 297 of file AliMFTTrackExtrap.cxx.
|
staticprivate |
Set vector of Geant3 parameters pointed to by "v3" from track parameters in trackParam. Since AliMFTTrackParam is only geometry, one uses "forwardBackward" to know whether the particle is going forward (+1) or backward (-1).
Definition at line 565 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapToZHelix(), and ExtrapToZRungekutta().
|
staticprivate |
Correct parameters for energy loss and add energy loss fluctuation effect to covariances
Definition at line 822 of file AliMFTTrackExtrap.cxx.
|
staticprivate |
Definition at line 751 of file AliMFTTrackExtrap.cxx.
|
staticprivate |
change coordinate system: (X, SlopeX, Y, SlopeY, q/Pyz) -> (X, SlopeX, Y, SlopeY, q*PTot) parameters (param) are given in the (X, SlopeX, Y, SlopeY, q/Pyz) coordinate system
Definition at line 1284 of file AliMFTTrackExtrap.cxx.
|
staticprivate |
change coordinate system: (X, SlopeX, Y, SlopeY, q*PTot) -> (X, SlopeX, Y, SlopeY, q/Pyz) parameters (param) are given in the (X, SlopeX, Y, SlopeY, q/Pyz) coordinate system
Definition at line 1307 of file AliMFTTrackExtrap.cxx.
|
staticprivate |
Returns the total momentum energy loss fluctuation of muon with total momentum='pTotal' in the absorber layer of lenght='pathLength', density='rho', A='atomicA' and Z='atomicZ'
Definition at line 1265 of file AliMFTTrackExtrap.cxx.
Referenced by GetAbsorberCorrectionParam().
|
staticprivate |
****************************************************************** * * * Performs the tracking of one step in a magnetic field * * The trajectory is assumed to be a helix in a constant field * * taken at the mid point of the step. * * Parameters: * * input * * STEP =arc length of the step asked * * VECT =input vector (position,direction cos and momentum) * * CHARGE= electric charge of the particle * * output * * VOUT = same as VECT after completion of the step * * * * ==>Called by : USER, GUSWIM * * Author m.hansroul ********* * * modified s.egli, s.v.levonian * * modified v.perevoztchikov * * ******************************************************************
Definition at line 1330 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapToZHelix().
|
staticprivate |
****************************************************************** * * * Tracking routine in a constant field oriented * * along axis 3 * * Tracking is performed with a conventional * * helix step method * * * * ==>Called by : USER, GUSWIM * * Authors R.Brun, M.Hansroul ********* * * Rewritten V.Perevoztchikov * * ******************************************************************
Definition at line 1453 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapOneStepHelix().
|
static |
****************************************************************** * * * Runge-Kutta method for tracking a particle through a magnetic * * field. Uses Nystroem algorithm (See Handbook Nat. Bur. of * * Standards, procedure 25.5.20) * * * * Input parameters * * CHARGE Particle charge * * STEP Step size * * VECT Initial co-ords,direction cosines,momentum * * Output parameters * * VOUT Output co-ords,direction cosines,momentum * * User routine called * * CALL GUFLD(X,F) * * * * ==>Called by : USER, GUSWIM * * Authors R.Brun, M.Hansroul ********* * * V.Perevoztchikov (CUT STEP implementation) * * * * * ******************************************************************
Definition at line 1531 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapToZRungekutta().
|
static |
Extrapolate track parameters to vertex, corrected for multiple scattering and energy loss effects Add branson correction resolution and energy loss fluctuation to parameter covariances
Definition at line 1179 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapToVertexUncorrected(), ExtrapToVertexWithoutBranson(), and ExtrapToVertexWithoutELoss().
|
staticprivate |
Main method for extrapolation to the vertex: Returns the track parameters and covariances resulting from the extrapolation of the current trackParam Changes parameters and covariances according to multiple scattering and energy loss corrections: if correctForMCS=kTRUE: compute parameters using Branson correction and add correction resolution to covariances if correctForMCS=kFALSE: add parameter dispersion due to MCS in parameter covariances if correctForEnergyLoss=kTRUE: correct parameters for energy loss and add energy loss fluctuation to covariances if correctForEnergyLoss=kFALSE: do nothing about energy loss
Definition at line 1063 of file AliMFTTrackExtrap.cxx.
|
static |
Extrapolate track parameters to vertex without multiple scattering and energy loss corrections Add dispersion due to multiple scattering to parameter covariances
Definition at line 1207 of file AliMFTTrackExtrap.cxx.
|
static |
Extrapolate track parameters to vertex, corrected for energy loss effects only Add dispersion due to multiple scattering and energy loss fluctuation to parameter covariances
Definition at line 1199 of file AliMFTTrackExtrap.cxx.
|
static |
Extrapolate track parameters to vertex, corrected for multiple scattering effects only Add branson correction resolution to parameter covariances
Definition at line 1189 of file AliMFTTrackExtrap.cxx.
|
static |
Interface to track parameter extrapolation to the plane at "Z" using Helix or Rungekutta algorithm. On return, the track parameters resulting from the extrapolation are updated in trackParam.
Definition at line 404 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapToZCov().
|
static |
Track parameters and their covariances extrapolated to the plane at "zEnd". On return, results from the extrapolation are updated in trackParam.
Definition at line 621 of file AliMFTTrackExtrap.cxx.
Referenced by AliMFTTrackReconstructor::AddMCSEffect(), and AliMFTTrackReconstructor::TraceTrack().
|
staticprivate |
Track parameter extrapolation to the plane at "Z" using Helix algorithm. On return, the track parameters resulting from the extrapolation are updated in trackParam.
Definition at line 418 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapToZ().
|
staticprivate |
Track parameter extrapolation to the plane at "Z" using Rungekutta algorithm. On return, the track parameters resulting from the extrapolation are updated in trackParam.
todo : change that
Definition at line 481 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapToZ().
|
staticprivate |
Parameters used to correct for Multiple Coulomb Scattering and energy loss in absorber Calculated assuming a linear propagation from trackXYZIn to trackXYZOut (order is important)
Definition at line 853 of file AliMFTTrackExtrap.cxx.
Referenced by TotalMomentumEnergyLoss().
|
static |
Returns signed bending momentum in bending plane (GeV/c), the sign being the sign of the charge for particles moving forward in Z, from the impact parameter "ImpactParam" at vertex in bending plane (cm), using simple values for dipole magnetic field.
Definition at line 86 of file AliMFTTrackExtrap.cxx.
|
static |
Returns impact parameter at vertex in bending plane (cm), from the signed bending momentum "BendingMomentum" in bending plane (GeV/c), using simple values for dipole magnetic field. The sign of "BendingMomentum" is the sign of the charge.
Definition at line 70 of file AliMFTTrackExtrap.cxx.
|
static |
Return the angular dispersion square due to multiple Coulomb scattering through a material of thickness "dZ" and of radiation length "x0" assuming linear propagation and using the small angle approximation.
Definition at line 974 of file AliMFTTrackExtrap.cxx.
|
inlinestatic |
return kTRUE if the field is switched ON
Definition at line 34 of file AliMFTTrackExtrap.h.
|
static |
Track parameters linearly extrapolated to the plane at "zEnd". On return, results from the extrapolation are updated in trackParam.
Definition at line 351 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapToZ(), and LinearExtrapToZCov().
|
static |
Track parameters and their covariances linearly extrapolated to the plane at "zEnd". On return, results from the extrapolation are updated in trackParam.
Definition at line 367 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapToZCov().
|
static |
Perform a Linear Regression Return Chi2
Definition at line 227 of file AliMFTTrackExtrap.cxx.
Referenced by AliMFTCATrack::EvalSignedPt().
|
private |
Not implemented.
|
static |
Perform a Quadratic Regression Assume same error on all clusters = 1 Return ~ Chi2
Definition at line 259 of file AliMFTTrackExtrap.cxx.
Referenced by Sagitta().
|
staticprivate |
Set track parameters in trackParam from Geant3 parameters pointed to by "v3", assumed to be calculated for forward motion in Z. "InverseBendingMomentum" is signed with "charge".
Definition at line 597 of file AliMFTTrackExtrap.cxx.
Referenced by ExtrapToZHelix(), and ExtrapToZRungekutta().
|
static |
Calculate sagitta of the track Return sagitta
Definition at line 107 of file AliMFTTrackExtrap.cxx.
|
static |
set field on/off flag; set field at the centre of the MFT
Definition at line 56 of file AliMFTTrackExtrap.cxx.
Referenced by AliMFTTrackReconstructor::AliMFTTrackReconstructor().
|
static |
Calculate the total momentum energy loss in-between the track position and the vertex assuming a linear propagation
Definition at line 1215 of file AliMFTTrackExtrap.cxx.
|
staticprivate |
! kTRUE if the field is switched ON
Definition at line 87 of file AliMFTTrackExtrap.h.
Referenced by ExtrapToZ(), ExtrapToZCov(), and IsFieldON().
|
staticprivate |
! Step lenght for track extrapolation (used in Helix)
Definition at line 90 of file AliMFTTrackExtrap.h.
Referenced by ExtrapToZHelix().
|
staticprivate |
! Maximum number of steps for track extrapolation
Definition at line 89 of file AliMFTTrackExtrap.h.
Referenced by ExtrapToZHelix(), and ExtrapToZRungekutta().
|
staticprivate |
! Maximal distance (in Z) to destination to stop the track extrapolation (used in Runge-Kutta)
Definition at line 91 of file AliMFTTrackExtrap.h.
Referenced by ExtrapToZRungekutta().
|
staticprivate |
! length of the dipole
Definition at line 85 of file AliMFTTrackExtrap.h.
|
staticprivate |
! position of the dipole
Definition at line 84 of file AliMFTTrackExtrap.h.
|
staticprivate |
! Tell whether to use Helix or not (default is Runge-Kutta)
Definition at line 88 of file AliMFTTrackExtrap.h.
Referenced by ExtrapToZ().
|
staticprivate |
! magnetic field value at the centre
Definition at line 86 of file AliMFTTrackExtrap.h.
Referenced by Sagitta().