ROOT logo
AliRoot » STEER » STEER » AliParamSolver

class AliParamSolver: public TObject

Function Members (Methods)

public:
AliParamSolver()
AliParamSolver(const AliParamSolver& src)
AliParamSolver(Int_t maxglo, Int_t locsize = 16)
virtual~AliParamSolver()
voidTObject::AbstractMethod(const char* method) const
voidAddConstraint(Int_t parID, Double_t val, Double_t err2inv)
voidAddEquation(const Double_t* dGl, const Double_t* dLc, const Double_t* res, const Double_t* covI, Double_t sclErrI = -1.)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(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
AliSymMatrix*GetCovMatrix()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_t*GetGlobals() const
virtual const char*TObject::GetIconName() const
Double_t*GetLocals() const
Int_tGetMaxGlobal() const
virtual const char*TObject::GetName() const
Int_tGetNGlobal() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() 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)
AliParamSolver&operator=(const AliParamSolver& src)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* = "") const
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)
voidSetMaxGlobal(Int_t n)
voidSetNGlobal(Int_t n)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
Bool_tSolve(Bool_t obtainCov = kFALSE)
Bool_tSolveGlobals(Bool_t obtainCov = kFALSE)
Bool_tSolveLocals()
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 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
voidExpandStorage(Int_t newSize)
voidInit(Int_t npini = 16)
voidTObject::MakeZombie()

Data Members

public:
enum { kBitGloSol
kBitLocSol
kBitCInv
kXX
kXY
kXZ
kYX
kYY
kYZ
kZX
kZY
kZZ
kX
kY
kZ
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_t*fCovDGltemporary matrix of cov*dR/dGlo
Double_t*fMatGoff-diagonals of local partition (G_i in MP)
Double_t*fMatGammadiagonals of local partition (Gamma_i in MP)
AliSymMatrix*fMatrixfinal matrix for global parameters (C in MP)
Int_tfMaxGlobalmax number of globals can process
Int_tfMaxPointsbuffer size for storage
Int_tfNGlobalnumber of globals
Int_tfNPointsnumber of added points (=number of local parameters)
Double_t*fRHSGloRHS of globals (vector b in MP)
Double_t*fRHSLocRHS of locals (vector beta in MP)
Double_t*fSolGlosolution for globals ( vector a in MP)
Double_t*fSolLocsolution for locals ( vector alpha in MP)

Class Charts

Inheritance Chart:
TObject
AliParamSolver

Function documentation

AliParamSolver()
 default constructor
AliParamSolver(Int_t maxglo, Int_t locsize = 16)
 constructor for nglo globals
AliParamSolver(const AliParamSolver& src)
 copy constructor
AliParamSolver& operator=(const AliParamSolver& src)
 assignment operator
~AliParamSolver()
 destructor
Bool_t SolveGlobals(Bool_t obtainCov = kFALSE)
 solve against global vars.
Bool_t SolveLocals()
 solve for locals
AliSymMatrix* GetCovMatrix()
 obtain cov.mat
Bool_t Solve(Bool_t obtainCov = kFALSE)
 solve all
void AddEquation(const Double_t* dGl, const Double_t* dLc, const Double_t* res, const Double_t* covI, Double_t sclErrI = -1.)
 add the measured point to chi2 normal equations
 Input:
 dGl : NGlo x 3 matrix of derivative for each of the 3 coordinates vs global params
 dLc : 3-vector of derivative for each coordinate vs local param
 res : residual of the point (extrapolated - measured)
 covI: 3 x (3+1)/2 matrix of the (inverted) errors (symmetric)
 sclErrI: scaling coefficient to apply to inverted errors (used if >0)
 The contribution of the point to chi2 is  V * covI * V
 with component of the vector V(i) = dGl[i]*glob + dLc[i]*loc - res[i]

 Instead of the NGlo + NMeasPoints size matrix we create only NGlo size matrix using the
 reduction a la millepede : http://www.desy.de/~blobel/millepede1.ps
void AddConstraint(Int_t parID, Double_t val, Double_t err2inv)
 add gassian constriant to parameter parID
void Init(Int_t npini = 16)
 create storage assuming maximum npini measured points
void ExpandStorage(Int_t newSize)
 increase space to newSize measured points
void Clear(Option_t* = "")
 reset all
void Print(Option_t* = "") const
 print itself
void SetNGlobal(Int_t n)
 set N global params
void SetMaxGlobal(Int_t n)
 set limit on N glob.
Int_t GetNGlobal() const
{return fNGlobal;}
Int_t GetMaxGlobal() const
{return fMaxGlobal;}
Double_t* GetLocals() const
{return (Double_t*)fSolLoc;}
Double_t* GetGlobals() const
{return (Double_t*)fSolGlo;}