ROOT logo
AliRoot » STEER » STEER » AliTrackFitterRieman

class AliTrackFitterRieman: public AliTrackFitter


 Class to the track points on the Riemann sphere. Inputs are
 the set of id's (volids) of the volumes in which residuals are
 calculated to construct a chi2 function to be minimized during
 the alignment procedures. For the moment the track extrapolation is
 taken at the space-point reference plane. The reference plane is
 found using the covariance matrix of the point
 (assuming sigma(x)=0 at the reference coordinate system.

 Internal usage of AliRieman class for minimization


Function Members (Methods)

public:
AliTrackFitterRieman()
AliTrackFitterRieman(const AliTrackFitterRieman& rieman)
AliTrackFitterRieman(AliTrackPointArray* array, Bool_t owner = kTRUE)
virtual~AliTrackFitterRieman()
voidTObject::AbstractMethod(const char* method) const
voidAddPoint(Float_t x, Float_t y, Float_t z, Float_t sy, Float_t sz)
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
Bool_tAliTrackFitter::FindVolId(const TArrayI* array, UShort_t volid) const
virtual Bool_tFit(const TArrayI* volIds, const TArrayI* volIdsFit = 0x0, AliGeomManager::ELayerID layerRangeMin = AliGeomManager::kFirstLayer, AliGeomManager::ELayerID layerRangeMax = AliGeomManager::kLastLayer)
Double_tGetAlpha() const
Double_tGetC() const
Float_tAliTrackFitter::GetChi2() const
Bool_tGetCorrection() const
const TMatrixDSym&AliTrackFitter::GetCovariance() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tGetDYat(Double_t x) const
Double_tGetDZat(Double_t x) const
Double_tGetErrY2at(Double_t x) const
Double_tGetErrZ2at(Double_t x) const
virtual const char*TObject::GetIconName() const
Float_tGetMaxDelta() const
Double_tGetMaxPointRadius() const
Int_tAliTrackFitter::GetMinNPoints() const
Double_tGetMinPointRadius() const
virtual const char*TObject::GetName() const
Int_tAliTrackFitter::GetNdf() const
Float_tAliTrackFitter::GetNormChi2() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const Double_t*AliTrackFitter::GetParam() const
virtual Bool_tGetPCA(const AliTrackPoint& p, AliTrackPoint& p2) const
AliRieman*GetRieman() const
virtual const char*TObject::GetTitle() const
voidAliTrackFitter::GetTrackResiduals(AliTrackPointArray*& pVolId, AliTrackPointArray*& pTrack) const
virtual UInt_tTObject::GetUniqueID() const
const Float_t*AliTrackFitter::GetX() const
Bool_tGetXYZat(Double_t r, Float_t* xyz) const
const Float_t*AliTrackFitter::GetY() const
Double_tGetYat(Double_t x) const
const Float_t*AliTrackFitter::GetZ() const
Double_tGetZat(Double_t x) 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
voidTObject::MayNotUse(const char* method) const
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)
AliTrackFitterRieman&operator=(const AliTrackFitterRieman& rieman)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidReset()
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)
voidSetCorrection(Bool_t correction)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetMaxDelta(Float_t maxDelta)
voidSetMaxPointRadius(Double_t radius)
voidAliTrackFitter::SetMinNPoints(Int_t n)
voidSetMinPointRadius(Double_t radius)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetParam(Int_t i, Double_t par)
virtual voidAliTrackFitter::SetTrackPointArray(AliTrackPointArray* array, Bool_t owner = kTRUE)
virtual voidTObject::SetUniqueID(UInt_t uid)
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
virtual Bool_tUpdate()
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
virtual Bool_tAddPoint(const AliTrackPoint*)
virtual Bool_tBegin(Int_t, Int_t)

Data Members

