Class AliMUONTrackExtrap Tools for track extrapolation in ALICE dimuon spectrometer Author: Philippe Pillot
AliMUONTrackExtrap() | |
virtual | ~AliMUONTrackExtrap() |
void | TObject::AbstractMethod(const char* method) const |
static void | AddMCSEffect(AliMUONTrackParam* param, Double_t dZ, Double_t x0) |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
static Bool_t | ExtrapOneStepRungekutta(Double_t charge, Double_t step, const Double_t* vect, Double_t* vout) |
static void | ExtrapToVertex(AliMUONTrackParam* trackParam, Double_t xVtx, Double_t yVtx, Double_t zVtx, Double_t errXVtx, Double_t errYVtx) |
static void | ExtrapToVertexUncorrected(AliMUONTrackParam* trackParam, Double_t zVtx) |
static void | ExtrapToVertexWithoutBranson(AliMUONTrackParam* trackParam, Double_t zVtx) |
static void | ExtrapToVertexWithoutELoss(AliMUONTrackParam* trackParam, Double_t xVtx, Double_t yVtx, Double_t zVtx, Double_t errXVtx, Double_t errYVtx) |
static Bool_t | ExtrapToZ(AliMUONTrackParam* trackParam, Double_t zEnd) |
static Bool_t | ExtrapToZCov(AliMUONTrackParam* trackParam, Double_t zEnd, Bool_t updatePropagator = kFALSE) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
static Double_t | GetBendingMomentumFromImpactParam(Double_t impactParam) |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
static Double_t | GetImpactParamFromBendingMomentum(Double_t bendingMomentum) |
static Double_t | GetMCSAngle2(const AliMUONTrackParam& param, Double_t dZ, Double_t x0) |
virtual const char* | TObject::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
virtual const char* | TObject::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
static Bool_t | IsFieldON() |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
static void | LinearExtrapToZ(AliMUONTrackParam* trackParam, Double_t zEnd) |
static void | LinearExtrapToZCov(AliMUONTrackParam* trackParam, Double_t zEnd, Bool_t updatePropagator = kFALSE) |
virtual void | TObject::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
static void | SetField() |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
static Double_t | TotalMomentumEnergyLoss(AliMUONTrackParam* trackParam, Double_t xVtx, Double_t yVtx, Double_t zVtx) |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
static Bool_t | fgFieldON | !< kTRUE if the field is switched ON |
static Double_t | fgSimpleBValue | !< magnetic field value at the centre |
static const Double_t | fgkHelixStepLength | !< Step lenght for track extrapolation (used in Helix) |
static const Int_t | fgkMaxStepNumber | !< Maximum number of steps for track extrapolation |
static const Double_t | fgkRungeKuttaMaxResidue | !< Maximal distance (in Z) to destination to stop the track extrapolation (used in Runge-Kutta) |
static const Double_t | fgkSimpleBLength | !< length of the dipole |
static const Double_t | fgkSimpleBPosition | !< position of the dipole |
static const Bool_t | fgkUseHelix | !< Tell whether to use Helix or not (default is Runge-Kutta) |
Inheritance Chart: | ||||||||
|
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.
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.
Track parameters linearly extrapolated to the plane at "zEnd".
On return, results from the extrapolation are updated in trackParam.
Track parameters and their covariances linearly extrapolated to the plane at "zEnd".
On return, results from the extrapolation are updated in trackParam.
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.
Track parameter extrapolation to the plane at "Z" using Helix algorithm.
On return, the track parameters resulting from the extrapolation are updated in trackParam.
Track parameter extrapolation to the plane at "Z" using Rungekutta algorithm.
On return, the track parameters resulting from the extrapolation are updated in trackParam.
Set vector of Geant3 parameters pointed to by "v3" from track parameters in trackParam. Since AliMUONTrackParam is only geometry, one uses "forwardBackward" to know whether the particle is going forward (+1) or backward (-1).
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".
Track parameters and their covariances extrapolated to the plane at "zEnd".
On return, results from the extrapolation are updated in trackParam.
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.
Correct parameters and corresponding covariances using Branson correction - input param are parameters and covariances at the end of absorber - output param are parameters and covariances at vertex Absorber correction parameters are supposed to be calculated at the current track z-position
Correct parameters for energy loss and add energy loss fluctuation effect to covariances
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) pathLength: path length between trackXYZIn and trackXYZOut (cm) f0: 0th moment of z calculated with the inverse radiation-length distribution f1: 1st moment of z calculated with the inverse radiation-length distribution f2: 2nd moment of z calculated with the inverse radiation-length distribution meanRho: average density of crossed material (g/cm3) totalELoss: total energy loss in absorber
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.
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.
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
Extrapolate track parameters to vertex, corrected for multiple scattering and energy loss effects Add branson correction resolution and energy loss fluctuation to parameter covariances
Extrapolate track parameters to vertex, corrected for multiple scattering effects only Add branson correction resolution to parameter covariances
Extrapolate track parameters to vertex, corrected for energy loss effects only Add dispersion due to multiple scattering and energy loss fluctuation to parameter covariances
Extrapolate track parameters to vertex without multiple scattering and energy loss corrections Add dispersion due to multiple scattering to parameter covariances
Calculate the total momentum energy loss in-between the track position and the vertex assuming a linear propagation
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'
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'
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
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
<pre> ****************************************************************** * * * 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 * * ****************************************************************** </pre>
<pre> ****************************************************************** * * * 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 * * ****************************************************************** </pre>
<pre> ****************************************************************** * * * 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) * * * * * ****************************************************************** </pre>