|
||||
File indexing completed on 2025-01-18 10:11:01
0001 // @(#)root/tmva $Id$ 0002 // Author: Andreas Hoecker 0003 0004 /********************************************************************************** 0005 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis * 0006 * Package: TMVA * 0007 * Class : MinuitFitter * 0008 * * 0009 * * 0010 * Description: * 0011 * Fitter using MINUIT * 0012 * * 0013 * Authors (alphabetical): * 0014 * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * 0015 * * 0016 * Copyright (c) 2005: * 0017 * CERN, Switzerland * 0018 * MPI-K Heidelberg, Germany * 0019 * * 0020 * Redistribution and use in source and binary forms, with or without * 0021 * modification, are permitted according to the terms listed in LICENSE * 0022 * (see tmva/doc/LICENSE) * 0023 **********************************************************************************/ 0024 0025 #ifndef ROOT_TMVA_MinuitFitter 0026 #define ROOT_TMVA_MinuitFitter 0027 0028 ////////////////////////////////////////////////////////////////////////// 0029 // // 0030 // MinuitFitter // 0031 // // 0032 // Fitter using MINUIT // 0033 // // 0034 ////////////////////////////////////////////////////////////////////////// 0035 0036 #include "TMVA/FitterBase.h" 0037 #include "TMVA/IFitterTarget.h" 0038 #include <vector> 0039 0040 class TFitter; 0041 0042 namespace TMVA { 0043 0044 class IFitterTarget; 0045 class Interval; 0046 class MinuitWrapper; 0047 0048 class MinuitFitter : public FitterBase, public IFitterTarget { 0049 0050 public: 0051 0052 MinuitFitter( IFitterTarget& target, const TString& name, 0053 std::vector<TMVA::Interval*>& ranges, const TString& theOption ); 0054 0055 virtual ~MinuitFitter(); 0056 0057 void Init(); 0058 0059 Double_t Run( std::vector<Double_t>& pars ); 0060 Double_t EstimatorFunction( std::vector<Double_t>& pars ); 0061 0062 protected: 0063 0064 MinuitWrapper *fMinWrap; // holds a wrapper around TMinuit 0065 0066 private: 0067 0068 void DeclareOptions(); 0069 0070 Int_t fErrorLevel; ///< minuit error level 0071 Int_t fPrintLevel; ///< minuit printout level 0072 Int_t fFitStrategy; ///< minuit strategy level 0073 Bool_t fPrintWarnings; ///< minuit warnings level 0074 Bool_t fUseImprove; ///< flag for 'IMPROVE' use 0075 Bool_t fUseMinos; ///< flag for 'MINOS' use 0076 Bool_t fBatch; ///< batch mode 0077 Int_t fMaxCalls; ///< (approximate) maximum number of function calls 0078 Double_t fTolerance; ///< tolerance to the function value at the minimum 0079 0080 ClassDef(MinuitFitter,0); // Fitter using a Genetic Algorithm 0081 }; 0082 0083 } // namespace TMVA 0084 0085 #endif 0086 0087
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |