Logo ROOT  
Reference Guide
TMVA::Rule Class Reference

Implementation of a rule.

A rule is simply a branch or a part of a branch in a tree. It fulfills the following:

  • First node is the root node of the originating tree
  • Consists of a minimum of 2 nodes
  • A rule returns for a given event:
    • 0 : if the event fails at any node
    • 1 : otherwise
  • If the rule contains <2 nodes, it returns 0 SHOULD NOT HAPPEN!

The coefficient is found by either brute force or some sort of intelligent fitting. See the RuleEnsemble class for more info.

Definition at line 50 of file Rule.h.

Public Member Functions

 Rule ()
 the simple constructor More...
 
 Rule (const Rule &other)
  More...
 
 Rule (RuleEnsemble *re)
 the simple constructor More...
 
 Rule (RuleEnsemble *re, const std::vector< const TMVA::Node * > &nodes)
 the main constructor for a Rule More...
 
virtual ~Rule ()
 destructor More...
 
voidAddXMLTo (void *parent) const
  More...
 
void CalcImportance ()
  More...
 
Bool_t ContainsVariable (UInt_t iv) const
 check if variable in node More...
 
Bool_t Equal (const Rule &other, Bool_t useCutValue, Double_t maxdist) const
 Compare two rules. More...
 
Bool_t EvalEvent (const Event &e) const
  More...
 
Double_t GetCoefficient () const
  More...
 
Double_t GetImportance () const
  More...
 
Double_t GetImportanceRef () const
  More...
 
UInt_t GetNcuts () const
  More...
 
Double_t GetNorm () const
  More...
 
UInt_t GetNumVarsUsed () const
  More...
 
Double_t GetRelImportance () const
  More...
 
const RuleCutGetRuleCut () const
  More...
 
const RuleEnsembleGetRuleEnsemble () const
  More...
 
Double_t GetSigma () const
  More...
 
Double_t GetSSB () const
  More...
 
Double_t GetSSBNeve () const
  More...
 
Double_t GetSupport () const
  More...
 
Bool_t IsSignalRule () const
  More...
 
Bool_t operator< (const Rule &other) const
 comparison operator < More...
 
void operator= (const Rule &other)
  More...
 
Bool_t operator== (const Rule &other) const
 comparison operator == More...
 
void PrintLogger (const char *title=0) const
 print function More...
 
void PrintRaw (std::ostream &os) const
 extensive print function used to print info for the weight file More...
 
void ReadFromXML (void *wghtnode)
 read rule from XML More...
 
void ReadRaw (std::istream &os)
 read function (format is the same as written by PrintRaw) More...
 
Double_t RuleDist (const Rule &other, Bool_t useCutValue) const
 Returns: More...
 
void SetCoefficient (Double_t v)
  More...
 
void SetImportanceRef (Double_t v)
  More...
 
void SetMsgType (EMsgType t)
  More...
 
void SetNorm (Double_t norm)
  More...
 
void SetRuleCut (RuleCut *rc)
  More...
 
void SetRuleEnsemble (const RuleEnsemble *re)
  More...
 
void SetSSB (Double_t v)
  More...
 
void SetSSBNeve (Double_t v)
  More...
 
void SetSupport (Double_t v)
  More...
 

Private Member Functions

void Copy (const Rule &other)
 copy function More...
 
const TStringGetVarName (Int_t i) const
 returns the name of a rule More...
 
MsgLoggerLog () const
 message logger More...
 
void Print (std::ostream &os) const
 print function More...
 
void SetSigma (Double_t v)
  More...
 

Private Attributes

Double_t fCoefficient
  More...
 
RuleCutfCut
  More...
 
Double_t fImportance
  More...
 
Double_t fImportanceRef
  More...
 
MsgLoggerfLogger
  More...
 
Double_t fNorm
  More...
 
const RuleEnsemblefRuleEnsemble
  More...
 
Double_t fSigma
  More...
 
Double_t fSSB
  More...
 
Double_t fSSBNeve
  More...
 
Double_t fSupport
  More...
 

Friends

std::ostream & operator<< (std::ostream &os, const Rule &rule)
  More...
 

#include <TMVA/Rule.h>

Constructor & Destructor Documentation

◆ Rule() [1/4]

TMVA::Rule::Rule ( RuleEnsemble re,
const std::vector< const TMVA::Node * > &  nodes 
)

the main constructor for a Rule

Definition at line 66 of file Rule.cxx.

◆ Rule() [2/4]

