556 lines
32 KiB
HTML
556 lines
32 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||
<meta name="generator" content="Doxygen 1.13.2"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
<title>musrfit: PFitterFcn Class Reference</title>
|
||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="jquery.js"></script>
|
||
<script type="text/javascript" src="dynsections.js"></script>
|
||
<script type="text/javascript" src="clipboard.js"></script>
|
||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="navtreedata.js"></script>
|
||
<script type="text/javascript" src="navtree.js"></script>
|
||
<script type="text/javascript" src="resize.js"></script>
|
||
<script type="text/javascript" src="cookie.js"></script>
|
||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||
</head>
|
||
<body>
|
||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||
<div id="titlearea">
|
||
<table cellspacing="0" cellpadding="0">
|
||
<tbody>
|
||
<tr id="projectrow">
|
||
<td id="projectalign">
|
||
<div id="projectname">musrfit<span id="projectnumber"> 1.9.9</span>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<!-- end header part -->
|
||
<!-- Generated by Doxygen 1.13.2 -->
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() { codefold.init(0); });
|
||
/* @license-end */
|
||
</script>
|
||
<script type="text/javascript" src="menudata.js"></script>
|
||
<script type="text/javascript" src="menu.js"></script>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() {
|
||
initMenu('',false,false,'search.php','Search',true);
|
||
});
|
||
/* @license-end */
|
||
</script>
|
||
<div id="main-nav"></div>
|
||
</div><!-- top -->
|
||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||
<div id="nav-tree">
|
||
<div id="nav-tree-contents">
|
||
<div id="nav-sync" class="sync"></div>
|
||
</div>
|
||
</div>
|
||
<div id="splitbar" style="-moz-user-select:none;"
|
||
class="ui-resizable-handle">
|
||
</div>
|
||
</div>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function(){initNavTree('classPFitterFcn.html',''); initResizable(true); });
|
||
/* @license-end */
|
||
</script>
|
||
<div id="doc-content">
|
||
<div class="header">
|
||
<div class="summary">
|
||
<a href="#pub-methods">Public Member Functions</a> |
|
||
<a href="#pri-attribs">Private Attributes</a> |
|
||
<a href="classPFitterFcn-members.html">List of all members</a> </div>
|
||
<div class="headertitle"><div class="title">PFitterFcn Class Reference</div></div>
|
||
</div><!--header-->
|
||
<div class="contents">
|
||
|
||
<p>Objective function interface for ROOT Minuit2 minimization.
|
||
<a href="#details">More...</a></p>
|
||
|
||
<p><code>#include <<a class="el" href="PFitterFcn_8h_source.html">PFitterFcn.h</a>></code></p>
|
||
<div class="dynheader">
|
||
Inheritance diagram for PFitterFcn:</div>
|
||
<div class="dyncontent">
|
||
<div class="center"><img src="classPFitterFcn__inherit__graph.png" border="0" usemap="#aPFitterFcn_inherit__map" alt="Inheritance graph"/></div>
|
||
<map name="aPFitterFcn_inherit__map" id="aPFitterFcn_inherit__map">
|
||
<area shape="rect" title="Objective function interface for ROOT Minuit2 minimization." alt="" coords="47,81,132,109"/>
|
||
<area shape="rect" title=" " alt="" coords="5,5,174,33"/>
|
||
<area shape="poly" title=" " alt="" coords="92,49,92,81,87,81,87,49"/>
|
||
</map>
|
||
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
||
<div class="dynheader">
|
||
Collaboration diagram for PFitterFcn:</div>
|
||
<div class="dyncontent">
|
||
<div class="center"><img src="classPFitterFcn__coll__graph.png" border="0" usemap="#aPFitterFcn_coll__map" alt="Collaboration graph"/></div>
|
||
<map name="aPFitterFcn_coll__map" id="aPFitterFcn_coll__map">
|
||
<area shape="rect" title="Objective function interface for ROOT Minuit2 minimization." alt="" coords="1107,56,1191,84"/>
|
||
<area shape="rect" title=" " alt="" coords="776,31,945,58"/>
|
||
<area shape="poly" title=" " alt="" coords="961,51,1106,64,1106,69,960,56"/>
|
||
<area shape="rect" href="classPRunListCollection.html" title="Manager class for all processed μSR run data during fitting." alt="" coords="793,83,928,110"/>
|
||
<area shape="poly" title=" " alt="" coords="944,93,1012,90,1082,83,1106,78,1107,84,1083,88,1012,95,944,99"/>
|
||
<area shape="rect" href="classPMsrHandler.html" title="MSR file parser and manager for the musrfit framework." alt="" coords="313,84,414,112"/>
|
||
<area shape="poly" title=" " alt="" coords="429,99,551,103,692,103,792,98,792,104,692,108,551,108,429,104"/>
|
||
<area shape="rect" href="classPRunDataHandler.html" title="Raw data file reader and format converter for μSR data." alt="" coords="563,49,692,77"/>
|
||
<area shape="poly" title=" " alt="" coords="428,87,562,69,563,74,429,92"/>
|
||
<area shape="rect" href="structPStartupOptions.html" title=" " alt="" coords="21,5,142,33"/>
|
||
<area shape="poly" title=" " alt="" coords="158,27,219,39,283,57,337,81,335,86,281,62,218,44,157,32"/>
|
||
<area shape="rect" href="classPMsrGlobalBlock.html" title=" " alt="" coords="19,57,144,85"/>
|
||
<area shape="poly" title=" " alt="" coords="160,76,313,90,312,96,159,81"/>
|
||
<area shape="rect" href="structPMsrFourierStructure.html" title=" " alt="" coords="7,109,156,137"/>
|
||
<area shape="poly" title=" " alt="" coords="171,122,281,115,312,109,313,114,282,120,171,127"/>
|
||
<area shape="rect" href="structPMsrStatisticStructure.html" title=" " alt="" coords="5,161,158,189"/>
|
||
<area shape="poly" title=" " alt="" coords="173,167,227,159,281,144,314,128,342,110,345,115,316,133,283,149,228,164,174,173"/>
|
||
<area shape="poly" title=" " alt="" coords="708,72,793,84,792,89,707,77"/>
|
||
<area shape="rect" href="structPAny2ManyInfo.html" title=" " alt="" coords="306,12,421,40"/>
|
||
<area shape="poly" title=" " alt="" coords="437,33,563,51,562,57,436,39"/>
|
||
</map>
|
||
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
||
<table class="memberdecls">
|
||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||
Public Member Functions</h2></td></tr>
|
||
<tr class="memitem:aca141b73bdd8ea1648e24e10d873071f" id="r_aca141b73bdd8ea1648e24e10d873071f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#aca141b73bdd8ea1648e24e10d873071f">PFitterFcn</a> (<a class="el" href="classPRunListCollection.html">PRunListCollection</a> *runList, Bool_t useChi2)</td></tr>
|
||
<tr class="memdesc:aca141b73bdd8ea1648e24e10d873071f"><td class="mdescLeft"> </td><td class="mdescRight">Constructor for objective function. <br /></td></tr>
|
||
<tr class="separator:aca141b73bdd8ea1648e24e10d873071f"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a583614a566b194b6af759a13faee8b16" id="r_a583614a566b194b6af759a13faee8b16"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a583614a566b194b6af759a13faee8b16">~PFitterFcn</a> ()</td></tr>
|
||
<tr class="memdesc:a583614a566b194b6af759a13faee8b16"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br /></td></tr>
|
||
<tr class="separator:a583614a566b194b6af759a13faee8b16"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:abd14f65dc42f918087a8d19caab6974b" id="r_abd14f65dc42f918087a8d19caab6974b"><td class="memItemLeft" align="right" valign="top">Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#abd14f65dc42f918087a8d19caab6974b">Up</a> () const</td></tr>
|
||
<tr class="memdesc:abd14f65dc42f918087a8d19caab6974b"><td class="mdescLeft"> </td><td class="mdescRight">Returns error definition for Minuit2 (Up value). <br /></td></tr>
|
||
<tr class="separator:abd14f65dc42f918087a8d19caab6974b"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a8d4e0fcd2a1cab6c700167c568dc1a05" id="r_a8d4e0fcd2a1cab6c700167c568dc1a05"><td class="memItemLeft" align="right" valign="top">Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8d4e0fcd2a1cab6c700167c568dc1a05">operator()</a> (const std::vector< Double_t > &par) const</td></tr>
|
||
<tr class="memdesc:a8d4e0fcd2a1cab6c700167c568dc1a05"><td class="mdescLeft"> </td><td class="mdescRight">Evaluates objective function for given parameters. <br /></td></tr>
|
||
<tr class="separator:a8d4e0fcd2a1cab6c700167c568dc1a05"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aea2f1368f2c5c1846edfda4b3643a330" id="r_aea2f1368f2c5c1846edfda4b3643a330"><td class="memItemLeft" align="right" valign="top">UInt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#aea2f1368f2c5c1846edfda4b3643a330">GetTotalNoOfFittedBins</a> ()</td></tr>
|
||
<tr class="memdesc:aea2f1368f2c5c1846edfda4b3643a330"><td class="mdescLeft"> </td><td class="mdescRight">Returns total number of bins used in the fit across all runs. <br /></td></tr>
|
||
<tr class="separator:aea2f1368f2c5c1846edfda4b3643a330"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a1e76d7c877c209890a9be768c687f916" id="r_a1e76d7c877c209890a9be768c687f916"><td class="memItemLeft" align="right" valign="top">UInt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1e76d7c877c209890a9be768c687f916">GetNoOfFittedBins</a> (const UInt_t idx)</td></tr>
|
||
<tr class="memdesc:a1e76d7c877c209890a9be768c687f916"><td class="mdescLeft"> </td><td class="mdescRight">Returns number of fitted bins for a specific run. <br /></td></tr>
|
||
<tr class="separator:a1e76d7c877c209890a9be768c687f916"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a47dd253617cb0347c5dfe23a3b0bad8e" id="r_a47dd253617cb0347c5dfe23a3b0bad8e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a47dd253617cb0347c5dfe23a3b0bad8e">CalcExpectedChiSquare</a> (const std::vector< Double_t > &par, Double_t &totalExpectedChisq, std::vector< Double_t > &expectedChisqPerRun)</td></tr>
|
||
<tr class="memdesc:a47dd253617cb0347c5dfe23a3b0bad8e"><td class="mdescLeft"> </td><td class="mdescRight">Calculates expected χ² (or maxLH) for quality assessment. <br /></td></tr>
|
||
<tr class="separator:a47dd253617cb0347c5dfe23a3b0bad8e"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table><table class="memberdecls">
|
||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
|
||
Private Attributes</h2></td></tr>
|
||
<tr class="memitem:a6a7c88008d214c406f905e88880eb82c" id="r_a6a7c88008d214c406f905e88880eb82c"><td class="memItemLeft" align="right" valign="top">Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6a7c88008d214c406f905e88880eb82c">fUp</a></td></tr>
|
||
<tr class="memdesc:a6a7c88008d214c406f905e88880eb82c"><td class="mdescLeft"> </td><td class="mdescRight">Error definition: 1.0 for χ² (1σ = Δχ²=1), 0.5 for maxLH (1σ = ΔmaxLH=0.5) <br /></td></tr>
|
||
<tr class="separator:a6a7c88008d214c406f905e88880eb82c"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ac8bd7bd48c10a805d6d3735106b51d4f" id="r_ac8bd7bd48c10a805d6d3735106b51d4f"><td class="memItemLeft" align="right" valign="top">Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac8bd7bd48c10a805d6d3735106b51d4f">fUseChi2</a></td></tr>
|
||
<tr class="memdesc:ac8bd7bd48c10a805d6d3735106b51d4f"><td class="mdescLeft"> </td><td class="mdescRight">Fit mode flag: true = χ² minimization, false = max log-likelihood. <br /></td></tr>
|
||
<tr class="separator:ac8bd7bd48c10a805d6d3735106b51d4f"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a0a9887fbd00a8df475cd6127e1f4c80e" id="r_a0a9887fbd00a8df475cd6127e1f4c80e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPRunListCollection.html">PRunListCollection</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0a9887fbd00a8df475cd6127e1f4c80e">fRunListCollection</a></td></tr>
|
||
<tr class="memdesc:a0a9887fbd00a8df475cd6127e1f4c80e"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to preprocessed muSR data collection. <br /></td></tr>
|
||
<tr class="separator:a0a9887fbd00a8df475cd6127e1f4c80e"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table>
|
||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||
<div class="textblock"><p>Objective function interface for ROOT Minuit2 minimization. </p>
|
||
<p>This class implements the FCNBase interface required by ROOT's Minuit2 minimizer. It provides the objective function (χ² or log-likelihood) that Minuit2 minimizes during parameter optimization.</p>
|
||
<p>The class serves as a bridge between musrfit's data structures (<a class="el" href="classPRunListCollection.html" title="Manager class for all processed μSR run data during fitting.">PRunListCollection</a>) and Minuit2's optimization algorithms, calculating the goodness-of-fit measure for any given parameter set.</p>
|
||
<dl class="section user"><dt>Fitting modes:</dt><dd><ul>
|
||
<li><b>χ² minimization:</b> Standard least-squares fitting for Gaussian errors</li>
|
||
<li><b>Maximum likelihood:</b> Poisson statistics, better for low-count data</li>
|
||
</ul>
|
||
</dd></dl>
|
||
<dl class="section user"><dt>Usage in fitting workflow:</dt><dd><ol type="1">
|
||
<li><a class="el" href="classPFitter.html">PFitter</a> creates a <a class="el" href="classPFitterFcn.html" title="Objective function interface for ROOT Minuit2 minimization.">PFitterFcn</a> instance with data and fit mode</li>
|
||
<li>Minuit2 calls <a class="el" href="#a8d4e0fcd2a1cab6c700167c568dc1a05" title="Evaluates objective function for given parameters.">operator()()</a> repeatedly with trial parameter sets</li>
|
||
<li><a class="el" href="#a8d4e0fcd2a1cab6c700167c568dc1a05" title="Evaluates objective function for given parameters.">operator()()</a> calculates χ²/maxLH by evaluating theory vs. data</li>
|
||
<li>Minuit2 searches parameter space to minimize the returned value</li>
|
||
<li><a class="el" href="#abd14f65dc42f918087a8d19caab6974b" title="Returns error definition for Minuit2 (Up value).">Up()</a> defines the error criterion (Δχ²=1 or ΔmaxLH=0.5 for 1σ)</li>
|
||
</ol>
|
||
</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPFitter.html">PFitter</a>, <a class="el" href="classPRunListCollection.html" title="Manager class for all processed μSR run data during fitting.">PRunListCollection</a> </dd>
|
||
<dd>
|
||
ROOT::Minuit2::FCNBase in ROOT Minuit2 documentation </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8h_source.html#l00065">65</a> of file <a class="el" href="PFitterFcn_8h_source.html">PFitterFcn.h</a>.</p>
|
||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||
<a id="aca141b73bdd8ea1648e24e10d873071f" name="aca141b73bdd8ea1648e24e10d873071f"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aca141b73bdd8ea1648e24e10d873071f">◆ </a></span>PFitterFcn()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">PFitterFcn::PFitterFcn </td>
|
||
<td>(</td>
|
||
<td class="paramtype"><a class="el" href="classPRunListCollection.html">PRunListCollection</a> *</td> <td class="paramname"><span class="paramname"><em>runList</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">Bool_t</td> <td class="paramname"><span class="paramname"><em>useChi2</em></span> )</td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Constructor for objective function. </p>
|
||
<p>Initializes the function evaluator with preprocessed data and configures the error definition based on the fitting mode.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">runList</td><td>Pointer to collection of preprocessed run data </td></tr>
|
||
<tr><td class="paramname">useChi2</td><td>If true, use χ² minimization; if false, use maximum likelihood</td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section note"><dt>Note</dt><dd>The runList pointer must remain valid for the lifetime of this object.</dd></dl>
|
||
<p>Constructor.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">runList</td><td>run list collection </td></tr>
|
||
<tr><td class="paramname">useChi2</td><td>if true, a chisq fit will be performed, otherwise a log max-likelihood fit will be carried out. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8cpp_source.html#l00041">41</a> of file <a class="el" href="PFitterFcn_8cpp_source.html">PFitterFcn.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PFitterFcn_8h_source.html#l00168">fRunListCollection</a>, <a class="el" href="PFitterFcn_8h_source.html#l00166">fUp</a>, and <a class="el" href="PFitterFcn_8h_source.html#l00167">fUseChi2</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a583614a566b194b6af759a13faee8b16" name="a583614a566b194b6af759a13faee8b16"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a583614a566b194b6af759a13faee8b16">◆ </a></span>~PFitterFcn()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">PFitterFcn::~PFitterFcn </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td></td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Destructor. </p>
|
||
<p>Destructor </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8cpp_source.html#l00059">59</a> of file <a class="el" href="PFitterFcn_8cpp_source.html">PFitterFcn.cpp</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<h2 class="groupheader">Member Function Documentation</h2>
|
||
<a id="a47dd253617cb0347c5dfe23a3b0bad8e" name="a47dd253617cb0347c5dfe23a3b0bad8e"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a47dd253617cb0347c5dfe23a3b0bad8e">◆ </a></span>CalcExpectedChiSquare()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">void PFitterFcn::CalcExpectedChiSquare </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const std::vector< Double_t > &</td> <td class="paramname"><span class="paramname"><em>par</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">Double_t &</td> <td class="paramname"><span class="paramname"><em>totalExpectedChisq</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">std::vector< Double_t > &</td> <td class="paramname"><span class="paramname"><em>expectedChisqPerRun</em></span> )</td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Calculates expected χ² (or maxLH) for quality assessment. </p>
|
||
<p>Computes the theoretical expected value of χ² assuming the model is correct. This is used to assess goodness-of-fit:</p><ul>
|
||
<li>If observed χ² ≈ expected χ²: fit is consistent with data quality</li>
|
||
<li>If observed χ² >> expected χ²: systematic deviations present</li>
|
||
<li>If observed χ² << expected χ²: possible overestimated errors</li>
|
||
</ul>
|
||
<p>For single histogram fits, expected χ² = NDF. For asymmetry fits, the calculation is more complex due to error propagation.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector for evaluation </td></tr>
|
||
<tr><td class="paramname">totalExpectedChisq</td><td>Returns total expected χ²/maxLH (output) </td></tr>
|
||
<tr><td class="paramname">expectedChisqPerRun</td><td>Returns expected χ²/maxLH for each run (output)</td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section note"><dt>Note</dt><dd>The expectedChisqPerRun vector is resized and filled by this method.</dd></dl>
|
||
<p>Calculates the expected chisq, expected chisq per run, and chisq per run, if applicable.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td></td></tr>
|
||
<tr><td class="paramname">totalExpectedChisq</td><td>expected chisq for all run blocks </td></tr>
|
||
<tr><td class="paramname">expectedChisqPerRun</td><td>expected chisq vector for all the run blocks </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8cpp_source.html#l00106">106</a> of file <a class="el" href="PFitterFcn_8cpp_source.html">PFitterFcn.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PFitterFcn_8h_source.html#l00168">fRunListCollection</a>, and <a class="el" href="PFitterFcn_8h_source.html#l00167">fUseChi2</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a1e76d7c877c209890a9be768c687f916" name="a1e76d7c877c209890a9be768c687f916"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a1e76d7c877c209890a9be768c687f916">◆ </a></span>GetNoOfFittedBins()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">UInt_t PFitterFcn::GetNoOfFittedBins </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const UInt_t</td> <td class="paramname"><span class="paramname"><em>idx</em></span></td><td>)</td>
|
||
<td></td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Returns number of fitted bins for a specific run. </p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">idx</td><td>Run index (0-based) </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Number of bins fitted for the specified run </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8h_source.html#l00142">142</a> of file <a class="el" href="PFitterFcn_8h_source.html">PFitterFcn.h</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PFitterFcn_8h_source.html#l00168">fRunListCollection</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="aea2f1368f2c5c1846edfda4b3643a330" name="aea2f1368f2c5c1846edfda4b3643a330"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aea2f1368f2c5c1846edfda4b3643a330">◆ </a></span>GetTotalNoOfFittedBins()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">UInt_t PFitterFcn::GetTotalNoOfFittedBins </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td></td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Returns total number of bins used in the fit across all runs. </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Total count of fitted bins (summed over all runs) </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8h_source.html#l00133">133</a> of file <a class="el" href="PFitterFcn_8h_source.html">PFitterFcn.h</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PFitterFcn_8h_source.html#l00168">fRunListCollection</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a8d4e0fcd2a1cab6c700167c568dc1a05" name="a8d4e0fcd2a1cab6c700167c568dc1a05"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a8d4e0fcd2a1cab6c700167c568dc1a05">◆ </a></span>operator()()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Double_t PFitterFcn::operator() </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const std::vector< Double_t > &</td> <td class="paramname"><span class="paramname"><em>par</em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Evaluates objective function for given parameters. </p>
|
||
<p>This is the core function called by Minuit2 during minimization. It computes either χ² or negative log-likelihood by:</p><ol type="1">
|
||
<li>Passing parameters to <a class="el" href="classPRunListCollection.html" title="Manager class for all processed μSR run data during fitting.">PRunListCollection</a></li>
|
||
<li>Calculating theory predictions for all runs</li>
|
||
<li>Comparing theory vs. data across all fitted bins</li>
|
||
<li>Returning the total χ²/maxLH value</li>
|
||
</ol>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector with current trial values </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>χ² value (if fUseChi2=true) or -2×log-likelihood (if fUseChi2=false)</dd></dl>
|
||
<dl class="section note"><dt>Note</dt><dd>This function must be const as required by FCNBase interface. </dd>
|
||
<dd>
|
||
For likelihood fits, returns -2×ln(L) so minimization is equivalent to maximizing L.</dd></dl>
|
||
<dl class="section user"><dt>Performance:</dt><dd>This function is called hundreds to thousands of times during a fit, so it's optimized for speed (parallel evaluation if OpenMP enabled).</dd></dl>
|
||
<p>Minuit2 interface function call routine. This is the function which should be minimized.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>a vector with all the parameters of the function </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8cpp_source.html#l00071">71</a> of file <a class="el" href="PFitterFcn_8cpp_source.html">PFitterFcn.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PFitterFcn_8h_source.html#l00168">fRunListCollection</a>, and <a class="el" href="PFitterFcn_8h_source.html#l00167">fUseChi2</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="abd14f65dc42f918087a8d19caab6974b" name="abd14f65dc42f918087a8d19caab6974b"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#abd14f65dc42f918087a8d19caab6974b">◆ </a></span>Up()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Double_t PFitterFcn::Up </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td> const</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Returns error definition for Minuit2 (Up value). </p>
|
||
<p>The "Up" value defines what change in the objective function corresponds to 1σ error bars on parameters:</p><ul>
|
||
<li>For χ² fits: Up = 1.0 (parabolic errors, Δχ²=1)</li>
|
||
<li>For max likelihood: Up = 0.5 (asymmetric errors, ΔmaxLH=0.5)</li>
|
||
</ul>
|
||
<p>This value is used by Minuit2's error analysis algorithms (HESSE, MINOS).</p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Error definition value (1.0 for χ², 0.5 for likelihood)</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd>ROOT::Minuit2::FCNBase::Up() in Minuit2 manual </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8h_source.html#l00102">102</a> of file <a class="el" href="PFitterFcn_8h_source.html">PFitterFcn.h</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PFitterFcn_8h_source.html#l00166">fUp</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<h2 class="groupheader">Member Data Documentation</h2>
|
||
<a id="a0a9887fbd00a8df475cd6127e1f4c80e" name="a0a9887fbd00a8df475cd6127e1f4c80e"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a0a9887fbd00a8df475cd6127e1f4c80e">◆ </a></span>fRunListCollection</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname"><a class="el" href="classPRunListCollection.html">PRunListCollection</a>* PFitterFcn::fRunListCollection</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Pointer to preprocessed muSR data collection. </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8h_source.html#l00168">168</a> of file <a class="el" href="PFitterFcn_8h_source.html">PFitterFcn.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PFitterFcn_8cpp_source.html#l00106">CalcExpectedChiSquare()</a>, <a class="el" href="PFitterFcn_8h_source.html#l00142">GetNoOfFittedBins()</a>, <a class="el" href="PFitterFcn_8h_source.html#l00133">GetTotalNoOfFittedBins()</a>, <a class="el" href="PFitterFcn_8cpp_source.html#l00071">operator()()</a>, and <a class="el" href="PFitterFcn_8cpp_source.html#l00041">PFitterFcn()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a6a7c88008d214c406f905e88880eb82c" name="a6a7c88008d214c406f905e88880eb82c"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a6a7c88008d214c406f905e88880eb82c">◆ </a></span>fUp</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Double_t PFitterFcn::fUp</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Error definition: 1.0 for χ² (1σ = Δχ²=1), 0.5 for maxLH (1σ = ΔmaxLH=0.5) </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8h_source.html#l00166">166</a> of file <a class="el" href="PFitterFcn_8h_source.html">PFitterFcn.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PFitterFcn_8cpp_source.html#l00041">PFitterFcn()</a>, and <a class="el" href="PFitterFcn_8h_source.html#l00102">Up()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ac8bd7bd48c10a805d6d3735106b51d4f" name="ac8bd7bd48c10a805d6d3735106b51d4f"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ac8bd7bd48c10a805d6d3735106b51d4f">◆ </a></span>fUseChi2</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PFitterFcn::fUseChi2</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Fit mode flag: true = χ² minimization, false = max log-likelihood. </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PFitterFcn_8h_source.html#l00167">167</a> of file <a class="el" href="PFitterFcn_8h_source.html">PFitterFcn.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PFitterFcn_8cpp_source.html#l00106">CalcExpectedChiSquare()</a>, <a class="el" href="PFitterFcn_8cpp_source.html#l00071">operator()()</a>, and <a class="el" href="PFitterFcn_8cpp_source.html#l00041">PFitterFcn()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<hr/>The documentation for this class was generated from the following files:<ul>
|
||
<li>/workspace/LMU/musrfit/src/include/<a class="el" href="PFitterFcn_8h_source.html">PFitterFcn.h</a></li>
|
||
<li>/workspace/LMU/musrfit/src/classes/<a class="el" href="PFitterFcn_8cpp_source.html">PFitterFcn.cpp</a></li>
|
||
</ul>
|
||
</div><!-- contents -->
|
||
</div><!-- doc-content -->
|
||
<!-- start footer part -->
|
||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||
<ul>
|
||
<li class="navelem"><a class="el" href="classPFitterFcn.html">PFitterFcn</a></li>
|
||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
|
||
</ul>
|
||
</div>
|
||
</body>
|
||
</html>
|