CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
Node Class Reference

#include <Node.h>

Public Member Functions

void calcOptimumSplit ()
 
void filterEventsToDaughters ()
 
Double_t getAvgError ()
 
Double_t getErrorReduction ()
 
std::vector< std::vector
< Event * > > & 
getEvents ()
 
Double_t getFitValue ()
 
NodegetLeftDaughter ()
 
std::string getName ()
 
Int_t getNumEvents ()
 
NodegetParent ()
 
NodegetRightDaughter ()
 
Double_t getSplitValue ()
 
Int_t getSplitVariable ()
 
Double_t getTotalError ()
 
void listEvents ()
 
 Node ()
 
 Node (std::string cName)
 
void setAvgError (Double_t sAvgError)
 
void setErrorReduction (Double_t sErrorReduction)
 
void setEvents (std::vector< std::vector< Event * > > &sEvents)
 
void setFitValue (Double_t sFitValue)
 
void setLeftDaughter (Node *sLeftDaughter)
 
void setName (std::string sName)
 
void setNumEvents (Int_t sNumEvents)
 
void setParent (Node *sParent)
 
void setRightDaughter (Node *sLeftDaughter)
 
void setSplitValue (Double_t sSplitValue)
 
void setSplitVariable (Int_t sSplitVar)
 
void setTotalError (Double_t sTotalError)
 
void theMiracleOfChildBirth ()
 
 ~Node ()
 

Private Attributes

Double_t avgError
 
Double_t errorReduction
 
std::vector< std::vector
< Event * > > 
events
 
Double_t fitValue
 
NodeleftDaughter
 
std::string name
 
Int_t numEvents
 
Nodeparent
 
NoderightDaughter
 
Double_t splitValue
 
Int_t splitVariable
 
Double_t totalError
 

Detailed Description

Definition at line 10 of file Node.h.

Constructor & Destructor Documentation

Node::Node ( )

Definition at line 29 of file Node.cc.

References avgError, errorReduction, leftDaughter, name, parent, rightDaughter, splitValue, splitVariable, and totalError.

Referenced by theMiracleOfChildBirth().

30 {
31  name = "";
32  leftDaughter = 0;
33  rightDaughter = 0;
34  parent = 0;
35  splitValue = -99;
36  splitVariable = -1;
37  avgError = -1;
38  totalError = -1;
39  errorReduction = -1;
40 }
std::string name
Definition: Node.h:59
Double_t totalError
Definition: Node.h:69
Node * leftDaughter
Definition: Node.h:61
Node * rightDaughter
Definition: Node.h:62
Int_t splitVariable
Definition: Node.h:66
Double_t errorReduction
Definition: Node.h:68
Double_t splitValue
Definition: Node.h:65
Double_t avgError
Definition: Node.h:70
Node * parent
Definition: Node.h:63
Node::Node ( std::string  cName)

Definition at line 42 of file Node.cc.

References avgError, errorReduction, leftDaughter, name, parent, rightDaughter, splitValue, splitVariable, and totalError.

43 {
44  name = cName;
45  leftDaughter = 0;
46  rightDaughter = 0;
47  parent = 0;
48  splitValue = -99;
49  splitVariable = -1;
50  avgError = -1;
51  totalError = -1;
52  errorReduction = -1;
53 }
std::string name
Definition: Node.h:59
Double_t totalError
Definition: Node.h:69
Node * leftDaughter
Definition: Node.h:61
Node * rightDaughter
Definition: Node.h:62
Int_t splitVariable
Definition: Node.h:66
Double_t errorReduction
Definition: Node.h:68
Double_t splitValue
Definition: Node.h:65
Double_t avgError
Definition: Node.h:70
Node * parent
Definition: Node.h:63
Node::~Node ( )

Definition at line 59 of file Node.cc.

References leftDaughter, and rightDaughter.

60 {
61 // Recursively delete all nodes in the tree.
62  delete leftDaughter;
63  delete rightDaughter;
64 }
Node * leftDaughter
Definition: Node.h:61
Node * rightDaughter
Definition: Node.h:62

Member Function Documentation

void Node::calcOptimumSplit ( )

Definition at line 210 of file Node.cc.

References avgError, AlCaHLTBitMon_QueryRunRegistry::data, errorReduction, events, fitValue, i, numEvents, splitValue, splitVariable, SUM, filterCSVwithJSON::target, totalError, and findQualityFiles::v.

