ROOT logo
AliRoot » STAT » TKDPDF

class TKDPDF: public TKDTree<int,float>, public TKDInterpolatorBase

Function Members (Methods)

public:
TKDPDF()
TKDPDF(Int_t npoints, Int_t ndim, UInt_t bsize, Float_t** data)
TKDPDF(TTree* t, const Char_t* var, const Char_t* cut = 0, UInt_t bsize = 100, Long64_t nentries = 1000000000, Long64_t firstentry = 0)
virtual~TKDPDF()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tTKDInterpolatorBase::Bootstrap()
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
Double_tTKDTree<int,float>::Distance(const float* point, int ind, Int_t type = 2) const
voidTKDTree<int,float>::DistanceToNode(const float* point, int inode, float& min, float& max, Int_t type = 2)
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
voidDrawNode(Int_t tnode, UInt_t ax1 = 0, UInt_t ax2 = 1)
voidTKDInterpolatorBase::DrawProjection(UInt_t ax1 = 0, UInt_t ax2 = 1)
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
Double_tTKDInterpolatorBase::Eval(const Double_t* point, Double_t& result, Double_t& error, Bool_t force = kFALSE)
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
voidTKDTree<int,float>::FindBNodeA(float* point, float* delta, Int_t& inode)
voidTKDTree<int,float>::FindInRange(float* point, float range, vector<int>& res)
voidTKDTree<int,float>::FindNearestNeighbors(const float* point, Int_t k, int* ind, float* dist)
intTKDTree<int,float>::FindNode(const float* point) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidTKDTree<int,float>::FindPoint(float* point, int& index, Int_t& iter)
Float_tTKDInterpolatorBase::GetAlpha() const
float*TKDTree<int,float>::GetBoundaries()
float*TKDTree<int,float>::GetBoundariesExact()
float*TKDTree<int,float>::GetBoundary(const Int_t node)
float*TKDTree<int,float>::GetBoundaryExact(const Int_t node)
intTKDTree<int,float>::GetBucketSize()
Bool_tTKDInterpolatorBase::GetCOGPoint(Int_t node, Float_t*& coord, Float_t& val, Float_t& error) const
Int_tTKDTree<int,float>::GetCrossNode()
Bool_tGetDataPoint(Int_t n, Float_t* p) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
int*TKDTree<int,float>::GetIndPoints()
Int_tTKDInterpolatorBase::GetLambda() const
Int_tTKDTree<int,float>::GetLeft(Int_t inode) const
virtual const char*TObject::GetName() const
intTKDTree<int,float>::GetNDim()
Int_tTKDTree<int,float>::GetNNodes() const
UChar_tTKDTree<int,float>::GetNodeAxis(Int_t id) const
virtual Int_tGetNodeIndex(const Float_t* p)
TKDNodeInfo*TKDInterpolatorBase::GetNodeInfo(Int_t inode) const
voidTKDTree<int,float>::GetNodePointsIndexes(Int_t node, Int_t& first1, Int_t& last1, Int_t& first2, Int_t& last2) const
floatTKDTree<int,float>::GetNodeValue(Int_t id) const
intTKDTree<int,float>::GetNPoints()
intTKDTree<int,float>::GetNPointsNode(Int_t node) const
Int_tTKDInterpolatorBase::GetNTNodes() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Int_tTKDTree<int,float>::GetOffset()
virtual Option_t*TObject::GetOption() const
Int_tTKDTree<int,float>::GetParent(Int_t inode) const
int*TKDTree<int,float>::GetPointsIndexes(Int_t node) const
Bool_tTKDInterpolatorBase::GetRange(Int_t ax, Float_t& min, Float_t& max) const
Int_tTKDTree<int,float>::GetRight(Int_t inode) const
Int_tTKDTree<int,float>::GetRowT0()
Int_tTKDInterpolatorBase::GetSize() const
voidTKDInterpolatorBase::GetStatus(Option_t* opt = "")
virtual const char*TObject::GetTitle() const
Int_tTKDTree<int,float>::GetTotalNodes() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Bool_tTKDInterpolatorBase::HasStore() 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
Int_tTKDTree<int,float>::IsOwner()
virtual Bool_tTObject::IsSortable() const
Bool_tTKDTree<int,float>::IsTerminal(int inode) const
Bool_tTObject::IsZombie() const
floatTKDTree<int,float>::KOrdStat(int ntotal, float* a, int k, int* index) const
virtual voidTObject::ls(Option_t* option = "") const
voidTKDTree<int,float>::MakeBoundaries(float* range = 0x0)
voidTKDTree<int,float>::MakeBoundariesExact()
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)
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)
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 = "")
voidTKDInterpolatorBase::SetAlpha(Float_t a)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTKDInterpolatorBase::SetCOG(Bool_t on = kTRUE)
Int_tTKDTree<int,float>::SetData(int idim, float* data)
voidTKDTree<int,float>::SetData(int npoints, int ndim, UInt_t bsize, float** data)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidTKDTree<int,float>::SetOwner(Int_t owner)
voidTKDInterpolatorBase::SetStore(Bool_t on = kTRUE)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTKDInterpolatorBase::SetWeights(Bool_t on = kTRUE)
virtual voidShowMembers(TMemberInspector&)
voidTKDTree<int,float>::Spread(int ntotal, float* a, int* index, float& min, float& max) const
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
Bool_tTKDInterpolatorBase::UseCOG() const
virtual voidTObject::UseCurrentStyle()
Bool_tTKDInterpolatorBase::UseWeights() const
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:
TKDPDF(const TKDPDF&)
virtual Bool_tBuild(Int_t ndim = 0)
TKDPDF&operator=(const TKDPDF&)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
enum TKDInterpolatorBase::EKDInterpolatorBase { kdN
kNhelper
};
enum TKDInterpolatorBase::EKDInterpolatorBaseBits { kCOG
kSTORE
kWEIGHTS
};
protected:
Float_tTKDInterpolatorBase::fAlphaparameter controlling the size of the region to interpolate n = (1+alpha)*lambda
UChar_t*TKDTree<int,float>::fAxis[fNNodes] nodes cutting axis
float*TKDTree<int,float>::fBoundaries! nodes boundaries
intTKDTree<int,float>::fBucketSizesize of the terminal nodes
Double_t*TKDInterpolatorBase::fBuffer! working space [2*fLambda]
Int_tTKDTree<int,float>::fCrossNode! cross node - node that begins the last row (with terminal nodes only)
float**TKDTree<int,float>::fData! data points
Int_tTKDTree<int,float>::fDataOwner! 0 - not owner, 2 - owner of the pointer array, 1 - owner of the whole 2-d array
Short_tTKDInterpolatorBase::fDepth! depth of the KD Tree structure used
TLinearFitter*TKDInterpolatorBase::fFitter! linear fitter
int*TKDTree<int,float>::fIndPoints! array of points indexes
TKDTree<Int_t,Float_t>*TKDInterpolatorBase::fKDhelper! kNN finder
UChar_tTKDInterpolatorBase::fLambda! number of parameters in polynom
intTKDTree<int,float>::fNDimnumber of dimensions
intTKDTree<int,float>::fNDimmdummy 2*fNDim
Int_tTKDTree<int,float>::fNNodessize of node array
intTKDTree<int,float>::fNPointsnumber of multidimensional points
Int_tTKDInterpolatorBase::fNSize!data dimension
TClonesArray*TKDInterpolatorBase::fNodesinterpolation nodes
TKDNodeInfo::TKDNodeDraw*TKDInterpolatorBase::fNodesDraw!graphical representation of interpolation nodes
Int_tTKDTree<int,float>::fOffset! offset in fIndPoints - if there are 2 rows, that contain terminal nodes
float*TKDTree<int,float>::fRange[fNDimm] range of data for each dimension
Float_t**TKDInterpolatorBase::fRefPoints! temporary storage of COG data
Int_tTKDTree<int,float>::fRowT0! smallest terminal row - first row that contains terminal nodes
UChar_tTKDInterpolatorBase::fStatusstatus of the interpolator
Int_tTKDTree<int,float>::fTotalNodestotal number of nodes (fNNodes + terminal nodes)
float*TKDTree<int,float>::fValue[fNNodes] nodes cutting value

