ROOT logo
AliRoot » EMCAL » AliEMCALTrack

class AliEMCALTrack: public AliExternalTrackParam

 Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.

 Author: The ALICE Off-line Project.
 Contributors are mentioned in the code where appropriate.

 Permission to use, copy, modify and distribute this software and its
 documentation strictly for non-commercial purposes is hereby granted
 without fee, provided that the above copyright notice appears in all
 copies and that both the copyright notice and this permission notice
 appear in the supporting documentation. The authors make no claims
 about the suitability of this software for any purpose. It is
 provided "as is" without express or implied warranty.


                       Class AliEMCALTrack

    A class implementing a track which is propagated to EMCAL and
    matches and EMCAL cluster.
    This track object will not update Kalman parameters, but it
    allows for track propagation and suitable energy loss correction,
    even in an environment with a variable magnetic field, which is not
    well managed in the AliExternalTrackParam class.

 author: A. Pulvirenti (alberto.pulvirenti@ct.infn.it)

Function Members (Methods)

public:
AliEMCALTrack()
AliEMCALTrack(const AliESDtrack& t)
AliEMCALTrack(const AliEMCALTrack& t)
~AliEMCALTrack()
voidTObject::AbstractMethod(const char* method) const
voidAliExternalTrackParam::AddCovariance(const Double_t* cov)
virtual voidAliExternalTrackParam::AddTimeStep(Double_t)
virtual voidTObject::AppendPad(Option_t* option = "")
static Double_tAliExternalTrackParam::BetheBlochAleph(Double_t bg, Double_t kp1 = 0.76176e-1, Double_t kp2 = 10.632, Double_t kp3 = 0.13279e-4, Double_t kp4 = 1.8631, Double_t kp5 = 1.9479)
static Double_tAliExternalTrackParam::BetheBlochGas(Double_t bg)
static Double_tAliExternalTrackParam::BetheBlochGeant(Double_t bg, Double_t kp0 = 2.33, Double_t kp1 = 0.20, Double_t kp2 = 3.00, Double_t kp3 = 173e-9, Double_t kp4 = 0.49848)
static Double_tAliExternalTrackParam::BetheBlochSolid(Double_t bg)
virtual voidTObject::Browse(TBrowser* b)
virtual Short_tAliExternalTrackParam::Charge() const
voidAliExternalTrackParam::CheckCovariance()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tCompare(const TObject* o) const
Bool_tAliExternalTrackParam::ConstrainToVertex(const AliVVertex* vtx, Double_t* b)
virtual voidTObject::Copy(TObject& object) const
voidAliExternalTrackParam::CopyFromVTrack(const AliVTrack* vTrack)
Bool_tAliExternalTrackParam::CorrectForMaterial(Double_t d, Double_t x0, Double_t mass, Double_t (*)(Double_t) f = AliExternalTrackParam::BetheBlochSolid)
Bool_tAliExternalTrackParam::CorrectForMeanMaterial(Double_t xOverX0, Double_t xTimesRho, Double_t mass, Bool_t anglecorr = kFALSE, Double_t (*)(Double_t) f = AliExternalTrackParam::BetheBlochSolid)
Bool_tAliExternalTrackParam::CorrectForMeanMaterialdEdx(Double_t xOverX0, Double_t xTimesRho, Double_t mass, Double_t dEdx, Bool_t anglecorr = kFALSE)
Bool_tAliExternalTrackParam::CorrectForMeanMaterialZA(Double_t xOverX0, Double_t xTimesRho, Double_t mass, Double_t zOverA = 0.49848, Double_t density = 2.33, Double_t exEnergy = 173e-9, Double_t jp1 = 0.20, Double_t jp2 = 3.00, Bool_t anglecorr = kFALSE)
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 voidAliExternalTrackParam::DrawTrack(Float_t magF, Float_t minR, Float_t maxR, Float_t stepR)
virtual voidTObject::Dump() constMENU
virtual Double_tAliExternalTrackParam::E() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Double_tAliExternalTrackParam::Eta() 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 voidAliExternalTrackParam::FillPolymarker(TPolyMarker3D* pol, Float_t magf, Float_t minR, Float_t maxR, Float_t stepR)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static voidAliExternalTrackParam::g3helx3(Double_t qfield, Double_t step, Double_t* vect)
Double_tAliExternalTrackParam::Get1P() const
Double_tAliExternalTrackParam::GetAlpha() const
virtual voidAliVTrack::GetBxByBz(Double_t* b) const
virtual Double_tAliVTrack::GetBz() const
virtual Double_tAliExternalTrackParam::GetC(Double_t b) const
Double_tGetClusterDist() const
Int_tGetClusterIndex() const
const Double_t*AliExternalTrackParam::GetCovariance() const
virtual Bool_tAliExternalTrackParam::GetCovarianceXYZPxPyPz(Double_t* cv) const
Double_tAliExternalTrackParam::GetD(Double_t xv, Double_t yv, Double_t b) const
Double_tAliExternalTrackParam::GetDCA(const AliExternalTrackParam* p, Double_t b, Double_t& xthis, Double_t& xp) const
virtual const AliDetectorPID*AliVTrack::GetDetectorPID() const
voidAliExternalTrackParam::GetDirection(Double_t* d) const
Bool_tAliExternalTrackParam::GetDistance(AliExternalTrackParam* param2, Double_t x, Double_t* dist, Double_t b)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
voidAliExternalTrackParam::GetDZ(Double_t x, Double_t y, Double_t z, Double_t b, Float_t* dz) const
virtual Int_tAliVTrack::GetEMCALcluster() const
virtual const AliVEvent*AliVTrack::GetEvent() const
virtual Int_tAliVParticle::GetFirstDaughter() const
virtual Short_tAliVParticle::GetGeneratorIndex() const
voidAliExternalTrackParam::GetHelixParameters(Double_t* h, Double_t b) const
virtual Int_tAliVTrack::GetHMPIDcluIdx() const
virtual voidAliVTrack::GetHMPIDmip(Float_t&, Float_t&, Int_t&, Int_t&) const
virtual Double_tAliVTrack::GetHMPIDoccupancy() const
virtual voidAliVTrack::GetHMPIDpid(Double_t*) const
virtual Double_tAliVTrack::GetHMPIDsignal() const
virtual voidAliVTrack::GetHMPIDtrk(Float_t&, Float_t&, Float_t&, Float_t&) const
virtual const char*TObject::GetIconName() const
virtual Int_tAliExternalTrackParam::GetID() const
Int_tAliExternalTrackParam::GetIndex(Int_t i, Int_t j) const
virtual const AliExternalTrackParam*AliVTrack::GetInnerParam() const
virtual Double_tAliVTrack::GetIntegratedLength() const
virtual voidAliVTrack::GetIntegratedTimes(Double_t*, Int_t nspec = AliPID::kSPECIESC) const
virtual UChar_tAliExternalTrackParam::GetITSClusterMap() const
virtual voidAliVTrack::GetITSdEdxSamples(Double_t* s) const
virtual Double_tAliVTrack::GetITSsignal() const
virtual Int_tAliExternalTrackParam::GetLabel() const
virtual Int_tAliVParticle::GetLastDaughter() const
Double_tAliExternalTrackParam::GetLinearD(Double_t xv, Double_t yv) const
Double_tGetMass() const
static Double_tAliExternalTrackParam::GetMostProbablePt()
virtual Int_tAliVParticle::GetMother() const
virtual const char*TObject::GetName() const
virtual Int_tAliVTrack::GetNcls(Int_t) const
virtual Int_tAliVTrack::GetNumberOfTRDslices() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Bool_tAliVTrack::GetOuterHmpPxPyPz(Double_t*) const
virtual const AliExternalTrackParam*AliVTrack::GetOuterParam() const
Double_tAliExternalTrackParam::GetP() const
const Double_t*AliExternalTrackParam::GetParameter() const
Double_tAliExternalTrackParam::GetParameterAtRadius(Double_t r, Double_t bz, Int_t parType) const
virtual Int_tAliVTrack::GetPHOScluster() const
virtual Int_tAliVTrack::GetPIDForTracking() const
Double_tAliExternalTrackParam::GetPredictedChi2(const AliExternalTrackParam* t) const
Double_tAliExternalTrackParam::GetPredictedChi2(Double_t* p, Double_t* cov) const
Double_tAliExternalTrackParam::GetPredictedChi2(Double_t* p, Double_t* covyz, Double_t* covxyz) const
virtual Bool_tAliExternalTrackParam::GetPxPyPz(Double_t* p) const
Bool_tAliExternalTrackParam::GetPxPyPzAt(Double_t x, Double_t b, Double_t* p) const
Double_t*AliExternalTrackParam::GetResiduals(Double_t* p, Double_t* cov, Bool_t updated = kTRUE) const
Int_tGetSeedIndex() const
Int_tGetSeedLabel() const
Double_tAliExternalTrackParam::GetSigma1Pt2() const
Double_tAliExternalTrackParam::GetSigma1PtSnp() const
Double_tAliExternalTrackParam::GetSigma1PtTgl() const
Double_tAliExternalTrackParam::GetSigma1PtY() const
Double_tAliExternalTrackParam::GetSigma1PtZ() const
Double_tAliExternalTrackParam::GetSigmaSnp2() const
Double_tAliExternalTrackParam::GetSigmaSnpY() const
Double_tAliExternalTrackParam::GetSigmaSnpZ() const
Double_tAliExternalTrackParam::GetSigmaTgl2() const
Double_tAliExternalTrackParam::GetSigmaTglSnp() const
Double_tAliExternalTrackParam::GetSigmaTglY() const
Double_tAliExternalTrackParam::GetSigmaTglZ() const
Double_tAliExternalTrackParam::GetSigmaY2() const
Double_tAliExternalTrackParam::GetSigmaZ2() const
Double_tAliExternalTrackParam::GetSigmaZY() const
Double_tAliExternalTrackParam::GetSign() const
Double_tAliExternalTrackParam::GetSigned1Pt() const
Double_tAliExternalTrackParam::GetSignedPt() const
Double_tAliExternalTrackParam::GetSnp() const
Double_tAliExternalTrackParam::GetSnpAt(Double_t x, Double_t b) const
virtual ULong_tAliExternalTrackParam::GetStatus() const
Double_tAliExternalTrackParam::GetTgl() const
virtual const char*TObject::GetTitle() const
virtual Int_tAliVTrack::GetTOFBunchCrossing(Double_t = 0, Bool_t = kFALSE) const
virtual const AliTOFHeader*AliVTrack::GetTOFHeader() const
virtual Double_tAliVTrack::GetTOFsignal() const
virtual Double_tAliVTrack::GetTOFsignalTunedOnData() const
virtual Float_tAliVTrack::GetTPCClusterInfo(Int_t, Int_t, Int_t = 0, Int_t = 159, Int_t = 0) const
virtual const TBits*AliVTrack::GetTPCClusterMapPtr() const
virtual AliTPCdEdxInfo*AliVTrack::GetTPCdEdxInfo() const
virtual const TBits*AliVTrack::GetTPCFitMapPtr() const
virtual Double_tAliVTrack::GetTPCmomentum() const
virtual UShort_tAliVTrack::GetTPCNcls() const
virtual UShort_tAliVTrack::GetTPCNclsF() const
virtual const TBits*AliVTrack::GetTPCSharedMapPtr() const
virtual Double_tAliVTrack::GetTPCsignal() const
virtual UShort_tAliVTrack::GetTPCsignalN() const
virtual Double_tAliVTrack::GetTPCsignalTunedOnData() const
virtual Double_tAliVTrack::GetTPCTgl() const
virtual Double_tAliVTrack::GetTrackEtaOnEMCal() const
virtual Double_tAliVTrack::GetTrackPhiOnEMCal() const
virtual Double_tAliVTrack::GetTrackPOnEMCal() const
virtual Double_tAliVTrack::GetTrackPtOnEMCal() const
virtual Double_tAliVTrack::GetTRDchi2() const
virtual Double_tAliVTrack::GetTRDmomentum(Int_t, Double_t* = 0x0) const
virtual UChar_tAliVTrack::GetTRDncls() const
virtual UChar_tAliVTrack::GetTRDntrackletsPID() const
virtual Double_tAliVTrack::GetTRDsignal() const
virtual Double_tAliVTrack::GetTRDslice(Int_t, Int_t) const
virtual UInt_tTObject::GetUniqueID() const
static Bool_tAliExternalTrackParam::GetUseLogTermMS()
Double_tAliExternalTrackParam::GetX() const
Bool_tAliExternalTrackParam::GetXatLabR(Double_t r, Double_t& x, Double_t bz, Int_t dir = 0) const
virtual Bool_tAliExternalTrackParam::GetXYZ(Double_t* p) const
virtual Bool_tAliExternalTrackParam::GetXYZAt(Double_t x, Double_t b, Double_t* r) const
Bool_tAliExternalTrackParam::GetXYZatR(Double_t xr, Double_t bz, Double_t* xyz = 0, Double_t* alpSect = 0) const
Double_tAliExternalTrackParam::GetY() const
Bool_tAliExternalTrackParam::GetYAt(Double_t x, Double_t b, Double_t& y) const
Double_tAliExternalTrackParam::GetZ() const
Bool_tAliExternalTrackParam::GetZAt(Double_t x, Double_t b, Double_t& z) const
Bool_tAliVParticle::Global2LocalMomentum(Double_t* p, Short_t charge, Double_t& alpha) const
Bool_tAliVParticle::Global2LocalPosition(Double_t* r, Double_t alpha) 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
Bool_tAliExternalTrackParam::Intersect(Double_t* pnt, Double_t* norm, Double_t bz) const
Bool_tAliExternalTrackParam::Invert()
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tAliVTrack::IsEMCAL() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tAliVTrack::IsExtrapolatedToEMCAL() const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tAliVTrack::IsPHOS() const
virtual Bool_tIsSortable() const
virtual Bool_tAliExternalTrackParam::IsStartedTimeIntegral() const
Bool_tTObject::IsZombie() const
Bool_tAliVParticle::Local2GlobalMomentum(Double_t* p, Double_t alpha) const
Bool_tAliVParticle::Local2GlobalPosition(Double_t* r, Double_t alpha) const
virtual voidTObject::ls(Option_t* option = "") const
virtual Double_tAliExternalTrackParam::M() const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
virtual Double_tAliExternalTrackParam::OneOverPt() 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)
AliEMCALTrack&operator=(const AliEMCALTrack& t)
virtual Double_tAliExternalTrackParam::P() const
virtual voidTObject::Paint(Option_t* option = "")
virtual Int_tAliExternalTrackParam::PdgCode() const
virtual Double_tAliExternalTrackParam::Phi() const
virtual const Double_t*AliExternalTrackParam::PID() const
virtual voidTObject::Pop()
virtual voidAliExternalTrackParam::Print(Option_t* option = "") const
Bool_tAliExternalTrackParam::Propagate(Double_t alpha, Double_t x, Double_t b)
voidAliExternalTrackParam::Propagate(Double_t len, Double_t* x, Double_t* p, Double_t bz) const
Bool_tAliExternalTrackParam::PropagateBxByBz(Double_t alpha, Double_t x, Double_t* b)
Bool_tAliExternalTrackParam::PropagateParamOnlyBxByBzTo(Double_t xk, const Double_t* b)
Bool_tAliExternalTrackParam::PropagateParamOnlyTo(Double_t xk, Double_t b)
Bool_tPropagateTo(Double_t xr, Double_t d = 0.0, Double_t x0 = 21.82)
Bool_tAliExternalTrackParam::PropagateToBxByBz(Double_t x, const Double_t* b)
Double_tAliExternalTrackParam::PropagateToDCA(AliExternalTrackParam* p, Double_t b)
virtual Bool_tAliExternalTrackParam::PropagateToDCA(const AliVVertex* vtx, Double_t b, Double_t maxd, Double_t* dz = 0, Double_t* cov = 0)
Bool_tAliExternalTrackParam::PropagateToDCABxByBz(const AliVVertex* vtx, Double_t* b, Double_t maxd, Double_t* dz = 0, Double_t* cov = 0)
Bool_tPropagateToGlobal(Double_t x, Double_t y, Double_t z, Double_t d = 0.0, Double_t x0 = 21.82)
virtual Double_tAliExternalTrackParam::Pt() const
virtual Double_tAliExternalTrackParam::Px() const
virtual Bool_tAliExternalTrackParam::PxPyPz(Double_t* p) const
virtual Double_tAliExternalTrackParam::Py() const
virtual Double_tAliExternalTrackParam::Pz() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidAliExternalTrackParam::Reset()
voidTObject::ResetBit(UInt_t f)
voidAliExternalTrackParam::ResetCovariance(Double_t s2)
virtual voidAliVTrack::ResetStatus(ULong_t)
Bool_tAliExternalTrackParam::Rotate(Double_t alpha)
Bool_tAliExternalTrackParam::RotateParamOnly(Double_t alpha)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidAliExternalTrackParam::Set(Double_t* xyz, Double_t* pxpypz, Double_t* cv, Short_t sign)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetClusterDist(Double_t dist)
voidSetClusterIndex(Int_t idx)
static voidSetCorrectForEL(Bool_t doit = kTRUE)
virtual voidAliVTrack::SetDetectorPID(const AliDetectorPID*)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidAliVTrack::SetEMCALcluster(Int_t)
virtual voidAliVParticle::SetGeneratorIndex(Short_t)
virtual voidAliVTrack::SetID(Short_t)
voidSetMass(Double_t mass)
static voidAliExternalTrackParam::SetMostProbablePt(Double_t pt)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliExternalTrackParam::SetParamOnly(double x, double alpha, const double* param)
virtual voidAliVTrack::SetPHOScluster(Int_t)
virtual voidAliVTrack::SetPIDForTracking(Int_t)
voidSetSeedIndex(Int_t index)
voidSetSeedLabel(Int_t label)
static voidSetSortByPt(Bool_t doit = kTRUE)
virtual voidAliVTrack::SetStatus(ULong_t)
virtual voidAliVTrack::SetTrackPhiEtaPtOnEMCal(Double_t, Double_t, Double_t = -999)
virtual voidTObject::SetUniqueID(UInt_t uid)
static voidAliExternalTrackParam::SetUseLogTermMS(Bool_t v = kTRUE)
static voidSetUseOuterParams(Bool_t doit = kTRUE)
virtual voidShowMembers(TMemberInspector&)
Double_tStraightPropagateTo(Double_t xk, Double_t& x, Double_t& y, Double_t& z)
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
virtual Double_tAliExternalTrackParam::Theta() const
virtual Bool_tAliExternalTrackParam::Translate(Double_t* vTrasl, Double_t* covV)
Bool_tAliExternalTrackParam::Update(Double_t* p, Double_t* cov)
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
virtual Double_tAliExternalTrackParam::Xv() const
virtual Bool_tAliExternalTrackParam::XvYvZv(Double_t* x) const
virtual Double_tAliExternalTrackParam::Y() const
virtual Double_tAliExternalTrackParam::Yv() const
virtual Double_tAliExternalTrackParam::Zv() const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
Bool_tSimplePropagation(Double_t xk, Double_t d = 0.0, Double_t x0 = 0.0)