Referenced by Tree::buildTree().

211 {
212 // Determines the split variable and split point which would most reduce the error for the given node (region).
213 // In the process we calculate the fitValue and Error. The general aglorithm is based upon Luis Torgo's thesis.
214 // Check out the reference for a more in depth outline. This part is chapter 3.
215 
216  // Intialize some variables.
217  Double_t bestSplitValue = 0;
218  Int_t bestSplitVariable = -1;
219  Double_t bestErrorReduction = 0;
220 
221  Double_t SUM = 0;
222  Double_t SSUM = 0;
223  numEvents = events[0].size();
224 
225  Double_t candidateErrorReduction = 0;
226 
227  // Calculate the sum of the target variables and the sum of
228  // the target variables squared. We use these later.
229  for(unsigned int i=0; i<events[0].size(); i++)
230  {
231  Double_t target = events[0][i]->data[0];
232  SUM += target;
233  SSUM += target*target;
234  }
235 
236  unsigned int numVars = events.size();
237 
238  // Calculate the best split point for each variable
239  for(unsigned int variableToCheck = 1; variableToCheck < numVars; variableToCheck++)
240  {
241  // The sum of the target variables in the left, right nodes
242  Double_t SUMleft = 0;
243  Double_t SUMright = SUM;
244 
245  // The number of events in the left, right nodes
246  Int_t nleft = 1;
247  Int_t nright = events[variableToCheck].size()-1;
248 
249  Int_t candidateSplitVariable = variableToCheck;
250 
251  std::vector<Event*>& v = events[variableToCheck];
252 
253  // Find the best split point for this variable
254  for(unsigned int i=1; i<v.size(); i++)
255  {
256  // As the candidate split point interates, the number of events in the
257  // left/right node increases/decreases and SUMleft/right increases/decreases.
258 
259  SUMleft = SUMleft + v[i-1]->data[0];
260  SUMright = SUMright - v[i-1]->data[0];
261 
262  // No need to check the split point if x on both sides is equal
263  if(v[i-1]->data[candidateSplitVariable] < v[i]->data[candidateSplitVariable])
264  {
265  // Finding the maximum error reduction for Least Squares boils down to maximizing
266  // the following statement.
267  candidateErrorReduction = SUMleft*SUMleft/nleft + SUMright*SUMright/nright - SUM*SUM/numEvents;
268 // std::cout << "candidateErrorReduction= " << candidateErrorReduction << std::endl << std::endl;
269 
270  // if the new candidate is better than the current best, then we have a new overall best.
271  if(candidateErrorReduction > bestErrorReduction)
272  {
273  bestErrorReduction = candidateErrorReduction;
274  bestSplitValue = (v[i-1]->data[candidateSplitVariable] + v[i]->data[candidateSplitVariable])/2;
275  bestSplitVariable = candidateSplitVariable;
276  }
277  }
278 
279  nright = nright-1;
280  nleft = nleft+1;
281  }
282  }
283 
284  // Store the information gained from our computations.
285 
286  // The fit value is the average for least squares.
287  fitValue = SUM/numEvents;
288 // std::cout << "fitValue= " << fitValue << std::endl;
289 
290  // n*[ <y^2>-k^2 ]
291  totalError = SSUM - SUM*SUM/numEvents;
292 // std::cout << "totalError= " << totalError << std::endl;
293 
294  // [ <y^2>-k^2 ]
296 // std::cout << "avgError= " << avgError << std::endl;
297 
298 
299  errorReduction = bestErrorReduction;
300 // std::cout << "errorReduction= " << errorReduction << std::endl;
301 
302  splitVariable = bestSplitVariable;
303 // std::cout << "splitVariable= " << splitVariable << std::endl;
304 
305  splitValue = bestSplitValue;
306 // std::cout << "splitValue= " << splitValue << std::endl;
307 
308 }
int i
Definition: DBlmapReader.cc:9
Int_t numEvents
Definition: Node.h:73
Double_t totalError
Definition: Node.h:69
Double_t fitValue
Definition: Node.h:72
Int_t splitVariable
Definition: Node.h:66
Double_t errorReduction
Definition: Node.h:68
std::vector< std::vector< Event * > > events
Definition: Node.h:75
Double_t splitValue
Definition: Node.h:65
Double_t avgError
Definition: Node.h:70
#define SUM(A, B)
void Node::filterEventsToDaughters ( )

Definition at line 344 of file Node.cc.

