Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TMVA::MethodANNBase Class Referenceabstract

Base class for all TMVA methods using artificial neural networks.

Definition at line 62 of file MethodANNBase.h.

Public Types

enum  EEstimator { kMSE =0 , kCE }
 
- 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

 MethodANNBase (const TString &jobName, Types::EMVA methodType, const TString &methodTitle, DataSetInfo &theData, const TString &theOption)
 standard constructor Note: Right now it is an option to choose the neuron input function, but only the input function "sum" leads to weight convergence – otherwise the weights go to nan and lead to an ABORT.
 
 MethodANNBase (Types::EMVA methodType, DataSetInfo &theData, const TString &theWeightFile)
 construct the Method from the weight file
 
virtual ~MethodANNBase ()
 destructor
 
void AddWeightsXMLTo (void *parent) const
 create XML description of ANN classifier
 
const RankingCreateRanking ()
 compute ranking of input variables by summing function of weights
 
Bool_t Debug () const
 who the hell makes such strange Debug flags that even use "global pointers"..
 
virtual void DeclareOptions ()
 define the options (their key words) that can be set in the option string here the options valid for ALL MVA methods are declared.
 
template<typename WriteIterator >
void GetLayerActivation (size_t layer, WriteIterator writeIterator)
 
virtual const std::vector< Float_t > & GetMulticlassValues ()
 get the multiclass classification values generated by the NN
 
virtual Double_t GetMvaValue (Double_t *err=nullptr, Double_t *errUpper=nullptr)
 get the mva value generated by the NN
 
virtual const std::vector< Float_t > & GetRegressionValues ()
 get the regression value generated by the NN
 
void InitANNBase ()
 initialize ANNBase object
 
virtual TClassIsA () const
 
virtual void PrintNetwork () const
 print network representation, for debugging
 
virtual void ProcessOptions ()
 do nothing specific at this moment
 
virtual void ReadWeightsFromStream (std::istream &)=0
 
virtual void ReadWeightsFromStream (std::istream &istr)
 destroy/clear the network then read it back in from the weights file
 
virtual void ReadWeightsFromStream (TFile &)
 
void ReadWeightsFromXML (void *wghtnode)
 read MLP from xml weight file
 
void SetActivation (TActivation *activation)
 
void SetNeuronInputCalculator (TNeuronInput *inputCalculator)
 
virtual void Streamer (TBuffer &)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void Train ()=0
 
virtual void WriteMonitoringHistosToFile () const
 write histograms 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)
 
TDirectoryBaseDir () 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)
 
DataSetData () const
 
DataSetInfoDataInfo () const
 
virtual void DeclareCompatibilityOptions ()
 options that are used ONLY for the READER to ensure backward compatibility they are hence without any effect (the reader is only reading the training options that HAD been used at the training of the .xml weight file at hand
 
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 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.
 
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
 
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.
 
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=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 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
 
UInt_t GetTrainingTMVAVersionCode () const
 
TString GetTrainingTMVAVersionString () const
 calculates the TMVA version string from the training version code on the fly
 
Double_t GetTrainTime () const
 
TransformationHandlerGetTransformationHandler (Bool_t takeReroutedIfAvailable=true)
 
const TransformationHandlerGetTransformationHandler (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
 
virtual void Init ()=0
 
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)
 
TDirectoryMethodBaseDir () const
 returns the ROOT directory where all instances of the corresponding MVA method are stored
 
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.
 
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 Reset ()
 
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
 
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 ()
 
virtual Bool_t HasAnalysisType (Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets)=0
 
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::OptionBaseDeclareOptionRef (T &ref, const TString &name, const TString &desc)
 
template<class T >
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)
 
template<class T >
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
 
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 ("").
 
