Logo ROOT  
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#include <vector>
39
40class TFitter;
41
42namespace TMVA {
43
44 class IFitterTarget;
45 class Interval;
46 class MinuitWrapper;
47
48 class MinuitFitter : public FitterBase, public IFitterTarget {
49
50 public:
51
52 MinuitFitter( IFitterTarget& target, const TString& name,
53 std::vector<TMVA::Interval*>& ranges, const TString& theOption );
54
55 virtual ~MinuitFitter();
56
57 void Init();
58
59 Double_t Run( std::vector<Double_t>& pars );
60 Double_t EstimatorFunction( std::vector<Double_t>& pars );
61
62 protected:
63
64 MinuitWrapper *fMinWrap; // holds a wrapper around TMinuit
65
66 private:
67
68 void DeclareOptions();
69
70 Int_t fErrorLevel; // minuit error level
71 Int_t fPrintLevel; // minuit printout level
72 Int_t fFitStrategy; // minuit strategy level
73 Bool_t fPrintWarnings; // minuit warnings level
74 Bool_t fUseImprove; // flag for 'IMPROVE' use
75 Bool_t fUseMinos; // flag for 'MINOS' use
76 Bool_t fBatch; // batch mode
77 Int_t fMaxCalls; // (approximate) maximum number of function calls
78 Double_t fTolerance; // tolerance to the function value at the minimum
79
80 ClassDef(MinuitFitter,0); // Fitter using a Genetic Algorithm
81 };
82
83} // namespace TMVA
84
85#endif
86
87
int Int_t
Definition: RtypesCore.h:45
bool Bool_t
Definition: RtypesCore.h:63
double Double_t
Definition: RtypesCore.h:59
#define ClassDef(name, id)
Definition: Rtypes.h:325
char name[80]
Definition: TGX11.cxx:110
The ROOT standard fitter based on TMinuit.
Definition: TFitter.h:19
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:48
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:64
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:46
Basic string class.
Definition: TString.h:136
create variable transformations