Logo ROOT   6.16/01
Reference Guide
MinuitFitter.h
Go to the documentation of this file.
1// @(#)root/tmva $Id$
2// Author: Andreas Hoecker
3
4/**********************************************************************************
5 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6 * Package: TMVA *
7 * Class : MinuitFitter *
8 * Web : http://tmva.sourceforge.net *
9 * *
10 * Description: *
11 * Fitter using MINUIT *
12 * *
13 * Authors (alphabetical): *
14 * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
15 * *
16 * Copyright (c) 2005: *
17 * CERN, Switzerland *
18 * MPI-K Heidelberg, Germany *
19 * *
20 * Redistribution and use in source and binary forms, with or without *
21 * modification, are permitted according to the terms listed in LICENSE *
22 * (http://tmva.sourceforge.net/LICENSE) *
23 **********************************************************************************/
24
25#ifndef ROOT_TMVA_MinuitFitter
26#define ROOT_TMVA_MinuitFitter
27
28//////////////////////////////////////////////////////////////////////////
29// //
30// MinuitFitter //
31// //
32// Fitter using MINUIT //
33// //
34//////////////////////////////////////////////////////////////////////////
35
36#include "TMVA/FitterBase.h"
37#include "TMVA/IFitterTarget.h"
38
39class TFitter;
40
41namespace TMVA {
42
43 class IFitterTarget;
44 class Interval;
45 class MinuitWrapper;
46
47 class MinuitFitter : public FitterBase, public IFitterTarget {
48
49 public:
50
51 MinuitFitter( IFitterTarget& target, const TString& name,
52 std::vector<TMVA::Interval*>& ranges, const TString& theOption );
53
54 virtual ~MinuitFitter();
55
56 void Init();
57
58 Double_t Run( std::vector<Double_t>& pars );
59 Double_t EstimatorFunction( std::vector<Double_t>& pars );
60
61 protected:
62
63 MinuitWrapper *fMinWrap; // holds a wrapper around TMinuit
64
65 private:
66
67 void DeclareOptions();
68
69 Int_t fErrorLevel; // minuit error level
70 Int_t fPrintLevel; // minuit printout level
71 Int_t fFitStrategy; // minuit strategy level
72 Bool_t fPrintWarnings; // minuit warnings level
73 Bool_t fUseImprove; // flag for 'IMPROVE' use
74 Bool_t fUseMinos; // flag for 'MINOS' use
75 Bool_t fBatch; // batch mode
76 Int_t fMaxCalls; // (approximate) maximum number of function calls
77 Double_t fTolerance; // tolerance to the function value at the minimum
78
79 ClassDef(MinuitFitter,0); // Fitter using a Genetic Algorithm
80 };
81
82} // namespace TMVA
83
84#endif
85
86
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
#define ClassDef(name, id)
Definition: Rtypes.h:324
Base class for TMVA fitters.
Definition: FitterBase.h:51
Double_t Run()
estimator function interface for fitting
Definition: FitterBase.cxx:74
Interface for a fitter 'target'.
Definition: IFitterTarget.h:44
/Fitter using MINUIT
Definition: MinuitFitter.h:47
void Init()
minuit-specific settings
virtual ~MinuitFitter()
destructor
Double_t EstimatorFunction(std::vector< Double_t > &pars)
performs the fit by calling Run(pars)
MinuitWrapper * fMinWrap
Definition: MinuitFitter.h:63
MinuitFitter(IFitterTarget &target, const TString &name, std::vector< TMVA::Interval * > &ranges, const TString &theOption)
constructor
void DeclareOptions()
declare SA options
Wrapper around MINUIT.
Definition: MinuitWrapper.h:45
Basic string class.
Definition: TString.h:131
Abstract ClassifierFactory template that handles arbitrary types.