ROOT logo
ROOT » TMVA » TMVA::PDEFoamDecisionTree

class TMVA::PDEFoamDecisionTree: public TMVA::PDEFoamDiscriminant


 PDEFoamDecisionTree

 This PDEFoam variant acts like a decision tree and stores in every
 cell the discriminant

    D = #events with given class / total number of events

 as well as the statistical error on the discriminant.  It therefore
 acts as a discriminant estimator.  The decision tree-like behaviour
 is achieved by overriding PDEFoamDiscriminant::Explore() to use a
 decision tree-like cell splitting algorithm (given a separation
 type).

 This PDEFoam variant should be booked together with the
 PDEFoamDecisionTreeDensity density estimator, which returns the
 events in a cell without sampling.


Function Members (Methods)

public:
virtual~PDEFoamDecisionTree()
voidTObject::AbstractMethod(const char* method) const
voidTMVA::PDEFoam::AddVariableName(const char* s)
voidTMVA::PDEFoam::AddVariableName(TObjString* s)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidTMVA::PDEFoam::CheckAll(Int_t)
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
voidTMVA::PDEFoam::Create()
virtual voidTObject::Delete(Option_t* option = "")MENU
voidTMVA::PDEFoam::DeleteBinarySearchTree()
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
TH1D*TMVA::PDEFoam::Draw1Dim(TMVA::ECellValue cell_value, Int_t nbin, TMVA::PDEFoamKernelBase* kernel = NULL)
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
voidTMVA::PDEFoam::FillBinarySearchTree(const TMVA::Event* ev)
virtual voidTMVA::PDEFoamDiscriminant::FillFoamCells(const TMVA::Event* ev, Float_t wt)
virtual voidTMVA::PDEFoamDiscriminant::Finalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual vector<Float_t>TMVA::PDEFoam::GetCellValue(const map<Int_t,Float_t>& xvec, TMVA::ECellValue cv)
virtual Float_tTMVA::PDEFoam::GetCellValue(const TMVA::PDEFoamCell* cell, TMVA::ECellValue cv)
virtual Float_tTMVA::PDEFoam::GetCellValue(const vector<Float_t>& xvec, TMVA::ECellValue cv, TMVA::PDEFoamKernelBase*)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TStringTMVA::PDEFoam::GetFoamName() const
virtual const char*TObject::GetIconName() const
UInt_tTMVA::PDEFoam::GetMaxDepth() const
UInt_tTMVA::PDEFoam::GetNActiveCells() const
virtual const char*TObject::GetName() const
UInt_tTMVA::PDEFoam::GetNCells() const
UInt_tTMVA::PDEFoam::GetNInActiveCells() const
UInt_tTMVA::PDEFoam::GetNmin()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TMVA::PDEFoamCell*TMVA::PDEFoam::GetRootCell() const
virtual const char*TObject::GetTitle() const
Int_tTMVA::PDEFoam::GetTotDim() const
virtual UInt_tTObject::GetUniqueID() const
TObjString*TMVA::PDEFoam::GetVariableName(Int_t idx)
Double_tTMVA::PDEFoam::GetXmax(Int_t idim) const
Double_tTMVA::PDEFoam::GetXmin(Int_t idim) 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
voidTMVA::PDEFoam::Initialize()
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
TMVA::MsgLogger&TMVA::PDEFoam::Log() 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)
TMVA::PDEFoamDecisionTree&operator=(const TMVA::PDEFoamDecisionTree&)
virtual voidTObject::Paint(Option_t* option = "")
TMVA::PDEFoamTMVA::PDEFoam::PDEFoam()
TMVA::PDEFoamTMVA::PDEFoam::PDEFoam(const TString&)
TMVA::PDEFoamDecisionTreePDEFoamDecisionTree()
TMVA::PDEFoamDecisionTreePDEFoamDecisionTree(const TString&, TMVA::SeparationBase* sepType, UInt_t cls)
TMVA::PDEFoamDiscriminantTMVA::PDEFoamDiscriminant::PDEFoamDiscriminant()
TMVA::PDEFoamDiscriminantTMVA::PDEFoamDiscriminant::PDEFoamDiscriminant(const TString&, UInt_t)
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidTMVA::PDEFoam::PrintCell(Long_t iCell = 0)
voidTMVA::PDEFoam::PrintCells()
virtual TH2D*TMVA::PDEFoamDiscriminant::Project2(Int_t, Int_t, TMVA::ECellValue, TMVA::PDEFoamKernelBase*, UInt_t)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidTMVA::PDEFoam::ResetCellElements()
voidTMVA::PDEFoam::RootPlot2dim(const TString& filename, TString opt, Bool_t CreateCanvas = kTRUE, Bool_t colors = kTRUE)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTMVA::PDEFoam::SetDensity(TMVA::PDEFoamDensityBase* dens)
voidTMVA::PDEFoam::SetDim(Int_t kDim)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTMVA::PDEFoam::SetEvPerBin(Int_t EvPerBin)
voidTMVA::PDEFoam::SetInhiDiv(Int_t, Int_t)
voidTMVA::PDEFoam::SetMaxDepth(UInt_t maxdepth)
voidTMVA::PDEFoam::SetnBin(Int_t nBin)
voidTMVA::PDEFoam::SetnCells(Long_t nCells)
voidTMVA::PDEFoam::SetNmin(UInt_t val)
voidTMVA::PDEFoam::SetnSampl(Long_t nSampl)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTMVA::PDEFoam::SetXmax(Int_t idim, Double_t wmax)
voidTMVA::PDEFoam::SetXmin(Int_t idim, Double_t wmin)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& 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()
vector<Float_t>TMVA::PDEFoam::VarTransform(const vector<Float_t>& invec) const
Float_tTMVA::PDEFoam::VarTransform(Int_t idim, Float_t x) const
vector<Float_t>TMVA::PDEFoam::VarTransformInvers(const vector<Float_t>& invec) const
Float_tTMVA::PDEFoam::VarTransformInvers(Int_t idim, Float_t x) 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:
Int_tTMVA::PDEFoam::CellFill(Int_t, TMVA::PDEFoamCell*)
virtual Bool_tTMVA::PDEFoam::CellValueIsUndefined(TMVA::PDEFoamCell*)
Int_tTMVA::PDEFoam::Divide(TMVA::PDEFoamCell*)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Double_tTMVA::PDEFoam::Eval(Double_t* xRand, Double_t& event_density)
virtual voidExplore(TMVA::PDEFoamCell* Cell)
TMVA::PDEFoamCell*TMVA::PDEFoam::FindCell(const vector<Float_t>&) const
vector<TMVA::PDEFoamCell*>TMVA::PDEFoam::FindCells(const vector<Float_t>&) const
vector<TMVA::PDEFoamCell*>TMVA::PDEFoam::FindCells(const map<Int_t,Float_t>&) const
voidTMVA::PDEFoam::FindCells(const map<Int_t,Float_t>&, TMVA::PDEFoamCell*, vector<TMVA::PDEFoamCell*,allocator<TMVA::PDEFoamCell*> >&) const
Double_tTMVA::PDEFoam::GetCellElement(const TMVA::PDEFoamCell* cell, UInt_t i) const
TMVA::PDEFoamDensityBase*TMVA::PDEFoam::GetDistr() const
voidTMVA::PDEFoam::Grow()
voidTMVA::PDEFoam::InitCells()
voidTMVA::PDEFoam::MakeAlpha()
voidTObject::MakeZombie()
voidTMVA::PDEFoam::OutputGrow(Bool_t finished = false)
TMVA::PDEFoamTMVA::PDEFoam::PDEFoam(const TMVA::PDEFoam&)
TMVA::PDEFoamDecisionTreePDEFoamDecisionTree(const TMVA::PDEFoamDecisionTree&)
TMVA::PDEFoamDiscriminantTMVA::PDEFoamDiscriminant::PDEFoamDiscriminant(const TMVA::PDEFoamDiscriminant&)
Long_tTMVA::PDEFoam::PeekMax()
voidTMVA::PDEFoam::SetCellElement(TMVA::PDEFoamCell* cell, UInt_t i, Double_t value)
voidTMVA::PDEFoam::Varedu(Double_t*, Int_t&, Double_t&, Double_t&)

Data Members

protected:
Double_t*TMVA::PDEFoam::fAlpha[fDim] Internal parameters of the hyperrectangle
TMVA::PDEFoamCell**TMVA::PDEFoam::fCells[fNCells] Array of ALL cells
UInt_tTMVA::PDEFoamDiscriminant::fClasssignal class
TMVA::EDTSeparationTMVA::PDEFoam::fDTSeparationBACKWARDS COMPATIBILITY: split cells according to decision tree logic
Int_tTMVA::PDEFoam::fDimDimension of the integration/simulation space
TMVA::PDEFoamDensityBase*TMVA::PDEFoam::fDistr! distribution of training events
Int_tTMVA::PDEFoam::fEvPerBinMaximum number of effective (wt=1) events per bin
Bool_tTMVA::PDEFoam::fFillFoamWithOrigWeightsBACKWARDS COMPATIBILITY: fill the foam with boost or orig. weights
TMVA::EFoamTypeTMVA::PDEFoam::fFoamTypeBACKWARDS COMPATIBILITY: type of foam
TObjArray*TMVA::PDEFoam::fHistEdgHistograms of wt, one for each cell edge
Int_t*TMVA::PDEFoam::fInhiDiv! [fDim] Flags for inhibiting cell division
Int_tTMVA::PDEFoam::fLastCeIndex of the last cell
TMVA::MsgLogger*TMVA::PDEFoam::fLogger! message logger
Int_t*TMVA::PDEFoam::fMaskDiv! [fDim] Dynamic Mask for cell division
UInt_tTMVA::PDEFoam::fMaxDepthmaximum depth of cell tree
Int_tTMVA::PDEFoam::fNBinNo. of bins in the edge histogram for cell MC exploration
Int_tTMVA::PDEFoam::fNCellsMaximum number of cells
UInt_tTMVA::PDEFoam::fNElementsBACKWARDS COMPATIBILITY: number of variables in every cell
Int_tTMVA::PDEFoam::fNSamplNo. of MC events, when dividing (exploring) cell
TStringTMVA::PDEFoam::fNameName of a given instance of the FOAM class
UInt_tTMVA::PDEFoam::fNminminimal number of events in cell to split cell
Int_tTMVA::PDEFoam::fNoActNumber of active cells
Bool_tTMVA::PDEFoam::fPeekMaxBACKWARDS COMPATIBILITY: peek up cell with max. driver integral for split
TRandom3*TMVA::PDEFoam::fPseRanPointer to user-defined generator of pseudorandom numbers
Double_t*TMVA::PDEFoam::fRvec[fDim] random number vector from r.n. generator fDim+1 maximum elements
TMVA::Timer*TMVA::PDEFoam::fTimer! timer for graphical output
TObjArray*TMVA::PDEFoam::fVariableNamescollection of all variable names
Float_tTMVA::PDEFoam::fVolFracBACKWARDS COMPATIBILITY: volume fraction (with respect to total phase space
Double_t*TMVA::PDEFoam::fXmax[fDim] maximum for variable transform
Double_t*TMVA::PDEFoam::fXmin[fDim] minimum for variable transform
private:
TMVA::SeparationBase*fSepTypeseparation type

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

PDEFoamDecisionTree()
 Default constructor for streamer, user should not use it.
PDEFoamDecisionTree(const TString& , TMVA::SeparationBase* sepType, UInt_t cls)
 Parameters:

 - Name - name of the foam

 - sepType - separation type used for the cell splitting (will be
   deleted in the destructor)

 - cls - class to consider as signal when calcualting the purity
PDEFoamDecisionTree(const TMVA::PDEFoamDecisionTree& )
 Copy Constructor  NOT IMPLEMENTED (NEVER USED)
~PDEFoamDecisionTree()
 Destructor
 deletes fSepType
void Explore(TMVA::PDEFoamCell* Cell)
 Internal subprogram used by Create.  It explores newly defined
 cell with according to the decision tree logic.  The separation
 set via the 'sepType' option in the constructor.

 The optimal division point for eventual future cell division is
 determined/recorded.  Note that links to parents and initial
 volume = 1/2 parent has to be already defined prior to calling
 this routine.

 Note, that according to the decision tree logic, a cell is only
 split, if the number of (unweighted) events in each dautghter
 cell is greater than fNmin.