Logo ROOT   6.14/05
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 
39 class TFitter;
40 
41 namespace 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 
virtual ~MinuitFitter()
destructor
Base class for TMVA fitters.
Definition: FitterBase.h:51
Basic string class.
Definition: TString.h:131
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
Wrapper around MINUIT.
Definition: MinuitWrapper.h:45
/Fitter using MINUIT
Definition: MinuitFitter.h:47
#define ClassDef(name, id)
Definition: Rtypes.h:320
Double_t Run()
estimator function interface for fitting
Definition: FitterBase.cxx:74
void Init()
minuit-specific settings
double Double_t
Definition: RtypesCore.h:55
MinuitWrapper * fMinWrap
Definition: MinuitFitter.h:63
MinuitFitter(IFitterTarget &target, const TString &name, std::vector< TMVA::Interval *> &ranges, const TString &theOption)
constructor
Abstract ClassifierFactory template that handles arbitrary types.
Double_t EstimatorFunction(std::vector< Double_t > &pars)
performs the fit by calling Run(pars)
Interface for a fitter &#39;target&#39;.
Definition: IFitterTarget.h:44
void DeclareOptions()
declare SA options
char name[80]
Definition: TGX11.cxx:109