Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > eebc325dc36bd6e3b09b9b45133e42f8 > files > 2418

HippoDraw-devel-docs-1.21.1-10.fc13.i686.rpm

<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>HippoDraw Class Library</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="hippoApp.ico">
</head><body>
<!-- Generated by Doxygen 1.6.2 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacehippodraw.html">hippodraw</a>::<a class="el" href="classhippodraw_1_1BFGSFitter.html">BFGSFitter</a>
  </div>
</div>
<div class="contents">
<h1>BFGSFitter Class Reference</h1><!-- doxytag: class="hippodraw::BFGSFitter" --><!-- doxytag: inherits="hippodraw::Fitter" -->
<p>The minimization algorithm used is a complementary quasi newton algorithm, with BFGS (Broyden-Fletcher-Goldfarb-Shanno) update and hence the name <a class="el" href="classhippodraw_1_1BFGSFitter.html" title="The minimization algorithm used is a complementary quasi newton algorithm, with BFGS...">BFGSFitter</a>.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for BFGSFitter:</div>
<div class="dynsection">
<div class="center"><img src="classhippodraw_1_1BFGSFitter__inherit__graph.gif" border="0" usemap="#BFGSFitter_inherit__map" alt="Inheritance graph"/></div>
<map name="BFGSFitter_inherit__map" id="BFGSFitter_inherit__map">
<area shape="rect" id="node2" href="classhippodraw_1_1Fitter.html" title="The base class for fitters." alt="" coords="24,5,75,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for BFGSFitter:</div>
<div class="dynsection">
<div class="center"><img src="classhippodraw_1_1BFGSFitter__coll__graph.gif" border="0" usemap="#BFGSFitter_coll__map" alt="Collaboration graph"/></div>
<map name="BFGSFitter_coll__map" id="BFGSFitter_coll__map">
<area shape="rect" id="node2" href="classhippodraw_1_1Fitter.html" title="The base class for fitters." alt="" coords="1391,96,1441,125"/><area shape="rect" id="node6" href="classhippodraw_1_1StatedFCN.html" title="A derived class for FCNBase class." alt="" coords="1216,175,1304,204"/><area shape="rect" id="node8" doxygen="Minuit.tag:http://seal.web.cern.ch/seal/MathLibs/Minuit/html/" href="http://seal.web.cern.ch/seal/MathLibs/Minuit/html/classFCNBase.html" title="FCNBase" alt="" coords="920,281,1000,311"/><area shape="rect" id="node10" href="classhippodraw_1_1FunctionBase.html" title="A function that can be added to a DataRep and used in a fitter." alt="" coords="909,228,1011,257"/><area shape="rect" id="node12" title="STL class." alt="" coords="269,180,323,209"/><area shape="rect" id="node14" title="STL class." alt="" coords="5,180,147,209"/><area shape="rect" id="node19" title="STL class." alt="" coords="251,375,341,404"/><area shape="rect" id="node44" title="STL class." alt="" coords="248,597,344,627"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classhippodraw_1_1BFGSFitter-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a0555c889a72414cf283fc0da2ec784bc">BFGSFitter</a> (const char *name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The constructor taking name of fitter as argument.  <a href="#a0555c889a72414cf283fc0da2ec784bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a132275ecd9f2fd7e45b34105080ba7bb">calcBestFit</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main driver routine for BFGS algorithm which has been used in computing the bets fit for the function.  <a href="#a132275ecd9f2fd7e45b34105080ba7bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a3ca477145d995d896e7cdce3d23a8c0d">calcCovariance</a> (std::vector&lt; std::vector&lt; double &gt; &gt; &amp;cov)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the covariance matrix.  <a href="#a3ca477145d995d896e7cdce3d23a8c0d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#abb9b6e0a214042e968b50f9925572d0d">calcDegreesOfFreedom</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of degrees of freedom in the fit.  <a href="#abb9b6e0a214042e968b50f9925572d0d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhippodraw_1_1Fitter.html">Fitter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a53eb174f82d157030b47e1446f597dcd">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a copy of the receiving object.  <a href="#a53eb174f82d157030b47e1446f597dcd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#ae7d8c0797a5ee009d0d3170ed2e9105f">copyFrom</a> (const <a class="el" href="classhippodraw_1_1Fitter.html">Fitter</a> *other)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a copy of <em>other</em>.  <a href="#ae7d8c0797a5ee009d0d3170ed2e9105f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a5ff9860d858cb80f4db7e42c08b9df93">fillFreeParameters</a> (std::vector&lt; double &gt; &amp;) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fills the vector with the free parameters values.  <a href="#a5ff9860d858cb80f4db7e42c08b9df93"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a1618f215be470523594cc47d286f1320">function</a> (const std::vector&lt; double &gt; &amp;x) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The objective function.  <a href="#a1618f215be470523594cc47d286f1320"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhippodraw_1_1StatedFCN.html">StatedFCN</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#af96a5a267a12c934ce39d73df7003f0d">getFCN</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the objective function object.  <a href="#af96a5a267a12c934ce39d73df7003f0d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const std::vector&lt; int &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a777e60f0c60999be4d87fa177c88977e">getFixedFlags</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the limits of the model function parameter values.  <a href="#a777e60f0c60999be4d87fa177c88977e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a5db61f264b6fbebf40b61faedae06dc6">getUseErrors</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <code>true</code> if error data from the <a class="el" href="classhippodraw_1_1DataSource.html" title="Base class for DataSource.">DataSource</a> will be used if available.  <a href="#a5db61f264b6fbebf40b61faedae06dc6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a5fadecb4119b5eaa2ef6a36927ba1068">gradient</a> (const std::vector&lt; double &gt; &amp;x) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The gradient of the objective function.  <a href="#a5fadecb4119b5eaa2ef6a36927ba1068"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#ac70817d96bec5f159f849a35eca80317">gradp</a> (const std::vector&lt; double &gt; &amp;u, const std::vector&lt; double &gt; &amp;p) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Efficient computation of gradient of the objective function with a vector p.  <a href="#ac70817d96bec5f159f849a35eca80317"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::vector&lt; double &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#add5d43beb0cf4b646200adb03208d6e9">initIter</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the initial value of the iterate.  <a href="#add5d43beb0cf4b646200adb03208d6e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a31514e4ebc5aaf72ff8f44a35a122120">interpolate</a> (const std::vector&lt; double &gt; &amp;x0, const std::vector&lt; double &gt; &amp;p, double Alphaim, double Alphai) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A cubic interpolation routine.  <a href="#a31514e4ebc5aaf72ff8f44a35a122120"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#afb07a512dba156a736e361e9ba19b065">isCompatible</a> (const <a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> *) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <code>true</code> if the function is compatible with the objective function.  <a href="#afb07a512dba156a736e361e9ba19b065"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a6f92ab21786d5a4f298a2f1dd4782986">iterParam</a> (std::string name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a string, this function returns the value of the associated iteration parameter.  <a href="#a6f92ab21786d5a4f298a2f1dd4782986"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#af8370604529de0f829b8424e1288a104">name</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the fitter.  <a href="#af8370604529de0f829b8424e1288a104"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a19687104100dbb1e3492a0952da14319">needsIntegrated</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <code>true</code> if the <a class="el" href="classhippodraw_1_1Fitter.html" title="The base class for fitters.">Fitter</a> needs integrated intervals.  <a href="#a19687104100dbb1e3492a0952da14319"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a35d807e079d04d56ca61b604d49deae8">objectiveValue</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the value of the objective function at the current set of parameters.  <a href="#a35d807e079d04d56ca61b604d49deae8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#af5e61f87813b72805dbd38266f4d5a91">setDataSource</a> (const <a class="el" href="classhippodraw_1_1DataSource.html">DataSource</a> *source)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the source of data to be used.  <a href="#af5e61f87813b72805dbd38266f4d5a91"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a1164064b5cf02ebb921a5643a78b41f4">setFCN</a> (<a class="el" href="classhippodraw_1_1StatedFCN.html">StatedFCN</a> *fcn)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the objective function object.  <a href="#a1164064b5cf02ebb921a5643a78b41f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#af6777101133629cf4ec9665cb87692bf">setFitCut</a> (<a class="el" href="classhippodraw_1_1TupleCut.html">TupleCut</a> *cut)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the cut to limit range of fitting.  <a href="#af6777101133629cf4ec9665cb87692bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#ae9ffca067177b475c7b4d334a9e0ecec">setFitRange</a> (bool yes=true)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets use of a fitting range on or off.  <a href="#ae9ffca067177b475c7b4d334a9e0ecec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#ac50591297b951f99124f66a4b9b5e785">setFixedFlags</a> (const std::vector&lt; int &gt; &amp;flags)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the parameters that are to be held fixed during objective function minimization.  <a href="#ac50591297b951f99124f66a4b9b5e785"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a65ce3c605e5795ae822acda0c0aab146">setFunction</a> (<a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> *function)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the model function.  <a href="#a65ce3c605e5795ae822acda0c0aab146"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a7e3fe361ceb3b39af40d35977de4a578">setInitIter</a> (const std::vector&lt; double &gt; &amp;xinit)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the initial value of the iterate, assuming it is given as a vector.  <a href="#a7e3fe361ceb3b39af40d35977de4a578"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a09c36569584b6cbfe98aef484581e742">setIterParam</a> (std::string name, double value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a string and a double, this function sets the value of the associated iteration parameter.  <a href="#a09c36569584b6cbfe98aef484581e742"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a849b3c78f5f3a5e9b187d926ee28839e">setLimits</a> (const std::string &amp;name, double lower, double upper)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the limits for the parameter of the model function with name <em>name</em>.  <a href="#a849b3c78f5f3a5e9b187d926ee28839e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a5500ef2b9a787bd77e5f0dbbc0591b5f">setLimits</a> (unsigned int i, double lower, double upper)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the limits for the parameter of the model function indexed by <em>i</em>.  <a href="#a5500ef2b9a787bd77e5f0dbbc0591b5f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a721f43136d1cfb49830da38a0fd696e1">setStepSize</a> (const std::string &amp;name, double size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the minimization step size for model function parameter <em>name</em>.  <a href="#a721f43136d1cfb49830da38a0fd696e1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a1bf21edfa7650b8451f18707b00b210c">setStepSize</a> (unsigned int i, double size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the step size for parameter of the minimization.  <a href="#a1bf21edfa7650b8451f18707b00b210c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#ab0b2626a4d61f7757eeb4422f305a97f">setUseErrors</a> (bool yes=true)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the fitter to use error data from the <a class="el" href="classhippodraw_1_1DataSource.html" title="Base class for DataSource.">DataSource</a>, if available.  <a href="#ab0b2626a4d61f7757eeb4422f305a97f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#ae62893d4bdeceb6eaf764a4ef31458fb">wolfeStep</a> (const std::vector&lt; double &gt; &amp;x0, const std::vector&lt; double &gt; &amp;p) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes a step satisfying the Wolfe conditions.  <a href="#ae62893d4bdeceb6eaf764a4ef31458fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#adfacd0c34f0889cef880bf7f82394751">zoom</a> (const std::vector&lt; double &gt; &amp;x0, const std::vector&lt; double &gt; &amp;p, double phi0, double dphi0, double Alphalo, double Alphahi) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A function which helps out Wolfe in deciding the step length.  <a href="#adfacd0c34f0889cef880bf7f82394751"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classhippodraw_1_1StatedFCN.html">StatedFCN</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a1f88348dd4b35c18128ec042fea57ee2">m_fcn</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The objective function.  <a href="#a1f88348dd4b35c18128ec042fea57ee2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#a35b1e829c1c13a7aef0c1b4cc1895c34">m_max_iterations</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum number of iterations allowed in attempting the fit.  <a href="#a35b1e829c1c13a7aef0c1b4cc1895c34"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1Fitter.html#adb41893ba19e889e56c559f25fc1a68a">m_name</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the fitter.  <a href="#adb41893ba19e889e56c559f25fc1a68a"></a><br/></td></tr>
<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a1bc2b38633aa98e1a99fabdc89636382">m_alpha1</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">First step length to try and this must be less than Alpha_max.  <a href="#a1bc2b38633aa98e1a99fabdc89636382"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#ac6c9defc2c2f41b5f661fb2a80303093">m_alpha_max</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum step length to try, suggested value by Nocedal and Wright is alpha_max = 4.  <a href="#ac6c9defc2c2f41b5f661fb2a80303093"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#ad553b78e944ffd23edc383e7eb132db8">m_c1</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">c1,c2 - constants such that 0 &lt; c1 &lt; c2 &lt; 1 and they ensure that strong Wolfe conditions hold true.  <a href="#ad553b78e944ffd23edc383e7eb132db8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a916fef9bae3e5d201ee8ba6afc9bdb33">m_c2</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a8387240b9424a1270ce2b8fa99d946ec">m_grad_cutoff</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The gradient cut-off parameter.  <a href="#a8387240b9424a1270ce2b8fa99d946ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, double * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a684aa15e32344228d4d248a447a7758a">m_iter_params</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map of the various iteration parameters to their name.  <a href="#a684aa15e32344228d4d248a447a7758a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::vector<br class="typebreak"/>
&lt; double &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a68f9abfe3d088353c41bf490c1ef5339">m_M</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The inverse of the quasi-Hessian.  <a href="#a68f9abfe3d088353c41bf490c1ef5339"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a21a83b98c0979dc660fe518e2d7c7101">m_proj_cutoff</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The projection cut-off parameter.  <a href="#a21a83b98c0979dc660fe518e2d7c7101"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a0626d59d9cbe05fc96be9119c8b59093">m_step_cutoff</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The step cut-off parameter.  <a href="#a0626d59d9cbe05fc96be9119c8b59093"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhippodraw_1_1BFGSFitter.html#a1b38df992a01ae77f2f06a11c4296feb">m_xinit</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The initial value to start the iteration from.  <a href="#a1b38df992a01ae77f2f06a11c4296feb"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>The minimization algorithm used is a complementary quasi newton algorithm, with BFGS (Broyden-Fletcher-Goldfarb-Shanno) update and hence the name <a class="el" href="classhippodraw_1_1BFGSFitter.html" title="The minimization algorithm used is a complementary quasi newton algorithm, with BFGS...">BFGSFitter</a>. </p>
<p>The entire minimization algorithm relies heavily on the description given in Numerical Optimization by Jorge Nocedal, Stephen J. Wright Publisher: Springer Verlag; (August 27, 1999) ISBN: 0387987932). In the following description we will refer to this book a number of times.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Kaustuv &lt;<a href="mailto:kaustuv@stanford.edu">kaustuv@stanford.edu</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00033">33</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0555c889a72414cf283fc0da2ec784bc"></a><!-- doxytag: member="hippodraw::BFGSFitter::BFGSFitter" ref="a0555c889a72414cf283fc0da2ec784bc" args="(const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhippodraw_1_1BFGSFitter.html">BFGSFitter</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The constructor taking name of fitter as argument. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00060">60</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="BFGSFitter_8h_source.html#l00085">BFGSFitter::m_alpha1</a>, <a class="el" href="BFGSFitter_8h_source.html#l00081">BFGSFitter::m_alpha_max</a>, <a class="el" href="BFGSFitter_8h_source.html#l00077">BFGSFitter::m_c1</a>, <a class="el" href="BFGSFitter_8h_source.html#l00077">BFGSFitter::m_c2</a>, <a class="el" href="BFGSFitter_8h_source.html#l00050">BFGSFitter::m_grad_cutoff</a>, <a class="el" href="BFGSFitter_8h_source.html#l00088">BFGSFitter::m_iter_params</a>, <a class="el" href="BFGSFitter_8h_source.html#l00059">BFGSFitter::m_proj_cutoff</a>, and <a class="el" href="BFGSFitter_8h_source.html#l00055">BFGSFitter::m_step_cutoff</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00080">BFGSFitter::clone()</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a132275ecd9f2fd7e45b34105080ba7bb"></a><!-- doxytag: member="hippodraw::BFGSFitter::calcBestFit" ref="a132275ecd9f2fd7e45b34105080ba7bb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool calcBestFit </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Main driver routine for BFGS algorithm which has been used in computing the bets fit for the function. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000054">Todo:</a></b></dt><dd>Use if ( x!=x ) to test for nan. </dd></dl>