References Event::data, alignCSCRings::e, events, getEvents(), i, j, cmsLHEtoEOSManager::l, leftDaughter, alignCSCRings::r, rightDaughter, splitValue, and splitVariable.

Referenced by Tree::buildTree(), and Tree::filterEventsRecursive().

345 {
346 // Keeping sorted copies of the event vectors allows us to save on
347 // computation time. That way we don't have to resort the events
348 // each time we calculate the splitpoint for a node. We sort them once.
349 // Every time we split a node, we simply filter them down correctly
350 // preserving the order. This way we have O(n) efficiency instead
351 // of O(nlogn) efficiency.
352 
353 // Anyways, this function takes events from the parent node
354 // and filters an event into the left or right daughter
355 // node depending on whether it is < or > the split point
356 // for the given split variable.
357 
358  Int_t sv = splitVariable;
359  Double_t sp = splitValue;
360 
361  Node* left = leftDaughter;
362  Node* right = rightDaughter;
363 
364  std::vector< std::vector<Event*> > l(events.size());
365  std::vector< std::vector<Event*> > r(events.size());
366 
367  for(unsigned int i=0; i<events.size(); i++)
368  {
369  for(unsigned int j=0; j<events[i].size(); j++)
370  {
371  Event* e = events[i][j];
372  if(e->data[sv] < sp) l[i].push_back(e);
373  if(e->data[sv] > sp) r[i].push_back(e);
374  }
375  }
376 
377  events = std::vector< std::vector<Event*> >();
378 
379  left->getEvents().swap(l);
380  right->getEvents().swap(r);
381 }
int i
Definition: DBlmapReader.cc:9
Definition: Node.h:10
Definition: Event.h:16
Node * leftDaughter
Definition: Node.h:61
Node * rightDaughter
Definition: Node.h:62
int j
Definition: DBlmapReader.cc:9
std::vector< std::vector< Event * > > & getEvents()
Definition: Node.cc:196
Int_t splitVariable
Definition: Node.h:66
std::vector< std::vector< Event * > > events
Definition: Node.h:75
Double_t splitValue
Definition: Node.h:65
Definition: sp.h:21
std::vector< Double_t > data
Definition: Event.h:30
Double_t Node::getAvgError ( )

Definition at line 177 of file Node.cc.

References avgError.

178 {
179  return avgError;
180 }
Double_t avgError
Definition: Node.h:70
Double_t Node::getErrorReduction ( )

Definition at line 87 of file Node.cc.

References errorReduction.

Referenced by Tree::rankVariablesRecursive().

88 {
89  return errorReduction;
90 }
Double_t errorReduction
Definition: Node.h:68
std::vector< std::vector< Event * > > & Node::getEvents ( )

Definition at line 196 of file Node.cc.

References events.

Referenced by Tree::filterEvents(), and filterEventsToDaughters().

197 {
198  return events;
199 }
std::vector< std::vector< Event * > > events
Definition: Node.h:75
Double_t Node::getFitValue ( )

Definition at line 155 of file Node.cc.

References fitValue.

Referenced by Tree::addXMLAttributes().

156 {
157  return fitValue;
158 }
Double_t fitValue
Definition: Node.h:72
Node * Node::getLeftDaughter ( )

Definition at line 99 of file Node.cc.

References leftDaughter.

Referenced by Tree::buildTree(), Tree::filterEventsRecursive(), Tree::loadFromXMLRecursive(), Tree::rankVariablesRecursive(), and Tree::saveToXMLRecursive().

100 {
101  return leftDaughter;
102 }
Node * leftDaughter
Definition: Node.h:61
std::string Node::getName ( void  )

Definition at line 75 of file Node.cc.

References name.

Referenced by plotting.Plot::draw(), and Tree::saveToXML().

76 {
77  return name;
78 }
std::string name
Definition: Node.h:59
Int_t Node::getNumEvents ( )

Definition at line 189 of file Node.cc.

References numEvents.

Referenced by Tree::calcError().

190 {
191  return numEvents;
192 }
Int_t numEvents
Definition: Node.h:73
Node * Node::getParent ( )

Definition at line 121 of file Node.cc.

References parent.

122 {
123  return parent;
124 }
Node * parent
Definition: Node.h:63
Node * Node::getRightDaughter ( )

Definition at line 109 of file Node.cc.

References rightDaughter.

