DecisionTreeNode 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
virtual 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')
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
{ fSelector = i; }
set 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
{ fSeparationIndex =sep ; }
set the separation, or information gained BY this nodes selection
{ fSeparationGain =sep ; }