<p>Implements <a class="el" href="classhippodraw_1_1Fitter.html#a6b32cf633d6e11f0c01fe0884adfddc8">Fitter</a>.</p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00089">89</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="namespacehippodraw_1_1Numeric.html#a3c1c282c14b12b9f982f4f3f359fde67">hippodraw::Numeric::eye()</a>, <a class="el" href="Fitter_8cxx_source.html#l00141">Fitter::fillFreeParameters()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00319">BFGSFitter::function()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00351">BFGSFitter::gradient()</a>, <a class="el" href="namespacehippodraw_1_1Numeric.html#a329ce3200d86ee77e2b9721db28388ee">hippodraw::Numeric::innerProduct()</a>, <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>, <a class="el" href="BFGSFitter_8h_source.html#l00050">BFGSFitter::m_grad_cutoff</a>, <a class="el" href="BFGSFitter_8h_source.html#l00042">BFGSFitter::m_M</a>, <a class="el" href="Fitter_8h_source.html#l00062">Fitter::m_max_iterations</a>, <a class="el" href="BFGSFitter_8h_source.html#l00059">BFGSFitter::m_proj_cutoff</a>, <a class="el" href="BFGSFitter_8h_source.html#l00055">BFGSFitter::m_step_cutoff</a>, <a class="el" href="BFGSFitter_8h_source.html#l00045">BFGSFitter::m_xinit</a>, <a class="el" href="namespacehippodraw_1_1Numeric.html#a2fc63b8199da4a6f45b4a9590fbab38f">hippodraw::Numeric::norm()</a>, <a class="el" href="namespacehippodraw_1_1Numeric.html#af9cb017e1c9362831eccadf6bceac017">hippodraw::Numeric::outerProduct()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00458">BFGSFitter::setInitIter()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00171">BFGSFitter::wolfeStep()</a>.</p>