protected:
Double_tfAlphaangle to transform to the fitting coordinate system
Bool_tfBCorrectionadd correction for non-helicity
Float_tAliTrackFitter::fChi2Chi squared of the fit
Bool_tfConvindicates convergation
Double_tfCorrY[4]correction polynom coef
Double_tfCorrZ[4]correction polynom coef
TMatrixDSym*AliTrackFitter::fCovTrack cov matrix
Bool_tAliTrackFitter::fIsOwnerIs the object owner of the space points array
Float_tfMaxDeltamaximal allowed delta in PCA exported for PCA minimization
Double_tfMaxPointRadiusmaximal allowed radius for the point to be included in the fit
Int_tAliTrackFitter::fMinNPointsMinimum allowed number of points
Double_tfMinPointRadiusminimal allowed radius for the point to be included in the fit
Int_tfNUsedactual number of space-points used in the fit
Int_tAliTrackFitter::fNdfNumber of degrees of freedom
AliTrackPointArray*AliTrackFitter::fPTrackPointer to the array with track extrapolation points in volId
AliTrackPointArray*AliTrackFitter::fPVolIdPointer to the array with space-points in volId
Double_tAliTrackFitter::fParams[6]Track parameters
AliTrackPointArray*AliTrackFitter::fPointsPointer to the array with track space points
AliRieman*fRiemanrieman fitter
private:
TTreeSRedirector*fDebugStream!debug streamer

Class Charts

Inheritance Chart:
TObject
AliTrackFitter
AliTrackFitterRieman

Function documentation

AliTrackFitterRieman()
 default constructor

AliTrackFitterRieman(AliTrackPointArray* array, Bool_t owner = kTRUE)
 Constructor

AliTrackFitterRieman(const AliTrackFitterRieman& rieman)
 copy constructor

~AliTrackFitterRieman()


void Reset()
 Reset the track parameters and
 rieman sums

Bool_t Fit(const TArrayI* volIds, const TArrayI* volIdsFit = 0x0, AliGeomManager::ELayerID layerRangeMin = AliGeomManager::kFirstLayer, AliGeomManager::ELayerID layerRangeMax = AliGeomManager::kLastLayer)
 Fit the track points. The method takes as an input
 the set of id's (volids) of the volumes in which
 one wants to calculate the residuals.
 The following parameters are used to define the
 range of volumes to be used in the fitting
 As a result two AliTrackPointArray's obects are filled.
 The first one contains the space points with
 volume id's from volids list. The second array of points represents
 the track extrapolations corresponding to the space points
 in the first array. The two arrays can be used to find
 the residuals in the volids and consequently construct a
 chi2 function to be minimized during the alignment
 procedures. For the moment the track extrapolation is taken
 at the space-point reference plane. The reference plane is
 found using the covariance matrix of the point
 (assuming sigma(x)=0 at the reference coordinate system.
void AddPoint(Float_t x, Float_t y, Float_t z, Float_t sy, Float_t sz)
 add point to rieman fitter

Bool_t Update()


Bool_t GetPCA(const AliTrackPoint& p, AliTrackPoint& p2) const
 Get the closest to a given spacepoint track trajectory point
 Look for details in the description of the Fit() method

Double_t GetYat(Double_t x) const
 get y position at given point

Double_t GetZat(Double_t x) const
 get z position at given point

Double_t GetErrY2at(Double_t x) const
 get estimate of extrapolation error

Double_t GetErrZ2at(Double_t x) const
 get estimate of extrapolation error

void SetParam(Int_t i, Double_t par)
void SetMaxDelta(Float_t maxDelta)
{ fMaxDelta = maxDelta;}
Float_t GetMaxDelta() const
{ return fMaxDelta;}
void SetCorrection(Bool_t correction)
{ fBCorrection=correction;}
Bool_t GetCorrection() const
{return fBCorrection ;}
void AddPoint(Float_t x, Float_t y, Float_t z, Float_t sy, Float_t sz)
Double_t GetC() const
{return fRieman->GetC();}
Double_t GetDYat(Double_t x) const
{return fRieman->GetDYat(x);}
Double_t GetDZat(Double_t x) const
{return fRieman->GetDZat(x);}
Bool_t GetXYZat(Double_t r, Float_t* xyz) const
{return fRieman->GetXYZat(r, fAlpha,xyz);}
AliRieman * GetRieman() const
{return fRieman;}
Double_t GetAlpha() const
 Methods needed in order to use the class
 inside the millipede alignment algorithm
{ return fAlpha; }
void SetMinPointRadius(Double_t radius)
{ fMinPointRadius = radius; }
void SetMaxPointRadius(Double_t radius)
{ fMaxPointRadius = radius; }
Double_t GetMinPointRadius() const
{ return fMinPointRadius; }
Double_t GetMaxPointRadius() const
{ return fMaxPointRadius; }
Bool_t Begin(Int_t , Int_t )
{Reset(); return kTRUE;}