Logo ROOT   master
Reference Guide
TMVA::MethodPDEFoam Class Reference

The PDEFoam method is an extension of the PDERS method, which divides the multi-dimensional phase space in a finite number of hyper-rectangles (cells) of constant event density.

This "foam" of cells is filled with averaged probability-density information sampled from a training event sample.

For a given number of cells, the binning algorithm adjusts the size and position of the cells inside the multidimensional phase space based on a binary-split algorithm, minimizing the variance of the event density in the cell. The binned event density information of the final foam is stored in binary trees, allowing for a fast and memory-efficient classification of events.

The implementation of PDEFoam is based on the Monte-Carlo integration package TFoam included in the analysis package ROOT.

Definition at line 67 of file MethodPDEFoam.h.

Public Types

enum  EKernel { kNone =0, kGaus =1, kLinN =2 }
 
typedef enum TMVA::MethodPDEFoam::EKernel EKernel
 
- Public Types inherited from TMVA::MethodBase
enum  EWeightFileType { kROOT =0, kTEXT }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kInconsistent = 0x08000000,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kIsReferenced = BIT(4), kHasUUID = BIT(5),
  kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 

Public Member Functions

 MethodPDEFoam (const TString &jobName, const TString &methodTitle, DataSetInfo &dsi, const TString &theOption="PDEFoam")
 init PDEFoam objects More...
 
 MethodPDEFoam (DataSetInfo &dsi, const TString &theWeightFile)
 constructor from weight file More...
 
virtual ~MethodPDEFoam (void)
 destructor More...
 
void AddWeightsXMLTo (void *parent) const
 create XML output of PDEFoam method variables More...
 
const RankingCreateRanking ()
 Compute ranking of input variables from the number of cuts made in each PDEFoam dimension. More...
 
EKernel GetKernel (void)
 
const std::vector< Float_t > & GetMulticlassValues ()
 Get the multiclass MVA response for the PDEFoam classifier. More...
 
Double_t GetMvaValue (Double_t *err=0, Double_t *errUpper=0)
 Return Mva-Value. More...
 
void GetNCuts (PDEFoamCell *cell, std::vector< UInt_t > &nCuts)
 Fill in 'nCuts' the number of cuts made in every foam dimension, starting at the root cell 'cell'. More...
 
virtual const std::vector< Float_t > & GetRegressionValues ()
 Return regression values for both multi- and mono-target regression. More...
 
virtual Bool_t HasAnalysisType (Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets)
 PDEFoam can handle classification with multiple classes and regression with one or more regression-targets. More...
 
UInt_t KernelToUInt (EKernel ker) const
 
PDEFoamReadClonedFoamFromFile (TFile *, const TString &)
 Reads a foam with name 'foamname' from file, and returns a clone of the foam. More...
 
void ReadFoamsFromFile ()
 read foams from file More...
 
virtual void ReadWeightsFromStream (TFile &)
 
virtual void ReadWeightsFromStream (std::istream &)=0
 
void ReadWeightsFromStream (std::istream &i)
 read options and internal parameters More...
 
void ReadWeightsFromXML (void *wghtnode)
 read PDEFoam variables from xml weight file More...
 
virtual void Reset ()
 reset MethodPDEFoam: More...
 
UInt_t TargetSelectionToUInt (ETargetSelection ts) const
 
void Train (void)
 Train PDE-Foam depending on the set options. More...
 
void TrainMonoTargetRegression (void)
 Training one (mono target regression) foam, whose cells contain the average 0th target. More...
 
void TrainMultiClassification ()
 Create one unified foam (see TrainUnifiedClassification()) for each class, where the cells of foam i (fFoam[i]) contain the average fraction of events of class i, i.e. More...
 
void TrainMultiTargetRegression (void)
 Training one (multi target regression) foam, whose cells contain the average event density. More...
 
void TrainSeparatedClassification (void)
 Creation of 2 separated foams: one for signal events, one for background events. More...
 
void TrainUnifiedClassification (void)
 Create only one unified foam (fFoam[0]) whose cells contain the average discriminator (N_sig)/(N_sig + N_bg) More...
 
EKernel UIntToKernel (UInt_t iker)
 convert UInt_t to EKernel (used for reading weight files) More...
 
ETargetSelection UIntToTargetSelection (UInt_t its)
 convert UInt_t to ETargetSelection (used for reading weight files) More...
 
void WriteFoamsToFile () const
 Write PDEFoams to file. More...
 
- Public Member Functions inherited from TMVA::MethodBase
 MethodBase (const TString &jobName, Types::EMVA methodType, const TString &methodTitle, DataSetInfo &dsi, const TString &theOption="")
 standard constructor More...
 
 MethodBase (Types::EMVA methodType, DataSetInfo &dsi, const TString &weightFile)
 constructor used for Testing + Application of the MVA, only (no training), using given WeightFiles More...
 
virtual ~MethodBase ()
 destructor More...
 
void AddOutput (Types::ETreeType type, Types::EAnalysisType analysisType)
 
