ROOT logo
AliRoot » STEER » ESD » AliTrackerBase

class AliTrackerBase: public TObject

               Implementation of the AliTrackerBase class
                that is the base for the AliTracker class
                     Origin: Marian.Ivanov@cern.ch

Function Members (Methods)

public:
AliTrackerBase()
virtual~AliTrackerBase()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::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_tFitTrack(AliExternalTrackParam* trackParam, AliTrackPointArray* pointArray, Double_t mass, Double_t maxStep)
static voidGetBxByBz(const Double_t* r, Double_t* b)
static Double_tGetBz()
static Double_tGetBz(const Double_t* r)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetSigmaX() const
Double_tGetSigmaY() const
Double_tGetSigmaZ() const
virtual const char*TObject::GetTitle() const
static Double_tGetTrackPredictedChi2(AliExternalTrackParam* track, Double_t mass, Double_t step, const AliExternalTrackParam* backup)
virtual UInt_tTObject::GetUniqueID() const
Double_tGetX() const
Double_tGetY() const
Double_tGetZ() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
static Double_tMakeC(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t x3, Double_t y3)
static AliExternalTrackParam*MakeSeed(AliTrackPoint& point0, AliTrackPoint& point1, AliTrackPoint& point2)
static Double_tMakeSnp(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t x3, Double_t y3)
static Double_tMakeTgl(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t z1, Double_t z2)
static Double_tMakeTgl(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t z1, Double_t z2, Double_t c)
voidTObject::MayNotUse(const char* method) const
static Double_tMeanMaterialBudget(const Double_t* start, const Double_t* end, Double_t* mparam)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::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 voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
static Bool_tPropagateTrackTo(AliExternalTrackParam* track, Double_t x, Double_t m, Double_t maxStep, Bool_t rotateTo = kTRUE, Double_t maxSnp = 0.8, Int_t sign = 0, Bool_t addTimeStep = kFALSE, Bool_t correctMaterialBudget = kTRUE)
static Int_tPropagateTrackTo2(AliExternalTrackParam* track, Double_t x, Double_t m, Double_t maxStep, Bool_t rotateTo = kTRUE, Double_t maxSnp = 0.8, Int_t sign = 0, Bool_t addTimeStep = kFALSE, Bool_t correctMaterialBudget = kTRUE)
static Bool_tPropagateTrackToBxByBz(AliExternalTrackParam* track, Double_t x, Double_t m, Double_t maxStep, Bool_t rotateTo = kTRUE, Double_t maxSnp = 0.8, Int_t sign = 0, Bool_t addTimeStep = kFALSE)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVertex(const Double_t* xyz, const Double_t* ers = 0)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
static Bool_tUniformField()
static voidUpdateTrack(AliExternalTrackParam&, const AliExternalTrackParam&)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
AliTrackerBase(const AliTrackerBase& atr)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

private:
Double_tfSigmaXerror of the primary vertex position in X
Double_tfSigmaYerror of the primary vertex position in Y
Double_tfSigmaZerror of the primary vertex position in Z
Double_tfXX-coordinate of the primary vertex
Double_tfYY-coordinate of the primary vertex
Double_tfZZ-coordinate of the primary vertex

Class Charts

Inheritance Chart:
TObject
AliTrackerBase
AliTracker
AliEMCALTracker
AliHMPIDTracker
AliITSTrackleterSPDEff
AliITSUTrackerCooked
AliITSUTrackerGlo
AliITSUTrackerSA
AliITStrackerMI
AliITStrackerSA
AliITStrackerV2
 [more...]

Function documentation

AliTrackerBase()
 The default constructor.

AliTrackerBase(const AliTrackerBase& atr)
 The default constructor.

Double_t GetBz()
Double_t GetBz(const Double_t* r)
 Returns Bz (kG) at the point "r" .

void GetBxByBz(const Double_t* r, Double_t* b)
 Returns Bx, By and Bz (kG) at the point "r" .

