+
class TMVA::MethodCuts
-
library: libTMVA
#include "MethodCuts.h"
Display options:
Show inherited
Show non-public

class TMVA::MethodCuts: public TMVA::MethodBase, public TMVA::IFitterTarget


/* Multivariate optimisation of signal efficiency for given background efficiency, applying rectangular minimum and maximum requirements.

Also implemented is a "decorrelate/diagonlized cuts approach", which improves over the uncorrelated cuts ansatz by transforming linearly the input variables into a diagonal space, using the square-root of the covariance matrix.

Other optimisation criteria, such as maximising the signal significance- squared, S^2/(S+B), with S and B being the signal and background yields, correspond to a particular point in the optimised background rejection versus signal efficiency curve. This working point requires the knowledge of the expected yields, which is not the case in general. Note also that for rare signals, Poissonian statistics should be used, which modifies the significance criterion.

The rectangular cut of a volume in the variable space is performed using a binary tree to sort the training events. This provides a significant reduction in computing time (up to several orders of magnitudes, depending on the complexity of the problem at hand).

Technically, optimisation is achieved in TMVA by two methods:

  1. Monte Carlo generation using uniform priors for the lower cut value, and the cut width, thrown within the variable ranges.
  2. A Genetic Algorithm (GA) searches for the optimal ("fittest") cut sample. The GA is configurable by many external settings through the option string. For difficult cases (such as many variables), some tuning may be necessary to achieve satisfying results

Attempts to use Minuit fits (Simplex ot Migrad) instead have not shown superior results, and often failed due to convergence at local minima.

The tests we have performed so far showed that in generic applications, the GA is superior to MC sampling, and hence GA is the default method. It is worthwhile trying both anyway. Decorrelated (or "diagonalized") Cuts

See class description for Method Likelihood for a detailed explanation. */

Function Members (Methods)

public:
virtual~MethodCuts()
voidTObject::AbstractMethod(const char* method) const
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::AppendPad(Option_t* option = "")
TDirectory*TMVA::MethodBase::BaseDir() const
virtual voidTObject::Browse(TBrowser* b)
virtual voidTObject::Browse(TBrowser* b)
voidTMVA::Configurable::CheckForUnusedOptions() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual Int_tTObject::Compare(const TObject* obj) const
Double_tComputeEstimator(vector<Double_t>&)
TMVA::ConfigurableTMVA::Configurable::Configurable(const TString& theOption = "")
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Copy(TObject& object) const
voidTMVA::MethodBase::CreateMVAPdfs()
virtual const TMVA::Ranking*CreateRanking()
TMVA::DataSet&TMVA::MethodBase::Data() const
virtual voidDeclareOptions()
virtual voidTObject::Delete(Option_t* option = "")
virtual voidTObject::Delete(Option_t* option = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
virtual voidTObject::Dump() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Double_tEstimatorFunction(vector<Double_t>&)
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
static Long_tTObject::GetDtorOnly()
Double_tTMVA::MethodBase::GetEffForRoot(Double_t)
virtual Double_tGetEfficiency(TString, TTree*, Double_t&)
TMVA::Event&TMVA::MethodBase::GetEvent() const
Double_tTMVA::MethodBase::GetEventVal(Int_t ivar) const
Double_tTMVA::MethodBase::GetEventWeight() const
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetIconName() const
const TString&TMVA::MethodBase::GetInputExp(int i) const
const TString&TMVA::MethodBase::GetInputVar(int i) const
const TString&TMVA::MethodBase::GetJobName() const
const TString&TMVA::MethodBase::GetMethodName() const
const TString&TMVA::MethodBase::GetMethodTitle() const
TMVA::Types::EMVATMVA::MethodBase::GetMethodType() const
virtual Double_tGetmuTransform(TTree*)
virtual Double_tGetMvaValue()
virtual const char*TMVA::MethodBase::GetName() const
Int_tTMVA::MethodBase::GetNvar() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
static Bool_tTObject::GetObjectStat()
virtual Double_tTMVA::MethodBase::GetOptimalSignificance(Double_t SignalEvents, Double_t BackgroundEvents, Double_t& optimal_significance_value) const
virtual Option_t*TObject::GetOption() const
virtual Option_t*TObject::GetOption() const
const TString&TMVA::Configurable::GetOptions() const
virtual Double_tTMVA::MethodBase::GetProba(Double_t mvaVal, Double_t ap_sig)
const TStringTMVA::MethodBase::GetProbaName() const
virtual Double_tGetRarity(Double_t, TMVA::Types::ESBType) const
Double_tTMVA::MethodBase::GetRMS(Int_t ivar) const
virtual Double_tGetSeparation(TH1*, TH1*) const
virtual Double_tGetSeparation(TMVA::PDF* pdfS = 0, TMVA::PDF* pdfB = 0) const
Double_tTMVA::MethodBase::GetSignalReferenceCut() const
virtual Double_tGetSignificance() const
TTree*TMVA::MethodBase::GetTestTree() const
const TString&TMVA::MethodBase::GetTestvarName() const
static TMVA::MethodBase*TMVA::MethodBase::GetThisBase()
virtual const char*TObject::GetTitle() const
virtual const char*TObject::GetTitle() const
virtual Double_tGetTrainingEfficiency(TString)
TTree*TMVA::MethodBase::GetTrainingTree() const
virtual UInt_tTObject::GetUniqueID() const
virtual UInt_tTObject::GetUniqueID() const
TMVA::Types::EVariableTransformTMVA::MethodBase::GetVariableTransform() const
TMVA::VariableTransformBase&TMVA::MethodBase::GetVarTransform() const
TStringTMVA::MethodBase::GetWeightFileDir() const
TStringTMVA::MethodBase::GetWeightFileName() const
Double_tTMVA::MethodBase::GetXmax(Int_t ivar) const
Double_tTMVA::MethodBase::GetXmax(const TString& var) const
Double_tTMVA::MethodBase::GetXmin(Int_t ivar) const
Double_tTMVA::MethodBase::GetXmin(const TString& var) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual ULong_tTObject::Hash() const
Bool_tTMVA::MethodBase::HasTrainingTree() const
Bool_tTMVA::MethodBase::Help() const
static Double_tTMVA::MethodBase::IGetEffForRoot(Double_t)
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() const
virtual voidTObject::Inspect() const
voidTObject::InvertBit(UInt_t f)
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tTObject::IsFolder() const
Bool_tTMVA::MethodBase::IsMVAPdfs() const
Bool_tTMVA::MethodBase::IsNormalised() const
Bool_tTMVA::MethodBase::IsOK() const
Bool_tTObject::IsOnHeap() const
Bool_tTObject::IsOnHeap() const
Bool_tTMVA::MethodBase::IsSignalEvent() const
virtual Bool_tTMVA::MethodBase::IsSignalLike()
virtual Bool_tTObject::IsSortable() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
virtual voidTObject::ls(Option_t* option = "") const
virtual voidTMVA::MethodBase::MakeClass(const TString& classFileName = "") const
voidTObject::MayNotUse(const char* method) const
voidTObject::MayNotUse(const char* method) const
TDirectory*TMVA::MethodBase::MethodBaseDir() const
TMVA::MethodCutsMethodCuts(TMVA::DataSet& theData, TString theWeightFile, TDirectory* theTargetDir = NULL)
TMVA::MethodCutsMethodCuts(TString jobName, TString methodTitle, TMVA::DataSet& theData, TString theOption = "MC:150:10000:", TDirectory* theTargetFile = 0)
Double_tTMVA::MethodBase::Norm(Int_t ivar, Double_t x) const
Double_tTMVA::MethodBase::Norm(TString var, Double_t x) const
virtual Bool_tTObject::Notify()
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
void*TObject::operator new[](size_t sz, void* vp)
TMVA::IMethod&TMVA::IMethod::operator=(const TMVA::IMethod&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Paint(Option_t* option = "")
voidTMVA::Configurable::ParseOptions(Bool_t verbose = kTRUE)
virtual voidTObject::Pop()
virtual voidTObject::Pop()
virtual voidTMVA::MethodBase::PrepareEvaluationTree(TTree* theTestTree)
virtual voidTObject::Print(Option_t* option = "") const
virtual voidTObject::Print(Option_t* option = "") const
virtual voidTMVA::MethodBase::PrintHelpMessage() const
voidTMVA::Configurable::PrintOptions() const
virtual voidProcessOptions()
virtual Int_tTObject::Read(const char* name)
virtual Int_tTObject::Read(const char* name)
virtual Bool_tTMVA::MethodBase::ReadEvent(TTree* tr, UInt_t ievt, TMVA::Types::ESBType type = Types::kMaxSBType) const
voidTMVA::MethodBase::ReadStateFromFile()
voidTMVA::MethodBase::ReadStateFromStream(istream& tf)
voidTMVA::MethodBase::ReadStateFromStream(TFile& rf)
virtual Bool_tTMVA::MethodBase::ReadTestEvent(UInt_t ievt, TMVA::Types::ESBType type = Types::kMaxSBType) const
virtual Bool_tTMVA::MethodBase::ReadTrainingEvent(UInt_t ievt, TMVA::Types::ESBType type = Types::kMaxSBType) const
virtual voidReadWeightsFromStream(istream& istr)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetDtorOnly(void* obj)
voidTMVA::MethodBase::SetHelp(Bool_t h = kTRUE)
voidTMVA::MethodBase::SetJobName(TString jobName)
voidTMVA::MethodBase::SetMethodName(TString methodName)
voidTMVA::MethodBase::SetMethodTitle(TString methodTitle)
voidTMVA::MethodBase::SetMethodType(TMVA::Types::EMVA methodType)
voidTMVA::Configurable::SetName(const char* n)
voidTMVA::MethodBase::SetNormalised(Bool_t norm)
voidTMVA::MethodBase::SetNvar(Int_t n)
static voidTObject::SetObjectStat(Bool_t stat)
static voidTObject::SetObjectStat(Bool_t stat)
voidTMVA::Configurable::SetOptions(const TString& s)
voidSetTestSignalEfficiency(Double_t eff)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTMVA::MethodBase::SetVariableTransform(TMVA::Types::EVariableTransform m)
voidTMVA::MethodBase::SetVerbose(Bool_t v = kTRUE)
voidTMVA::MethodBase::SetWeightFileDir(TString fileDir)
voidTMVA::MethodBase::SetWeightFileName(TString)
voidTMVA::MethodBase::SetXmax(Int_t ivar, Double_t x)
voidTMVA::MethodBase::SetXmax(const TString& var, Double_t x)
voidTMVA::MethodBase::SetXmin(Int_t ivar, Double_t x)
voidTMVA::MethodBase::SetXmin(const TString& var, Double_t x)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTest(TTree* theTestTree)
Bool_tTObject::TestBit(UInt_t f) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTMVA::MethodBase::TestInit(TTree* theTestTree = 0)
virtual voidTrain()
voidTMVA::MethodBase::TrainMethod()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::UseCurrentStyle()
Bool_tTMVA::MethodBase::Verbose() const
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
voidTMVA::MethodBase::WriteEvaluationHistosToFile(TDirectory* targetDir = 0)
virtual voidWriteMonitoringHistosToFile() const
voidTMVA::MethodBase::WriteStateToFile() const
voidTMVA::MethodBase::WriteStateToStream(TFile& rf) const
voidTMVA::MethodBase::WriteStateToStream(ostream& tf, Bool_t isClass = kFALSE) const
virtual voidWriteWeightsToStream(ostream& o) const
protected:
Bool_tTMVA::MethodBase::CheckSanity(TTree* theTree = 0)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTMVA::Configurable::EnableLooseOptions(Bool_t b = kTRUE)
TMVA::MethodBase::ECutOrientationTMVA::MethodBase::GetCutOrientation() const
virtual voidGetHelpMessage() const
const TString&TMVA::MethodBase::GetInternalVarName(Int_t ivar) const
const TString&TMVA::MethodBase::GetOriginalVarName(Int_t ivar) const
const TString&TMVA::MethodBase::GetTestvarPrefix() const
UInt_tTMVA::MethodBase::GetTrainingROOTVersionCode() const
TStringTMVA::MethodBase::GetTrainingROOTVersionString() const
UInt_tTMVA::MethodBase::GetTrainingTMVAVersionCode() const
TStringTMVA::MethodBase::GetTrainingTMVAVersionString() const
TMVA::Types::ESBTypeTMVA::MethodBase::GetVariableTransformType() const
TDirectory*TMVA::MethodBase::LocalTDir() const
Bool_tTMVA::Configurable::LooseOptionCheckingEnabled() const
virtual voidMakeClassSpecific(ostream&, const TString&) const
virtual voidTMVA::MethodBase::MakeClassSpecificHeader(ostream&, const TString& = "") const
voidTObject::MakeZombie()
voidTObject::MakeZombie()
voidTMVA::Configurable::ReadOptionsFromStream(istream& istr)
voidTMVA::Configurable::ResetSetFlag()
voidTMVA::MethodBase::ResetThisBase()
voidTMVA::MethodBase::SetSignalReferenceCut(Double_t cut)
voidTMVA::MethodBase::SetTestvarName(const TString& v = "")
voidTMVA::MethodBase::SetTestvarPrefix(TString prefix)
voidTMVA::MethodBase::SetVariableTransformType(TMVA::Types::ESBType t)
voidTMVA::MethodBase::Statistics(TMVA::Types::ETreeType treeType, const TString& theVarName, Double_t&, Double_t&, Double_t&, Double_t&, Double_t&, Double_t&, Bool_t norm = kFALSE)
Bool_tTMVA::MethodBase::TxtWeightsOnly() const
voidTMVA::Configurable::WriteOptionsToStream(ostream& o, const TString& prefix) const
private:
voidCreateVariablePDFs()
voidGetEffsfromPDFs(Double_t* cutMin, Double_t* cutMax, Double_t& effS, Double_t& effB)
voidGetEffsfromSelection(Double_t* cutMin, Double_t* cutMax, Double_t& effS, Double_t& effB)
voidInitCuts()
voidMatchCutsToPars(vector<Double_t>&, Double_t*, Double_t*)
voidMatchCutsToPars(vector<Double_t>&, Double_t**, Double_t**, Int_t ibin)
voidMatchParsToCuts(const vector<Double_t>&, Double_t*, Double_t*)
voidMatchParsToCuts(Double_t*, Double_t*, Double_t*)
Bool_tSanityChecks()

Data Members

public:
enum EFitMethodType { kUseMonteCarlo
kUseGeneticAlgorithm
kUseSimulatedAnnealing
kUseMinuit
};
enum EEffMethod { kUseEventSelection
kUsePDFs
};
enum EFitParameters { kNotEnforced
kForceMin
kForceMax
kForceSmart
kForceVerySmart
};
enum TMVA::MethodBase::EWeightFileType { kROOT
kTEXT
};
enum TMVA::MethodBase::ECutOrientation { kNegative
kPositive
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TMVA::MethodBase::ECutOrientationTMVA::MethodBase::fCutOrientation+1 if Sig>Bkg, -1 otherwise
TH1*TMVA::MethodBase::fEffBefficiency plot (background)
TH1*TMVA::MethodBase::fEffBvsSbackground efficiency versus signal efficiency
TH1*TMVA::MethodBase::fEffSefficiency plot (signal)
TGraph*TMVA::MethodBase::fGraphBgraphs used for splines for efficiency (background)
TGraph*TMVA::MethodBase::fGraphSgraphs used for splines for efficiency (signal)
TGraph*TMVA::MethodBase::fGraphTrainBgraphs used for splines for training efficiency (background)
TGraph*TMVA::MethodBase::fGraphTrainEffBvsSgraphs used for splines for training signal eff. versus background eff.
TGraph*TMVA::MethodBase::fGraphTrainSgraphs used for splines for training efficiency (signal)
TGraph*TMVA::MethodBase::fGrapheffBvsSgraphs used for splines for signal eff. versus background eff.
TH1*TMVA::MethodBase::fHistB_highbinMVA plots used for efficiency calculations (background)
TH1*TMVA::MethodBase::fHistB_plotbinMVA plots used for graphics representation (background)
TH1*TMVA::MethodBase::fHistBhatBworking histograms needed for mu-transform (background)
TH1*TMVA::MethodBase::fHistBhatSworking histograms needed for mu-transform (signal)
TH1*TMVA::MethodBase::fHistMuBmu-transform (background)
TH1*TMVA::MethodBase::fHistMuSmu-transform (signal)
TH1*TMVA::MethodBase::fHistS_highbinMVA plots used for efficiency calculations (signal)
TH1*TMVA::MethodBase::fHistS_plotbinMVA plots used for graphics representation (signal)
vector<TString>*TMVA::MethodBase::fInputVarsvector of input variables used in MVA
Bool_tTMVA::MethodBase::fIsOKstatus of sanity checks
TMVA::MsgLoggerTMVA::MethodBase::fLoggermessage logger
TMVA::PDF*TMVA::MethodBase::fMVAPdfBbackground MVA PDF
TMVA::PDF*TMVA::MethodBase::fMVAPdfSsignal MVA PDF
Double_tTMVA::MethodBase::fMode
Int_tTMVA::MethodBase::fNbinsnumber of bins in representative histograms
Int_tTMVA::MethodBase::fNbinsHnumber of bins in evaluation histograms
Int_tTMVA::MethodBase::fNbinsMVAPdfnumber of bins used in histogram that creates PDF
Int_tTMVA::MethodBase::fNsmoothMVAPdfnumber of times a histogram is smoothed before creating the PDF
TH1*TMVA::MethodBase::fProbaB_plotbinP(MVA) plots used for graphics representation (background)
TH1*TMVA::MethodBase::fProbaS_plotbinP(MVA) plots used for graphics representation (signal)
TMVA::Ranking*TMVA::MethodBase::fRankingranking
TH1*TMVA::MethodBase::fRarityB_plotbinR(MVA) plots used for graphics representation (background)
TH1*TMVA::MethodBase::fRarityS_plotbinR(MVA) plots used for graphics representation (signal)
TH1*TMVA::MethodBase::fRejBvsSbackground rejection (=1-eff.) versus signal efficiency
TMVA::PDF*TMVA::MethodBase::fSplBPDFs of MVA distribution (background)
TMVA::TSpline1*TMVA::MethodBase::fSplRefBhelper splines for RootFinder (background)
TMVA::TSpline1*TMVA::MethodBase::fSplRefShelper splines for RootFinder (signal)
TMVA::PDF*TMVA::MethodBase::fSplSPDFs of MVA distribution (signal)
TMVA::PDF*TMVA::MethodBase::fSplTrainBPDFs of training MVA distribution (background)
TSpline*TMVA::MethodBase::fSplTrainEffBvsSsplines for training signal eff. versus background eff.
TMVA::TSpline1*TMVA::MethodBase::fSplTrainRefBhelper splines for RootFinder (background)
TMVA::TSpline1*TMVA::MethodBase::fSplTrainRefShelper splines for RootFinder (signal)
TMVA::PDF*TMVA::MethodBase::fSplTrainSPDFs of training MVA distribution (signal)
TSpline*TMVA::MethodBase::fSpleffBvsSsplines for signal eff. versus background eff.
TH1*TMVA::MethodBase::fTrainEffBTraining efficiency plot (background)
TH1*TMVA::MethodBase::fTrainEffBvsSTraining background efficiency versus signal efficiency
TH1*TMVA::MethodBase::fTrainEffSTraining efficiency plot (signal)
TH1*TMVA::MethodBase::fTrainRejBvsSTraining background rejection (=1-eff.) versus signal efficiency
Double_tTMVA::MethodBase::fX
TH1*TMVA::MethodBase::finvBeffvsSeffinverse background eff (1/eff.) versus signal efficiency
private:
TString*fAllVarsIwhat to do with variables
TMVA::BinarySearchTree*fBinaryTreeB
TMVA::BinarySearchTree*fBinaryTreeS
Double_t**fCutMaxmaximum requirement
Double_t**fCutMinminimum requirement
TMVA::MethodCuts::vector<Interval*>fCutRangeallowed ranges for cut optimisation
Double_t*fCutRangeMaxmaximum of allowed cut range
Double_t*fCutRangeMinminimum of allowed cut range
TH1*fEffBvsSLocalintermediate eff. background versus eff signal histo
TMVA::MethodCuts::EEffMethodfEffMethodchosen efficiency calculation method
TStringfEffMethodSchosen efficiency calculation method (string)
Double_tfEffRefreference efficiency
Double_tfEffSMaxused to test optimized signal efficiency
Double_tfEffSMinused to test optimized signal efficiency
TMVA::MethodCuts::EFitMethodTypefFitMethodchosen fit method
TStringfFitMethodSchosen fit method (string)
vector<EFitParameters>*fFitParamsvector for series of fit methods
vector<Double_t>*fMeanBmeans of variables (background)
vector<Double_t>*fMeanSmeans of variables (signal)
Int_tfNRandCutsnumber of random cut samplings
Int_tfNparnumber of parameters in fit (default: 2*Nvar)
TRandom*fRandomrandom generator for MC optimisation method
vector<Int_t>*fRangeSignused to match cuts to fit parameters (and vice versa)
vector<Double_t>*fRmsBRMSs of variables (background)
vector<Double_t>*fRmsSRMSs of variables (signal)
Double_tfTestSignalEffused to test optimized signal efficiency
Double_t*fTmpCutMaxtemporary maximum requirement
Double_t*fTmpCutMintemporary minimum requirement
vector<TH1*>*fVarHistBreference histograms (background)
vector<TH1*>*fVarHistB_smoothsmoothed reference histograms (background)
vector<TH1*>*fVarHistSreference histograms (signal)
vector<TH1*>*fVarHistS_smoothsmoothed reference histograms (signal)
vector<PDF*>*fVarPdfBreference PDFs (background)
vector<PDF*>*fVarPdfSreference PDFs (signal)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

MethodCuts(TString jobName, TString methodTitle, TMVA::DataSet& theData, TString theOption = "MC:150:10000:", TDirectory* theTargetFile = 0)
 standard constructor
 see below for option string format
MethodCuts(TMVA::DataSet& theData, TString theWeightFile, TDirectory* theTargetDir = NULL)
 construction from weight file
void InitCuts( void )
 default initialisation called by all constructors
~MethodCuts( void )
 destructor
void DeclareOptions()
 define the options (their key words) that can be set in the option string
 know options:
 Method             <string> Minimization method
    available values are:        MC Monte Carlo <default>
                                 GA Genetic Algorithm
                                 SA Simulated annealing

 EffMethod          <string> Efficiency selection method
    available values are:        EffSel <default>
                                 EffPDF

 VarProp            <string> Property of variable 1 for the MC method (taking precedence over the
    globale setting. The same values as for the global option are available. Variables 1..10 can be
    set this way

 CutRangeMin/Max    <float>  user-defined ranges in which cuts are varied
void ProcessOptions()
 process user options
Double_t GetMvaValue()
 cut evaluation: returns 1.0 if event passed, 0.0 otherwise
void Train( void )
 training method: here the cuts are optimised for the training sample
void Test(TTree* theTestTree)
 not used
Double_t EstimatorFunction(vector<Double_t>& )
 returns estimator for "cut fitness" used by GA
Double_t ComputeEstimator(vector<Double_t>& )
 returns estimator for "cut fitness" used by GA
 there are two requirements:
 1) the signal efficiency must be equal to the required one in the
    efficiency scan
 2) the background efficiency must be as small as possible
 the requirement 1) has priority over 2)
void MatchParsToCuts( const std::vector<Double_t> & par, Double_t* cutMin, Double_t* cutMax )
 translates parameters into cuts
void MatchCutsToPars(vector<Double_t>& , Double_t** , Double_t** , Int_t ibin)
 translate the cuts into parameters
void MatchCutsToPars(vector<Double_t>& , Double_t* , Double_t* )
 translates cuts into parameters
void GetEffsfromPDFs(Double_t* cutMin, Double_t* cutMax, Double_t& effS, Double_t& effB)
 compute signal and background efficiencies from PDFs
 for given cut sample
void GetEffsfromSelection(Double_t* cutMin, Double_t* cutMax, Double_t& effS, Double_t& effB)
 compute signal and background efficiencies from event counting
 for given cut sample
void CreateVariablePDFs( void )
 for PDF method: create efficiency reference histograms and PDFs
Bool_t SanityChecks( void )
 basic checks to ensure that assumptions on variable order are satisfied
void WriteWeightsToStream(ostream& o) const
 first the dimensions
void ReadWeightsFromStream(istream& istr)
 read the cuts from stream
void WriteMonitoringHistosToFile( void )
 write histograms and PDFs to file for monitoring purposes
Double_t GetTrainingEfficiency(TString )
 - overloaded function to create background efficiency (rejection) versus
   signal efficiency plot (first call of this function)
 - the function returns the signal efficiency at background efficiency
   indicated in theString

 "theString" must have two entries:
 [0]: "Efficiency"
 [1]: the value of background efficiency at which the signal efficiency
      is to be returned
Double_t GetEfficiency(TString , TTree* , Double_t& )
 - overloaded function to create background efficiency (rejection) versus
   signal efficiency plot (first call of this function)
 - the function returns the signal efficiency at background efficiency
   indicated in theString

 "theString" must have two entries:
 [0]: "Efficiency"
 [1]: the value of background efficiency at which the signal efficiency
      is to be returned
void MakeClassSpecific(ostream& , const TString& ) const
 write specific classifier response
void GetHelpMessage()
 get help message text

 typical length of text line:
         "|--------------------------------------------------------------|"
Double_t GetSeparation( TH1*, TH1* )
 also overwrite:
{ return 0; }
Double_t GetSeparation( PDF* pdfS = 0, PDF* pdfB = 0 )
{ if (pdfS && pdfB); return 0; }
Double_t GetSignificance( void )
{ return 0; }
Double_t GetmuTransform(TTree* )
{ return 0; }
Double_t GetRarity(Double_t , TMVA::Types::ESBType ) const
 rarity distributions (signal or background (default) is uniform in [0,1])
{ return 0; }
void SetTestSignalEfficiency(Double_t eff)
{ fTestSignalEff = eff; }
const Ranking* CreateRanking()
 ranking of input variables
{ return 0; }
void MatchParsToCuts( const std::vector<Double_t>&, Double_t*, Double_t* )
 the definition of fit parameters can be different from the actual
 cut requirements; these functions provide the matching

Author: Andreas Hoecker, Matt Jachowski, Peter Speckmayer, Helge Voss, Kai Voss
Last update: root/tmva $Id: MethodCuts.cxx,v 1.16 2007/06/21 10:28:08 brun Exp $
Copyright (c) 2005: *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.