ROOT » TMVA » TMVA » TMVA::PDEFoamMultiTarget

class TMVA::PDEFoamMultiTarget: public TMVA::PDEFoamEvent


 This PDEFoam variant is used to estimate multiple targets by
 creating an event density foam (PDEFoamEvent), which has dimension:

    dimension = number of variables + number targets

 This PDEFoam variant stores in every cell the sum of event weights
 and the sum of the squared event weights.  During evaluation for a
 given event, which has only variables and no targets (number of
 event variables is smaller than the foam dimension), the targets
 are estimated by finding all cells, which correspond to this event
 and calculate the Mean (or Mpv, depending on the ETargetSelection)
 cell center weighted by the event density in the cell.

 This PDEFoam variant should be booked together with the
 PDEFoamEventDensity density estimator, which returns the event
 weight density at a given phase space point during the foam

Function Members (Methods)

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)
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 = "")
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::PDEFoamEvent::FillFoamCells(const TMVA::Event* ev, Float_t wt)
virtual voidTMVA::PDEFoam::Finalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual vector<Float_t>GetCellValue(const map<Int_t,Float_t>&, TMVA::ECellValue)
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
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
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
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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::PDEFoamMultiTarget&operator=(const TMVA::PDEFoamMultiTarget&)
virtual voidTObject::Paint(Option_t* option = "")
TMVA::PDEFoamTMVA::PDEFoam::PDEFoam(const TString&)
TMVA::PDEFoamEventTMVA::PDEFoamEvent::PDEFoamEvent(const TString&)
TMVA::PDEFoamMultiTargetPDEFoamMultiTarget(const TString&, TMVA::ETargetSelection)
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidTMVA::PDEFoam::PrintCell(Long_t iCell = 0)
virtual TH2D*TMVA::PDEFoam::Project2(Int_t idim1, Int_t idim2, TMVA::ECellValue cell_value = kValue, TMVA::PDEFoamKernelBase* kernel = __null, UInt_t nbin = 50)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
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) 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
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
virtual voidCalculateMean(map<Int_t,Float_t>&, const vector<TMVA::PDEFoamCell*>&)
virtual voidCalculateMpv(map<Int_t,Float_t>&, const vector<TMVA::PDEFoamCell*>&)
Int_tTMVA::PDEFoam::CellFill(Int_t, TMVA::PDEFoamCell*)
virtual Bool_tTMVA::PDEFoam::CellValueIsUndefined(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 voidTMVA::PDEFoam::Explore(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*>&) const
Double_tTMVA::PDEFoam::GetCellElement(const TMVA::PDEFoamCell* cell, UInt_t i) const
TMVA::PDEFoamDensityBase*TMVA::PDEFoam::GetDistr() const
voidTMVA::PDEFoam::OutputGrow(Bool_t finished = false)
TMVA::PDEFoamTMVA::PDEFoam::PDEFoam(const TMVA::PDEFoam&)
TMVA::PDEFoamEventTMVA::PDEFoamEvent::PDEFoamEvent(const TMVA::PDEFoamEvent&)
TMVA::PDEFoamMultiTargetPDEFoamMultiTarget(const TMVA::PDEFoamMultiTarget&)
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

static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
Double_t*TMVA::PDEFoam::fAlpha[fDim] Internal parameters of the hyperrectangle
TMVA::PDEFoamCell**TMVA::PDEFoam::fCells[fNCells] Array of ALL cells
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
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::ETargetSelectionfTargetSelectionthe target selection method
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

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

 Default constructor for streamer, user should not use it.
PDEFoamMultiTarget(const TString& , TMVA::ETargetSelection )
 User constructor


 - name - name of PDEFoam object

 - ts - target selection method used in
   GetCellValue(const std::map<Int_t, Float_t>& xvec, ECellValue)
   Cadidates are: TMVA::kMean, TMVA::kMpv

   - TMVA::kMean - The function GetCellValue() finds all cells
     which contain a given event vector 'xvec' and returns the
     mean target (for every target variable in the foam).

   - TMVA::kMpv - The function GetCellValue() finds all cells
     which contain a given event vector 'xvec' and returns the
     most probable target (for every target variable in the
     foam), that is the target value which corresponds to the
     cell with the largest event density.
PDEFoamMultiTarget(const TMVA::PDEFoamMultiTarget& )
std::vector<Float_t> GetCellValue(const map<Int_t,Float_t>& , TMVA::ECellValue )
 This function is overridden from PDFEFoam.  It returns all
 regression targets (in order), given an untransformed event
 vector 'xvec'.  The key of 'xvec' is the dimension and the value
 (Float_t) is the coordinate.

 Note: number of foam dimensions = number of variables + number
 of targets

 - xvec - map of event variables (no targets!)
 - cv - cell value to return (ignored!)

 Targets, ordered by missing dimensions in 'xvec'.
 The size of the returned vector = foam dimension - size of xvec.
void CalculateMpv(map<Int_t,Float_t>& , const vector<TMVA::PDEFoamCell*>& )
 This function calculates the most probable target value from a
 given number of cells.  The most probable target is defined to
 be the coordinates of the cell which has the biggest event


 - target - map of targets, where the key is the dimension and
   the value is the target value.  It is assumed that this map is
   initialized such that there is a map entry for every target.

 - cells - vector of PDEFoam cells to pick the most probable
   target from
void CalculateMean(map<Int_t,Float_t>& , const vector<TMVA::PDEFoamCell*>& )
 This function calculates the mean target value from a given
 number of cells.  As weight the event density of the cell is


 - target - map of targets, where the key is the dimension and
   the value is the target value.  It is assumed that this map is
   initialized such that there is a map entry for every target
   with all target values set to zero.

 - cells - vector of PDEFoam cells to pick the most probable
   target from
virtual ~PDEFoamMultiTarget()