ROOT  6.06/09
Reference Guide
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 
46 
47 #ifdef _WIN32
48 /*Disable warning C4355: 'this' : used in base member initializer list*/
49 #pragma warning ( disable : 4355 )
50 #endif
51 
52 ////////////////////////////////////////////////////////////////////////////////
53 /// constructor
54 
55 TMVA::FitterBase::FitterBase( IFitterTarget& target,
56  const TString& name,
57  const std::vector<Interval*> ranges,
58  const TString& theOption )
59  : Configurable( theOption ),
60  fFitterTarget( target ),
61  fRanges( ranges ),
62  fNpars( ranges.size() ),
63  fLogger( new MsgLogger("FitterBase", kINFO) ),
64  fClassName( name )
65 {
66  SetConfigName( GetName() );
67  SetConfigDescription( "Configuration options for setup and tuning of specific fitter" );
68 }
69 
70 ////////////////////////////////////////////////////////////////////////////////
71 /// estimator function interface for fitting
72 
74 {
75  std::vector<Double_t> pars;
76  for (std::vector<Interval*>::const_iterator parIt = fRanges.begin(); parIt != fRanges.end(); parIt++) {
77  pars.push_back( (*parIt)->GetMean() );
78  }
79 
80  // delete fLogger;
81  return this->Run( pars );
82 }
83 
84 ////////////////////////////////////////////////////////////////////////////////
85 /// estimator function interface for fitting
86 
87 Double_t TMVA::FitterBase::EstimatorFunction( std::vector<Double_t>& parameters )
88 {
89  return GetFitterTarget().EstimatorFunction( parameters );
90 }
91 
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:73
Double_t EstimatorFunction(std::vector< Double_t > &parameters)
estimator function interface for fitting
Definition: FitterBase.cxx:87
ClassImp(TMVA::FitterBase) TMVA
constructor
Definition: FitterBase.cxx:45
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)