</div>
</div>
<a class="anchor" id="a3ca477145d995d896e7cdce3d23a8c0d"></a><!-- doxytag: member="hippodraw::BFGSFitter::calcCovariance" ref="a3ca477145d995d896e7cdce3d23a8c0d" args="(std::vector&lt; std::vector&lt; double &gt; &gt; &amp;cov)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int calcCovariance </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>cov</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates the covariance matrix. </p>
<p>Returns EXIT_SUCCESS if a minima of the log likelihood functions is found, returns EXIT_FAILURE in case algorithm converges on other stationary points (i.e. on saddle points). </p>

<p>Reimplemented from <a class="el" href="classhippodraw_1_1Fitter.html#a3ca477145d995d896e7cdce3d23a8c0d">Fitter</a>.</p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00472">472</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="namespacehippodraw_1_1Numeric.html#aecbdf19ba7109e37b7e89e490aaa453a">hippodraw::Numeric::cholFactor()</a>, <a class="el" href="BFGSFitter_8h_source.html#l00042">BFGSFitter::m_M</a>, and <a class="el" href="BFGSFitter_8h_source.html#l00045">BFGSFitter::m_xinit</a>.</p>

</div>
</div>
<a class="anchor" id="abb9b6e0a214042e968b50f9925572d0d"></a><!-- doxytag: member="hippodraw::BFGSFitter::calcDegreesOfFreedom" ref="abb9b6e0a214042e968b50f9925572d0d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int calcDegreesOfFreedom </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the number of degrees of freedom in the fit. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00228">228</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

