30 #ifndef ROOT_TMVA_BinarySearchTree
31 #define ROOT_TMVA_BinarySearchTree
47 #ifndef ROOT_TMVA_Volume
50 #ifndef ROOT_TMVA_BinaryTree
53 #ifndef ROOT_TMVA_BinarySearchTreeNode
56 #ifndef ROOT_TMVA_VariableInfo
87 virtual const char*
ClassName()
const {
return "BinarySearchTree"; }
113 Double_t Fill(
const std::vector<TMVA::Event*>& events,
const std::vector<Int_t>& theVars,
Int_t theType = -1 );
156 void NormalizeTree( std::vector< std::pair< Double_t, const TMVA::Event* > >::iterator,
157 std::vector< std::pair< Double_t, const TMVA::Event* > >::iterator,
UInt_t );
161 std::vector<const TMVA::BinarySearchTreeNode*>* events );
virtual BinaryTree * CreateTree() const
std::vector< Double_t > fSum[2]
std::vector< Float_t > fMax[2]
std::vector< Double_t > fSumSq[2]
#define TMVA_VERSION_CODE
virtual ~BinarySearchTree(void)
destructor
Bool_t InVolume(const std::vector< Float_t > &, Volume *) const
UInt_t GetPeriode(void) const
Int_t SearchVolumeWithMaxLimit(TMVA::Volume *, std::vector< const TMVA::BinarySearchTreeNode * > *events=0, Int_t=-1)
void NormalizeTree()
Normalisation of tree.
std::vector< std::pair< Double_t, const TMVA::Event * > > fNormalizeTreeTable
virtual const char * ClassName() const
virtual Node * CreateNode(UInt_t) const
#define ClassDef(name, id)
void Clear(TMVA::Node *n=0)
clear nodes
Double_t SearchVolume(Volume *, std::vector< const TMVA::BinarySearchTreeNode * > *events=0)
search the whole tree and add up all weigths of events that lie within the given voluem ...
Double_t GetSumOfWeights(void) const
return the sum of event (node) weights
void CalcStatistics(TMVA::Node *n=0)
calculate basic statistics (mean, rms for each variable)
Bool_t fStatisticsIsValid
static BinarySearchTree * CreateFromXML(void *node, UInt_t tmva_Version_Code=TMVA_VERSION_CODE)
re-create a new tree (decision tree or search tree) from XML
Float_t Max(Types::ESBType sb, UInt_t var)
Float_t Min(Types::ESBType sb, UInt_t var)
void SetNormalize(Bool_t norm)
void Insert(const Event *)
insert a new "event" in the binary tree
Float_t RMS(Types::ESBType sb, UInt_t var)
std::vector< Float_t > fMeans[2]
Float_t Mean(Types::ESBType sb, UInt_t var)
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" ...
void DestroyNode(BinarySearchTreeNode *)
A TTree object has a header with a name and a title.
std::vector< Float_t > fMin[2]
std::vector< Float_t > fRMS[2]
double norm(double *x, double *p)
BinarySearchTreeNode * Search(Event *event) const
search the tree to find the node matching "event"