Logo ROOT  
Reference Guide
SimulatedAnnealingFitter.h
Go to the documentation of this file.
1// @(#)root/tmva $Id$
2// Author: Andreas Hoecker, Krzysztof Danielowski, Kamil Kraszewski, Maciej Kruk
3
4/**********************************************************************************
5 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6 * Package: TMVA *
7 * Class : SimulatedAnnealingFitter *
8 * Web : http://tmva.sourceforge.net *
9 * *
10 * Description: *
11 * Fitter using Simulated Annealing algorithm *
12 * *
13 * Authors (alphabetical): *
14 * Krzysztof Danielowski <danielow@cern.ch> - IFJ & AGH, Poland *
15 * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
16 * Kamil Kraszewski <kalq@cern.ch> - IFJ & UJ, Poland *
17 * Maciej Kruk <mkruk@cern.ch> - IFJ & AGH, Poland *
18 * *
19 * Copyright (c) 2008: *
20 * IFJ-Krakow, Poland *
21 * CERN, Switzerland *
22 * MPI-K Heidelberg, Germany *
23 * *
24 * Redistribution and use in source and binary forms, with or without *
25 * modification, are permitted according to the terms listed in LICENSE *
26 * (http://tmva.sourceforge.net/LICENSE) *
27 **********************************************************************************/
28
29#ifndef ROOT_TMVA_SimulatedAnnealingFitter
30#define ROOT_TMVA_SimulatedAnnealingFitter
31
32//////////////////////////////////////////////////////////////////////////
33// //
34// SimulatedAnnealingFitter //
35// //
36// Fitter using a Simulated Annealing Algorithm //
37// //
38//////////////////////////////////////////////////////////////////////////
39
40#include "TMVA/FitterBase.h"
41
42#include <vector>
43
44namespace TMVA {
45
46 class IFitterTarget;
47 class Interval;
48
50
51 public:
52
54 const std::vector<TMVA::Interval*>& ranges, const TString& theOption );
55
57
67
68 Double_t Run( std::vector<Double_t>& pars );
69
70 private:
71
72 void DeclareOptions();
73
74 Int_t fMaxCalls; // max number of FCN calls
75 Double_t fInitialTemperature; // initial temperature (depends on FCN)
76 Double_t fMinTemperature; // minimum temperature before SA quit
77 Double_t fEps; // relative required FCN accuracy at minimum
78 TString fKernelTemperatureS; // string just to set fKernelTemperature
79 Double_t fTemperatureScale; // how fast temperature change
80 Double_t fAdaptiveSpeed; // how fast temperature change in adaptive (in adaptive two variables describe
81 // the change of temperature, but fAdaptiveSpeed should be 1.0 and its not
82 // recommended to change it)
83 Double_t fTemperatureAdaptiveStep; // used to calculate InitialTemperature if fUseDefaultTemperature
84 Bool_t fUseDefaultScale; // if TRUE, SA calculates its own TemperatureScale
85 Bool_t fUseDefaultTemperature; // if TRUE, SA calculates its own InitialTemperature (MinTemperautre)
86
87 ClassDef(SimulatedAnnealingFitter,0); // Fitter using a Simulated Annealing Algorithm
88 };
89
90} // namespace TMVA
91
92#endif
93
94
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
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 a Simulated Annealing Algorithm.
void SetParameters(Int_t fMaxCalls, Double_t fInitialTemperature, Double_t fMinTemperature, Double_t fEps, TString fKernelTemperatureS, Double_t fTemperatureScale, Double_t fTemperatureAdaptiveStep, Bool_t fUseDefaultScale, Bool_t fUseDefaultTemperature)
set SA configuration parameters
SimulatedAnnealingFitter(IFitterTarget &target, const TString &name, const std::vector< TMVA::Interval * > &ranges, const TString &theOption)
constructor
void DeclareOptions()
declare SA options.
Basic string class.
Definition: TString.h:136
create variable transformations