ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
FitterBase.cxx
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss
3 
4 /**********************************************************************************
5  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6  * Package: TMVA *
7  * Class : FitterBase *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: *
11  * Implementation *
12  * *
13  * Authors (alphabetical): *
14  * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
15  * Peter Speckmayer <speckmay@mail.cern.ch> - CERN, Switzerland *
16  * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
17  * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
18  * *
19  * Copyright (c) 2005: *
20  * CERN, Switzerland *
21  * MPI-K Heidelberg, Germany *
22  * *
23  * Redistribution and use in source and binary forms, with or without *
24  * modification, are permitted according to the terms listed in LICENSE *
25  * (http://tmva.sourceforge.net/LICENSE) *
26  **********************************************************************************/
27 
28 ////////////////////////////////////////////////////////////////////////////////
29 
30 /*
31  FitterBase
32 
33  Baseclass for TMVA fitters. Also defines generalised fitting interface
34 */
35 //_______________________________________________________________________
36 
37 #include "TMVA/FitterBase.h"
38 #ifndef ROOT_TMVA_Interval
39 #include "TMVA/Interval.h"
40 #endif
41 #ifndef ROOT_TMVA_IFitterTarget
42 #include "TMVA/IFitterTarget.h"
43 #endif
44 
45 #include "TMVA/Configurable.h"
46 #include "TMVA/MsgLogger.h"
47 #include "TMVA/Types.h"
48 
49 #include "Rtypes.h"
50 
52 
53 #ifdef _WIN32
54 /*Disable warning C4355: 'this' : used in base member initializer list*/
55 #pragma warning ( disable : 4355 )
56 #endif
57 
58 ////////////////////////////////////////////////////////////////////////////////
59 /// constructor
60 
61 TMVA::FitterBase::FitterBase( IFitterTarget& target,
62  const TString& name,
63  const std::vector<Interval*> ranges,
64  const TString& theOption )
65  : Configurable( theOption ),
66  fFitterTarget( target ),
67  fRanges( ranges ),
68  fNpars( ranges.size() ),
69  fLogger( new MsgLogger("FitterBase", kINFO) ),
70  fClassName( name )
71 {
72  SetConfigName( GetName() );
73  SetConfigDescription( "Configuration options for setup and tuning of specific fitter" );
74 }
75 
76 ////////////////////////////////////////////////////////////////////////////////
77 /// estimator function interface for fitting
78 
80 {
81  std::vector<Double_t> pars;
82  for (std::vector<Interval*>::const_iterator parIt = fRanges.begin(); parIt != fRanges.end(); parIt++) {
83  pars.push_back( (*parIt)->GetMean() );
84  }
85 
86  // delete fLogger;
87  return this->Run( pars );
88 }
89 
90 ////////////////////////////////////////////////////////////////////////////////
91 /// estimator function interface for fitting
92 
93 Double_t TMVA::FitterBase::EstimatorFunction( std::vector<Double_t>& parameters )
94 {
95  return GetFitterTarget().EstimatorFunction( parameters );
96 }
97 
const std::vector< TMVA::Interval * > fRanges
Definition: FitterBase.h:84
Basic string class.
Definition: TString.h:137
Double_t Run()
estimator function interface for fitting
Definition: FitterBase.cxx:79
Double_t EstimatorFunction(std::vector< Double_t > &parameters)
estimator function interface for fitting
Definition: FitterBase.cxx:93
ClassImp(TMVA::FitterBase) TMVA
constructor
Definition: FitterBase.cxx:51
double Double_t
Definition: RtypesCore.h:55
#define name(a, b)
Definition: linkTestLib0.cpp:5
FitterBase(IFitterTarget &target, const TString &name, const std::vector< TMVA::Interval * > ranges, const TString &theOption)