<p>Referenced by <a class="el" href="FunctionProjector_8cxx_source.html#l00269">FunctionProjector::degreesOfFreedom()</a>.</p>

</div>
</div>
<a class="anchor" id="a53eb174f82d157030b47e1446f597dcd"></a><!-- doxytag: member="hippodraw::BFGSFitter::clone" ref="a53eb174f82d157030b47e1446f597dcd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhippodraw_1_1Fitter.html">Fitter</a> * clone </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Makes a copy of the receiving object. </p>
<p>Makes copy of receiving object by creating a new one with the only constructor. </p>
<dl class="attention"><dt><b>Attention:</b></dt><dd>Objects created with this function may not be complete until the setFCN member function is called. </dd></dl>

<p>Implements <a class="el" href="classhippodraw_1_1Fitter.html#a49797ee4ba71bccf2e03498bde9a89a7">Fitter</a>.</p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00080">80</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="BFGSFitter_8cxx_source.html#l00060">BFGSFitter::BFGSFitter()</a>.</p>

</div>
</div>
<a class="anchor" id="ae7d8c0797a5ee009d0d3170ed2e9105f"></a><!-- doxytag: member="hippodraw::BFGSFitter::copyFrom" ref="ae7d8c0797a5ee009d0d3170ed2e9105f" args="(const Fitter *other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void copyFrom </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhippodraw_1_1Fitter.html">Fitter</a> *&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Makes a copy of <em>other</em>. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00049">49</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

</div>
</div>
<a class="anchor" id="a5ff9860d858cb80f4db7e42c08b9df93"></a><!-- doxytag: member="hippodraw::BFGSFitter::fillFreeParameters" ref="a5ff9860d858cb80f4db7e42c08b9df93" args="(std::vector&lt; double &gt; &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fillFreeParameters </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>free_parms</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fills the vector with the free parameters values. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00141">141</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

<p>Referenced by <a class="el" href="LMFitter_8cxx_source.html#l00195">LMFitter::calcBestFit()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>.</p>

</div>
</div>
<a class="anchor" id="a1618f215be470523594cc47d286f1320"></a><!-- doxytag: member="hippodraw::BFGSFitter::function" ref="a1618f215be470523594cc47d286f1320" args="(const std::vector&lt; double &gt; &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double function </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The objective function. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00319">319</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>, and <a class="el" href="Fitter_8cxx_source.html#l00221">Fitter::objectiveValue()</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00287">BFGSFitter::interpolate()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00171">BFGSFitter::wolfeStep()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00234">BFGSFitter::zoom()</a>.</p>

</div>
</div>
<a class="anchor" id="af96a5a267a12c934ce39d73df7003f0d"></a><!-- doxytag: member="hippodraw::BFGSFitter::getFCN" ref="af96a5a267a12c934ce39d73df7003f0d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhippodraw_1_1StatedFCN.html">StatedFCN</a> * getFCN </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the objective function object. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00072">72</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

</div>
</div>
<a class="anchor" id="a777e60f0c60999be4d87fa177c88977e"></a><!-- doxytag: member="hippodraw::BFGSFitter::getFixedFlags" ref="a777e60f0c60999be4d87fa177c88977e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const vector&lt; int &gt; &amp; getFixedFlags </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the limits of the model function parameter values. </p>
<p>Attempts to set the limits of the model function parameter values. This base class implementation throws a FitterException. Derived classes that support setting limits of the parameter values should override this member function. Returns a vector containing flags for which parameters are to be held fixed during objective function minimization. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00155">155</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

<p>Referenced by <a class="el" href="MinuitMigrad_8cxx_source.html#l00065">MinuitMigrad::initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="a5db61f264b6fbebf40b61faedae06dc6"></a><!-- doxytag: member="hippodraw::BFGSFitter::getUseErrors" ref="a5db61f264b6fbebf40b61faedae06dc6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool getUseErrors </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns <code>true</code> if error data from the <a class="el" href="classhippodraw_1_1DataSource.html" title="Base class for DataSource.">DataSource</a> will be used if available. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00118">118</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

</div>
</div>
<a class="anchor" id="a5fadecb4119b5eaa2ef6a36927ba1068"></a><!-- doxytag: member="hippodraw::BFGSFitter::gradient" ref="a5fadecb4119b5eaa2ef6a36927ba1068" args="(const std::vector&lt; double &gt; &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt; double &gt; gradient </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The gradient of the objective function. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00351">351</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>, and <a class="el" href="Fitter_8cxx_source.html#l00221">Fitter::objectiveValue()</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>.</p>

</div>
</div>
<a class="anchor" id="ac70817d96bec5f159f849a35eca80317"></a><!-- doxytag: member="hippodraw::BFGSFitter::gradp" ref="ac70817d96bec5f159f849a35eca80317" args="(const std::vector&lt; double &gt; &amp;u, const std::vector&lt; double &gt; &amp;p) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double gradp </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Efficient computation of gradient of the objective function with a vector p. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00404">404</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>, and <a class="el" href="Fitter_8cxx_source.html#l00221">Fitter::objectiveValue()</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00287">BFGSFitter::interpolate()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00171">BFGSFitter::wolfeStep()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00234">BFGSFitter::zoom()</a>.</p>

</div>
</div>
<a class="anchor" id="add5d43beb0cf4b646200adb03208d6e9"></a><!-- doxytag: member="hippodraw::BFGSFitter::initIter" ref="add5d43beb0cf4b646200adb03208d6e9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const vector&lt; double &gt; &amp; initIter </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the initial value of the iterate. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00453">453</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="BFGSFitter_8h_source.html#l00045">BFGSFitter::m_xinit</a>.</p>

</div>
</div>
<a class="anchor" id="a31514e4ebc5aaf72ff8f44a35a122120"></a><!-- doxytag: member="hippodraw::BFGSFitter::interpolate" ref="a31514e4ebc5aaf72ff8f44a35a122120" args="(const std::vector&lt; double &gt; &amp;x0, const std::vector&lt; double &gt; &amp;p, double Alphaim, double Alphai) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double interpolate </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>Alphaim</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>Alphai</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A cubic interpolation routine. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00287">287</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="BFGSFitter_8cxx_source.html#l00319">BFGSFitter::function()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00404">BFGSFitter::gradp()</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00234">BFGSFitter::zoom()</a>.</p>

</div>
</div>
<a class="anchor" id="afb07a512dba156a736e361e9ba19b065"></a><!-- doxytag: member="hippodraw::BFGSFitter::isCompatible" ref="afb07a512dba156a736e361e9ba19b065" args="(const FunctionBase *) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isCompatible </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> *&nbsp;</td>
          <td class="paramname"> <em>function</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns <code>true</code> if the function is compatible with the objective function. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00079">79</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

</div>
</div>
<a class="anchor" id="a6f92ab21786d5a4f298a2f1dd4782986"></a><!-- doxytag: member="hippodraw::BFGSFitter::iterParam" ref="a6f92ab21786d5a4f298a2f1dd4782986" args="(std::string name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double iterParam </td>
          <td>(</td>
          <td class="paramtype">std::string&nbsp;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a string, this function returns the value of the associated iteration parameter. </p>
<p>Names of the various iteration parameters have been chosen according to the following simple rule. m_foo_bar is called foo_bar. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00494">494</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="BFGSFitter_8h_source.html#l00088">BFGSFitter::m_iter_params</a>, and <a class="el" href="Fitter_8h_source.html#l00062">Fitter::m_max_iterations</a>.</p>

</div>
</div>
<a class="anchor" id="af8370604529de0f829b8424e1288a104"></a><!-- doxytag: member="hippodraw::BFGSFitter::name" ref="af8370604529de0f829b8424e1288a104" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string &amp; name </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the name of the fitter. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00056">56</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00051">Fitter::m_name</a>.</p>

<p>Referenced by <a class="el" href="MinuitMigrad_8cxx_source.html#l00065">MinuitMigrad::initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="a19687104100dbb1e3492a0952da14319"></a><!-- doxytag: member="hippodraw::BFGSFitter::needsIntegrated" ref="a19687104100dbb1e3492a0952da14319" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool needsIntegrated </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns <code>true</code> if the <a class="el" href="classhippodraw_1_1Fitter.html" title="The base class for fitters.">Fitter</a> needs integrated intervals. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00130">130</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

</div>
</div>
<a class="anchor" id="a35d807e079d04d56ca61b604d49deae8"></a><!-- doxytag: member="hippodraw::BFGSFitter::objectiveValue" ref="a35d807e079d04d56ca61b604d49deae8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double objectiveValue </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates the value of the objective function at the current set of parameters. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00221">221</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

<p>Referenced by <a class="el" href="LMFitter_8cxx_source.html#l00195">LMFitter::calcBestFit()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00319">BFGSFitter::function()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00351">BFGSFitter::gradient()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00404">BFGSFitter::gradp()</a>, and <a class="el" href="FunctionProjector_8cxx_source.html#l00220">FunctionProjector::objectiveValue()</a>.</p>

</div>
</div>
<a class="anchor" id="af5e61f87813b72805dbd38266f4d5a91"></a><!-- doxytag: member="hippodraw::BFGSFitter::setDataSource" ref="af5e61f87813b72805dbd38266f4d5a91" args="(const DataSource *source)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setDataSource </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classhippodraw_1_1DataSource.html">DataSource</a> *&nbsp;</td>
          <td class="paramname"> <em>source</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the source of data to be used. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00099">99</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>, and <a class="el" href="Fitter_8cxx_source.html#l00109">Fitter::setUseErrors()</a>.</p>

</div>
</div>
<a class="anchor" id="a1164064b5cf02ebb921a5643a78b41f4"></a><!-- doxytag: member="hippodraw::BFGSFitter::setFCN" ref="a1164064b5cf02ebb921a5643a78b41f4" args="(StatedFCN *fcn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setFCN </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classhippodraw_1_1StatedFCN.html">StatedFCN</a> *&nbsp;</td>
          <td class="paramname"> <em>fcn</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the objective function object. </p>
<p>Sets the objective function object to be used and takes possession of it. That is, will delete an existing object, if there is one, and will delete the object in this object's destructor.</p>
<dl class="attention"><dt><b>Attention:</b></dt><dd>A derived class that has special requirements, such as need for partial derivatives with respect to the parameters should override this method to set those requirements. </dd></dl>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1LMFitter.html#a1164064b5cf02ebb921a5643a78b41f4">LMFitter</a>.</p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00063">63</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

</div>
</div>
<a class="anchor" id="af6777101133629cf4ec9665cb87692bf"></a><!-- doxytag: member="hippodraw::BFGSFitter::setFitCut" ref="af6777101133629cf4ec9665cb87692bf" args="(TupleCut *cut)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setFitCut </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classhippodraw_1_1TupleCut.html">TupleCut</a> *&nbsp;</td>
          <td class="paramname"> <em>cut</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the cut to limit range of fitting. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00242">242</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

</div>
</div>
<a class="anchor" id="ae9ffca067177b475c7b4d334a9e0ecec"></a><!-- doxytag: member="hippodraw::BFGSFitter::setFitRange" ref="ae9ffca067177b475c7b4d334a9e0ecec" args="(bool yes=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setFitRange </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>yes</em> = <code>true</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets use of a fitting range on or off. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00249">249</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

</div>
</div>
<a class="anchor" id="ac50591297b951f99124f66a4b9b5e785"></a><!-- doxytag: member="hippodraw::BFGSFitter::setFixedFlags" ref="ac50591297b951f99124f66a4b9b5e785" args="(const std::vector&lt; int &gt; &amp;flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setFixedFlags </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; int &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>flags</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the parameters that are to be held fixed during objective function minimization. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00148">148</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

</div>
</div>
<a class="anchor" id="a65ce3c605e5795ae822acda0c0aab146"></a><!-- doxytag: member="hippodraw::BFGSFitter::setFunction" ref="a65ce3c605e5795ae822acda0c0aab146" args="(FunctionBase *function)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setFunction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classhippodraw_1_1FunctionBase.html">FunctionBase</a> *&nbsp;</td>
          <td class="paramname"> <em>function</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the model function. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00090">90</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

</div>
</div>
<a class="anchor" id="a7e3fe361ceb3b39af40d35977de4a578"></a><!-- doxytag: member="hippodraw::BFGSFitter::setInitIter" ref="a7e3fe361ceb3b39af40d35977de4a578" args="(const std::vector&lt; double &gt; &amp;xinit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int setInitIter </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>xinit</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the initial value of the iterate, assuming it is given as a vector. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00458">458</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="BFGSFitter_8h_source.html#l00045">BFGSFitter::m_xinit</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>.</p>

</div>
</div>
<a class="anchor" id="a09c36569584b6cbfe98aef484581e742"></a><!-- doxytag: member="hippodraw::BFGSFitter::setIterParam" ref="a09c36569584b6cbfe98aef484581e742" args="(std::string name, double value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int setIterParam </td>
          <td>(</td>
          <td class="paramtype">std::string&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a string and a double, this function sets the value of the associated iteration parameter. </p>
<p>Names of the various parameters have been chosen according to the following simple rule. m_foo_bar is called foo_bar. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00514">514</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="BFGSFitter_8h_source.html#l00088">BFGSFitter::m_iter_params</a>, and <a class="el" href="Fitter_8h_source.html#l00062">Fitter::m_max_iterations</a>.</p>

</div>
</div>
<a class="anchor" id="a849b3c78f5f3a5e9b187d926ee28839e"></a><!-- doxytag: member="hippodraw::BFGSFitter::setLimits" ref="a849b3c78f5f3a5e9b187d926ee28839e" args="(const std::string &amp;name, double lower, double upper)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setLimits </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>lower</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>upper</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the limits for the parameter of the model function with name <em>name</em>. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00196">196</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8cxx_source.html#l00172">Fitter::getParameterIndex()</a>, and <a class="el" href="Fitter_8cxx_source.html#l00162">Fitter::setLimits()</a>.</p>

</div>
</div>
<a class="anchor" id="a5500ef2b9a787bd77e5f0dbbc0591b5f"></a><!-- doxytag: member="hippodraw::BFGSFitter::setLimits" ref="a5500ef2b9a787bd77e5f0dbbc0591b5f" args="(unsigned int i, double lower, double upper)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setLimits </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>lower</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>upper</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the limits for the parameter of the model function indexed by <em>i</em>. </p>
<p>This base class implementation throws a std::runtime_error. Derived classes that implement this function should override it. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1MinuitMigrad.html#a5500ef2b9a787bd77e5f0dbbc0591b5f">MinuitMigrad</a>.</p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00162">162</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00051">Fitter::m_name</a>.</p>

<p>Referenced by <a class="el" href="Fitter_8cxx_source.html#l00196">Fitter::setLimits()</a>.</p>

</div>
</div>
<a class="anchor" id="a721f43136d1cfb49830da38a0fd696e1"></a><!-- doxytag: member="hippodraw::BFGSFitter::setStepSize" ref="a721f43136d1cfb49830da38a0fd696e1" args="(const std::string &amp;name, double size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setStepSize </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the minimization step size for model function parameter <em>name</em>. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00214">214</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8cxx_source.html#l00172">Fitter::getParameterIndex()</a>, and <a class="el" href="Fitter_8cxx_source.html#l00204">Fitter::setStepSize()</a>.</p>

</div>
</div>
<a class="anchor" id="a1bf21edfa7650b8451f18707b00b210c"></a><!-- doxytag: member="hippodraw::BFGSFitter::setStepSize" ref="a1bf21edfa7650b8451f18707b00b210c" args="(unsigned int i, double size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setStepSize </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the step size for parameter of the minimization. </p>
<p>This base class implementation throws FitterException. Derived classes that support setting step size should override this member function. </p>

<p>Reimplemented in <a class="el" href="classhippodraw_1_1MinuitMigrad.html#a1bf21edfa7650b8451f18707b00b210c">MinuitMigrad</a>.</p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00204">204</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00051">Fitter::m_name</a>.</p>

<p>Referenced by <a class="el" href="Fitter_8cxx_source.html#l00214">Fitter::setStepSize()</a>.</p>

</div>
</div>
<a class="anchor" id="ab0b2626a4d61f7757eeb4422f305a97f"></a><!-- doxytag: member="hippodraw::BFGSFitter::setUseErrors" ref="ab0b2626a4d61f7757eeb4422f305a97f" args="(bool yes=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setUseErrors </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>yes</em> = <code>true</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the fitter to use error data from the <a class="el" href="classhippodraw_1_1DataSource.html" title="Base class for DataSource.">DataSource</a>, if available. </p>

<p>Definition at line <a class="el" href="Fitter_8cxx_source.html#l00109">109</a> of file <a class="el" href="Fitter_8cxx_source.html">Fitter.cxx</a>.</p>

<p>References <a class="el" href="Fitter_8h_source.html#l00059">Fitter::m_fcn</a>.</p>

<p>Referenced by <a class="el" href="Fitter_8cxx_source.html#l00099">Fitter::setDataSource()</a>.</p>

</div>
</div>
<a class="anchor" id="ae62893d4bdeceb6eaf764a4ef31458fb"></a><!-- doxytag: member="hippodraw::BFGSFitter::wolfeStep" ref="ae62893d4bdeceb6eaf764a4ef31458fb" args="(const std::vector&lt; double &gt; &amp;x0, const std::vector&lt; double &gt; &amp;p) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double wolfeStep </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes a step satisfying the Wolfe conditions. </p>
<p>Based on Algorithm 3.2 (<a class="el" href="namespacehippodraw_1_1Line.html" title="A namespace for line constants.">Line</a> Search Algorithm) on pp. 58--60 of "Numerical Optimization" by Jorge Nocedal and Stephen J. Wright</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000055">Todo:</a></b></dt><dd>Take out error message and send signal to application. </dd></dl>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00171">171</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="BFGSFitter_8cxx_source.html#l00319">BFGSFitter::function()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00404">BFGSFitter::gradp()</a>, <a class="el" href="BFGSFitter_8h_source.html#l00085">BFGSFitter::m_alpha1</a>, <a class="el" href="BFGSFitter_8h_source.html#l00081">BFGSFitter::m_alpha_max</a>, <a class="el" href="BFGSFitter_8h_source.html#l00077">BFGSFitter::m_c1</a>, <a class="el" href="BFGSFitter_8h_source.html#l00077">BFGSFitter::m_c2</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00234">BFGSFitter::zoom()</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>.</p>

</div>
</div>
<a class="anchor" id="adfacd0c34f0889cef880bf7f82394751"></a><!-- doxytag: member="hippodraw::BFGSFitter::zoom" ref="adfacd0c34f0889cef880bf7f82394751" args="(const std::vector&lt; double &gt; &amp;x0, const std::vector&lt; double &gt; &amp;p, double phi0, double dphi0, double Alphalo, double Alphahi) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double zoom </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>phi0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>dphi0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>Alphalo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>Alphahi</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A function which helps out Wolfe in deciding the step length. </p>
<p>Based on Algorithm 3.3 (zoom) on pg. 60 of "Numerical Optimization" by Jorge Nocedal and Stephen J. Wright </p>

<p>Definition at line <a class="el" href="BFGSFitter_8cxx_source.html#l00234">234</a> of file <a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a>.</p>

<p>References <a class="el" href="BFGSFitter_8cxx_source.html#l00319">BFGSFitter::function()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00404">BFGSFitter::gradp()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00287">BFGSFitter::interpolate()</a>, <a class="el" href="BFGSFitter_8h_source.html#l00077">BFGSFitter::m_c1</a>, and <a class="el" href="BFGSFitter_8h_source.html#l00077">BFGSFitter::m_c2</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00171">BFGSFitter::wolfeStep()</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a1bc2b38633aa98e1a99fabdc89636382"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_alpha1" ref="a1bc2b38633aa98e1a99fabdc89636382" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classhippodraw_1_1BFGSFitter.html#a1bc2b38633aa98e1a99fabdc89636382">m_alpha1</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>First step length to try and this must be less than Alpha_max. </p>
<p>(typically Alpha1 = 1 for Newton's method and relatives) </p>

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00085">85</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00060">BFGSFitter::BFGSFitter()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00171">BFGSFitter::wolfeStep()</a>.</p>

</div>
</div>
<a class="anchor" id="ac6c9defc2c2f41b5f661fb2a80303093"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_alpha_max" ref="ac6c9defc2c2f41b5f661fb2a80303093" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classhippodraw_1_1BFGSFitter.html#ac6c9defc2c2f41b5f661fb2a80303093">m_alpha_max</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Maximum step length to try, suggested value by Nocedal and Wright is alpha_max = 4. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00081">81</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00060">BFGSFitter::BFGSFitter()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00171">BFGSFitter::wolfeStep()</a>.</p>

</div>
</div>
<a class="anchor" id="ad553b78e944ffd23edc383e7eb132db8"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_c1" ref="ad553b78e944ffd23edc383e7eb132db8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classhippodraw_1_1BFGSFitter.html#ad553b78e944ffd23edc383e7eb132db8">m_c1</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>c1,c2 - constants such that 0 &lt; c1 &lt; c2 &lt; 1 and they ensure that strong Wolfe conditions hold true. </p>
<p>Strong Wolfe conditions:</p>
<p>f(x_k + Alpha_k * p_k) &lt;= f(x_k) + c1 * Alpha_k * grad f(x_k)'*p_k (1) |grad f(x_k + Alpha_k * p_k)'*p_k| &gt;= c2 * grad f(x_k)' * p_k (2)</p>
<p>The lower the c2 value, the closer you are asking the algorithm to get to an actual local minimum. The lower the c1 value, the sole demand being made is that the direction be a direction of descent.</p>
<p>Nocedal and Wright suggest use of following: c1 = 1e-4; c2 = 0.9; </p>

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00077">77</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00060">BFGSFitter::BFGSFitter()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00171">BFGSFitter::wolfeStep()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00234">BFGSFitter::zoom()</a>.</p>

</div>
</div>
<a class="anchor" id="a916fef9bae3e5d201ee8ba6afc9bdb33"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_c2" ref="a916fef9bae3e5d201ee8ba6afc9bdb33" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classhippodraw_1_1BFGSFitter.html#a916fef9bae3e5d201ee8ba6afc9bdb33">m_c2</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00077">77</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00060">BFGSFitter::BFGSFitter()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00171">BFGSFitter::wolfeStep()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00234">BFGSFitter::zoom()</a>.</p>

</div>
</div>
<a class="anchor" id="a1f88348dd4b35c18128ec042fea57ee2"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_fcn" ref="a1f88348dd4b35c18128ec042fea57ee2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classhippodraw_1_1StatedFCN.html">StatedFCN</a>* <a class="el" href="classhippodraw_1_1Fitter.html#a1f88348dd4b35c18128ec042fea57ee2">m_fcn</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The objective function. </p>

<p>Definition at line <a class="el" href="Fitter_8h_source.html#l00059">59</a> of file <a class="el" href="Fitter_8h_source.html">Fitter.h</a>.</p>

<p>Referenced by <a class="el" href="LMFitter_8cxx_source.html#l00071">LMFitter::calcAlpha()</a>, <a class="el" href="MinuitMigrad_8cxx_source.html#l00180">MinuitMigrad::calcBestFit()</a>, <a class="el" href="LMFitter_8cxx_source.html#l00195">LMFitter::calcBestFit()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>, <a class="el" href="Fitter_8cxx_source.html#l00228">Fitter::calcDegreesOfFreedom()</a>, <a class="el" href="MinuitMigrad_8cxx_source.html#l00115">MinuitMigrad::checkIndex()</a>, <a class="el" href="Fitter_8cxx_source.html#l00049">Fitter::copyFrom()</a>, <a class="el" href="Fitter_8cxx_source.html#l00141">Fitter::fillFreeParameters()</a>, <a class="el" href="Fitter_8cxx_source.html#l00034">Fitter::Fitter()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00319">BFGSFitter::function()</a>, <a class="el" href="Fitter_8cxx_source.html#l00072">Fitter::getFCN()</a>, <a class="el" href="Fitter_8cxx_source.html#l00155">Fitter::getFixedFlags()</a>, <a class="el" href="Fitter_8cxx_source.html#l00172">Fitter::getParameterIndex()</a>, <a class="el" href="Fitter_8cxx_source.html#l00118">Fitter::getUseErrors()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00351">BFGSFitter::gradient()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00404">BFGSFitter::gradp()</a>, <a class="el" href="MinuitMigrad_8cxx_source.html#l00065">MinuitMigrad::initialize()</a>, <a class="el" href="MinuitMigrad_8cxx_source.html#l00135">MinuitMigrad::initLimits()</a>, <a class="el" href="Fitter_8cxx_source.html#l00079">Fitter::isCompatible()</a>, <a class="el" href="Fitter_8cxx_source.html#l00130">Fitter::needsIntegrated()</a>, <a class="el" href="Fitter_8cxx_source.html#l00221">Fitter::objectiveValue()</a>, <a class="el" href="Fitter_8cxx_source.html#l00099">Fitter::setDataSource()</a>, <a class="el" href="Fitter_8cxx_source.html#l00063">Fitter::setFCN()</a>, <a class="el" href="Fitter_8cxx_source.html#l00242">Fitter::setFitCut()</a>, <a class="el" href="Fitter_8cxx_source.html#l00249">Fitter::setFitRange()</a>, <a class="el" href="Fitter_8cxx_source.html#l00148">Fitter::setFixedFlags()</a>, <a class="el" href="Fitter_8cxx_source.html#l00090">Fitter::setFunction()</a>, <a class="el" href="Fitter_8cxx_source.html#l00109">Fitter::setUseErrors()</a>, and <a class="el" href="Fitter_8cxx_source.html#l00042">Fitter::~Fitter()</a>.</p>

</div>
</div>
<a class="anchor" id="a8387240b9424a1270ce2b8fa99d946ec"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_grad_cutoff" ref="a8387240b9424a1270ce2b8fa99d946ec" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classhippodraw_1_1BFGSFitter.html#a8387240b9424a1270ce2b8fa99d946ec">m_grad_cutoff</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The gradient cut-off parameter. </p>
<p>If two successive iterations change the the norm of the gradient of Likelihood function less than this quantity, then iteration is terminated </p>

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00050">50</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00060">BFGSFitter::BFGSFitter()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>.</p>

</div>
</div>
<a class="anchor" id="a684aa15e32344228d4d248a447a7758a"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_iter_params" ref="a684aa15e32344228d4d248a447a7758a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt; std::string, double * &gt; <a class="el" href="classhippodraw_1_1BFGSFitter.html#a684aa15e32344228d4d248a447a7758a">m_iter_params</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Map of the various iteration parameters to their name. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00088">88</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00060">BFGSFitter::BFGSFitter()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00494">BFGSFitter::iterParam()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00514">BFGSFitter::setIterParam()</a>.</p>

</div>
</div>
<a class="anchor" id="a68f9abfe3d088353c41bf490c1ef5339"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_M" ref="a68f9abfe3d088353c41bf490c1ef5339" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::vector&lt; double &gt; &gt; <a class="el" href="classhippodraw_1_1BFGSFitter.html#a68f9abfe3d088353c41bf490c1ef5339">m_M</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The inverse of the quasi-Hessian. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00042">42</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00472">BFGSFitter::calcCovariance()</a>.</p>

</div>
</div>
<a class="anchor" id="a35b1e829c1c13a7aef0c1b4cc1895c34"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_max_iterations" ref="a35b1e829c1c13a7aef0c1b4cc1895c34" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classhippodraw_1_1Fitter.html#a35b1e829c1c13a7aef0c1b4cc1895c34">m_max_iterations</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The maximum number of iterations allowed in attempting the fit. </p>

<p>Definition at line <a class="el" href="Fitter_8h_source.html#l00062">62</a> of file <a class="el" href="Fitter_8h_source.html">Fitter.h</a>.</p>

<p>Referenced by <a class="el" href="LMFitter_8cxx_source.html#l00195">LMFitter::calcBestFit()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00494">BFGSFitter::iterParam()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00514">BFGSFitter::setIterParam()</a>.</p>

</div>
</div>
<a class="anchor" id="adb41893ba19e889e56c559f25fc1a68a"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_name" ref="adb41893ba19e889e56c559f25fc1a68a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classhippodraw_1_1Fitter.html#adb41893ba19e889e56c559f25fc1a68a">m_name</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The name of the fitter. </p>

<p>Definition at line <a class="el" href="Fitter_8h_source.html#l00051">51</a> of file <a class="el" href="Fitter_8h_source.html">Fitter.h</a>.</p>

<p>Referenced by <a class="el" href="MinuitMigrad_8cxx_source.html#l00115">MinuitMigrad::checkIndex()</a>, <a class="el" href="Fitter_8cxx_source.html#l00056">Fitter::name()</a>, <a class="el" href="Fitter_8cxx_source.html#l00162">Fitter::setLimits()</a>, and <a class="el" href="Fitter_8cxx_source.html#l00204">Fitter::setStepSize()</a>.</p>

</div>
</div>
<a class="anchor" id="a21a83b98c0979dc660fe518e2d7c7101"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_proj_cutoff" ref="a21a83b98c0979dc660fe518e2d7c7101" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classhippodraw_1_1BFGSFitter.html#a21a83b98c0979dc660fe518e2d7c7101">m_proj_cutoff</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The projection cut-off parameter. </p>
<p>If the projection of step on the gradient is less than this quantity, then iteration is terminated </p>

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00059">59</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00060">BFGSFitter::BFGSFitter()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>.</p>

</div>
</div>
<a class="anchor" id="a0626d59d9cbe05fc96be9119c8b59093"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_step_cutoff" ref="a0626d59d9cbe05fc96be9119c8b59093" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classhippodraw_1_1BFGSFitter.html#a0626d59d9cbe05fc96be9119c8b59093">m_step_cutoff</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The step cut-off parameter. </p>
<p>If the two successive iterations result in the norm of difference of iterates less than this quantity, then iteration is terminated </p>

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00055">55</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00060">BFGSFitter::BFGSFitter()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>.</p>

</div>
</div>
<a class="anchor" id="a1b38df992a01ae77f2f06a11c4296feb"></a><!-- doxytag: member="hippodraw::BFGSFitter::m_xinit" ref="a1b38df992a01ae77f2f06a11c4296feb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; double &gt; <a class="el" href="classhippodraw_1_1BFGSFitter.html#a1b38df992a01ae77f2f06a11c4296feb">m_xinit</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The initial value to start the iteration from. </p>

<p>Definition at line <a class="el" href="BFGSFitter_8h_source.html#l00045">45</a> of file <a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a>.</p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00472">BFGSFitter::calcCovariance()</a>, <a class="el" href="BFGSFitter_8cxx_source.html#l00453">BFGSFitter::initIter()</a>, and <a class="el" href="BFGSFitter_8cxx_source.html#l00458">BFGSFitter::setInitIter()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="BFGSFitter_8h_source.html">BFGSFitter.h</a></li>
<li><a class="el" href="BFGSFitter_8cxx_source.html">BFGSFitter.cxx</a></li>
</ul>
</div>
<hr size="1"><address style="align: right;"><small>
Generated for HippoDraw Class Library by <a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0>
</a> </small></address>
</body>
</html>