28 #ifndef ROOT_TMVA_FitterBase
29 #define ROOT_TMVA_FitterBase
51 class FitterBase :
public Configurable {
55 FitterBase( IFitterTarget& target,
const TString& name,
const std::vector<TMVA::Interval*> ranges,
56 const TString& theOption );
58 virtual ~FitterBase() {}
61 virtual Double_t Run( std::vector<Double_t>& pars ) = 0;
63 Double_t EstimatorFunction( std::vector<Double_t>& parameters );
64 IFitterTarget& GetFitterTarget()
const {
return fFitterTarget; }
67 Int_t GetNpars()
const {
return fNpars; }
70 const char* GetName()
const {
return fClassName; }
73 void SetIPythonInteractive(
bool* ExitFromTraining, UInt_t *fIPyMaxIter_, UInt_t *fIPyCurrentIter_){
74 fExitFromTraining = ExitFromTraining;
75 fIPyMaxIter = fIPyMaxIter_;
76 fIPyCurrentIter = fIPyCurrentIter_;
82 virtual void DeclareOptions() = 0;
84 IFitterTarget& fFitterTarget;
85 const std::vector<TMVA::Interval*> fRanges;
88 mutable MsgLogger* fLogger;
89 MsgLogger& Log()
const {
return *fLogger; }
94 UInt_t *fIPyCurrentIter =
nullptr, *fIPyMaxIter =
nullptr;
95 bool* fExitFromTraining =
nullptr;
97 ClassDef(FitterBase,0);