TMVA::Rule::Rule ( RuleEnsemble re)

the simple constructor

Definition at line 94 of file Rule.cxx.

◆ Rule() [3/4]

TMVA::Rule::Rule ( const Rule other)
inline

Definition at line 64 of file Rule.h.

◆ Rule() [4/4]

TMVA::Rule::Rule ( )

the simple constructor

Definition at line 112 of file Rule.cxx.

◆ ~Rule()

TMVA::Rule::~Rule ( )
virtual

destructor

Definition at line 130 of file Rule.cxx.

Member Function Documentation

◆ AddXMLTo()

void * TMVA::Rule::AddXMLTo ( void parent) const

Definition at line 398 of file Rule.cxx.

◆ CalcImportance()

void TMVA::Rule::CalcImportance ( )
inline

Definition at line 99 of file Rule.h.

◆ ContainsVariable()

Bool_t TMVA::Rule::ContainsVariable ( UInt_t  iv) const

check if variable in node

Definition at line 139 of file Rule.cxx.

◆ Copy()

void TMVA::Rule::Copy ( const Rule other)
private

copy function

Definition at line 284 of file Rule.cxx.

◆ Equal()

Bool_t TMVA::Rule::Equal ( const Rule other,
Bool_t  useCutValue,
Double_t  mindist 
) const

Compare two rules.

  • useCutValue:
    • true -> calculate a distance between the two rules based on the cut values if the rule cuts are not equal, the distance is < 0 (-1.0) return true if d<mindist
    • false-> ignore mindist, return true if rules are equal, ignoring cut values
  • mindist: min distance allowed between rules; if < 0 => set useCutValue=false;

Definition at line 172 of file Rule.cxx.

◆ EvalEvent()

Bool_t TMVA::Rule::EvalEvent ( const Event e) const
inline

Definition at line 191 of file Rule.h.

◆ GetCoefficient()

Double_t TMVA::Rule::GetCoefficient ( ) const
inline

Definition at line 141 of file Rule.h.

◆ GetImportance()

Double_t TMVA::Rule::GetImportance ( ) const
inline

Definition at line 145 of file Rule.h.

◆ GetImportanceRef()

Double_t TMVA::Rule::GetImportanceRef ( ) const
inline

Definition at line 146 of file Rule.h.

◆ GetNcuts()

UInt_t TMVA::Rule::GetNcuts ( ) const
inline

Definition at line 133 of file Rule.h.

◆ GetNorm()

Double_t TMVA::Rule::GetNorm ( ) const
inline

Definition at line 144 of file Rule.h.

◆ GetNumVarsUsed()

UInt_t TMVA::Rule::GetNumVarsUsed ( ) const
inline

Definition at line 130 of file Rule.h.

◆ GetRelImportance()

Double_t TMVA::Rule::GetRelImportance ( ) const
inline

Definition at line 102 of file Rule.h.

◆ GetRuleCut()

const RuleCut* TMVA::Rule::GetRuleCut ( ) const
inline

Definition at line 139 of file Rule.h.

◆ GetRuleEnsemble()

const RuleEnsemble* TMVA::Rule::GetRuleEnsemble ( ) const
inline

Definition at line 140 of file Rule.h.

◆ GetSigma()

Double_t TMVA::Rule::GetSigma ( ) const
inline

Definition at line 143 of file Rule.h.

◆ GetSSB()

Double_t TMVA::Rule::GetSSB ( ) const
inline

Definition at line 117 of file Rule.h.

◆ GetSSBNeve()

Double_t TMVA::Rule::GetSSBNeve ( ) const
inline

Definition at line 118 of file Rule.h.

◆ GetSupport()

Double_t TMVA::Rule::GetSupport ( ) const
inline

Definition at line 142 of file Rule.h.

◆ GetVarName()

const TString & TMVA::Rule::GetVarName ( Int_t  i) const
private

returns the name of a rule

Definition at line 276 of file Rule.cxx.

◆ IsSignalRule()

Bool_t TMVA::Rule::IsSignalRule ( ) const
inline

Definition at line 119 of file Rule.h.

◆ Log()

MsgLogger& TMVA::Rule::Log ( ) const
inlineprivate

message logger

Definition at line 184 of file Rule.h.

◆ operator<()

Bool_t TMVA::Rule::operator< ( const Rule other) const

comparison operator <

Definition at line 259 of file Rule.cxx.

◆ operator=()

void TMVA::Rule::operator= ( const Rule other)
inline