Referenced by Tree::buildTree(), Tree::filterEventsRecursive(), Tree::loadFromXMLRecursive(), Tree::rankVariablesRecursive(), and Tree::saveToXMLRecursive().

110 {
111  return rightDaughter;
112 }
Node * rightDaughter
Definition: Node.h:62
Double_t Node::getSplitValue ( )

Definition at line 133 of file Node.cc.

References splitValue.

Referenced by Tree::addXMLAttributes().

134 {
135  return splitValue;
136 }
Double_t splitValue
Definition: Node.h:65
Int_t Node::getSplitVariable ( )

Definition at line 143 of file Node.cc.

References splitVariable.

Referenced by Tree::addXMLAttributes(), and Tree::rankVariablesRecursive().

144 {
145  return splitVariable;
146 }
Int_t splitVariable
Definition: Node.h:66
Double_t Node::getTotalError ( )

Definition at line 167 of file Node.cc.

References totalError.

168 {
169  return totalError;
170 }
Double_t totalError
Definition: Node.h:69
void Node::listEvents ( )

Definition at line 312 of file Node.cc.

References gather_cfg::cout, events, i, and j.

313 {
314  std::cout << std::endl << "Listing Events... " << std::endl;
315 
316  for(unsigned int i=0; i < events.size(); i++)
317  {
318  std::cout << std::endl << "Variable " << i << " vector contents: " << std::endl;
319  for(unsigned int j=0; j < events[i].size(); j++)
320  {
321  events[i][j]->outputEvent();
322  }
323  std::cout << std::endl;
324  }
325 }
int i
Definition: DBlmapReader.cc:9
int j
Definition: DBlmapReader.cc:9
std::vector< std::vector< Event * > > events
Definition: Node.h:75
tuple cout
Definition: gather_cfg.py:145
void Node::setAvgError ( Double_t  sAvgError)

Definition at line 172 of file Node.cc.

References avgError.

173 {
174  avgError = sAvgError;
175 }
Double_t avgError
Definition: Node.h:70
void Node::setErrorReduction ( Double_t  sErrorReduction)

Definition at line 82 of file Node.cc.

References errorReduction.

83 {
84  errorReduction = sErrorReduction;
85 }
Double_t errorReduction
Definition: Node.h:68
void Node::setEvents ( std::vector< std::vector< Event * > > &  sEvents)

Definition at line 201 of file Node.cc.

References events.

Referenced by Tree::Tree().

202 {
203  events = sEvents;
204 }
std::vector< std::vector< Event * > > events
Definition: Node.h:75
void Node::setFitValue ( Double_t  sFitValue)

Definition at line 150 of file Node.cc.

References fitValue.

Referenced by Tree::loadFromXMLRecursive().

151 {
152  fitValue = sFitValue;
153 }
Double_t fitValue
Definition: Node.h:72
void Node::setLeftDaughter ( Node sLeftDaughter)

Definition at line 94 of file Node.cc.

References leftDaughter.

95 {
96  leftDaughter = sLeftDaughter;
97 }
Node * leftDaughter
Definition: Node.h:61
void Node::setName ( std::string  sName)

Definition at line 70 of file Node.cc.

References name.

71 {
72  name = sName;
73 }
std::string name
Definition: Node.h:59
void Node::setNumEvents ( Int_t  sNumEvents)

Definition at line 184 of file Node.cc.

References numEvents.

185 {
186  numEvents = sNumEvents;
187 }
Int_t numEvents
Definition: Node.h:73
void Node::setParent ( Node sParent)

Definition at line 116 of file Node.cc.

References parent.

Referenced by lumiQTWidget.LumiCanvas::__init__(), and theMiracleOfChildBirth().

117 {
118  parent = sParent;
119 }
Node * parent
Definition: Node.h:63
void Node::setRightDaughter ( Node sLeftDaughter)

Definition at line 104 of file Node.cc.

References rightDaughter.

105 {
106  rightDaughter = sRightDaughter;
107 }
Node * rightDaughter
Definition: Node.h:62
void Node::setSplitValue ( Double_t  sSplitValue)

Definition at line 128 of file Node.cc.

References splitValue.

Referenced by Tree::loadFromXMLRecursive().

129 {
130  splitValue = sSplitValue;
131 }
Double_t splitValue
Definition: Node.h:65
void Node::setSplitVariable ( Int_t  sSplitVar)

Definition at line 138 of file Node.cc.

References splitVariable.

Referenced by Tree::loadFromXMLRecursive().