Double_t MeanMaterialBudget(const Double_t* start, const Double_t* end, Double_t* mparam)
 Calculate mean material budget and material properties between
    the points "start" and "end".

 "mparam" - parameters used for the energy and multiple scattering
  corrections:

 mparam[0] - mean density: sum(x_i*rho_i)/sum(x_i) [g/cm3]
 mparam[1] - equivalent rad length fraction: sum(x_i/X0_i) [adimensional]
 mparam[2] - mean A: sum(x_i*A_i)/sum(x_i) [adimensional]
 mparam[3] - mean Z: sum(x_i*Z_i)/sum(x_i) [adimensional]
 mparam[4] - length: sum(x_i) [cm]
 mparam[5] - Z/A mean: sum(x_i*Z_i/A_i)/sum(x_i) [adimensional]
 mparam[6] - number of boundary crosses

  Origin:  Marian Ivanov, Marian.Ivanov@cern.ch

  Corrections and improvements by
        Andrea Dainese, Andrea.Dainese@lnl.infn.it,
        Andrei Gheata,  Andrei.Gheata@cern.ch

PropagateTrackTo(AliExternalTrackParam* track, Double_t x, Double_t m, Double_t maxStep, Bool_t rotateTo = kTRUE, Double_t maxSnp = 0.8, Int_t sign = 0, Bool_t addTimeStep = kFALSE, Bool_t correctMaterialBudget = kTRUE)

 Propagates the track to the plane X=xk (cm) using the magnetic field map
 and correcting for the crossed material.

 mass     - mass used in propagation - used for energy loss correction (if <0 then q = 2)
 maxStep  - maximal step for propagation

  Origin: Marian Ivanov,  Marian.Ivanov@cern.ch


Int_t PropagateTrackTo2(AliExternalTrackParam* track, Double_t x, Double_t m, Double_t maxStep, Bool_t rotateTo = kTRUE, Double_t maxSnp = 0.8, Int_t sign = 0, Bool_t addTimeStep = kFALSE, Bool_t correctMaterialBudget = kTRUE)

 Propagates the track to the plane X=xk (cm) using the magnetic field map
 and correcting for the crossed material.

 mass     - mass used in propagation - used for energy loss correction
 maxStep  - maximal step for propagation

  Origin: Marian Ivanov,  Marian.Ivanov@cern.ch


PropagateTrackToBxByBz(AliExternalTrackParam* track, Double_t x, Double_t m, Double_t maxStep, Bool_t rotateTo = kTRUE, Double_t maxSnp = 0.8, Int_t sign = 0, Bool_t addTimeStep = kFALSE)

 Propagates the track to the plane X=xk (cm)
 taking into account all the three components of the magnetic field
 and correcting for the crossed material.

 mass     - mass used in propagation - used for energy loss correction (if <0 then q=2)
 maxStep  - maximal step for propagation

  Origin: Marian Ivanov,  Marian.Ivanov@cern.ch


Double_t GetTrackPredictedChi2(AliExternalTrackParam* track, Double_t mass, Double_t step, const AliExternalTrackParam* backup)
 This function brings the "track" with particle "mass" [GeV]
 to the same local coord. system and the same reference plane as
 of the "backup", doing it in "steps" [cm].
 Then, it calculates the 5D predicted Chi2 for these two tracks

Double_t MakeC(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t x3, Double_t y3)
 Initial approximation of the track curvature

Double_t MakeSnp(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t x3, Double_t y3)
 Initial approximation of the track snp

Double_t MakeTgl(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t z1, Double_t z2, Double_t c)
 Initial approximation of the tangent of the track dip angle


Double_t MakeTgl(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t z1, Double_t z2)
 Initial approximation of the tangent of the track dip angle

AliExternalTrackParam * MakeSeed(AliTrackPoint& point0, AliTrackPoint& point1, AliTrackPoint& point2)
 Make Seed  - AliExternalTrackParam from input 3 points
 returning seed in local frame of point0

Double_t FitTrack(AliExternalTrackParam* trackParam, AliTrackPointArray* pointArray, Double_t mass, Double_t maxStep)
 refit the track  - trackParam using the points in point array

void UpdateTrack(AliExternalTrackParam& , const AliExternalTrackParam& )
 Update track 1 with track 2



Bool_t UniformField()
virtual ~AliTrackerBase()
{}
void SetVertex(const Double_t* xyz, const Double_t* ers = 0)
Double_t GetX() const
{return fX;}
Double_t GetY() const
{return fY;}
Double_t GetZ() const
{return fZ;}
Double_t GetSigmaX() const
{return fSigmaX;}
Double_t GetSigmaY() const
{return fSigmaY;}
Double_t GetSigmaZ() const
{return fSigmaZ;}
AliTrackerBase & operator=(const AliTrackerBase& atr)