Class Charts

Inheritance Chart:
TKDTree
TKDInterpolatorBase
TKDPDF

Function documentation

TKDPDF()
 Default constructor. To be used with care since in this case building
 of data structure is completly left to the user responsability.
TKDPDF(Int_t npoints, Int_t ndim, UInt_t bsize, Float_t** data)
 Wrapper constructor for the TKDTree.
TKDPDF(TTree* t, const Char_t* var, const Char_t* cut = 0, UInt_t bsize = 100, Long64_t nentries = 1000000000, Long64_t firstentry = 0)
 Alocate data from a tree. The variables which have to be analysed are
 defined in the "var" parameter as a colon separated list. The format should
 be identical to that used by TTree::Draw().


~TKDPDF()
Bool_t Build(Int_t ndim = 0)
 Fill interpolator's data array i.e.
  - estimation points
  - corresponding PDF values
void DrawNode(Int_t tnode, UInt_t ax1 = 0, UInt_t ax2 = 1)
 Draw node "node" and the data points within.

 Observation:
 This function creates some graphical objects
 but don't delete it. Abusing this function may cause memory leaks !
Bool_t GetDataPoint(Int_t n, Float_t* p) const
Int_t GetNodeIndex(const Float_t* p)
TKDPDF()
TKDPDF& operator=(const TKDPDF& )