139 {
140  splitVariable = sSplitVar;
141 }
Int_t splitVariable
Definition: Node.h:66
void Node::setTotalError ( Double_t  sTotalError)

Definition at line 162 of file Node.cc.

References totalError.

163 {
164  totalError = sTotalError;
165 }
Double_t totalError
Definition: Node.h:69
void Node::theMiracleOfChildBirth ( )

Definition at line 329 of file Node.cc.

References leftDaughter, name, Node(), rightDaughter, and setParent().

Referenced by Tree::buildTree(), and Tree::loadFromXMLRecursive().

330 {
331  // Create Daughter Nodes
332  Node* left = new Node(name + " left");
333  Node* right = new Node(name + " right");
334 
335  // Link the Nodes Appropriately
336  leftDaughter = left;
337  rightDaughter = right;
338  left->setParent(this);
339  right->setParent(this);
340 }
std::string name
Definition: Node.h:59
Definition: Node.h:10
Node()
Definition: Node.cc:29
Node * leftDaughter
Definition: Node.h:61
Node * rightDaughter
Definition: Node.h:62
void setParent(Node *sParent)
Definition: Node.cc:116

Member Data Documentation

Double_t Node::avgError
private

Definition at line 70 of file Node.h.

Referenced by calcOptimumSplit(), getAvgError(), Node(), and setAvgError().

Double_t Node::errorReduction
private

Definition at line 68 of file Node.h.

Referenced by calcOptimumSplit(), getErrorReduction(), Node(), and setErrorReduction().

std::vector< std::vector<Event*> > Node::events
private
Double_t Node::fitValue
private

Definition at line 72 of file Node.h.

Referenced by calcOptimumSplit(), getFitValue(), and setFitValue().

Node* Node::leftDaughter
private
std::string Node::name
private

Definition at line 59 of file Node.h.

Referenced by ElectronMVAID.ElectronMVAID::__call__(), dirstructure.Directory::__create_pie_image(), dqm_interfaces.DirID::__eq__(), dirstructure.Directory::__get_full_path(), dirstructure.Comparison::__get_img_name(), dataset.Dataset::__getDataType(), dataset.Dataset::__getFileInfoList(), cuy.divideElement::__init__(), cuy.plotElement::__init__(), cuy.additionElement::__init__(), cuy.superimposeElement::__init__(), cuy.graphElement::__init__(), dirstructure.Comparison::__make_image(), core.autovars.NTupleVariable::__repr__(), core.autovars.NTupleObjectType::__repr__(), core.autovars.NTupleObject::__repr__(), core.autovars.NTupleCollection::__repr__(), dirstructure.Directory::__repr__(), dqm_interfaces.DirID::__repr__(), dirstructure.Comparison::__repr__(), config.CFG::__str__(), counter.Counter::__str__(), average.Average::__str__(), core.autovars.NTupleObjectType::addSubObjects(), core.autovars.NTupleObjectType::addVariables(), core.autovars.NTupleObjectType::allVars(), dirstructure.Directory::calcStats(), validation.Sample::digest(), python.rootplot.utilities.Hist::divide(), python.rootplot.utilities.Hist::divide_wilson(), core.autovars.NTupleVariable::fillBranch(), core.autovars.NTupleObject::fillBranches(), core.autovars.NTupleCollection::fillBranchesScalar(), core.autovars.NTupleCollection::fillBranchesVector(), core.autovars.NTupleCollection::get_cpp_declaration(), core.autovars.NTupleCollection::get_cpp_wrapper_class(), core.autovars.NTupleCollection::get_py_wrapper_class(), utils.StatisticalTest::get_status(), getName(), production_tasks.Task::getname(), dataset.CMSDataset::getPrimaryDatasetEntries(), dataset.PrivateDataset::getPrimaryDatasetEntries(), VIDSelectorBase.VIDSelectorBase::initialize(), core.autovars.NTupleVariable::makeBranch(), core.autovars.NTupleObject::makeBranches(), core.autovars.NTupleCollection::makeBranchesScalar(), core.autovars.NTupleCollection::makeBranchesVector(), Node(), dirstructure.Directory::print_report(), dataset.BaseDataset::printInfo(), dataset.Dataset::printInfo(), production_tasks.MonitorJobs::run(), setName(), python.rootplot.utilities.Hist::TGraph(), python.rootplot.utilities.Hist::TH1F(), theMiracleOfChildBirth(), Vispa.Views.PropertyView.Property::valueChanged(), counter.Counter::write(), and average.Average::write().

