#ifndef ROOT_TMVA_MethodRuleFit
#define ROOT_TMVA_MethodRuleFit
#ifndef ROOT_TMVA_MethodBase
#include "TMVA/MethodBase.h"
#endif
#ifndef ROOT_TMVA_TMatrixD
#include "TMatrixD.h"
#endif
#ifndef ROOT_TMVA_TVectorD
#include "TVectorD.h"
#endif
#ifndef ROOT_TMVA_DecisionTree
#include "TMVA/DecisionTree.h"
#endif
#ifndef ROOT_TMVA_SeparationBase
#include "TMVA/SeparationBase.h"
#endif
#ifndef ROOT_TMVA_GiniIndex
#include "TMVA/GiniIndex.h"
#endif
#ifndef ROOT_TMVA_CrossEntropy
#include "TMVA/CrossEntropy.h"
#endif
#ifndef ROOT_TMVA_MisClassificationError
#include "TMVA/MisClassificationError.h"
#endif
#ifndef ROOT_TMVA_SdivSqrtSplusB
#include "TMVA/SdivSqrtSplusB.h"
#endif
#ifndef ROOT_TMVA_RULEFIT_H
#include "TMVA/RuleFit.h"
#endif
namespace TMVA {
   class MethodRuleFit : public MethodBase {
   public:
      MethodRuleFit( TString jobName,
                     TString methodTitle, 
                     DataSet& theData,
                     TString theOption = "",
                     TDirectory* theTargetDir = 0 );
      MethodRuleFit( DataSet& theData,
                     TString theWeightFile,
                     TDirectory* theTargetDir = NULL );
      virtual ~MethodRuleFit( void );
      
      virtual void Train( void );
      using MethodBase::WriteWeightsToStream;
      using MethodBase::ReadWeightsFromStream;
      
      virtual void WriteWeightsToStream( ostream& o ) const;
      
      virtual void ReadWeightsFromStream( istream& istr );
      
      
      virtual Double_t GetMvaValue();
      
      virtual void WriteMonitoringHistosToFile( void ) const;
      
      const Ranking* CreateRanking();
      Bool_t                                   UseBoost() const { return fUseBoost; }
      
      RuleFit                                 *GetRuleFitPtr() { return &fRuleFit; }
      const RuleFit                           *GetRuleFitConstPtr() const { return &fRuleFit; }
      TDirectory*                              GetMethodBaseDir() const     { return BaseDir(); }
      const std::vector<TMVA::Event*>         &GetTrainingEvents() const    { return fEventSample; }
      const std::vector<TMVA::DecisionTree*>  &GetForest() const            { return fForest; }
      Int_t                                    GetNTrees() const            { return fNTrees; }
      Double_t                                 GetTreeEveFrac() const       { return fTreeEveFrac; }
      
      const SeparationBase                    *GetSeparationBaseConst() const { return fSepType; }
      SeparationBase                          *GetSeparationBase() const { return fSepType; }
      TMVA::DecisionTree::EPruneMethod         GetPruneMethod() const       { return fPruneMethod; }
      Double_t                                 GetPruneStrength() const     { return fPruneStrength; }
      Double_t                                 GetMinFracNEve() const       { return fMinFracNEve; }
      Double_t                                 GetMaxFracNEve() const       { return fMaxFracNEve; }
      Int_t                                    GetNCuts() const             { return fNCuts; }
      
      Int_t                                    GetGDNPathSteps() const      { return fGDNPathSteps; }
      Double_t                                 GetGDPathStep() const        { return fGDPathStep; }
      Double_t                                 GetGDErrScale() const        { return fGDErrScale; }
      Double_t                                 GetGDPathEveFrac() const     { return fGDPathEveFrac; }
      Double_t                                 GetGDValidEveFrac() const    { return fGDValidEveFrac; }
      
      Double_t                                 GetLinQuantile() const       { return fLinQuantile; }
      const TString                            GetRFWorkDir() const         { return fRFWorkDir; }
      Int_t                                    GetRFNrules() const          { return fRFNrules; }
      Int_t                                    GetRFNendnodes() const       { return fRFNendnodes; }
   protected:
      
      virtual void MakeClassSpecific( std::ostream&, const TString& ) const;
      virtual void MakeClassRuleCuts( std::ostream& ) const;
      virtual void MakeClassLinear( std::ostream& ) const;
      
      void GetHelpMessage() const;
      
      void InitRuleFit( void );
      
      void InitEventSample( void );
      
      void InitMonitorNtuple();
      
      
      
      
      
      void TrainTMVARuleFit();
      void TrainJFRuleFit();
      
   private:
      
      virtual void DeclareOptions();
      virtual void ProcessOptions();
      RuleFit                      fRuleFit;       
      std::vector< Event *>        fEventSample;   
      Double_t                     fSignalFraction; 
      
      TTree                       *fMonitorNtuple;  
      Double_t                     fNTImportance;   
      Double_t                     fNTCoefficient;  
      Double_t                     fNTSupport;      
      Int_t                        fNTNcuts;        
      Int_t                        fNTNvars;        
      Double_t                     fNTPtag;         
      Double_t                     fNTPss;          
      Double_t                     fNTPsb;          
      Double_t                     fNTPbs;          
      Double_t                     fNTPbb;          
      Double_t                     fNTSSB;          
      Int_t                        fNTType;         
      
      TString                      fRuleFitModuleS;
      Bool_t                       fUseRuleFitJF;  
      TString                      fRFWorkDir;     
      Int_t                        fRFNrules;      
      Int_t                        fRFNendnodes;   
      std::vector<DecisionTree *>  fForest;        
      Int_t                        fNTrees;        
      Double_t                     fTreeEveFrac;   
      SeparationBase              *fSepType;       
      Double_t                     fMinFracNEve;   
      Double_t                     fMaxFracNEve;   
      Int_t                        fNCuts;         
      TString                      fSepTypeS;        
      TString                      fPruneMethodS;    
      TMVA::DecisionTree::EPruneMethod fPruneMethod; 
      Double_t                     fPruneStrength;   
      TString                      fForestTypeS;     
      Bool_t                       fUseBoost;        
      
      Double_t                     fGDPathEveFrac; 
      Double_t                     fGDValidEveFrac; 
      Double_t                     fGDTau;          
      Double_t                     fGDTauPrec;      
      Double_t                     fGDTauMin;       
      Double_t                     fGDTauMax;       
      UInt_t                       fGDTauScan;      
      Double_t                     fGDPathStep;     
      Int_t                        fGDNPathSteps;   
      Double_t                     fGDErrScale;     
      Double_t                     fMinimp;         
      
      TString                      fModelTypeS;     
      Double_t                     fRuleMinDist;    
      Double_t                     fLinQuantile;    
      ClassDef(MethodRuleFit,0)  
   };
} 
#endif // MethodRuleFit_H
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.