TDirectoryBaseDir () const
 returns the ROOT directory where info/histograms etc of the corresponding MVA method instance are stored More...
 
virtual void CheckSetup ()
 check may be overridden by derived class (sometimes, eg, fitters are used which can only be implemented during training phase) More...
 
DataSetData () const
 
DataSetInfoDataInfo () const
 
void DisableWriting (Bool_t setter)
 
Bool_t DoMulticlass () const
 
Bool_t DoRegression () const
 
void ExitFromTraining ()
 
Types::EAnalysisType GetAnalysisType () const
 
UInt_t GetCurrentIter ()
 
virtual Double_t GetEfficiency (const TString &, Types::ETreeType, Double_t &err)
 fill background efficiency (resp. More...
 
const EventGetEvent () const
 
const EventGetEvent (const TMVA::Event *ev) const
 
const EventGetEvent (Long64_t ievt) const
 
const EventGetEvent (Long64_t ievt, Types::ETreeType type) const
 
const std::vector< TMVA::Event * > & GetEventCollection (Types::ETreeType type)
 returns the event collection (i.e. More...
 
TFileGetFile () const
 
const TStringGetInputLabel (Int_t i) const
 
const char * GetInputTitle (Int_t i) const
 
const TStringGetInputVar (Int_t i) const
 
TMultiGraphGetInteractiveTrainingError ()
 
const TStringGetJobName () const
 
virtual Double_t GetKSTrainingVsTest (Char_t SorB, TString opt="X")
 
virtual Double_t GetMaximumSignificance (Double_t SignalEvents, Double_t BackgroundEvents, Double_t &optimal_significance_value) const
 plot significance, \( \frac{S}{\sqrt{S^2 + B^2}} \), curve for given number of signal and background events; returns cut for maximum significance also returned via reference is the maximum significance More...
 
UInt_t GetMaxIter ()
 
Double_t GetMean (Int_t ivar) const
 
const TStringGetMethodName () const
 
Types::EMVA GetMethodType () const
 
TString GetMethodTypeName () const
 
virtual TMatrixD GetMulticlassConfusionMatrix (Double_t effB, Types::ETreeType type)
 Construct a confusion matrix for a multiclass classifier. More...
 
virtual std::vector< Float_tGetMulticlassEfficiency (std::vector< std::vector< Float_t > > &purity)
 
virtual std::vector< Float_tGetMulticlassTrainingEfficiency (std::vector< std::vector< Float_t > > &purity)
 
Double_t GetMvaValue (const TMVA::Event *const ev, Double_t *err=0, Double_t *errUpper=0)
 
const char * GetName () const
 
UInt_t GetNEvents () const
 temporary event when testing on a different DataSet than the own one More...
 
UInt_t GetNTargets () const
 
UInt_t GetNvar () const
 
UInt_t GetNVariables () const
 
virtual Double_t GetProba (const Event *ev)
 
virtual Double_t GetProba (Double_t mvaVal, Double_t ap_sig)
 compute likelihood ratio More...
 
const TString GetProbaName () const
 
virtual Double_t GetRarity (Double_t mvaVal, Types::ESBType reftype=Types::kBackground) const
 compute rarity:

\[ R(x) = \int_{[-\infty..x]} { PDF(x') dx' } \]

where PDF(x) is the PDF of the classifier's signal or background distribution More...

 
virtual void GetRegressionDeviation (UInt_t tgtNum, Types::ETreeType type, Double_t &stddev, Double_t &stddev90Percent) const
 
const std::vector< Float_t > & GetRegressionValues (const TMVA::Event *const ev)
 
Double_t GetRMS (Int_t ivar) const
 
virtual Double_t GetROCIntegral (TH1D *histS, TH1D *histB) const
 calculate the area (integral) under the ROC curve as a overall quality measure of the classification More...
 
virtual Double_t GetROCIntegral (PDF *pdfS=0, PDF *pdfB=0) const
 calculate the area (integral) under the ROC curve as a overall quality measure of the classification More...
 
virtual Double_t GetSeparation (TH1 *, TH1 *) const
 compute "separation" defined as

\[ <s2> = \frac{1}{2} \int_{-\infty}^{+\infty} { \frac{(S(x) - B(x))^2}{(S(x) + B(x))} dx } \]

More...
 
virtual Double_t GetSeparation (PDF *pdfS=0, PDF *pdfB=0) const
 compute "separation" defined as

\[ <s2> = \frac{1}{2} \int_{-\infty}^{+\infty} { \frac{(S(x) - B(x))^2}{(S(x) + B(x))} dx } \]

More...
 
Double_t GetSignalReferenceCut () const
 
Double_t GetSignalReferenceCutOrientation () const
 
virtual Double_t GetSignificance () const
 compute significance of mean difference

\[ significance = \frac{|<S> - <B>|}{\sqrt{RMS_{S2} + RMS_{B2}}} \]

More...
 
const EventGetTestingEvent (Long64_t ievt) const
 
Double_t GetTestTime () const
 
const TStringGetTestvarName () const
 
virtual Double_t GetTrainingEfficiency (const TString &)
 
const EventGetTrainingEvent (Long64_t ievt) const
 
virtual const std::vector< Float_t > & GetTrainingHistory (const char *)
 
UInt_t GetTrainingROOTVersionCode () const
 
TString GetTrainingROOTVersionString () const
 calculates the ROOT version string from the training version code on the fly More...
 
UInt_t GetTrainingTMVAVersionCode () const
 
TString GetTrainingTMVAVersionString () const
 calculates the TMVA version string from the training version code on the fly More...
 
Double_t GetTrainTime () const
 
TransformationHandlerGetTransformationHandler (Bool_t takeReroutedIfAvailable=true)
 
const TransformationHandlerGetTransformationHandler (Bool_t takeReroutedIfAvailable=true) const
 
TString GetWeightFileName () const
 retrieve weight file name More...
 
Double_t GetXmax (Int_t ivar) const
 
Double_t GetXmin (Int_t ivar) const
 
Bool_t HasMVAPdfs () const
 
void InitIPythonInteractive ()
 
Bool_t IsModelPersistence () const
 
virtual Bool_t IsSignalLike ()
 uses a pre-set cut on the MVA output (SetSignalReferenceCut and SetSignalReferenceCutOrientation) for a quick determination if an event would be selected as signal or background More...
 
virtual Bool_t IsSignalLike (Double_t mvaVal)
 uses a pre-set cut on the MVA output (SetSignalReferenceCut and SetSignalReferenceCutOrientation) for a quick determination if an event with this mva output value would be selected as signal or background More...
 
Bool_t IsSilentFile () const
 
virtual void MakeClass (const TString &classFileName=TString("")) const
 create reader class for method (classification only at present) More...
 
TDirectoryMethodBaseDir () const
 returns the ROOT directory where all instances of the corresponding MVA method are stored More...
 
virtual std::map< TString, Double_tOptimizeTuningParameters (TString fomType="ROCIntegral", TString fitType="FitGA")
 call the Optimizer with the set of parameters and ranges that are meant to be tuned. More...
 
void PrintHelpMessage () const
 prints out method-specific help method More...
 
void ProcessSetup ()
 process all options the "CheckForUnusedOptions" is done in an independent call, since it may be overridden by derived class (sometimes, eg, fitters are used which can only be implemented during training phase) More...
 
void ReadStateFromFile ()
 Function to write options and weights to file. More...
 
void ReadStateFromStream (std::istream &tf)
 read the header from the weight files of the different MVA methods More...
 
void ReadStateFromStream (TFile &rf)
 write reference MVA distributions (and other information) to a ROOT type weight file More...
 
void ReadStateFromXMLString (const char *xmlstr)
 for reading from memory More...
 
void RerouteTransformationHandler (TransformationHandler *fTargetTransformation)
 
virtual void SetAnalysisType (Types::EAnalysisType type)
 
void SetBaseDir (TDirectory *methodDir)
 
void SetFile (TFile *file)
 
void SetMethodBaseDir (TDirectory *methodDir)
 
void SetMethodDir (TDirectory *methodDir)
 
void SetModelPersistence (Bool_t status)
 
void SetSignalReferenceCut (Double_t cut)
 
void SetSignalReferenceCutOrientation (Double_t cutOrientation)
 
void SetSilentFile (Bool_t status)
 
void SetTestTime (Double_t testTime)
 
void SetTestvarName (const TString &v="")
 
void SetTrainTime (Double_t trainTime)
 
virtual void SetTuneParameters (std::map< TString, Double_t > tuneParameters)
 set the tuning parameters according to the argument This is just a dummy . More...
 
void SetupMethod ()
 setup of methods More...
 
virtual void TestClassification ()
 initialization More...
 
virtual void TestMulticlass ()
 test multiclass classification More...
 
virtual void TestRegression (Double_t &bias, Double_t &biasT, Double_t &dev, Double_t &devT, Double_t &rms, Double_t &rmsT, Double_t &mInf, Double_t &mInfT, Double_t &corr, Types::ETreeType type)
 calculate <sum-of-deviation-squared> of regression output versus "true" value from test sample More...
 
bool TrainingEnded ()
 
void TrainMethod ()
 
virtual void WriteEvaluationHistosToFile (Types::ETreeType treetype)
 writes all MVA evaluation histograms to file More...
 
virtual void WriteMonitoringHistosToFile () const
 write special monitoring histograms to file dummy implementation here --------------— More...
 
void WriteStateToFile () const
 write options and weights to file note that each one text file for the main configuration information and one ROOT file for ROOT objects are created More...
 
- Public Member Functions inherited from TMVA::IMethod
 IMethod ()
 
virtual ~IMethod ()
 
- Public Member Functions inherited from TMVA::Configurable
 Configurable (const TString &theOption="")
 constructor More...
 
virtual ~Configurable ()
 default destructor More...
 
void AddOptionsXMLTo (void *parent) const
 write options to XML file More...
 
template<class T >
void AddPreDefVal (const T &)
 
template<class T >
void AddPreDefVal (const TString &optname, const T &)
 
void CheckForUnusedOptions () const
 checks for unused options in option string More...
 
template<class T >
OptionBaseDeclareOptionRef (T &ref, const TString &name, const TString &desc="")
 
template<class T >
OptionBaseDeclareOptionRef (T *&ref, Int_t size, const TString &name, const TString &desc="")
 
template<class T >
TMVA::OptionBaseDeclareOptionRef (T &ref, const TString &name, const TString &desc)
 
template<class T >
TMVA::OptionBaseDeclareOptionRef (T *&ref, Int_t size, const TString &name, const TString &desc)
 
const char * GetConfigDescription () const
 
const char * GetConfigName () const
 
const TStringGetOptions () const
 
MsgLoggerLog () const
 
virtual void ParseOptions ()
 options parser More...
 
void PrintOptions () const
 prints out the options set in the options string and the defaults More...
 
void ReadOptionsFromStream (std::istream &istr)
 read option back from the weight file More...
 
void ReadOptionsFromXML (void *node)
 
void SetConfigDescription (const char *d)
 
void SetConfigName (const char *n)
 
void SetMsgType (EMsgType t)
 
void SetOptions (const TString &s)
 
void WriteOptionsToStream (std::ostream &o, const TString &prefix) const
 write options to output stream (e.g. in writing the MVA weight files More...
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TString &name, const TString &title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor. More...
 
virtual ~TNamed ()
 TNamed destructor. More...
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual void SetName (const char *name)
 Set the name of the TNamed. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Protected Member Functions

Double_t CalculateMVAError ()
 Calculate the error on the Mva value. More...
 
void CalcXminXmax ()
 Determine foam range [fXmin, fXmax] for all dimensions, such that a fraction of 'fFrac' events lie outside the foam. More...
 
PDEFoamKernelBaseCreatePDEFoamKernel ()
 create a pdefoam kernel estimator, depending on the current value of fKernel More...
 
void DeleteFoams ()
 Deletes all trained foams. More...
 
void FillVariableNamesToFoam () const
 store the variable names in all foams More...
 
void GetHelpMessage () const
 provide help message More...
 
PDEFoamInitFoam (TString, EFoamType, UInt_t cls=0)
 Create a new PDEFoam, set the PDEFoam options (nCells, nBin, Xmin, Xmax, etc.) and initialize the PDEFoam by calling pdefoam->Initialize(). More...
 
void MakeClassSpecific (std::ostream &, const TString &) const
 write PDEFoam-specific classifier response NOT IMPLEMENTED YET! More...
 
void SetXminXmax (TMVA::PDEFoam *)
 Set Xmin, Xmax for every dimension in the given pdefoam object. More...
 
- Protected Member Functions inherited from TMVA::MethodBase
const TStringGetInternalVarName (Int_t ivar) const
 
virtual std::vector< Double_tGetMvaValues (Long64_t firstEvt=0, Long64_t lastEvt=-1, Bool_t logProgress=false)
 get all the MVA values for the events of the current Data type More...
 
const TStringGetOriginalVarName (Int_t ivar) const
 
const TStringGetWeightFileDir () const
 
Bool_t HasTrainingTree () const
 
Bool_t Help () const
 
Bool_t IgnoreEventsWithNegWeightsInTraining () const
 
Bool_t IsConstructedFromWeightFile () const
 
Bool_t IsNormalised () const
 
virtual void MakeClassSpecificHeader (std::ostream &, const TString &="") const
 
void NoErrorCalc (Double_t *const err, Double_t *const errUpper)
 
virtual void ReadWeightsFromStream (TFile &)
 
void SetNormalised (Bool_t norm)
 
void SetWeightFileDir (TString fileDir)
 set directory of weight file More...
 
void SetWeightFileName (TString)
 set the weight file name (depreciated) More...
 
void Statistics (Types::ETreeType treeType, const TString &theVarName, Double_t &, Double_t &, Double_t &, Double_t &, Double_t &, Double_t &)
 calculates rms,mean, xmin, xmax of the event variable this can be either done for the variables as they are or for normalised variables (in the range of 0-1) if "norm" is set to kTRUE More...
 
Bool_t TxtWeightsOnly () const
 
Bool_t Verbose () const
 
- Protected Member Functions inherited from TMVA::Configurable
void EnableLooseOptions (Bool_t b=kTRUE)
 
const TStringGetReferenceFile () const
 
Bool_t LooseOptionCheckingEnabled () const
 
void ResetSetFlag ()
 resets the IsSet flag for all declare options to be called before options are read from stream More...
 
void WriteOptionsReferenceToFile ()
 write complete options to output stream More...
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 

Private Member Functions

void DeclareCompatibilityOptions ()
 options that are used ONLY for the READER to ensure backward compatibility More...
 
void DeclareOptions ()
 Declare MethodPDEFoam options. More...
 
void Init (void)
 default initialization called by all constructors More...
 
void PrintCoefficients (void)
 
void ProcessOptions ()
 process user options More...
 
template<typename T >
Sqr (T x) const
 

Private Attributes

Bool_t fCompress
 
Bool_t fCutNmin
 
Float_t fDiscrErrCut
 
TString fDTLogic
 
EDTSeparation fDTSeparation
 
Int_t fEvPerBin
 
Bool_t fFillFoamWithOrigWeights
 
std::vector< PDEFoam * > fFoam
 
Float_t fFrac
 
EKernel fKernel
 
PDEFoamKernelBasefKernelEstimator
 
TString fKernelStr
 
UInt_t fMaxDepth
 
Bool_t fMultiTargetRegression
 
Int_t fnActiveCells
 
Int_t fnBin
 
Int_t fnCells
 
UInt_t fNmin
 
Int_t fnSampl
 
Bool_t fPeekMax
 
Bool_t fSigBgSeparated
 
ETargetSelection fTargetSelection
 
TString fTargetSelectionStr
 
Bool_t fUseYesNoCell
 
Float_t fVolFrac
 
std::vector< Float_tfXmax
 
std::vector< Float_tfXmin
 

Additional Inherited Members

- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Public Attributes inherited from TMVA::MethodBase
Bool_t fSetupCompleted
 
const EventfTmpEvent
 
TrainingHistory fTrainHistory
 
- Protected Attributes inherited from TMVA::MethodBase
Types::EAnalysisType fAnalysisType
 
UInt_t fBackgroundClass
 
bool fExitFromTraining = false
 
std::vector< TString > * fInputVars
 
IPythonInteractivefInteractive = nullptr
 
UInt_t fIPyCurrentIter = 0
 
UInt_t fIPyMaxIter = 0
 
std::vector< Float_t > * fMulticlassReturnVal
 
Int_t fNbins
 
Int_t fNbinsH
 
Int_t fNbinsMVAoutput
 
RankingfRanking
 
std::vector< Float_t > * fRegressionReturnVal
 
ResultsfResults
 
UInt_t fSignalClass
 
- Protected Attributes inherited from TMVA::Configurable
MsgLoggerfLogger
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

#include <TMVA/MethodPDEFoam.h>

Inheritance diagram for TMVA::MethodPDEFoam:
[legend]

Member Typedef Documentation

◆ EKernel

typedef enum TMVA::MethodPDEFoam::EKernel TMVA::MethodPDEFoam::EKernel

Member Enumeration Documentation

◆ EKernel

enum TMVA::MethodPDEFoam::EKernel
Enumerator
kNone 
kGaus 
kLinN 

Definition at line 72 of file MethodPDEFoam.h.

Constructor & Destructor Documentation

◆ MethodPDEFoam() [1/2]

TMVA::MethodPDEFoam::MethodPDEFoam ( const TString jobName,
const TString methodTitle,
DataSetInfo dsi,
const TString theOption = "PDEFoam" 
)

init PDEFoam objects

Definition at line 85 of file MethodPDEFoam.cxx.

◆ MethodPDEFoam() [2/2]

TMVA::MethodPDEFoam::MethodPDEFoam ( DataSetInfo dsi,
const TString theWeightFile 
)

constructor from weight file

Definition at line 123 of file MethodPDEFoam.cxx.

◆ ~MethodPDEFoam()

TMVA::MethodPDEFoam::~MethodPDEFoam ( void  )
virtual

destructor

Definition at line 310 of file MethodPDEFoam.cxx.

Member Function Documentation

◆ AddWeightsXMLTo()

void TMVA::MethodPDEFoam::AddWeightsXMLTo ( void parent) const
virtual

create XML output of PDEFoam method variables

Implements TMVA::MethodBase.

Definition at line 1152 of file MethodPDEFoam.cxx.

◆ CalculateMVAError()

Double_t TMVA::MethodPDEFoam::CalculateMVAError ( )
protected

Calculate the error on the Mva value.

If fSigBgSeparated == true the error is calculated from the number of events in the signal and background PDEFoam cells.

If fSigBgSeparated == false, the error is taken directly from the PDEFoam cell.

Definition at line 755 of file MethodPDEFoam.cxx.

◆ CalcXminXmax()

void TMVA::MethodPDEFoam::CalcXminXmax ( )
protected

Determine foam range [fXmin, fXmax] for all dimensions, such that a fraction of 'fFrac' events lie outside the foam.

Definition at line 322 of file MethodPDEFoam.cxx.

◆ CreatePDEFoamKernel()

TMVA::PDEFoamKernelBase * TMVA::MethodPDEFoam::CreatePDEFoamKernel ( )
protected

create a pdefoam kernel estimator, depending on the current value of fKernel

Definition at line 1102 of file MethodPDEFoam.cxx.

◆ CreateRanking()

const TMVA::Ranking * TMVA::MethodPDEFoam::CreateRanking ( )
virtual

Compute ranking of input variables from the number of cuts made in each PDEFoam dimension.

The PDEFoam dimension (the variable) for which the most cuts were done is ranked highest.

Implements TMVA::MethodBase.

Definition at line 823 of file MethodPDEFoam.cxx.

◆ DeclareCompatibilityOptions()

void TMVA::MethodPDEFoam::DeclareCompatibilityOptions ( )
privatevirtual

options that are used ONLY for the READER to ensure backward compatibility

Reimplemented from TMVA::MethodBase.

Definition at line 243 of file MethodPDEFoam.cxx.

◆ DeclareOptions()

void TMVA::MethodPDEFoam::DeclareOptions ( )
privatevirtual

Declare MethodPDEFoam options.

Implements TMVA::MethodBase.

Definition at line 208 of file MethodPDEFoam.cxx.

◆ DeleteFoams()

void TMVA::MethodPDEFoam::DeleteFoams ( )
protected

Deletes all trained foams.

Definition at line 1121 of file MethodPDEFoam.cxx.

◆ FillVariableNamesToFoam()

void TMVA::MethodPDEFoam::FillVariableNamesToFoam ( ) const
protected

store the variable names in all foams

Definition at line 1484 of file MethodPDEFoam.cxx.

◆ GetHelpMessage()

void TMVA::MethodPDEFoam::GetHelpMessage ( ) const
protectedvirtual

provide help message

Implements TMVA::IMethod.

Definition at line 1507 of file MethodPDEFoam.cxx.

◆ GetKernel()

EKernel TMVA::MethodPDEFoam::GetKernel ( void  )
inline

Definition at line 127 of file MethodPDEFoam.h.

◆ GetMulticlassValues()

const std::vector< Float_t > & TMVA::MethodPDEFoam::GetMulticlassValues ( )
virtual

Get the multiclass MVA response for the PDEFoam classifier.

The returned MVA values are normalized, i.e. their sum equals 1.

Reimplemented from TMVA::MethodBase.

Definition at line 789 of file MethodPDEFoam.cxx.

◆ GetMvaValue()

Double_t TMVA::MethodPDEFoam::GetMvaValue ( Double_t err = 0,
Double_t errUpper = 0 
)
virtual

Return Mva-Value.

In case of fSigBgSeparated==false (one unified PDEFoam was trained) the function returns the content of the cell, which corresponds to the current TMVA::Event, i.e. D = N_sig/(N_bg+N_sig).

In case of fSigBgSeparated==true (two separate PDEFoams were trained) the function returns

D = Density_sig/(Density_sig+Density_bg)

where 'Density_sig' is the content of the cell in the signal PDEFoam (fFoam[0]) and 'Density_bg' is the content of the cell in the background PDEFoam (fFoam[1]).

In both cases the error on the discriminant is stored in 'err' and 'errUpper'. (Of course err and errUpper must be non-zero and point to valid address to make this work.)

Implements TMVA::MethodBase.

Definition at line 709 of file MethodPDEFoam.cxx.

◆ GetNCuts()

void TMVA::MethodPDEFoam::GetNCuts ( PDEFoamCell cell,
std::vector< UInt_t > &  nCuts 
)

Fill in 'nCuts' the number of cuts made in every foam dimension, starting at the root cell 'cell'.

Parameters:

  • cell - root cell to start the counting from
  • nCuts - the number of cuts are saved in this vector

Definition at line 876 of file MethodPDEFoam.cxx.

◆ GetRegressionValues()

const std::vector< Float_t > & TMVA::MethodPDEFoam::GetRegressionValues ( )
virtual

Return regression values for both multi- and mono-target regression.

Reimplemented from TMVA::MethodBase.

Definition at line 1050 of file MethodPDEFoam.cxx.

◆ HasAnalysisType()

Bool_t TMVA::MethodPDEFoam::HasAnalysisType ( Types::EAnalysisType  type,
UInt_t  numberClasses,
UInt_t  numberTargets 
)
virtual

PDEFoam can handle classification with multiple classes and regression with one or more regression-targets.

Implements TMVA::IMethod.

Definition at line 160 of file MethodPDEFoam.cxx.

◆ Init()

void TMVA::MethodPDEFoam::Init ( void  )
privatevirtual

default initialization called by all constructors

Implements TMVA::MethodBase.

Definition at line 171 of file MethodPDEFoam.cxx.

◆ InitFoam()

TMVA::PDEFoam * TMVA::MethodPDEFoam::InitFoam ( TString  foamcaption,
EFoamType  ft,
UInt_t  cls = 0 
)
protected

Create a new PDEFoam, set the PDEFoam options (nCells, nBin, Xmin, Xmax, etc.) and initialize the PDEFoam by calling pdefoam->Initialize().

Parameters:

Definition at line 934 of file MethodPDEFoam.cxx.

◆ KernelToUInt()

UInt_t TMVA::MethodPDEFoam::KernelToUInt ( EKernel  ker) const
inline

Definition at line 128 of file MethodPDEFoam.h.

◆ MakeClassSpecific()

void TMVA::MethodPDEFoam::MakeClassSpecific ( std::ostream &  ,
const TString  
) const
protectedvirtual

write PDEFoam-specific classifier response NOT IMPLEMENTED YET!

Reimplemented from TMVA::MethodBase.

Definition at line 1500 of file MethodPDEFoam.cxx.

◆ PrintCoefficients()

void TMVA::MethodPDEFoam::PrintCoefficients ( void  )
private

Definition at line 1146 of file MethodPDEFoam.cxx.

◆ ProcessOptions()

void TMVA::MethodPDEFoam::ProcessOptions ( )
privatevirtual

process user options

Implements TMVA::MethodBase.

Definition at line 252 of file MethodPDEFoam.cxx.

◆ ReadClonedFoamFromFile()

TMVA::PDEFoam * TMVA::MethodPDEFoam::ReadClonedFoamFromFile ( TFile file,
const TString foamname 
)

Reads a foam with name 'foamname' from file, and returns a clone of the foam.

The given ROOT file must be open. (The ROOT file will not be closed in this function.)

Parameters:

  • file - an open ROOT file
  • foamname - name of foam to load from the file

Returns:

If a foam with name 'foamname' exists in the file, then it is read from the file, cloned and returned. If a foam with name 'foamname' does not exist in the file or the clone operation does not succeed, then NULL is returned.

Definition at line 1374 of file MethodPDEFoam.cxx.

◆ ReadFoamsFromFile()

void TMVA::MethodPDEFoam::ReadFoamsFromFile ( )

read foams from file

Definition at line 1400 of file MethodPDEFoam.cxx.

◆ ReadWeightsFromStream() [1/3]

virtual void TMVA::MethodBase::ReadWeightsFromStream

◆ ReadWeightsFromStream() [2/3]

virtual void TMVA::MethodBase::ReadWeightsFromStream
inline

Definition at line 265 of file MethodBase.h.

◆ ReadWeightsFromStream() [3/3]

void TMVA::MethodPDEFoam::ReadWeightsFromStream ( std::istream &  i)
virtual

read options and internal parameters

Implements TMVA::MethodBase.

Definition at line 1227 of file MethodPDEFoam.cxx.

◆ ReadWeightsFromXML()

void TMVA::MethodPDEFoam::ReadWeightsFromXML ( void wghtnode)
virtual

read PDEFoam variables from xml weight file

Implements TMVA::MethodBase.

Definition at line 1283 of file MethodPDEFoam.cxx.

◆ Reset()

void TMVA::MethodPDEFoam::Reset ( void  )
virtual

reset MethodPDEFoam:

  • delete all PDEFoams
  • delete the kernel estimator

Reimplemented from TMVA::MethodBase.

Definition at line 1134 of file MethodPDEFoam.cxx.

◆ SetXminXmax()

void TMVA::MethodPDEFoam::SetXminXmax ( TMVA::PDEFoam pdefoam)
protected

Set Xmin, Xmax for every dimension in the given pdefoam object.

Definition at line 892 of file MethodPDEFoam.cxx.

◆ Sqr()

template<typename T >
T TMVA::MethodPDEFoam::Sqr ( x) const
inlineprivate

Definition at line 173 of file MethodPDEFoam.h.

◆ TargetSelectionToUInt()

UInt_t TMVA::MethodPDEFoam::TargetSelectionToUInt ( ETargetSelection  ts) const
inline

Definition at line 130 of file MethodPDEFoam.h.

◆ Train()

void TMVA::MethodPDEFoam::Train ( void  )
virtual

Train PDE-Foam depending on the set options.

Implements TMVA::MethodBase.

Definition at line 430 of file MethodPDEFoam.cxx.

◆ TrainMonoTargetRegression()

void TMVA::MethodPDEFoam::TrainMonoTargetRegression ( void  )

Training one (mono target regression) foam, whose cells contain the average 0th target.

The dimension of the foam = number of non-targets (= number of variables).

Definition at line 595 of file MethodPDEFoam.cxx.

◆ TrainMultiClassification()

void TMVA::MethodPDEFoam::TrainMultiClassification ( )

Create one unified foam (see TrainUnifiedClassification()) for each class, where the cells of foam i (fFoam[i]) contain the average fraction of events of class i, i.e.

D = number events of class i / total number of events

Definition at line 556 of file MethodPDEFoam.cxx.

◆ TrainMultiTargetRegression()

void TMVA::MethodPDEFoam::TrainMultiTargetRegression ( void  )

Training one (multi target regression) foam, whose cells contain the average event density.

The dimension of the foam = number of non-targets + number of targets.

Definition at line 636 of file MethodPDEFoam.cxx.

◆ TrainSeparatedClassification()

void TMVA::MethodPDEFoam::TrainSeparatedClassification ( void  )

Creation of 2 separated foams: one for signal events, one for background events.

At the end the foam cells of fFoam[0] will contain the average number of signal events and fFoam[1] will contain the average number of background events.

Definition at line 481 of file MethodPDEFoam.cxx.

◆ TrainUnifiedClassification()

void TMVA::MethodPDEFoam::TrainUnifiedClassification ( void  )

Create only one unified foam (fFoam[0]) whose cells contain the average discriminator (N_sig)/(N_sig + N_bg)

Definition at line 520 of file MethodPDEFoam.cxx.

◆ UIntToKernel()

TMVA::MethodPDEFoam::EKernel TMVA::MethodPDEFoam::UIntToKernel ( UInt_t  iker)

convert UInt_t to EKernel (used for reading weight files)

Definition at line 1453 of file MethodPDEFoam.cxx.

◆ UIntToTargetSelection()

TMVA::ETargetSelection TMVA::MethodPDEFoam::UIntToTargetSelection ( UInt_t  its)

convert UInt_t to ETargetSelection (used for reading weight files)

Definition at line 1469 of file MethodPDEFoam.cxx.

◆ WriteFoamsToFile()

void TMVA::MethodPDEFoam::WriteFoamsToFile ( ) const

Write PDEFoams to file.

Definition at line 1195 of file MethodPDEFoam.cxx.

Member Data Documentation

◆ fCompress

Bool_t TMVA::MethodPDEFoam::fCompress
private

Definition at line 186 of file MethodPDEFoam.h.

◆ fCutNmin

Bool_t TMVA::MethodPDEFoam::fCutNmin
private

Definition at line 189 of file MethodPDEFoam.h.

◆ fDiscrErrCut

Float_t TMVA::MethodPDEFoam::fDiscrErrCut
private

Definition at line 178 of file MethodPDEFoam.h.

◆ fDTLogic

TString TMVA::MethodPDEFoam::fDTLogic
private

Definition at line 199 of file MethodPDEFoam.h.

◆ fDTSeparation

EDTSeparation TMVA::MethodPDEFoam::fDTSeparation
private

Definition at line 200 of file MethodPDEFoam.h.

◆ fEvPerBin

Int_t TMVA::MethodPDEFoam::fEvPerBin
private

Definition at line 184 of file MethodPDEFoam.h.

◆ fFillFoamWithOrigWeights

Bool_t TMVA::MethodPDEFoam::fFillFoamWithOrigWeights
private

Definition at line 197 of file MethodPDEFoam.h.

◆ fFoam

std::vector<PDEFoam*> TMVA::MethodPDEFoam::fFoam
private

Definition at line 205 of file MethodPDEFoam.h.

◆ fFrac

Float_t TMVA::MethodPDEFoam::fFrac
private

Definition at line 177 of file MethodPDEFoam.h.

◆ fKernel

EKernel TMVA::MethodPDEFoam::fKernel
private

Definition at line 193 of file MethodPDEFoam.h.

◆ fKernelEstimator

PDEFoamKernelBase* TMVA::MethodPDEFoam::fKernelEstimator
private

Definition at line 194 of file MethodPDEFoam.h.

◆ fKernelStr

TString TMVA::MethodPDEFoam::fKernelStr
private

Definition at line 192 of file MethodPDEFoam.h.

◆ fMaxDepth

UInt_t TMVA::MethodPDEFoam::fMaxDepth
private

Definition at line 190 of file MethodPDEFoam.h.

◆ fMultiTargetRegression

Bool_t TMVA::MethodPDEFoam::fMultiTargetRegression
private

Definition at line 187 of file MethodPDEFoam.h.

◆ fnActiveCells

Int_t TMVA::MethodPDEFoam::fnActiveCells
private

Definition at line 181 of file MethodPDEFoam.h.

◆ fnBin

Int_t TMVA::MethodPDEFoam::fnBin
private

Definition at line 183 of file MethodPDEFoam.h.

◆ fnCells

Int_t TMVA::MethodPDEFoam::fnCells
private

Definition at line 180 of file MethodPDEFoam.h.

◆ fNmin

UInt_t TMVA::MethodPDEFoam::fNmin
private

Definition at line 188 of file MethodPDEFoam.h.

◆ fnSampl

Int_t TMVA::MethodPDEFoam::fnSampl
private

Definition at line 182 of file MethodPDEFoam.h.

◆ fPeekMax

Bool_t TMVA::MethodPDEFoam::fPeekMax
private

Definition at line 201 of file MethodPDEFoam.h.

◆ fSigBgSeparated

Bool_t TMVA::MethodPDEFoam::fSigBgSeparated
private

Definition at line 176 of file MethodPDEFoam.h.

◆ fTargetSelection

ETargetSelection TMVA::MethodPDEFoam::fTargetSelection
private

Definition at line 196 of file MethodPDEFoam.h.

◆ fTargetSelectionStr

TString TMVA::MethodPDEFoam::fTargetSelectionStr
private

Definition at line 195 of file MethodPDEFoam.h.

◆ fUseYesNoCell

Bool_t TMVA::MethodPDEFoam::fUseYesNoCell
private

Definition at line 198 of file MethodPDEFoam.h.

◆ fVolFrac

Float_t TMVA::MethodPDEFoam::fVolFrac
private

Definition at line 179 of file MethodPDEFoam.h.

◆ fXmax

std::vector<Float_t> TMVA::MethodPDEFoam::fXmax
private

Definition at line 203 of file MethodPDEFoam.h.

◆ fXmin

std::vector<Float_t> TMVA::MethodPDEFoam::fXmin
private

Definition at line 203 of file MethodPDEFoam.h.

Libraries for TMVA::MethodPDEFoam:
[legend]

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