Data Members

protected:
Double32_tAliExternalTrackParam::fAlphaLocal <-->global coor.system rotation angle
Double32_tAliExternalTrackParam::fC[15]The track parameter covariance matrix
Double_tfClusterDistdistance between track propagation and matched cluster
Int_tfClusterIndexindex of matched cluster (if any)
Double_tfMassmass hypothesis (in GeV/c2)
Double32_tAliExternalTrackParam::fP[5]The track parameters
Int_tfSeedIndexindex of imported ESD track in its owner AliESD
Int_tfSeedLabelGEANT label of imported ESD track
Double32_tAliExternalTrackParam::fXX coordinate for the point of parametrisation
static Bool_tfgCorrectForELapply corrections for energy loss?
static Double32_tAliExternalTrackParam::fgMostProbablePt"Most probable" pt
static Bool_tfgSortByPttrue --> sort by pt, false --> sort by track-cluster distance
static Bool_tAliExternalTrackParam::fgUseLogTermMSuse log term in Mult.Stattering evaluation
static Bool_tfgUseOuterParamsuse outer parameters from AliESDtrack?

Class Charts

Inheritance Chart:
TObject
AliVParticle
AliVTrack
AliExternalTrackParam
AliEMCALTrack

Function documentation

AliEMCALTrack()
 Default constructor.
 Sets to meaningless values the indexes corresponding to
 ESD seed track and matched cluster.