TObjectClone (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.
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (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 TObjectDrawClone (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 TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () 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_tGetOption () 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)
 Operator delete [].
 
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)
 
TObjectoperator= (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 TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TMVA::MethodBase
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TMVA::IMethod
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TMVA::Configurable
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
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.
 

Public Attributes

TObjArrayfNetwork
 
- Public Attributes inherited from TMVA::MethodBase
Bool_t fSetupCompleted
 
TrainingHistory fTrainHistory
 

Protected Member Functions

virtual void BuildNetwork (std::vector< Int_t > *layout, std::vector< Double_t > *weights=nullptr, Bool_t fromFile=kFALSE)
 build network given a layout (number of neurons in each layer) and optional weights array
 
void CreateWeightMonitoringHists (const TString &bulkname, std::vector< TH1 * > *hv=nullptr) const
 
void ForceNetworkCalculations ()
 calculate input values to each neuron
 
void ForceNetworkInputs (const Event *ev, Int_t ignoreIndex=-1)
 force the input values of the input neurons force the value for each input neuron
 
TNeuronGetInputNeuron (Int_t index)
 
Double_t GetNetworkOutput ()
 
TNeuronGetOutputNeuron (Int_t index=0)
 
virtual void MakeClassSpecific (std::ostream &, const TString &) const
 write specific classifier response
 
Int_t NumCycles ()
 
std::vector< Int_t > * ParseLayoutString (TString layerSpec)
 parse layout specification string and return a vector, each entry containing the number of neurons to go in each successive layer
 
void PrintMessage (TString message, Bool_t force=kFALSE) const
 print messages, turn off printing by setting verbose and debug flag appropriately
 
void WaitForKeyboard ()
 wait for keyboard input, for debugging
 
- Protected Member Functions inherited from TMVA::MethodBase
virtual std::vector< Double_tGetDataMvaValues (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 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
 
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)
 
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::IMethod
virtual void GetHelpMessage () const =0
 
- 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
 
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 ()
 

Protected Attributes

TActivationfActivation
 
std::vector< TH1 * > fEpochMonHistB
 
std::vector< TH1 * > fEpochMonHistS
 
std::vector< TH1 * > fEpochMonHistW
 
EEstimator fEstimator
 
TH1FfEstimatorHistTest
 
TH1FfEstimatorHistTrain
 
TString fEstimatorS
 
TActivationfIdentity
 
TNeuronInputfInputCalculator
 
TMatrixD fInvHessian
 zjh
 
Int_t fNcycles
 number of epochs to train
 
TString fNeuronInputType
 name of neuron input calculator class
 
TString fNeuronType
 name of neuron activation function class
 
TActivationfOutput
 
Int_t fRandomSeed
 random seed for initial synapse weights
 
std::vector< Int_tfRegulatorIdx
 
std::vector< Double_tfRegulators
 
TRandom3frgen
 
TObjArrayfSynapses
 
bool fUseRegulator
 zjh
 
- Protected Attributes inherited from TMVA::MethodBase
Types::EAnalysisType fAnalysisType
 
UInt_t fBackgroundClass
 
bool fExitFromTraining = false
 
std::vector< TString > * fInputVars
 
IPythonInteractivefInteractive = nullptr
 temporary dataset used when evaluating on a different data (used by MethodCategory::GetMvaValues)
 
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
 
DataSetfTmpData = nullptr
 temporary event when testing on a different DataSet than the own one
 
const EventfTmpEvent
 
- Protected Attributes inherited from TMVA::Configurable
MsgLoggerfLogger
 ! message logger
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Private Member Functions

void AddPreLinks (TNeuron *neuron, TObjArray *prevLayer)
 add synapses connecting a neuron to its preceding layer
 
void BuildLayer (Int_t numNeurons, TObjArray *curLayer, TObjArray *prevLayer, Int_t layerIndex, Int_t numLayers, Bool_t from_file=false)
 build a single layer with neurons and synapses connecting this layer to the previous layer
 
void BuildLayers (std::vector< Int_t > *layout, Bool_t from_file=false)
 build the network layers
 
void DeleteNetwork ()
 delete/clear network
 
void DeleteNetworkLayer (TObjArray *&layer)
 delete a network layer
 
void ForceWeights (std::vector< Double_t > *weights)
 force the synapse weights
 
void InitWeights ()
 initialize the synapse weights randomly
 
void PrintLayer (TObjArray *layer) const
 print a single layer, for debugging
 
void PrintNeuron (TNeuron *neuron) const
 print a neuron, for debugging
 

Private Attributes

TObjArrayfInputLayer
 cache this for fast access
 
TString fLayerSpec
 layout specification option
 
std::vector< TNeuron * > fOutputNeurons
 cache this for fast access
 

Static Private Attributes

static const Bool_t fgDEBUG = kTRUE
 debug flag
 

Additional Inherited Members

- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 

#include <TMVA/MethodANNBase.h>

Inheritance diagram for TMVA::MethodANNBase:
[legend]

Member Enumeration Documentation

◆ EEstimator

Enumerator
kMSE 
kCE 

Definition at line 137 of file MethodANNBase.h.

Constructor & Destructor Documentation

◆ MethodANNBase() [1/2]

TMVA::MethodANNBase::MethodANNBase ( const TString jobName,
Types::EMVA  methodType,
const TString methodTitle,
DataSetInfo theData,
const TString theOption 
)

standard constructor Note: Right now it is an option to choose the neuron input function, but only the input function "sum" leads to weight convergence – otherwise the weights go to nan and lead to an ABORT.

Definition at line 82 of file MethodANNBase.cxx.

◆ MethodANNBase() [2/2]

TMVA::MethodANNBase::MethodANNBase ( Types::EMVA  methodType,
DataSetInfo theData,
const TString theWeightFile 
)

construct the Method from the weight file

Definition at line 100 of file MethodANNBase.cxx.

◆ ~MethodANNBase()

TMVA::MethodANNBase::~MethodANNBase ( )
virtual

destructor

Definition at line 233 of file MethodANNBase.cxx.

Member Function Documentation

◆ AddPreLinks()

void TMVA::MethodANNBase::AddPreLinks ( TNeuron neuron,
TObjArray prevLayer 
)
private

add synapses connecting a neuron to its preceding layer

Definition at line 418 of file MethodANNBase.cxx.

◆ AddWeightsXMLTo()

void TMVA::MethodANNBase::AddWeightsXMLTo ( void *  parent) const
virtual

create XML description of ANN classifier

Implements TMVA::MethodBase.

Definition at line 699 of file MethodANNBase.cxx.

◆ BuildLayer()

void TMVA::MethodANNBase::BuildLayer ( Int_t  numNeurons,
TObjArray curLayer,
TObjArray prevLayer,
Int_t  layerIndex,
Int_t  numLayers,
Bool_t  from_file = false 
)
private

build a single layer with neurons and synapses connecting this layer to the previous layer

Definition at line 366 of file MethodANNBase.cxx.

◆ BuildLayers()

void TMVA::MethodANNBase::BuildLayers ( std::vector< Int_t > *  layout,
Bool_t  from_file = false 
)
private

build the network layers

Definition at line 330 of file MethodANNBase.cxx.

◆ BuildNetwork()

void TMVA::MethodANNBase::BuildNetwork ( std::vector< Int_t > *  layout,
std::vector< Double_t > *  weights = nullptr,
Bool_t  fromFile = kFALSE 
)
protectedvirtual

build network given a layout (number of neurons in each layer) and optional weights array

Definition at line 288 of file MethodANNBase.cxx.

◆ Class()

static TClass * TMVA::MethodANNBase::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TMVA::MethodANNBase::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TMVA::MethodANNBase::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 226 of file MethodANNBase.h.

◆ CreateRanking()

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

compute ranking of input variables by summing function of weights

Implements TMVA::MethodBase.

Definition at line 910 of file MethodANNBase.cxx.

◆ CreateWeightMonitoringHists()

void TMVA::MethodANNBase::CreateWeightMonitoringHists ( const TString bulkname,
std::vector< TH1 * > *  hv = nullptr 
) const
protected

Definition at line 952 of file MethodANNBase.cxx.

◆ Debug()

Bool_t TMVA::MethodANNBase::Debug ( ) const

who the hell makes such strange Debug flags that even use "global pointers"..

Definition at line 1160 of file MethodANNBase.cxx.

◆ DeclareOptions()

void TMVA::MethodANNBase::DeclareOptions ( )
virtual

define the options (their key words) that can be set in the option string here the options valid for ALL MVA methods are declared.

know options:

  • NCycles=xx :the number of training cycles
  • Normalize=kTRUE,kFALSe :if normalised in put variables should be used
  • HiddenLayser="N-1,N-2" :the specification of the hidden layers
  • NeuronType=sigmoid,tanh,radial,linar : the type of activation function used at the neuron

Implements TMVA::MethodBase.

Reimplemented in TMVA::MethodMLP.

Definition at line 125 of file MethodANNBase.cxx.

◆ DeclFileName()

static const char * TMVA::MethodANNBase::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 226 of file MethodANNBase.h.

◆ DeleteNetwork()

void TMVA::MethodANNBase::DeleteNetwork ( )
private

delete/clear network

Definition at line 241 of file MethodANNBase.cxx.

◆ DeleteNetworkLayer()

void TMVA::MethodANNBase::DeleteNetworkLayer ( TObjArray *&  layer)
private

delete a network layer

Definition at line 272 of file MethodANNBase.cxx.

◆ ForceNetworkCalculations()

void TMVA::MethodANNBase::ForceNetworkCalculations ( )
protected

calculate input values to each neuron

Definition at line 487 of file MethodANNBase.cxx.

◆ ForceNetworkInputs()

void TMVA::MethodANNBase::ForceNetworkInputs ( const Event ev,
Int_t  ignoreIndex = -1 
)
protected

force the input values of the input neurons force the value for each input neuron

Definition at line 469 of file MethodANNBase.cxx.

◆ ForceWeights()

void TMVA::MethodANNBase::ForceWeights ( std::vector< Double_t > *  weights)
private

force the synapse weights

Definition at line 453 of file MethodANNBase.cxx.

◆ GetInputNeuron()

TNeuron * TMVA::MethodANNBase::GetInputNeuron ( Int_t  index)
inlineprotected

Definition at line 158 of file MethodANNBase.h.

◆ GetLayerActivation()

template<typename WriteIterator >
void TMVA::MethodANNBase::GetLayerActivation ( size_t  layer,
WriteIterator  writeIterator 
)
inline

Definition at line 232 of file MethodANNBase.h.

◆ GetMulticlassValues()

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

get the multiclass classification values generated by the NN

Reimplemented from TMVA::MethodBase.

Definition at line 656 of file MethodANNBase.cxx.

◆ GetMvaValue()

Double_t TMVA::MethodANNBase::GetMvaValue ( Double_t err = nullptr,
Double_t errUpper = nullptr 
)
virtual

get the mva value generated by the NN

Implements TMVA::MethodBase.

Reimplemented in TMVA::MethodMLP.

Definition at line 590 of file MethodANNBase.cxx.

◆ GetNetworkOutput()

Double_t TMVA::MethodANNBase::GetNetworkOutput ( )
inlineprotected

Definition at line 149 of file MethodANNBase.h.

◆ GetOutputNeuron()

TNeuron * TMVA::MethodANNBase::GetOutputNeuron ( Int_t  index = 0)
inlineprotected

Definition at line 159 of file MethodANNBase.h.

◆ GetRegressionValues()

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

get the regression value generated by the NN

Reimplemented from TMVA::MethodBase.

Definition at line 617 of file MethodANNBase.cxx.

◆ InitANNBase()

void TMVA::MethodANNBase::InitANNBase ( )

initialize ANNBase object

Definition at line 204 of file MethodANNBase.cxx.

◆ InitWeights()

void TMVA::MethodANNBase::InitWeights ( )
private

initialize the synapse weights randomly

Definition at line 437 of file MethodANNBase.cxx.

◆ IsA()

virtual TClass * TMVA::MethodANNBase::IsA ( ) const
inlinevirtual
Returns
TClass describing current object

Reimplemented from TMVA::MethodBase.

Reimplemented in TMVA::MethodMLP.

Definition at line 226 of file MethodANNBase.h.

◆ MakeClassSpecific()

void TMVA::MethodANNBase::MakeClassSpecific ( std::ostream &  fout,
const TString className 
) const
protectedvirtual

write specific classifier response

Reimplemented from TMVA::MethodBase.

Reimplemented in TMVA::MethodMLP.

Definition at line 1031 of file MethodANNBase.cxx.

◆ NumCycles()

Int_t TMVA::MethodANNBase::NumCycles ( )
inlineprotected

Definition at line 157 of file MethodANNBase.h.

◆ ParseLayoutString()

std::vector< Int_t > * TMVA::MethodANNBase::ParseLayoutString ( TString  layerSpec)
protected

parse layout specification string and return a vector, each entry containing the number of neurons to go in each successive layer

Definition at line 172 of file MethodANNBase.cxx.

◆ PrintLayer()

void TMVA::MethodANNBase::PrintLayer ( TObjArray layer) const
private

print a single layer, for debugging

Definition at line 557 of file MethodANNBase.cxx.

◆ PrintMessage()

void TMVA::MethodANNBase::PrintMessage ( TString  message,
Bool_t  force = kFALSE 
) const
protected

print messages, turn off printing by setting verbose and debug flag appropriately

Definition at line 510 of file MethodANNBase.cxx.

◆ PrintNetwork()

void TMVA::MethodANNBase::PrintNetwork ( ) const
virtual

print network representation, for debugging

Definition at line 533 of file MethodANNBase.cxx.

◆ PrintNeuron()

void TMVA::MethodANNBase::PrintNeuron ( TNeuron neuron) const
private

print a neuron, for debugging

Definition at line 573 of file MethodANNBase.cxx.

◆ ProcessOptions()

void TMVA::MethodANNBase::ProcessOptions ( )
virtual

do nothing specific at this moment

Implements TMVA::MethodBase.

Reimplemented in TMVA::MethodMLP.

Definition at line 157 of file MethodANNBase.cxx.

◆ ReadWeightsFromStream() [1/3]

virtual void TMVA::MethodBase::ReadWeightsFromStream ( std::istream &  )
virtual

Implements TMVA::MethodBase.

◆ ReadWeightsFromStream() [2/3]

void TMVA::MethodANNBase::ReadWeightsFromStream ( std::istream &  istr)
virtual

destroy/clear the network then read it back in from the weights file

Implements TMVA::MethodBase.

Definition at line 889 of file MethodANNBase.cxx.

◆ ReadWeightsFromStream() [3/3]

virtual void TMVA::MethodBase::ReadWeightsFromStream ( TFile )
inlinevirtual

Reimplemented from TMVA::MethodBase.

Definition at line 266 of file MethodBase.h.

◆ ReadWeightsFromXML()

void TMVA::MethodANNBase::ReadWeightsFromXML ( void *  wghtnode)
virtual

read MLP from xml weight file

Implements TMVA::MethodBase.

Definition at line 767 of file MethodANNBase.cxx.

◆ SetActivation()

void TMVA::MethodANNBase::SetActivation ( TActivation activation)
inline

Definition at line 83 of file MethodANNBase.h.

◆ SetNeuronInputCalculator()

void TMVA::MethodANNBase::SetNeuronInputCalculator ( TNeuronInput inputCalculator)
inline

Definition at line 87 of file MethodANNBase.h.

◆ Streamer()

virtual void TMVA::MethodANNBase::Streamer ( TBuffer )
virtual

Reimplemented from TMVA::MethodBase.

Reimplemented in TMVA::MethodMLP.

◆ StreamerNVirtual()

void TMVA::MethodANNBase::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 226 of file MethodANNBase.h.

◆ Train()

virtual void TMVA::MethodANNBase::Train ( )
pure virtual

Implements TMVA::MethodBase.

Implemented in TMVA::MethodMLP.

◆ WaitForKeyboard()

void TMVA::MethodANNBase::WaitForKeyboard ( )
protected

wait for keyboard input, for debugging

Definition at line 518 of file MethodANNBase.cxx.

◆ WriteMonitoringHistosToFile()

void TMVA::MethodANNBase::WriteMonitoringHistosToFile ( void  ) const
virtual

write histograms to file

Reimplemented from TMVA::MethodBase.

Definition at line 993 of file MethodANNBase.cxx.

Member Data Documentation

◆ fActivation

TActivation* TMVA::MethodANNBase::fActivation
protected

Definition at line 163 of file MethodANNBase.h.

◆ fEpochMonHistB

std::vector<TH1*> TMVA::MethodANNBase::fEpochMonHistB
protected

Definition at line 181 of file MethodANNBase.h.

◆ fEpochMonHistS

std::vector<TH1*> TMVA::MethodANNBase::fEpochMonHistS
protected

Definition at line 180 of file MethodANNBase.h.

◆ fEpochMonHistW

std::vector<TH1*> TMVA::MethodANNBase::fEpochMonHistW
protected

Definition at line 182 of file MethodANNBase.h.

◆ fEstimator

EEstimator TMVA::MethodANNBase::fEstimator
protected

Definition at line 171 of file MethodANNBase.h.

◆ fEstimatorHistTest

TH1F* TMVA::MethodANNBase::fEstimatorHistTest
protected

Definition at line 176 of file MethodANNBase.h.

◆ fEstimatorHistTrain

TH1F* TMVA::MethodANNBase::fEstimatorHistTrain
protected

Definition at line 175 of file MethodANNBase.h.

◆ fEstimatorS

TString TMVA::MethodANNBase::fEstimatorS
protected

Definition at line 172 of file MethodANNBase.h.

◆ fgDEBUG

const Bool_t TMVA::MethodANNBase::fgDEBUG = kTRUE
staticprivate

debug flag

Definition at line 224 of file MethodANNBase.h.

◆ fIdentity

TActivation* TMVA::MethodANNBase::fIdentity
protected

Definition at line 165 of file MethodANNBase.h.

◆ fInputCalculator

TNeuronInput* TMVA::MethodANNBase::fInputCalculator
protected

Definition at line 167 of file MethodANNBase.h.

◆ fInputLayer

TObjArray* TMVA::MethodANNBase::fInputLayer
private

cache this for fast access

Definition at line 219 of file MethodANNBase.h.

◆ fInvHessian

TMatrixD TMVA::MethodANNBase::fInvHessian
protected

zjh

Definition at line 186 of file MethodANNBase.h.

◆ fLayerSpec

TString TMVA::MethodANNBase::fLayerSpec
private

layout specification option

Definition at line 221 of file MethodANNBase.h.

◆ fNcycles

Int_t TMVA::MethodANNBase::fNcycles
protected

number of epochs to train

Definition at line 192 of file MethodANNBase.h.

◆ fNetwork

TObjArray* TMVA::MethodANNBase::fNetwork

Definition at line 139 of file MethodANNBase.h.

◆ fNeuronInputType

TString TMVA::MethodANNBase::fNeuronInputType
protected

name of neuron input calculator class

Definition at line 195 of file MethodANNBase.h.

◆ fNeuronType

TString TMVA::MethodANNBase::fNeuronType
protected

name of neuron activation function class

Definition at line 194 of file MethodANNBase.h.

◆ fOutput

TActivation* TMVA::MethodANNBase::fOutput
protected

Definition at line 164 of file MethodANNBase.h.

◆ fOutputNeurons

std::vector<TNeuron*> TMVA::MethodANNBase::fOutputNeurons
private

cache this for fast access

Definition at line 220 of file MethodANNBase.h.

◆ fRandomSeed

Int_t TMVA::MethodANNBase::fRandomSeed
protected

random seed for initial synapse weights

Definition at line 190 of file MethodANNBase.h.

◆ fRegulatorIdx

std::vector<Int_t> TMVA::MethodANNBase::fRegulatorIdx
protected

Definition at line 169 of file MethodANNBase.h.

◆ fRegulators

std::vector<Double_t> TMVA::MethodANNBase::fRegulators
protected

Definition at line 170 of file MethodANNBase.h.

◆ frgen

TRandom3* TMVA::MethodANNBase::frgen
protected

Definition at line 166 of file MethodANNBase.h.

◆ fSynapses

TObjArray* TMVA::MethodANNBase::fSynapses
protected

Definition at line 162 of file MethodANNBase.h.

◆ fUseRegulator

bool TMVA::MethodANNBase::fUseRegulator
protected

zjh

Definition at line 187 of file MethodANNBase.h.

Libraries for TMVA::MethodANNBase:

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