Int_t Node::numEvents
private

Definition at line 73 of file Node.h.

Referenced by calcOptimumSplit(), getNumEvents(), and setNumEvents().

Node* Node::parent
private

Definition at line 63 of file Node.h.

Referenced by BeautifulSoup.PageElement::_invert(), Vispa.Gui.ConnectableWidget.ConnectableWidget::addMenuEntry(), Vispa.Views.LineDecayView.LineDecayContainer::applyFilter(), Vispa.Views.BoxDecayView.BoxDecayContainer::arrangeUsingRelations(), Vispa.Views.BoxDecayView.BoxDecayContainer::autolayoutAlgorithm(), Vispa.Gui.ZoomableScrollableWidgetOwner.ZoomableScrollableWidgetOwner::autosizeScrollArea(), Vispa.Views.BoxDecayView.BoxDecayContainer::autosizeScrollArea(), Vispa.Gui.PortWidget.PortWidget::connectionPoint(), Vispa.Main.StartupScreen.StartupScreen::createDescriptionWidget(), Vispa.Views.BoxDecayView.BoxDecayContainer::dataAccessor(), Vispa.Views.LineDecayView.LineDecayContainer::dataAccessor(), Vispa.Views.LineDecayView.DecayLine::dataAccessor(), Vispa.Views.LineDecayView.LineDecayContainer::delete(), Vispa.Views.LineDecayView.DecayNode::delete(), Vispa.Views.LineDecayView.DecayLine::delete(), Vispa.Gui.VispaWidget.VispaWidget::delete(), Vispa.Gui.VispaWidget.VispaWidget::dragWidget(), Vispa.Share.ImageExporter.ImageExporter::exportImageDialog(), Vispa.Views.LineDecayView.DecayLine::extendedSize(), argparse.HelpFormatter._Section::format_help(), python.rootplot.argparse.HelpFormatter._Section::format_help(), edmIntegrityCheck.PublishToFileSystem::get(), getParent(), Vispa.Gui.VispaWidget.VispaWidget::keyPressEvent(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.ConnectableWidget.ConnectableWidget::leaveEvent(), Vispa.Gui.PortWidget.PortWidget::moduleParent(), Vispa.Gui.WidgetContainer.WidgetContainer::mouseDoubleClickEvent(), Vispa.Gui.VispaWidget.VispaWidget::mouseDoubleClickEvent(), Vispa.Gui.PortConnection.PointToPointConnection::mousePressEvent(), Vispa.Gui.VispaWidget.VispaWidget::mousePressEvent(), Vispa.Views.LineDecayView.ParticleWidget::mousePressEvent(), Vispa.Views.LineDecayView.DecayNode::move(), Node(), Vispa.Views.LineDecayView.LineDecayContainer::noDecorationsMode(), Vispa.Views.LineDecayView.LineDecayContainer::operationId(), Vispa.Views.LineDecayView.DecayLine::paint(), Vispa.Gui.VispaWidget.VispaWidget::paintEvent(), Vispa.Gui.ConnectableWidget.ConnectableWidget::positionizeMenuWidget(), edmIntegrityCheck.PublishToFileSystem::publish(), Vispa.Views.LineDecayView.DecayLine::qtLineStyle(), Vispa.Views.WidgetView.WidgetView::restoreSelection(), Vispa.Views.WidgetView.WidgetView::select(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), setParent(), Vispa.Views.LineDecayView.LineDecayContainer::sizeHint(), Vispa.Views.LineDecayView.LineDecayContainer::tabController(), Vispa.Views.BoxDecayView.BoxDecayContainer::toggleCollapsed(), Vispa.Views.LineDecayView.DecayNode::unite(), Vispa.Views.PropertyView.PropertyView::valueChanged(), Vispa.Views.BoxDecayView.BoxDecayContainer::widgetByObject(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::widgetDoubleClicked(), and Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::widgetDragged().

Node* Node::rightDaughter
private
Double_t Node::splitValue
private

Definition at line 65 of file Node.h.

Referenced by calcOptimumSplit(), filterEventsToDaughters(), getSplitValue(), Node(), and setSplitValue().

Int_t Node::splitVariable
private
Double_t Node::totalError
private

Definition at line 69 of file Node.h.

Referenced by calcOptimumSplit(), getTotalError(), Node(), and setTotalError().