30#ifndef ROOT_TMVA_BinarySearchTree
31#define ROOT_TMVA_BinarySearchTree
81 virtual const char*
ClassName()
const {
return "BinarySearchTree"; }
107 Double_t Fill(
const std::vector<TMVA::Event*>& events,
const std::vector<Int_t>& theVars,
Int_t theType = -1 );
150 void NormalizeTree( std::vector< std::pair< Double_t, const TMVA::Event* > >::iterator,
151 std::vector< std::pair< Double_t, const TMVA::Event* > >::iterator,
UInt_t );
155 std::vector<const TMVA::BinarySearchTreeNode*>* events );
#define ClassDef(name, id)
winID h TVirtualViewer3D TVirtualGLPainter p
#define TMVA_VERSION_CODE
Node for the BinarySearch or Decision Trees.
A simple Binary search tree including a volume search method.
Int_t SearchVolumeWithMaxLimit(TMVA::Volume *, std::vector< const TMVA::BinarySearchTreeNode * > *events=nullptr, Int_t=-1)
recursively walk through the daughter nodes and add up all weights of events that lie within the give...
BinarySearchTreeNode * Search(Event *event) const
search the tree to find the node matching "event"
virtual BinaryTree * CreateTree() const
Double_t SearchVolume(Volume *, std::vector< const TMVA::BinarySearchTreeNode * > *events=nullptr)
search the whole tree and add up all weights of events that lie within the given volume
void CalcStatistics(TMVA::Node *n=nullptr)
calculate basic statistics (mean, rms for each variable)
UInt_t fCurrentDepth
internal variable, counting the depth of the tree during insertion
void Clear(TMVA::Node *n=nullptr)
clear nodes
void SetNormalize(Bool_t norm)
Bool_t InVolume(const std::vector< Float_t > &, Volume *) const
test if the data points are in the given volume
std::vector< Float_t > fMax[2]
RMS for signal and background for each variable.
virtual ~BinarySearchTree(void)
destructor
Double_t Fill(const std::vector< TMVA::Event * > &events, const std::vector< Int_t > &theVars, Int_t theType=-1)
create the search tree from the event collection using ONLY the variables specified in "theVars"
Double_t fNEventsW[2]
Number of events per class, taking into account event weights.
void NormalizeTree()
Normalisation of tree.
std::vector< Double_t > fSumSq[2]
Squared Sum for signal and background for each variable.
Float_t RMS(Types::ESBType sb, UInt_t var)
access to RMS for signal and background for each variable
virtual const char * ClassName() const
Double_t GetSumOfWeights(void) const
return the sum of event (node) weights
virtual Node * CreateNode(UInt_t) const
std::vector< Float_t > fMeans[2]
mean for signal and background for each variable
UInt_t fPeriod
periode (number of event variables)
Bool_t fCanNormalize
the tree can be normalised
Double_t fSumOfWeights
Total number of events (weighted) counted during filling should be the same as fNEventsW[0]+fNEventsW...
Float_t Min(Types::ESBType sb, UInt_t var)
access to Minimum for signal and background for each variable
UInt_t GetPeriode(void) const
std::vector< Double_t > fSum[2]
Sum for signal and background for each variable.
BinarySearchTree(void)
default constructor
Bool_t fStatisticsIsValid
flag if last stat calculation is still valid, set to false if new node is insert
Float_t RMS(UInt_t var)
access to RMS for each variable
void Insert(const Event *)
insert a new "event" in the binary tree
std::vector< Float_t > fMin[2]
RMS for signal and background for each variable.
std::vector< std::pair< Double_t, const TMVA::Event * > > fNormalizeTreeTable
void DestroyNode(BinarySearchTreeNode *)
std::vector< Float_t > fRMS[2]
RMS for signal and background for each variable.
Float_t Max(Types::ESBType sb, UInt_t var)
access to Maximum for signal and background for each variable
static BinarySearchTree * CreateFromXML(void *node, UInt_t tmva_Version_Code=262657)
re-create a new tree (decision tree or search tree) from XML
Float_t Mean(Types::ESBType sb, UInt_t var)
access to mean for signal and background for each variable
Base class for BinarySearch and Decision Trees.
Node for the BinarySearch or Decision Trees.
@ kSignal
Never change this number - it is elsewhere assumed to be zero !
Volume for BinarySearchTree.
A TTree represents a columnar dataset.
create variable transformations