24#ifndef ROOT_TMVA_RuleCut
25#define ROOT_TMVA_RuleCut
39 RuleCut(
const std::vector< const TMVA::Node * > & nodes );
84 void MakeCuts(
const std::vector< const TMVA::Node * > & nodes );
104 if (&other !=
this) {
131 minOK = (fCutDoMin[nc] ? (val>fCutMin[nc]):
kTRUE);
132 cutOK = (minOK ? ((fCutDoMax[nc] ? (val<fCutMax[nc]):
kTRUE)) :
kFALSE);
134 done = ((!cutOK) || (nc==fSelector.size()));
150 fSelector.resize(nc);
153 fCutDoMin.resize(nc);
154 fCutDoMax.resize(nc);
Float_t GetValue(UInt_t ivar) const
return value of i'th variable
ostringstream derivative to redirect and format output
A class describing a 'rule cut'.
std::vector< UInt_t > fSelector
Double_t GetPurity() const
void SetSelector(Int_t i, UInt_t s)
std::vector< Double_t > fCutMax
RuleCut()
empty constructor
virtual ~RuleCut()
destructor
std::vector< Double_t > fCutMin
void SetCutDoMin(Int_t i, Bool_t v)
Double_t GetCutMin(Int_t is) const
RuleCut(const RuleCut &other)
void SetCutMin(Int_t i, Double_t v)
UInt_t GetSelector(Int_t is) const
Double_t GetCutNeve() const
Char_t GetCutDoMin(Int_t is) const
Char_t GetCutDoMax(Int_t is) const
UInt_t GetNcuts() const
get number of cuts
void MakeCuts(const std::vector< const TMVA::Node * > &nodes)
Construct the cuts from the given array of nodes.
Bool_t EvalEvent(const Event &eve)
void SetCutMax(Int_t i, Double_t v)
Double_t GetCutMax(Int_t is) const
std::vector< Char_t > fCutDoMax
Bool_t GetCutRange(Int_t sel, Double_t &rmin, Double_t &rmax, Bool_t &dormin, Bool_t &dormax) const
get cut range for a given selector
void Copy(const RuleCut &other)
std::vector< Char_t > fCutDoMin
void SetPurity(Double_t ssb)
void SetCutDoMax(Int_t i, Bool_t v)
static constexpr double s
static constexpr double ns
create variable transformations