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 69 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 = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) } |
enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) } |
enum | EStatusBits { kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) , kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 )) } |
Public Member Functions | |
MethodPDEFoam (const TString &jobName, const TString &methodTitle, DataSetInfo &dsi, const TString &theOption="PDEFoam") | |
init PDEFoam objects | |
MethodPDEFoam (DataSetInfo &dsi, const TString &theWeightFile) | |
constructor from weight file | |
virtual | ~MethodPDEFoam (void) |
destructor | |
void | AddWeightsXMLTo (void *parent) const |
create XML output of PDEFoam method variables | |
const Ranking * | CreateRanking () |
Compute ranking of input variables from the number of cuts made in each PDEFoam dimension. | |
EKernel | GetKernel (void) |
const std::vector< Float_t > & | GetMulticlassValues () |
Get the multiclass MVA response for the PDEFoam classifier. | |
Double_t | GetMvaValue (Double_t *err=nullptr, Double_t *errUpper=nullptr) |
Return Mva-Value. | |
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'. | |
virtual const std::vector< Float_t > & | GetRegressionValues () |
Return regression values for both multi- and mono-target regression. | |
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. | |
virtual TClass * | IsA () const |
UInt_t | KernelToUInt (EKernel ker) const |
PDEFoam * | ReadClonedFoamFromFile (TFile *, const TString &) |
Reads a foam with name 'foamname' from file, and returns a clone of the foam. | |
void | ReadFoamsFromFile () |
read foams from file | |
virtual void | ReadWeightsFromStream (std::istream &)=0 |
void | ReadWeightsFromStream (std::istream &i) |
read options and internal parameters | |
virtual void | ReadWeightsFromStream (TFile &) |
void | ReadWeightsFromXML (void *wghtnode) |
read PDEFoam variables from xml weight file | |
virtual void | Reset () |
reset MethodPDEFoam: | |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
UInt_t | TargetSelectionToUInt (ETargetSelection ts) const |
void | Train (void) |
Train PDE-Foam depending on the set options. | |
void | TrainMonoTargetRegression (void) |
Training one (mono target regression) foam, whose cells contain the average 0th target. | |
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. | |
void | TrainMultiTargetRegression (void) |
Training one (multi target regression) foam, whose cells contain the average event density. | |
void | TrainSeparatedClassification (void) |
Creation of 2 separated foams: one for signal events, one for background events. | |
void | TrainUnifiedClassification (void) |
Create only one unified foam (fFoam[0]) whose cells contain the average discriminator (N_sig)/(N_sig + N_bg) | |
EKernel | UIntToKernel (UInt_t iker) |
convert UInt_t to EKernel (used for reading weight files) | |
ETargetSelection | UIntToTargetSelection (UInt_t its) |
convert UInt_t to ETargetSelection (used for reading weight files) | |
void | WriteFoamsToFile () const |
Write PDEFoams to file. | |
Public Member Functions inherited from TMVA::MethodBase | |
MethodBase (const TString &jobName, Types::EMVA methodType, const TString &methodTitle, DataSetInfo &dsi, const TString &theOption="") | |
standard constructor | |
MethodBase (Types::EMVA methodType, DataSetInfo &dsi, const TString &weightFile) | |
constructor used for Testing + Application of the MVA, only (no training), using given WeightFiles | |
virtual | ~MethodBase () |
destructor | |
void | AddOutput (Types::ETreeType type, Types::EAnalysisType analysisType) |
TDirectory * | BaseDir () const |
returns the ROOT directory where info/histograms etc of the corresponding MVA method instance are stored | |
virtual void | CheckSetup () |
check may be overridden by derived class (sometimes, eg, fitters are used which can only be implemented during training phase) | |
DataSet * | Data () const |
DataSetInfo & | DataInfo () 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. | |
const Event * | GetEvent () const |
const Event * | GetEvent (const TMVA::Event *ev) const |
const Event * | GetEvent (Long64_t ievt) const |
const Event * | GetEvent (Long64_t ievt, Types::ETreeType type) const |
const std::vector< TMVA::Event * > & | GetEventCollection (Types::ETreeType type) |
returns the event collection (i.e. | |
TFile * | GetFile () const |
const TString & | GetInputLabel (Int_t i) const |
const char * | GetInputTitle (Int_t i) const |
const TString & | GetInputVar (Int_t i) const |
TMultiGraph * | GetInteractiveTrainingError () |
const TString & | GetJobName () 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 | |
UInt_t | GetMaxIter () |
Double_t | GetMean (Int_t ivar) const |
const TString & | GetMethodName () 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. | |
virtual std::vector< Float_t > | GetMulticlassEfficiency (std::vector< std::vector< Float_t > > &purity) |
virtual std::vector< Float_t > | GetMulticlassTrainingEfficiency (std::vector< std::vector< Float_t > > &purity) |
Double_t | GetMvaValue (const TMVA::Event *const ev, Double_t *err=nullptr, Double_t *errUpper=nullptr) |
const char * | GetName () const |
UInt_t | GetNEvents () const |
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 | |
const TString | GetProbaName () const |
virtual Double_t | GetRarity (Double_t mvaVal, Types::ESBType reftype=Types::kBackground) const |
compute rarity: | |
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 (PDF *pdfS=nullptr, PDF *pdfB=nullptr) const |
calculate the area (integral) under the ROC curve as a overall quality measure of the classification | |
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 | |
virtual Double_t | GetSeparation (PDF *pdfS=nullptr, PDF *pdfB=nullptr) const |
compute "separation" defined as | |
virtual Double_t | GetSeparation (TH1 *, TH1 *) const |
compute "separation" defined as | |
Double_t | GetSignalReferenceCut () const |
Double_t | GetSignalReferenceCutOrientation () const |
virtual Double_t | GetSignificance () const |
compute significance of mean difference | |
const Event * | GetTestingEvent (Long64_t ievt) const |
Double_t | GetTestTime () const |
const TString & | GetTestvarName () const |
virtual Double_t | GetTrainingEfficiency (const TString &) |
const Event * | GetTrainingEvent (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 | |
UInt_t | GetTrainingTMVAVersionCode () const |
TString | GetTrainingTMVAVersionString () const |
calculates the TMVA version string from the training version code on the fly | |
Double_t | GetTrainTime () const |
TransformationHandler & | GetTransformationHandler (Bool_t takeReroutedIfAvailable=true) |
const TransformationHandler & | GetTransformationHandler (Bool_t takeReroutedIfAvailable=true) const |
TString | GetWeightFileName () const |
retrieve weight file name | |
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 | |
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 | |
Bool_t | IsSilentFile () const |
virtual void | MakeClass (const TString &classFileName=TString("")) const |
create reader class for method (classification only at present) | |
TDirectory * | MethodBaseDir () const |
returns the ROOT directory where all instances of the corresponding MVA method are stored | |
virtual std::map< TString, Double_t > | OptimizeTuningParameters (TString fomType="ROCIntegral", TString fitType="FitGA") |
call the Optimizer with the set of parameters and ranges that are meant to be tuned. | |
void | PrintHelpMessage () const |
prints out method-specific help method | |
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) | |
void | ReadStateFromFile () |
Function to write options and weights to file. | |
void | ReadStateFromStream (std::istream &tf) |
read the header from the weight files of the different MVA methods | |
void | ReadStateFromStream (TFile &rf) |
write reference MVA distributions (and other information) to a ROOT type weight file | |
void | ReadStateFromXMLString (const char *xmlstr) |
for reading from memory | |
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 . | |
void | SetupMethod () |
setup of methods | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | TestClassification () |
initialization | |
virtual void | TestMulticlass () |
test multiclass classification | |
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 | |
bool | TrainingEnded () |
void | TrainMethod () |
virtual void | WriteEvaluationHistosToFile (Types::ETreeType treetype) |
writes all MVA evaluation histograms to file | |
virtual void | WriteMonitoringHistosToFile () const |
write special monitoring histograms to file dummy implementation here --------------— | |
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 | |
Public Member Functions inherited from TMVA::IMethod | |
IMethod () | |
virtual | ~IMethod () |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TMVA::Configurable | |
Configurable (const TString &theOption="") | |
constructor | |
virtual | ~Configurable () |
default destructor | |
void | AddOptionsXMLTo (void *parent) const |
write options to XML file | |
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 | |
template<class T > | |
TMVA::OptionBase * | DeclareOptionRef (T &ref, const TString &name, const TString &desc) |
template<class T > | |
OptionBase * | DeclareOptionRef (T &ref, const TString &name, const TString &desc="") |
template<class T > | |
TMVA::OptionBase * | DeclareOptionRef (T *&ref, Int_t size, const TString &name, const TString &desc) |
template<class T > | |
OptionBase * | DeclareOptionRef (T *&ref, Int_t size, const TString &name, const TString &desc="") |
const char * | GetConfigDescription () const |
const char * | GetConfigName () const |
const TString & | GetOptions () const |
MsgLogger & | Log () const |
virtual void | ParseOptions () |
options parser | |
void | PrintOptions () const |
prints out the options set in the options string and the defaults | |
void | ReadOptionsFromStream (std::istream &istr) |
read option back from the weight file | |
void | ReadOptionsFromXML (void *node) |
void | SetConfigDescription (const char *d) |
void | SetConfigName (const char *n) |
void | SetMsgType (EMsgType t) |
void | SetOptions (const TString &s) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
void | WriteOptionsToStream (std::ostream &o, const TString &prefix) const |
write options to output stream (e.g. in writing the MVA weight files | |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. | |
void | Clear (Option_t *option="") override |
Set name and title to empty strings (""). | |
TObject * | Clone (const char *newname="") const override |
Make a clone of an object using the Streamer facility. | |
Int_t | Compare (const TObject *obj) const override |
Compare two TNamed objects. | |
void | Copy (TObject &named) const override |
Copy this to obj. | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. | |
const char * | GetName () const override |
Returns name of object. | |
const char * | GetTitle () const override |
Returns title of object. | |
ULong_t | Hash () const override |
Return hash value for this object. | |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
List TNamed name and title. | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
void | Print (Option_t *option="") const override |
Print TNamed name and title. | |
virtual void | SetName (const char *name) |
Set the name of the TNamed. | |
virtual void | SetNameTitle (const char *name, const char *title) |
Set all the TNamed parameters (name and title). | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. | |
void | Streamer (TBuffer &) override |
Stream an object of class TObject. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. | |
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. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1) . | |
virtual void | Dump () const |
Dump contents of object on stdout. | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
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. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
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). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification (the base implementation is no-op). | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete (void *ptr, void *vp) |
Only called by placement new when throwing an exception. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void | operator delete[] (void *ptr, void *vp) |
Only called by placement new[] when throwing an exception. | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
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. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TMVA::MethodBase | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TMVA::IMethod | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TMVA::Configurable | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TNamed | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Protected Member Functions | |
Double_t | CalculateMVAError () |
Calculate the error on the Mva value. | |
void | CalcXminXmax () |
Determine foam range [fXmin, fXmax] for all dimensions, such that a fraction of 'fFrac' events lie outside the foam. | |
PDEFoamKernelBase * | CreatePDEFoamKernel () |
create a pdefoam kernel estimator, depending on the current value of fKernel | |
void | DeleteFoams () |
Deletes all trained foams. | |
void | FillVariableNamesToFoam () const |
store the variable names in all foams | |
void | GetHelpMessage () const |
provide help message | |
PDEFoam * | InitFoam (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(). | |
void | MakeClassSpecific (std::ostream &, const TString &) const |
write PDEFoam-specific classifier response NOT IMPLEMENTED YET! | |
void | SetXminXmax (TMVA::PDEFoam *) |
Set Xmin, Xmax for every dimension in the given pdefoam object. | |
Protected Member Functions inherited from TMVA::MethodBase | |
virtual std::vector< Double_t > | GetDataMvaValues (DataSet *data=nullptr, Long64_t firstEvt=0, Long64_t lastEvt=-1, Bool_t logProgress=false) |
get all the MVA values for the events of the given Data type | |
const TString & | GetInternalVarName (Int_t ivar) const |
virtual std::vector< Double_t > | GetMvaValues (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 | |
const TString & | GetOriginalVarName (Int_t ivar) const |
const TString & | GetWeightFileDir () 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) |
void | SetNormalised (Bool_t norm) |
void | SetWeightFileDir (TString fileDir) |
set directory of weight file | |
void | SetWeightFileName (TString) |
set the weight file name (depreciated) | |
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 | |
Bool_t | TxtWeightsOnly () const |
Bool_t | Verbose () const |
Protected Member Functions inherited from TMVA::Configurable | |
void | EnableLooseOptions (Bool_t b=kTRUE) |
const TString & | GetReferenceFile () const |
Bool_t | LooseOptionCheckingEnabled () const |
void | ResetSetFlag () |
resets the IsSet flag for all declare options to be called before options are read from stream | |
void | WriteOptionsReferenceToFile () |
write complete options to output stream | |
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). | |
void | MakeZombie () |
Private Member Functions | |
void | DeclareCompatibilityOptions () |
options that are used ONLY for the READER to ensure backward compatibility | |
void | DeclareOptions () |
Declare MethodPDEFoam options. | |
void | Init (void) |
default initialization called by all constructors | |
void | PrintCoefficients (void) |
void | ProcessOptions () |
process user options | |
template<typename T > | |
T | Sqr (T x) const |
Private Attributes | |
Bool_t | fCompress |
compress foam output file | |
Bool_t | fCutNmin |
Keep for bw compatibility: Grabbing cell with maximal RMS to split next (TFoam default) | |
Float_t | fDiscrErrCut |
cut on discriminant error | |
TString | fDTLogic |
use DT algorithm to split cells | |
EDTSeparation | fDTSeparation |
enum which specifies the separation to use for the DT logic | |
Int_t | fEvPerBin |
Maximum events (equiv.) per bin in build-up (1000) | |
Bool_t | fFillFoamWithOrigWeights |
fill the foam with boost weights | |
std::vector< PDEFoam * > | fFoam |
grown PDEFoams | |
Float_t | fFrac |
Fraction used for calc of Xmin, Xmax. | |
EKernel | fKernel |
Kernel for GetMvaValue() | |
PDEFoamKernelBase * | fKernelEstimator |
Kernel estimator. | |
TString | fKernelStr |
Kernel for GetMvaValue() (option string) | |
UInt_t | fMaxDepth |
maximum depth of cell tree | |
Bool_t | fMultiTargetRegression |
do regression on multiple targets | |
Int_t | fnActiveCells |
Number of active cells. | |
Int_t | fnBin |
Number of bins in build-up (100) | |
Int_t | fnCells |
Number of Cells (1000) | |
UInt_t | fNmin |
minimal number of events in cell necessary to split cell" | |
Int_t | fnSampl |
Number of MC events per cell in build-up (1000) | |
Bool_t | fPeekMax |
BACKWARDS COMPATIBILITY: peek up cell with max. driver integral for split. | |
Bool_t | fSigBgSeparated |
Separate Sig and Bg, or not. | |
ETargetSelection | fTargetSelection |
method of selecting the target (only mulit target regr.) | |
TString | fTargetSelectionStr |
method of selecting the target (only mulit target regr.) | |
Bool_t | fUseYesNoCell |
return -1 or 1 for bg or signal like event | |
Float_t | fVolFrac |
volume fraction (used for density calculation during buildup) | |
std::vector< Float_t > | fXmax |
range for histograms and foams | |
std::vector< Float_t > | fXmin |
#include <TMVA/MethodPDEFoam.h>
typedef enum TMVA::MethodPDEFoam::EKernel TMVA::MethodPDEFoam::EKernel |
Enumerator | |
---|---|
kNone | |
kGaus | |
kLinN |
Definition at line 74 of file MethodPDEFoam.h.
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.
TMVA::MethodPDEFoam::MethodPDEFoam | ( | DataSetInfo & | dsi, |
const TString & | theWeightFile | ||
) |
constructor from weight file
Definition at line 123 of file MethodPDEFoam.cxx.
|
virtual |
destructor
Definition at line 310 of file MethodPDEFoam.cxx.
|
virtual |
create XML output of PDEFoam method variables
Implements TMVA::MethodBase.
Definition at line 1152 of file MethodPDEFoam.cxx.
|
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.
|
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.
|
static |
|
inlinestaticconstexpr |
Definition at line 212 of file MethodPDEFoam.h.
|
protected |
create a pdefoam kernel estimator, depending on the current value of fKernel
Definition at line 1102 of file MethodPDEFoam.cxx.
|
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.
|
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.
|
privatevirtual |
Declare MethodPDEFoam options.
Implements TMVA::MethodBase.
Definition at line 208 of file MethodPDEFoam.cxx.
|
inlinestatic |
Definition at line 212 of file MethodPDEFoam.h.
|
protected |
Deletes all trained foams.
Definition at line 1121 of file MethodPDEFoam.cxx.
|
protected |
store the variable names in all foams
Definition at line 1484 of file MethodPDEFoam.cxx.
|
protectedvirtual |
|
inline |
Definition at line 129 of file MethodPDEFoam.h.
|
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.
|
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.
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:
Definition at line 876 of file MethodPDEFoam.cxx.
|
virtual |
Return regression values for both multi- and mono-target regression.
Reimplemented from TMVA::MethodBase.
Definition at line 1050 of file MethodPDEFoam.cxx.
|
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.
|
privatevirtual |
default initialization called by all constructors
Implements TMVA::MethodBase.
Definition at line 171 of file MethodPDEFoam.cxx.
|
protected |
Create a new PDEFoam, set the PDEFoam options (nCells, nBin, Xmin, Xmax, etc.) and initialize the PDEFoam by calling pdefoam->Initialize().
Parameters:
ft - type of PDEFoam
Candidates are:
If 'fDTSeparation != kFoam' then a TMVA::PDEFoamDecisionTree is created (the separation type depends on fDTSeparation).
Definition at line 934 of file MethodPDEFoam.cxx.
|
inlinevirtual |
Reimplemented from TMVA::MethodBase.
Definition at line 212 of file MethodPDEFoam.h.
Definition at line 130 of file MethodPDEFoam.h.
|
protectedvirtual |
write PDEFoam-specific classifier response NOT IMPLEMENTED YET!
Reimplemented from TMVA::MethodBase.
Definition at line 1500 of file MethodPDEFoam.cxx.
|
private |
Definition at line 1146 of file MethodPDEFoam.cxx.
|
privatevirtual |
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:
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.
void TMVA::MethodPDEFoam::ReadFoamsFromFile | ( | ) |
read foams from file
Definition at line 1400 of file MethodPDEFoam.cxx.
|
virtual |
Implements TMVA::MethodBase.
|
virtual |
read options and internal parameters
Implements TMVA::MethodBase.
Definition at line 1227 of file MethodPDEFoam.cxx.
|
inlinevirtual |
Reimplemented from TMVA::MethodBase.
Definition at line 266 of file MethodBase.h.
|
virtual |
read PDEFoam variables from xml weight file
Implements TMVA::MethodBase.
Definition at line 1283 of file MethodPDEFoam.cxx.
|
virtual |
reset MethodPDEFoam:
Reimplemented from TMVA::MethodBase.
Definition at line 1134 of file MethodPDEFoam.cxx.
|
protected |
Set Xmin, Xmax for every dimension in the given pdefoam object.
Definition at line 892 of file MethodPDEFoam.cxx.
|
inlineprivate |
Definition at line 175 of file MethodPDEFoam.h.
|
virtual |
Reimplemented from TMVA::MethodBase.
|
inline |
Definition at line 212 of file MethodPDEFoam.h.
|
inline |
Definition at line 132 of file MethodPDEFoam.h.
|
virtual |
Train PDE-Foam depending on the set options.
Implements TMVA::MethodBase.
Definition at line 430 of file MethodPDEFoam.cxx.
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.
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.
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.
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.
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.
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.
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.
void TMVA::MethodPDEFoam::WriteFoamsToFile | ( | ) | const |
Write PDEFoams to file.
Definition at line 1195 of file MethodPDEFoam.cxx.
|
private |
compress foam output file
Definition at line 188 of file MethodPDEFoam.h.
|
private |
Keep for bw compatibility: Grabbing cell with maximal RMS to split next (TFoam default)
Definition at line 191 of file MethodPDEFoam.h.
|
private |
cut on discriminant error
Definition at line 180 of file MethodPDEFoam.h.
|
private |
use DT algorithm to split cells
Definition at line 201 of file MethodPDEFoam.h.
|
private |
enum which specifies the separation to use for the DT logic
Definition at line 202 of file MethodPDEFoam.h.
|
private |
Maximum events (equiv.) per bin in build-up (1000)
Definition at line 186 of file MethodPDEFoam.h.
|
private |
fill the foam with boost weights
Definition at line 199 of file MethodPDEFoam.h.
|
private |
grown PDEFoams
Definition at line 207 of file MethodPDEFoam.h.
|
private |
Fraction used for calc of Xmin, Xmax.
Definition at line 179 of file MethodPDEFoam.h.
|
private |
Kernel for GetMvaValue()
Definition at line 195 of file MethodPDEFoam.h.
|
private |
Kernel estimator.
Definition at line 196 of file MethodPDEFoam.h.
|
private |
Kernel for GetMvaValue() (option string)
Definition at line 194 of file MethodPDEFoam.h.
|
private |
maximum depth of cell tree
Definition at line 192 of file MethodPDEFoam.h.
|
private |
do regression on multiple targets
Definition at line 189 of file MethodPDEFoam.h.
|
private |
Number of active cells.
Definition at line 183 of file MethodPDEFoam.h.
|
private |
Number of bins in build-up (100)
Definition at line 185 of file MethodPDEFoam.h.
|
private |
Number of Cells (1000)
Definition at line 182 of file MethodPDEFoam.h.
|
private |
minimal number of events in cell necessary to split cell"
Definition at line 190 of file MethodPDEFoam.h.
|
private |
Number of MC events per cell in build-up (1000)
Definition at line 184 of file MethodPDEFoam.h.
|
private |
BACKWARDS COMPATIBILITY: peek up cell with max. driver integral for split.
Definition at line 203 of file MethodPDEFoam.h.
|
private |
Separate Sig and Bg, or not.
Definition at line 178 of file MethodPDEFoam.h.
|
private |
method of selecting the target (only mulit target regr.)
Definition at line 198 of file MethodPDEFoam.h.
|
private |
method of selecting the target (only mulit target regr.)
Definition at line 197 of file MethodPDEFoam.h.
|
private |
return -1 or 1 for bg or signal like event
Definition at line 200 of file MethodPDEFoam.h.
|
private |
volume fraction (used for density calculation during buildup)
Definition at line 181 of file MethodPDEFoam.h.
|
private |
range for histograms and foams
Definition at line 205 of file MethodPDEFoam.h.
|
private |
Definition at line 205 of file MethodPDEFoam.h.