AliEMCALTrack(const AliESDtrack& t)
 Constructor from AliESDtrack

AliEMCALTrack(const AliEMCALTrack& t)
 Copy constructor.

AliEMCALTrack& operator=(const AliEMCALTrack& t)
Int_t Compare(const TObject* o) const
 Compare tracks.
 How tracks are compared depends on the static flag
 "fSortByPt" (boolean):
 true  => tracks are compared w.r. to their transverse momentum
 false => tracks are compared w.r. to their distance from cluster

Bool_t PropagateTo(Double_t xr, Double_t d = 0.0, Double_t x0 = 21.82)
 Propagates a track to the plane defined by x='xk'.
 Second parameter is the width (in units of rad. length) crossed by the track.
 Third parameter is the reference radiation length used.
 Track propagation includes computing energy loss (modifies curvature)
 and multiple scattering perturbation (alters covariance matrix), if requested.
 Method returns kFALSE when something goes wrong with computations.

 An additional operation (thanks to Yuri Belikov) is done to check
 when the track crosses a sector boundary. If this happens,
 the local track reference frame is adjusted accordingly.

Double_t StraightPropagateTo(Double_t xk, Double_t& x, Double_t& y, Double_t& z)
 Does propagation with a straight line approximation.
 This operation does not update track parameters, but it returns a point
 in space, according to this propagation, which is stored in
 the arguments #2, #3 and #4