Definition at line 122 of file Rule.h.

◆ operator==()

Bool_t TMVA::Rule::operator== ( const Rule other) const

comparison operator ==

Definition at line 251 of file Rule.cxx.

◆ Print()

void TMVA::Rule::Print ( std::ostream &  os) const
private

print function

Definition at line 303 of file Rule.cxx.

◆ PrintLogger()

void TMVA::Rule::PrintLogger ( const char *  title = 0) const

print function

Definition at line 335 of file Rule.cxx.

◆ PrintRaw()

void TMVA::Rule::PrintRaw ( std::ostream &  os) const

extensive print function used to print info for the weight file

Definition at line 367 of file Rule.cxx.

◆ ReadFromXML()

void TMVA::Rule::ReadFromXML ( void wghtnode)

read rule from XML

Definition at line 428 of file Rule.cxx.

◆ ReadRaw()

void TMVA::Rule::ReadRaw ( std::istream &  os)

read function (format is the same as written by PrintRaw)

Definition at line 477 of file Rule.cxx.

◆ RuleDist()

Double_t TMVA::Rule::RuleDist ( const Rule other,
Bool_t  useCutValue 
) const

Returns:

  • -1.0 : rules are NOT equal, i.e, variables and/or cut directions are wrong
  • >=0: rules are equal apart from the cutvalue, returns \( d = \sqrt{\sum(c1-c2)^2} \)

If not useCutValue, the distance is exactly zero if they are equal

Definition at line 192 of file Rule.cxx.

◆ SetCoefficient()

void TMVA::Rule::SetCoefficient ( Double_t  v)
inline

Definition at line 84 of file Rule.h.

◆ SetImportanceRef()

void TMVA::Rule::SetImportanceRef ( Double_t  v)
inline

Definition at line 96 of file Rule.h.

◆ SetMsgType()

void TMVA::Rule::SetMsgType ( EMsgType  t)

Definition at line 156 of file Rule.cxx.

◆ SetNorm()

void TMVA::Rule::SetNorm ( Double_t  norm)
inline

Definition at line 81 of file Rule.h.

◆ SetRuleCut()

void TMVA::Rule::SetRuleCut ( RuleCut rc)
inline

Definition at line 78 of file Rule.h.

◆ SetRuleEnsemble()

void TMVA::Rule::SetRuleEnsemble ( const RuleEnsemble re)
inline

Definition at line 75 of file Rule.h.

◆ SetSigma()

void TMVA::Rule::SetSigma ( Double_t  v)
inlineprivate

Definition at line 161 of file Rule.h.

◆ SetSSB()

void TMVA::Rule::SetSSB ( Double_t  v)
inline

Definition at line 90 of file Rule.h.

◆ SetSSBNeve()

void TMVA::Rule::SetSSBNeve ( Double_t  v)
inline

Definition at line 93 of file Rule.h.

◆ SetSupport()

void TMVA::Rule::SetSupport ( Double_t  v)
inline

Definition at line 87 of file Rule.h.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const Rule rule 
)
friend

Member Data Documentation

◆ fCoefficient

Double_t TMVA::Rule::fCoefficient
private

Definition at line 176 of file Rule.h.

◆ fCut

RuleCut* TMVA::Rule::fCut
private

Definition at line 172 of file Rule.h.

◆ fImportance

Double_t TMVA::Rule::fImportance
private

Definition at line 177 of file Rule.h.

◆ fImportanceRef

Double_t TMVA::Rule::fImportanceRef
private

Definition at line 178 of file Rule.h.

◆ fLogger

MsgLogger* TMVA::Rule::fLogger
mutableprivate

Definition at line 183 of file Rule.h.

◆ fNorm

Double_t TMVA::Rule::fNorm
private

Definition at line 173 of file Rule.h.

◆ fRuleEnsemble

const RuleEnsemble* TMVA::Rule::fRuleEnsemble
private

Definition at line 179 of file Rule.h.

◆ fSigma

Double_t TMVA::Rule::fSigma
private

Definition at line 175 of file Rule.h.

◆ fSSB

Double_t TMVA::Rule::fSSB
private

Definition at line 180 of file Rule.h.

◆ fSSBNeve

Double_t TMVA::Rule::fSSBNeve
private

Definition at line 181 of file Rule.h.

◆ fSupport

Double_t TMVA::Rule::fSupport
private

Definition at line 174 of file Rule.h.

Libraries for TMVA::Rule:
[legend]

The documentation for this class was generated from the following files: