ROOT logo
ROOT » TMVA » TMVA::OptimizeConfigParameters

class TMVA::OptimizeConfigParameters: public TMVA::IFitterTarget

Function Members (Methods)

Data Members

private:
map<std::vector<Double_t>,Double_t>fAlreadyTrainedParCombinationsave parameters for which the FOM is already known (GA seems to evaluate the same parameters several times)
TStringfFOMTypethe FOM type (Separation, ROC integra.. whaeter you implemented..
vector<Float_t>fFOMvsItergraph showing the develompment of the Figure Of Merit values during the fit
TMVA::MsgLogger*fLoggermessage logger
TMVA::MethodBase *constfMethodThe MVA method to be evaluated
TH1D*fMvaBkgMVA distrituion for bakgr. events, used for spline fit
TH1D*fMvaBkgFineBinMVA distrituion for bakgr. events
TH1D*fMvaSigMVA distrituion for signal events, used for spline fit
TH1D*fMvaSigFineBinMVA distrituion for signal events
TStringfOptimizationFitTypewhich type of optimisation procedure to be used
map<TString,TMVA::Interval>fTuneParametersparameters included in the tuning
map<TString,Double_t>fTunedParametersparameters included in the tuning

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

OptimizeConfigParameters(TMVA::MethodBase *const method, map<TString,TMVA::Interval> tuneParameters, TString fomType = "Separation", TString optimizationType = "GA")
 Constructor which sets either "Classification or Regression"
~OptimizeConfigParameters()
 the destructor (delete the OptimizeConfigParameters, store the graph and .. delete it)
std::map<TString,Double_t> optimize()
void optimizeScan()
 do the actual optimization using a simple scan method,
 i.e. calcualte the FOM for
 different tuning paraemters and remember which one is
 gave the best FOM
void optimizeFit()
 ranges (intervals) in which the fit varies the parameters
Double_t EstimatorFunction(vector<Double_t>& )
 return the estimator (from current FOM) for the fitting interface
Double_t GetFOM()
 Return the Figure of Merit (FOM) used in the parameter
  optimization process
void GetMVADists()
 fill the private histograms with the mva distributinos for sig/bkg
Double_t GetSeparation()
 return the searation between the signal and background
 MVA ouput distribution
Double_t GetROCIntegral()
 calculate the area (integral) under the ROC curve as a
 overall quality measure of the classification

 makeing pdfs out of the MVA-ouput distributions doesn't work
 reliably for cases where the MVA-ouput isn't a smooth distribution.
 this happens "frequently" in BDTs for example when the number of
 trees is small resulting in only some discrete possible MVA ouput values.
 (I still leave the code here, but use this with care!!! The default
 however is to use the distributions!!!
Double_t GetSigEffAt(Double_t bkgEff = 0.1)
 calculate the signal efficiency for a given background efficiency
OptimizeConfigParameters(TMVA::MethodBase *const method, map<TString,TMVA::Interval> tuneParameters, TString fomType = "Separation", TString optimizationType = "GA")
default constructor
MethodBase* GetMethod()
{return fMethod;}