Bool_t PropagateToGlobal(Double_t x, Double_t y, Double_t z, Double_t d = 0.0, Double_t x0 = 21.82)
 Propagate to a point specified with its global XYZ coordinates.
 Here, the correct value of the 'X' parameter to be sent to "PropagateTo" is computed.

Bool_t SimplePropagation(Double_t xk, Double_t d = 0.0, Double_t x0 = 0.0)
 Recall base class method for track propagation.

Int_t GetClusterIndex() const
{ return fClusterIndex ; }
Double_t GetClusterDist() const
{ return fClusterDist ; }
Double_t GetMass() const
{ return fMass ; }
Int_t GetSeedIndex() const
{ return fSeedIndex ; }
Int_t GetSeedLabel() const
{ return fSeedLabel ; }
Bool_t IsSortable() const
{ return kTRUE ; }
void SetClusterIndex(Int_t idx)
{ fClusterIndex = idx ; }
void SetClusterDist(Double_t dist)
{ fClusterDist = dist ; }
void SetMass(Double_t mass)
{ fMass = mass ; }
void SetSeedIndex(Int_t index)
{ fSeedIndex = index ; }
void SetSeedLabel(Int_t label)
{ fSeedLabel = label ; }
void SetUseOuterParams(Bool_t doit = kTRUE)
{ fgUseOuterParams = doit ; }
void SetCorrectForEL(Bool_t doit = kTRUE)
{ fgCorrectForEL = doit ; }
void SetSortByPt(Bool_t doit = kTRUE)
{ fgSortByPt = doit ; }