Node for the Decision Tree
The node specifies ONE variable out of the given set of selection variable
that is used to split the sample which "arrives" at the node, into a left
(background-enhanced) and a right (signal-enhanced) sample.
Bool_t | ReadDataRecord(istream& is) |
Bool_t | fCutType | true: if event variable > cutValue ==> signal , false otherwise |
Double_t | fCutValue | cut value appplied on this node to discriminate bkg against sig |
Double_t | fNBkgEvents | sum of weights of backgr event in the node |
Double_t | fNBkgEvents_unweighted | sum of backgr event in the node |
Double_t | fNEvents | number of events in that entered the node (during training) |
Double_t | fNEvents_unweighted | number of events in that entered the node (during training) |
Double_t | fNSigEvents | sum of weights of signal event in the node |
Double_t | fNSigEvents_unweighted | sum of signal event in the node |
Int_t | fNodeType | Type of node: -1 == Bkg-leaf, 1 == Signal-leaf, 0 = internal |
Short_t | fSelector | index of variable used in node selection (decision tree) |
Double_t | fSeparationGain | measure of "purity", separation, or information gained BY this nodes selection |
Double_t | fSeparationIndex | measure of "purity" (separation between S and B) AT this node |
ULong_t | fSequence | bit coded left right sequence to reach the node |
static TMVA::MsgLogger* | fgLogger | static because there is a huge number of nodes... |
copy constructor of a node. It will result in an explicit copy of the node and recursively all it's daughters
test event if it decends the tree at this node to the right
test event if it decends the tree at this node to the left
return the S/(S+B) (purity) for the node REM: even if nodes with purity 0.01 are very PURE background nodes, they still get a small value of the purity.
recursively print the node and its daughters (--> print the 'tree')
recursively read the node and its daughters (--> read the 'tree')
clear the nodes (their S/N, Nevents etc), just keep the structure of the tree
set index of variable used for discrimination at this node return index of variable used for discrimination at this node
{ fSelector = i; }
set the cut value applied at this node return the cut value applied at this node
{ fCutValue = c; }
set true: if event variable > cutValue ==> signal , false otherwise return kTRUE: Cuts select signal, kFALSE: Cuts select bkg
{ fCutType = t; }
set node type: 1 signal node, -1 bkg leave, 0 intermediate Node return node type: 1 signal node, -1 bkg leave, 0 intermediate Node
{ fNodeType = t;}
set the number of events that entered the node (during training)
{ fNEvents =nev ; }
set the sum of the unweighted signal events in the node
{ fNSigEvents_unweighted = s; }
set the sum of the unweighted backgr events in the node
{ fNBkgEvents_unweighted = b; }
set the number of unweighted events that entered the node (during training)
{ fNEvents_unweighted =nev ; }
increment the sum of the signal weights in the node
{ fNSigEvents += s; }
increment the sum of the backgr weights in the node
{ fNBkgEvents += b; }
increment the number of events that entered the node (during training)
{ fNEvents +=nev ; }
increment the sum of the signal weights in the node
{ fNSigEvents_unweighted += 1; }
increment the sum of the backgr weights in the node
{ fNBkgEvents_unweighted += 1; }
increment the number of events that entered the node (during training)
{ fNEvents_unweighted +=1 ; }
return the sum of the signal weights in the node
{ return fNSigEvents; }
return the sum of the backgr weights in the node
{ return fNBkgEvents; }
return the number of events that entered the node (during training)
{ return fNEvents; }
return the sum of unweighted signal weights in the node
{ return fNSigEvents_unweighted; }
return the sum of unweighted backgr weights in the node
{ return fNBkgEvents_unweighted; }
return the number of unweighted events that entered the node (during training)
{ return fNEvents_unweighted; }
set the choosen index, measure of "purity" (separation between S and B) AT this node
return the separation index AT this node
{ fSeparationIndex =sep ; }
set the separation, or information gained BY this nodes selection return the gain in separation obtained by this nodes selection
{ fSeparationGain =sep ; }