Files
musrfit/classPFitter.html
Gitea Actions 8a8eac55b7 Deploy site
2025-12-27 12:57:44 +00:00

2354 lines
147 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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: PFitter 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">&#160;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&amp;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&amp;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&amp;dn=expat.txt MIT */
$(function(){initNavTree('classPFitter.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classPFitter-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">PFitter Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="PFitter_8h_source.html">PFitter.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for PFitter:</div>
<div class="dyncontent">
<div class="center"><img src="classPFitter__coll__graph.png" border="0" usemap="#aPFitter_coll__map" alt="Collaboration graph"/></div>
<map name="aPFitter_coll__map" id="aPFitter_coll__map">
<area shape="rect" title=" " alt="" coords="1094,137,1156,165"/>
<area shape="rect" href="classPMsrHandler.html" title="MSR file parser and manager for the musrfit framework." alt="" coords="313,97,414,125"/>
<area shape="poly" title=" " alt="" coords="429,114,661,130,956,146,1093,148,1093,154,956,151,661,135,429,119"/>
<area shape="rect" href="classPRunListCollection.html" title="Manager class for all processed μSR run data during fitting." alt="" coords="796,97,932,125"/>
<area shape="poly" title=" " alt="" coords="429,108,796,108,796,114,429,114"/>
<area shape="rect" href="classPRunDataHandler.html" title="Raw data file reader and format converter for μSR data." alt="" coords="563,43,692,70"/>
<area shape="poly" title=" " alt="" coords="428,95,562,67,563,72,429,100"/>
<area shape="rect" href="structPStartupOptions.html" title=" " alt="" coords="21,19,142,46"/>
<area shape="poly" title=" " alt="" coords="158,40,219,53,283,70,337,94,335,99,281,75,218,58,157,46"/>
<area shape="rect" href="classPMsrGlobalBlock.html" title=" " alt="" coords="19,71,144,98"/>
<area shape="poly" title=" " alt="" coords="160,89,313,104,312,109,159,94"/>
<area shape="rect" href="structPMsrFourierStructure.html" title=" " alt="" coords="7,123,156,150"/>
<area shape="poly" title=" " alt="" coords="171,135,281,128,312,122,313,128,282,133,171,141"/>
<area shape="rect" href="structPMsrStatisticStructure.html" title=" " alt="" coords="5,175,158,202"/>
<area shape="poly" title=" " alt="" coords="173,181,227,172,281,158,314,142,342,123,345,128,316,146,283,163,228,178,174,186"/>
<area shape="poly" title=" " alt="" coords="948,121,1094,144,1093,149,947,126"/>
<area shape="poly" title=" " alt="" coords="706,72,801,94,800,99,705,77"/>
<area shape="rect" href="structPAny2ManyInfo.html" title=" " alt="" coords="306,5,421,33"/>
<area shape="poly" title=" " alt="" coords="437,27,563,45,562,50,436,32"/>
</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:a981b523e5ca5f7cd66e01e2c45135d2b" id="r_a981b523e5ca5f7cd66e01e2c45135d2b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a981b523e5ca5f7cd66e01e2c45135d2b">PFitter</a> (<a class="el" href="classPMsrHandler.html">PMsrHandler</a> *runInfo, <a class="el" href="classPRunListCollection.html">PRunListCollection</a> *runListCollection, Bool_t chisq_only=false, Bool_t yaml_out=false)</td></tr>
<tr class="memdesc:a981b523e5ca5f7cd66e01e2c45135d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for the fitting engine. <br /></td></tr>
<tr class="separator:a981b523e5ca5f7cd66e01e2c45135d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a711ce9d116c066221fc72527f598abab" id="r_a711ce9d116c066221fc72527f598abab"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a711ce9d116c066221fc72527f598abab">~PFitter</a> ()</td></tr>
<tr class="memdesc:a711ce9d116c066221fc72527f598abab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor - Cleans up dynamically allocated resources. <br /></td></tr>
<tr class="separator:a711ce9d116c066221fc72527f598abab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11e3f97aa99203a610016a12ecdf241d" id="r_a11e3f97aa99203a610016a12ecdf241d"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a11e3f97aa99203a610016a12ecdf241d">IsValid</a> ()</td></tr>
<tr class="separator:a11e3f97aa99203a610016a12ecdf241d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a742aeacd1ce2f018b42d6283d6229623" id="r_a742aeacd1ce2f018b42d6283d6229623"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a742aeacd1ce2f018b42d6283d6229623">IsScanOnly</a> ()</td></tr>
<tr class="separator:a742aeacd1ce2f018b42d6283d6229623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21a2b58e59bc5a8920f41b618855319a" id="r_a21a2b58e59bc5a8920f41b618855319a"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a21a2b58e59bc5a8920f41b618855319a">HasConverged</a> ()</td></tr>
<tr class="separator:a21a2b58e59bc5a8920f41b618855319a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a399447637761beccd19714caec025339" id="r_a399447637761beccd19714caec025339"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a399447637761beccd19714caec025339">DoFit</a> ()</td></tr>
<tr class="memdesc:a399447637761beccd19714caec025339"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main entry point for executing the fit. <br /></td></tr>
<tr class="separator:a399447637761beccd19714caec025339"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a8e9e7d418fa0adaf0f75581b8409d5e9" id="r_a8e9e7d418fa0adaf0f75581b8409d5e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8e9e7d418fa0adaf0f75581b8409d5e9">GetPhaseParams</a> ()</td></tr>
<tr class="memdesc:a8e9e7d418fa0adaf0f75581b8409d5e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identifies which parameters represent phase angles. <br /></td></tr>
<tr class="separator:a8e9e7d418fa0adaf0f75581b8409d5e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50cc50f520008b475796800c61127827" id="r_a50cc50f520008b475796800c61127827"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a50cc50f520008b475796800c61127827">GetParFromFun</a> (const TString funStr)</td></tr>
<tr class="memdesc:a50cc50f520008b475796800c61127827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts parameter numbers from a FUNCTIONS block entry. <br /></td></tr>
<tr class="separator:a50cc50f520008b475796800c61127827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae4edca748b0934d6ea96fe9db7f83f2" id="r_aae4edca748b0934d6ea96fe9db7f83f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aae4edca748b0934d6ea96fe9db7f83f2">GetParFromMap</a> (const TString mapStr)</td></tr>
<tr class="memdesc:aae4edca748b0934d6ea96fe9db7f83f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts parameter numbers from a map reference. <br /></td></tr>
<tr class="separator:aae4edca748b0934d6ea96fe9db7f83f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3961503e41b84dc8cc683ce274d2300" id="r_ac3961503e41b84dc8cc683ce274d2300"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac3961503e41b84dc8cc683ce274d2300">CheckCommands</a> ()</td></tr>
<tr class="memdesc:ac3961503e41b84dc8cc683ce274d2300"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validates COMMANDS block syntax and builds execution queue. <br /></td></tr>
<tr class="separator:ac3961503e41b84dc8cc683ce274d2300"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a822fe28451f360fcda2aa7a334a63b16" id="r_a822fe28451f360fcda2aa7a334a63b16"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a822fe28451f360fcda2aa7a334a63b16">SetParameters</a> ()</td></tr>
<tr class="memdesc:a822fe28451f360fcda2aa7a334a63b16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfers MSR parameters to Minuit2 parameter state. <br /></td></tr>
<tr class="separator:a822fe28451f360fcda2aa7a334a63b16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a069a60f7cbb859b0bc0f4b63168dbfde" id="r_a069a60f7cbb859b0bc0f4b63168dbfde"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a069a60f7cbb859b0bc0f4b63168dbfde">ExecuteContours</a> ()</td></tr>
<tr class="memdesc:a069a60f7cbb859b0bc0f4b63168dbfde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes CONTOURS command (2D error contours). <br /></td></tr>
<tr class="separator:a069a60f7cbb859b0bc0f4b63168dbfde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc32e99737b3abd781f06da5649ebd35" id="r_acc32e99737b3abd781f06da5649ebd35"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acc32e99737b3abd781f06da5649ebd35">ExecuteFitRange</a> (UInt_t lineNo)</td></tr>
<tr class="memdesc:acc32e99737b3abd781f06da5649ebd35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes FIT_RANGE command (optimal time-window search). <br /></td></tr>
<tr class="separator:acc32e99737b3abd781f06da5649ebd35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad40bd35fd795fa4be1e556a6042f4f88" id="r_ad40bd35fd795fa4be1e556a6042f4f88"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad40bd35fd795fa4be1e556a6042f4f88">ExecuteFix</a> (UInt_t lineNo)</td></tr>
<tr class="memdesc:ad40bd35fd795fa4be1e556a6042f4f88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes FIX command (freeze parameters). <br /></td></tr>
<tr class="separator:ad40bd35fd795fa4be1e556a6042f4f88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9eb9b1257133ddacf57332dbca711943" id="r_a9eb9b1257133ddacf57332dbca711943"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9eb9b1257133ddacf57332dbca711943">ExecuteHesse</a> ()</td></tr>
<tr class="memdesc:a9eb9b1257133ddacf57332dbca711943"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes HESSE command (calculate error matrix). <br /></td></tr>
<tr class="separator:a9eb9b1257133ddacf57332dbca711943"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ababcfdb8205db798c84562afe70bad91" id="r_ababcfdb8205db798c84562afe70bad91"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ababcfdb8205db798c84562afe70bad91">ExecuteMigrad</a> ()</td></tr>
<tr class="memdesc:ababcfdb8205db798c84562afe70bad91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes MIGRAD command (gradient descent minimization). <br /></td></tr>
<tr class="separator:ababcfdb8205db798c84562afe70bad91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6523d1625c35a57caed401f9348c5ff" id="r_ab6523d1625c35a57caed401f9348c5ff"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab6523d1625c35a57caed401f9348c5ff">ExecuteMinimize</a> ()</td></tr>
<tr class="memdesc:ab6523d1625c35a57caed401f9348c5ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes MINIMIZE command (automatic algorithm selection). <br /></td></tr>
<tr class="separator:ab6523d1625c35a57caed401f9348c5ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad0102694c267a1ddf497e6bc7cc9646" id="r_aad0102694c267a1ddf497e6bc7cc9646"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aad0102694c267a1ddf497e6bc7cc9646">ExecuteMinos</a> ()</td></tr>
<tr class="memdesc:aad0102694c267a1ddf497e6bc7cc9646"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes MINOS command (asymmetric error analysis). <br /></td></tr>
<tr class="separator:aad0102694c267a1ddf497e6bc7cc9646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08e3d9eb88730d1d4e9ab4b7d9a2b708" id="r_a08e3d9eb88730d1d4e9ab4b7d9a2b708"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a08e3d9eb88730d1d4e9ab4b7d9a2b708">ExecutePlot</a> ()</td></tr>
<tr class="memdesc:a08e3d9eb88730d1d4e9ab4b7d9a2b708"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes PLOT command (visualize scan/contour results). <br /></td></tr>
<tr class="separator:a08e3d9eb88730d1d4e9ab4b7d9a2b708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23f49efc107e75d189c2163aaffd406f" id="r_a23f49efc107e75d189c2163aaffd406f"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a23f49efc107e75d189c2163aaffd406f">ExecutePrintLevel</a> (UInt_t lineNo)</td></tr>
<tr class="memdesc:a23f49efc107e75d189c2163aaffd406f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes PRINT command (set verbosity level). <br /></td></tr>
<tr class="separator:a23f49efc107e75d189c2163aaffd406f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab691691ca5d7cee66a16043c5c41940" id="r_aab691691ca5d7cee66a16043c5c41940"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aab691691ca5d7cee66a16043c5c41940">ExecuteRelease</a> (UInt_t lineNo)</td></tr>
<tr class="memdesc:aab691691ca5d7cee66a16043c5c41940"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes RELEASE command (unfreeze parameters). <br /></td></tr>
<tr class="separator:aab691691ca5d7cee66a16043c5c41940"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3094e6b657951d8d4a5ad934c2eb31a" id="r_ac3094e6b657951d8d4a5ad934c2eb31a"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac3094e6b657951d8d4a5ad934c2eb31a">ExecuteRestore</a> ()</td></tr>
<tr class="memdesc:ac3094e6b657951d8d4a5ad934c2eb31a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes RESTORE command (reload saved parameters). <br /></td></tr>
<tr class="separator:ac3094e6b657951d8d4a5ad934c2eb31a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f91281f9274f4dfe192a89e5b8b1069" id="r_a5f91281f9274f4dfe192a89e5b8b1069"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f91281f9274f4dfe192a89e5b8b1069">ExecuteScan</a> ()</td></tr>
<tr class="memdesc:a5f91281f9274f4dfe192a89e5b8b1069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes SCAN command (1D parameter space scan). <br /></td></tr>
<tr class="separator:a5f91281f9274f4dfe192a89e5b8b1069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a631cacca453cf66db5b944437cf507dd" id="r_a631cacca453cf66db5b944437cf507dd"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a631cacca453cf66db5b944437cf507dd">ExecuteSave</a> (Bool_t first)</td></tr>
<tr class="memdesc:a631cacca453cf66db5b944437cf507dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes SAVE command (store current parameters). <br /></td></tr>
<tr class="separator:a631cacca453cf66db5b944437cf507dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a08f7f6e29868337846a4d5f984a693" id="r_a7a08f7f6e29868337846a4d5f984a693"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7a08f7f6e29868337846a4d5f984a693">ExecuteSimplex</a> ()</td></tr>
<tr class="memdesc:a7a08f7f6e29868337846a4d5f984a693"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes SIMPLEX command (non-gradient minimization). <br /></td></tr>
<tr class="separator:a7a08f7f6e29868337846a4d5f984a693"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad62d0c925845fc266a07d26e12f28507" id="r_ad62d0c925845fc266a07d26e12f28507"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad62d0c925845fc266a07d26e12f28507">PrepareSector</a> (<a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;param, <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;error)</td></tr>
<tr class="memdesc:ad62d0c925845fc266a07d26e12f28507"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepares sector χ² analysis data structures. <br /></td></tr>
<tr class="separator:ad62d0c925845fc266a07d26e12f28507"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85b2a235f516f062d62e295f08ffdf60" id="r_a85b2a235f516f062d62e295f08ffdf60"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a85b2a235f516f062d62e295f08ffdf60">ExecuteSector</a> (std::ofstream &amp;fout)</td></tr>
<tr class="memdesc:a85b2a235f516f062d62e295f08ffdf60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes SECTOR command (time-dependent χ² analysis). <br /></td></tr>
<tr class="separator:a85b2a235f516f062d62e295f08ffdf60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a313a48146cbacbf181a56838d5c52087" id="r_a313a48146cbacbf181a56838d5c52087"><td class="memItemLeft" align="right" valign="top">Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a313a48146cbacbf181a56838d5c52087">MilliTime</a> ()</td></tr>
<tr class="memdesc:a313a48146cbacbf181a56838d5c52087"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current time in milliseconds. <br /></td></tr>
<tr class="separator:a313a48146cbacbf181a56838d5c52087"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65dbfc5c91cea7c5d4577f14cf6e371b" id="r_a65dbfc5c91cea7c5d4577f14cf6e371b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a65dbfc5c91cea7c5d4577f14cf6e371b">ParamRound</a> (const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;par, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;err, Bool_t &amp;ok)</td></tr>
<tr class="memdesc:a65dbfc5c91cea7c5d4577f14cf6e371b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rounds parameters for output with appropriate precision. <br /></td></tr>
<tr class="separator:a65dbfc5c91cea7c5d4577f14cf6e371b"><td class="memSeparator" colspan="2">&#160;</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:a18224fc86af43dcac49a5353ebeca614" id="r_a18224fc86af43dcac49a5353ebeca614"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a18224fc86af43dcac49a5353ebeca614">fIsValid</a></td></tr>
<tr class="memdesc:a18224fc86af43dcac49a5353ebeca614"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overall validity flag: true if fitter initialized successfully. <br /></td></tr>
<tr class="separator:a18224fc86af43dcac49a5353ebeca614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f97d44fb0b291f7af9d01579c0e406c" id="r_a6f97d44fb0b291f7af9d01579c0e406c"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f97d44fb0b291f7af9d01579c0e406c">fIsScanOnly</a></td></tr>
<tr class="memdesc:a6f97d44fb0b291f7af9d01579c0e406c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan mode flag: true if only parameter scans requested (no minimization) <br /></td></tr>
<tr class="separator:a6f97d44fb0b291f7af9d01579c0e406c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac41618f0b66f7ef4bfed953e9fea79bd" id="r_ac41618f0b66f7ef4bfed953e9fea79bd"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac41618f0b66f7ef4bfed953e9fea79bd">fConverged</a></td></tr>
<tr class="memdesc:ac41618f0b66f7ef4bfed953e9fea79bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convergence flag: true if fit converged to a valid minimum. <br /></td></tr>
<tr class="separator:ac41618f0b66f7ef4bfed953e9fea79bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6b16f7adb7f4ebff7c6348aaa65f5b4" id="r_ac6b16f7adb7f4ebff7c6348aaa65f5b4"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac6b16f7adb7f4ebff7c6348aaa65f5b4">fChisqOnly</a></td></tr>
<tr class="memdesc:ac6b16f7adb7f4ebff7c6348aaa65f5b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluation-only flag: true to calculate χ² without fitting. <br /></td></tr>
<tr class="separator:ac6b16f7adb7f4ebff7c6348aaa65f5b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56ae801deb287de03641d87b6461d9f8" id="r_a56ae801deb287de03641d87b6461d9f8"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a56ae801deb287de03641d87b6461d9f8">fYamlOut</a></td></tr>
<tr class="memdesc:a56ae801deb287de03641d87b6461d9f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output flag: true to generate YAML output file (MINUIT2.OUTPUT → yaml) <br /></td></tr>
<tr class="separator:a56ae801deb287de03641d87b6461d9f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec873931299b3bfab3b0d07d3f3cc719" id="r_aec873931299b3bfab3b0d07d3f3cc719"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aec873931299b3bfab3b0d07d3f3cc719">fUseChi2</a></td></tr>
<tr class="memdesc:aec873931299b3bfab3b0d07d3f3cc719"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fit mode: true = χ² minimization, false = log-max-likelihood. <br /></td></tr>
<tr class="separator:aec873931299b3bfab3b0d07d3f3cc719"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62a705860d144d6f0184a9a907c83678" id="r_a62a705860d144d6f0184a9a907c83678"><td class="memItemLeft" align="right" valign="top">UInt_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a62a705860d144d6f0184a9a907c83678">fPrintLevel</a></td></tr>
<tr class="memdesc:a62a705860d144d6f0184a9a907c83678"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verbosity level: 0=quiet, 1=normal, 2=verbose (Minuit output) <br /></td></tr>
<tr class="separator:a62a705860d144d6f0184a9a907c83678"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14588efda750524a6dd0c85a13199919" id="r_a14588efda750524a6dd0c85a13199919"><td class="memItemLeft" align="right" valign="top">UInt_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a14588efda750524a6dd0c85a13199919">fStrategy</a></td></tr>
<tr class="memdesc:a14588efda750524a6dd0c85a13199919"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minuit2 strategy: 0=fast/low-accuracy, 1=default, 2=careful/high-accuracy. <br /></td></tr>
<tr class="separator:a14588efda750524a6dd0c85a13199919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa53dfefa0389c5e3e093bb57bdef3f36" id="r_aa53dfefa0389c5e3e093bb57bdef3f36"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPMsrHandler.html">PMsrHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa53dfefa0389c5e3e093bb57bdef3f36">fRunInfo</a></td></tr>
<tr class="memdesc:aa53dfefa0389c5e3e093bb57bdef3f36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to MSR file handler (parameters, theory, commands) <br /></td></tr>
<tr class="separator:aa53dfefa0389c5e3e093bb57bdef3f36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71fa2a64e6574b4582b21d4efe81991a" id="r_a71fa2a64e6574b4582b21d4efe81991a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPRunListCollection.html">PRunListCollection</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a71fa2a64e6574b4582b21d4efe81991a">fRunListCollection</a></td></tr>
<tr class="memdesc:a71fa2a64e6574b4582b21d4efe81991a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to preprocessed run data collection. <br /></td></tr>
<tr class="separator:a71fa2a64e6574b4582b21d4efe81991a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2c27c84275a04414e67c8bdeaf6b3d6" id="r_aa2c27c84275a04414e67c8bdeaf6b3d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ab08a4f791c8d0001ed434bae845fe95c">PMsrParamList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa2c27c84275a04414e67c8bdeaf6b3d6">fParams</a></td></tr>
<tr class="memdesc:aa2c27c84275a04414e67c8bdeaf6b3d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy of parameter list from MSR file. <br /></td></tr>
<tr class="separator:aa2c27c84275a04414e67c8bdeaf6b3d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f894783312fb9a16e92b8c34141d734" id="r_a7f894783312fb9a16e92b8c34141d734"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7f894783312fb9a16e92b8c34141d734">fCmdLines</a></td></tr>
<tr class="memdesc:a7f894783312fb9a16e92b8c34141d734"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raw command lines from MSR COMMANDS block. <br /></td></tr>
<tr class="separator:a7f894783312fb9a16e92b8c34141d734"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2aa78466f83e1a7329f7efcbdc217b4a" id="r_a2aa78466f83e1a7329f7efcbdc217b4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ace15e033fc9afd308f9fe173c582cf60">PIntPairVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2aa78466f83e1a7329f7efcbdc217b4a">fCmdList</a></td></tr>
<tr class="memdesc:a2aa78466f83e1a7329f7efcbdc217b4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parsed commands: first=command ID, second=line number. <br /></td></tr>
<tr class="separator:a2aa78466f83e1a7329f7efcbdc217b4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2bc81d1e8f0e54d3bededf879a5daa5" id="r_ae2bc81d1e8f0e54d3bededf879a5daa5"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classPFitterFcn.html">PFitterFcn</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae2bc81d1e8f0e54d3bededf879a5daa5">fFitterFcn</a></td></tr>
<tr class="memdesc:ae2bc81d1e8f0e54d3bededf879a5daa5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Objective function for Minuit2 minimization. <br /></td></tr>
<tr class="separator:ae2bc81d1e8f0e54d3bededf879a5daa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9f144668483d590a54dace8fdbd62ed" id="r_ab9f144668483d590a54dace8fdbd62ed"><td class="memItemLeft" align="right" valign="top">ROOT::Minuit2::MnUserParameters&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab9f144668483d590a54dace8fdbd62ed">fMnUserParams</a></td></tr>
<tr class="memdesc:ab9f144668483d590a54dace8fdbd62ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minuit2 parameter state (values, errors, limits) <br /></td></tr>
<tr class="separator:ab9f144668483d590a54dace8fdbd62ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd3b95f1716f479adb1bca83ddc19092" id="r_abd3b95f1716f479adb1bca83ddc19092"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; ROOT::Minuit2::FunctionMinimum &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abd3b95f1716f479adb1bca83ddc19092">fFcnMin</a></td></tr>
<tr class="memdesc:abd3b95f1716f479adb1bca83ddc19092"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minuit2 function minimum result. <br /></td></tr>
<tr class="separator:abd3b95f1716f479adb1bca83ddc19092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a691cf32e8aa08e70159450e3a3dc597b" id="r_a691cf32e8aa08e70159450e3a3dc597b"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a691cf32e8aa08e70159450e3a3dc597b">fScanAll</a></td></tr>
<tr class="memdesc:a691cf32e8aa08e70159450e3a3dc597b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-parameter scan flag: false=1D scan, true=2D scan (not fully implemented) <br /></td></tr>
<tr class="separator:a691cf32e8aa08e70159450e3a3dc597b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3561550a7d70378a1b36971333d0d7a5" id="r_a3561550a7d70378a1b36971333d0d7a5"><td class="memItemLeft" align="right" valign="top">UInt_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3561550a7d70378a1b36971333d0d7a5">fScanParameter</a> [2]</td></tr>
<tr class="memdesc:a3561550a7d70378a1b36971333d0d7a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameter indices: [0]=primary scan/contour, [1]=secondary (contours only) <br /></td></tr>
<tr class="separator:a3561550a7d70378a1b36971333d0d7a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f965880a3bd8cb7489fedca61c45201" id="r_a0f965880a3bd8cb7489fedca61c45201"><td class="memItemLeft" align="right" valign="top">UInt_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0f965880a3bd8cb7489fedca61c45201">fScanNoPoints</a></td></tr>
<tr class="memdesc:a0f965880a3bd8cb7489fedca61c45201"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of scan/contour evaluation points (default=41) <br /></td></tr>
<tr class="separator:a0f965880a3bd8cb7489fedca61c45201"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94301c0e357ffb912db6380e2dd1a76a" id="r_a94301c0e357ffb912db6380e2dd1a76a"><td class="memItemLeft" align="right" valign="top">Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a94301c0e357ffb912db6380e2dd1a76a">fScanLow</a></td></tr>
<tr class="memdesc:a94301c0e357ffb912db6380e2dd1a76a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan lower bound: 0.0 = auto (2σ below current value) <br /></td></tr>
<tr class="separator:a94301c0e357ffb912db6380e2dd1a76a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15110762601d24e076e48c79ef056d16" id="r_a15110762601d24e076e48c79ef056d16"><td class="memItemLeft" align="right" valign="top">Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a15110762601d24e076e48c79ef056d16">fScanHigh</a></td></tr>
<tr class="memdesc:a15110762601d24e076e48c79ef056d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan upper bound: 0.0 = auto (2σ above current value) <br /></td></tr>
<tr class="separator:a15110762601d24e076e48c79ef056d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab156ab2b66ed243065045e47ea8d5762" id="r_ab156ab2b66ed243065045e47ea8d5762"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#a93e3841e16074fd3c7648d8fc7b742f4">PDoublePairVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab156ab2b66ed243065045e47ea8d5762">fScanData</a></td></tr>
<tr class="memdesc:ab156ab2b66ed243065045e47ea8d5762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan results: (parameter_value, χ²) pairs. <br /></td></tr>
<tr class="separator:ab156ab2b66ed243065045e47ea8d5762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d49c71cedfb96367f8167877beba69d" id="r_a0d49c71cedfb96367f8167877beba69d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#a93e3841e16074fd3c7648d8fc7b742f4">PDoublePairVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0d49c71cedfb96367f8167877beba69d">fOriginalFitRange</a></td></tr>
<tr class="memdesc:a0d49c71cedfb96367f8167877beba69d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Original fit ranges per run (saved for FIT_RANGE command) <br /></td></tr>
<tr class="separator:a0d49c71cedfb96367f8167877beba69d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26ccf4d18cb80457389162eaa5af8729" id="r_a26ccf4d18cb80457389162eaa5af8729"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a26ccf4d18cb80457389162eaa5af8729">fElapsedTime</a></td></tr>
<tr class="memdesc:a26ccf4d18cb80457389162eaa5af8729"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timing information for each fit command. <br /></td></tr>
<tr class="separator:a26ccf4d18cb80457389162eaa5af8729"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52f438ddd04f6d220d6777c589495c9c" id="r_a52f438ddd04f6d220d6777c589495c9c"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a52f438ddd04f6d220d6777c589495c9c">fSectorFlag</a></td></tr>
<tr class="memdesc:a52f438ddd04f6d220d6777c589495c9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">SECTOR command present flag. <br /></td></tr>
<tr class="separator:a52f438ddd04f6d220d6777c589495c9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81779d1412e22554f2656e28b9692c23" id="r_a81779d1412e22554f2656e28b9692c23"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classPSectorChisq.html">PSectorChisq</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a81779d1412e22554f2656e28b9692c23">fSector</a></td></tr>
<tr class="memdesc:a81779d1412e22554f2656e28b9692c23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sector analysis results (χ² vs. time windows) <br /></td></tr>
<tr class="separator:a81779d1412e22554f2656e28b9692c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5838c829ba15d41f95a8c452e380028" id="r_ad5838c829ba15d41f95a8c452e380028"><td class="memItemLeft" align="right" valign="top">std::vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad5838c829ba15d41f95a8c452e380028">fPhase</a></td></tr>
<tr class="memdesc:ad5838c829ba15d41f95a8c452e380028"><td class="mdescLeft">&#160;</td><td class="mdescRight">Phase parameter flags: true if parameter is a phase angle. <br /></td></tr>
<tr class="separator:ad5838c829ba15d41f95a8c452e380028"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Main fitting engine interfacing with ROOT Minuit2.</p>
<p><a class="el" href="classPFitter.html">PFitter</a> orchestrates the entire fitting process for musrfit:</p><ul>
<li>Initializes Minuit2 with parameters from MSR file</li>
<li>Executes COMMANDS block directives (MIGRAD, HESSE, MINOS, etc.)</li>
<li>Manages parameter fixing, releasing, and boundaries</li>
<li>Performs error analysis (Hessian, MINOS)</li>
<li>Conducts parameter scans and contour plots</li>
<li>Calculates sector χ² for time-window analysis</li>
<li>Generates fit output and statistics</li>
</ul>
<p><b>Fitting workflow:</b></p><ol type="1">
<li>Initialize parameters and set boundaries</li>
<li>Execute COMMANDS block sequentially:<ul>
<li>MIGRAD: Find minimum using gradient descent</li>
<li>HESSE: Calculate symmetric errors from covariance matrix</li>
<li>MINOS: Calculate asymmetric errors (optional, slower)</li>
<li>SAVE: Save parameter state</li>
</ul>
</li>
<li>Update MSR file with fitted parameters and statistics</li>
</ol>
<p><b>Minimization modes:</b></p><ul>
<li><b>χ² minimization:</b> Standard least-squares fitting</li>
<li><b>Maximum likelihood:</b> Poisson statistics (better for low counts)</li>
</ul>
<p><b>Example COMMANDS block:</b> </p><div class="fragment"><div class="line">COMMANDS</div>
<div class="line">SET PRINT 1</div>
<div class="line">MIGRAD</div>
<div class="line">MINOS</div>
<div class="line">SAVE</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00256">256</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a981b523e5ca5f7cd66e01e2c45135d2b" name="a981b523e5ca5f7cd66e01e2c45135d2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a981b523e5ca5f7cd66e01e2c45135d2b">&#9670;&#160;</a></span>PFitter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PFitter::PFitter </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classPMsrHandler.html">PMsrHandler</a> *</td> <td class="paramname"><span class="paramname"><em>runInfo</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classPRunListCollection.html">PRunListCollection</a> *</td> <td class="paramname"><span class="paramname"><em>runListCollection</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Bool_t</td> <td class="paramname"><span class="paramname"><em>chisq_only</em></span><span class="paramdefsep"> = </span><span class="paramdefval">false</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Bool_t</td> <td class="paramname"><span class="paramname"><em>yaml_out</em></span><span class="paramdefsep"> = </span><span class="paramdefval">false</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for the fitting engine. </p>
<p>Constructor for fitting engine.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">runInfo</td><td>Pointer to MSR handler containing fit configuration </td></tr>
<tr><td class="paramname">runListCollection</td><td>Pointer to collection of data runs to fit </td></tr>
<tr><td class="paramname">chisq_only</td><td>If true, only calculate χ² without fitting </td></tr>
<tr><td class="paramname">yaml_out</td><td>If true, generate YAML output file with fit results</td></tr>
</table>
</dd>
</dl>
<p>Initializes the fitter with MSR configuration and preprocessed data. Sets up the fitting environment including:</p><ul>
<li>Parameter lists and command queues</li>
<li>Fit mode (χ² vs. likelihood)</li>
<li>Strategy and print level defaults</li>
<li>Original fit ranges for RANGE commands</li>
<li>Phase parameter identification</li>
</ul>
<p>The constructor validates the COMMANDS block and creates the objective function (<a class="el" href="classPFitterFcn.html" title="Objective function interface for ROOT Minuit2 minimization.">PFitterFcn</a>) but does not start the fit. Call <a class="el" href="#a399447637761beccd19714caec025339" title="Main entry point for executing the fit.">DoFit()</a> to execute.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">runInfo</td><td>Pointer to MSR file handler containing fit configuration </td></tr>
<tr><td class="paramname">runListCollection</td><td>Pointer to preprocessed data collection </td></tr>
<tr><td class="paramname">chisq_only</td><td>If true, only evaluate χ² without fitting (useful for validation) </td></tr>
<tr><td class="paramname">yaml_out</td><td>If true, generate YAML output file with fit results</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Sets fIsValid = false if command validation fails. Check <a class="el" href="#a11e3f97aa99203a610016a12ecdf241d">IsValid()</a> before <a class="el" href="#a399447637761beccd19714caec025339" title="Main entry point for executing the fit.">DoFit()</a>.</dd></dl>
<dl class="section user"><dt>Initialization sequence:</dt><dd><ol type="1">
<li>Copy parameters and commands from MSR handler</li>
<li>Store original fit ranges (for FIT_RANGE command)</li>
<li>Parse and validate COMMANDS block</li>
<li>Identify phase parameters (for angle wrapping)</li>
<li>Create objective function interface </li>
</ol>
</dd></dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l00290">290</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8h_source.html#l00298">fChisqOnly</a>, <a class="el" href="PFitter_8h_source.html#l00311">fCmdLines</a>, <a class="el" href="PFitter_8h_source.html#l00297">fConverged</a>, <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PFitter_8h_source.html#l00296">fIsScanOnly</a>, <a class="el" href="PFitter_8h_source.html#l00327">fOriginalFitRange</a>, <a class="el" href="PFitter_8h_source.html#l00309">fParams</a>, <a class="el" href="PFitter_8h_source.html#l00301">fPrintLevel</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, <a class="el" href="PFitter_8h_source.html#l00307">fRunListCollection</a>, <a class="el" href="PFitter_8h_source.html#l00320">fScanAll</a>, <a class="el" href="PFitter_8h_source.html#l00324">fScanHigh</a>, <a class="el" href="PFitter_8h_source.html#l00323">fScanLow</a>, <a class="el" href="PFitter_8h_source.html#l00322">fScanNoPoints</a>, <a class="el" href="PFitter_8h_source.html#l00321">fScanParameter</a>, <a class="el" href="PFitter_8h_source.html#l00332">fSectorFlag</a>, <a class="el" href="PFitter_8h_source.html#l00303">fStrategy</a>, <a class="el" href="PFitter_8h_source.html#l00300">fUseChi2</a>, <a class="el" href="PFitter_8h_source.html#l00299">fYamlOut</a>, <a class="el" href="PMusr_8cpp_source.html#l01104">PMsrGlobalBlock::GetFitRange()</a>, <a class="el" href="PMsrHandler_8h_source.html#l00185">PMsrHandler::GetMsrCommands()</a>, <a class="el" href="PMsrHandler_8h_source.html#l00175">PMsrHandler::GetMsrParamList()</a>, <a class="el" href="PFitter_8cpp_source.html#l00390">GetPhaseParams()</a>, and <a class="el" href="PMusr_8h_source.html#l00172">PMUSR_UNDEFINED</a>.</p>
</div>
</div>
<a id="a711ce9d116c066221fc72527f598abab" name="a711ce9d116c066221fc72527f598abab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a711ce9d116c066221fc72527f598abab">&#9670;&#160;</a></span>~PFitter()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">PFitter::~PFitter </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 virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Destructor - Cleans up dynamically allocated resources. </p>
<p>Frees memory used by command lists, scan data, and timing information. Smart pointers (fFitterFcn, fFcnMin) are automatically cleaned up. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l00352">352</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00312">fCmdList</a>, <a class="el" href="PFitter_8h_source.html#l00329">fElapsedTime</a>, and <a class="el" href="PFitter_8h_source.html#l00325">fScanData</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ac3961503e41b84dc8cc683ce274d2300" name="ac3961503e41b84dc8cc683ce274d2300"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3961503e41b84dc8cc683ce274d2300">&#9670;&#160;</a></span>CheckCommands()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::CheckCommands </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Validates COMMANDS block syntax and builds execution queue. </p>
<p>Validates COMMANDS block and builds execution queue.</p>
<p>Parses all command lines, checks for syntax errors, extracts parameters, and populates fCmdList for sequential execution.</p>
<dl class="section return"><dt>Returns</dt><dd>true if all commands are valid, false on syntax errors</dd></dl>
<p>Parses all command lines from the MSR file's COMMANDS block, validates syntax and parameters, and constructs an ordered execution list. This ensures commands are executable before starting the fit.</p>
<dl class="section return"><dt>Returns</dt><dd>true if all commands are valid and parseable, false on any error</dd></dl>
<dl class="section user"><dt>Validation checks:</dt><dd><ul>
<li>Command keywords are recognized (MIGRAD, HESSE, MINOS, etc.)</li>
<li>Numeric arguments are valid (parameter indices, ranges, point counts)</li>
<li>Parameter references are within bounds</li>
<li>SCAN/CONTOURS have required arguments</li>
<li>FIX/RELEASE specify valid parameter lists</li>
</ul>
</dd></dl>
<dl class="section user"><dt>Side effects:</dt><dd><ul>
<li>Populates fCmdList with (command_ID, line_number) pairs</li>
<li>Sets fIsValid = false if any command is invalid</li>
<li>Configures scan parameters (fScanParameter, fScanNoPoints, etc.)</li>
<li>Detects SECTOR command presence (sets fSectorFlag)</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Called automatically by constructor. Errors are reported to stderr. </dd>
<dd>
Some legacy commands (SET BATCH, END RETURN) are silently ignored.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>PMN_* command constants in <a class="el" href="PFitter_8h.html">PFitter.h</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l00953">953</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00311">fCmdLines</a>, <a class="el" href="PFitter_8h_source.html#l00312">fCmdList</a>, <a class="el" href="PFitter_8h_source.html#l00296">fIsScanOnly</a>, <a class="el" href="PFitter_8h_source.html#l00295">fIsValid</a>, <a class="el" href="PFitter_8h_source.html#l00327">fOriginalFitRange</a>, <a class="el" href="PFitter_8h_source.html#l00309">fParams</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, <a class="el" href="PFitter_8h_source.html#l00320">fScanAll</a>, <a class="el" href="PFitter_8h_source.html#l00324">fScanHigh</a>, <a class="el" href="PFitter_8h_source.html#l00323">fScanLow</a>, <a class="el" href="PFitter_8h_source.html#l00322">fScanNoPoints</a>, <a class="el" href="PFitter_8h_source.html#l00321">fScanParameter</a>, <a class="el" href="PFitter_8h_source.html#l00333">fSector</a>, <a class="el" href="PFitter_8h_source.html#l00332">fSectorFlag</a>, <a class="el" href="PFitter_8h_source.html#l00303">fStrategy</a>, <a class="el" href="PFitter_8h_source.html#l00300">fUseChi2</a>, <a class="el" href="PFitter_8h_source.html#l00064">PMN_CONTOURS</a>, <a class="el" href="PFitter_8h_source.html#l00066">PMN_EIGEN</a>, <a class="el" href="PFitter_8h_source.html#l00068">PMN_FIT_RANGE</a>, <a class="el" href="PFitter_8h_source.html#l00070">PMN_FIX</a>, <a class="el" href="PFitter_8h_source.html#l00072">PMN_HESSE</a>, <a class="el" href="PFitter_8h_source.html#l00062">PMN_INTERACTIVE</a>, <a class="el" href="PFitter_8h_source.html#l00074">PMN_MACHINE_PRECISION</a>, <a class="el" href="PFitter_8h_source.html#l00076">PMN_MIGRAD</a>, <a class="el" href="PFitter_8h_source.html#l00078">PMN_MINIMIZE</a>, <a class="el" href="PFitter_8h_source.html#l00080">PMN_MINOS</a>, <a class="el" href="PFitter_8h_source.html#l00082">PMN_PLOT</a>, <a class="el" href="PFitter_8h_source.html#l00100">PMN_PRINT</a>, <a class="el" href="PFitter_8h_source.html#l00084">PMN_RELEASE</a>, <a class="el" href="PFitter_8h_source.html#l00086">PMN_RESTORE</a>, <a class="el" href="PFitter_8h_source.html#l00088">PMN_SAVE</a>, <a class="el" href="PFitter_8h_source.html#l00090">PMN_SCAN</a>, <a class="el" href="PFitter_8h_source.html#l00102">PMN_SECTOR</a>, <a class="el" href="PFitter_8h_source.html#l00092">PMN_SIMPLEX</a>, <a class="el" href="PFitter_8h_source.html#l00096">PMN_USER_COVARIANCE</a>, <a class="el" href="PFitter_8h_source.html#l00098">PMN_USER_PARAM_STATE</a>, <a class="el" href="PFitter_8cpp_source.html#l00109">PSectorChisq::SetRunFirstTime()</a>, and <a class="el" href="PFitter_8h_source.html#l00140">PSectorChisq::SetSectorTime()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a399447637761beccd19714caec025339" name="a399447637761beccd19714caec025339"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a399447637761beccd19714caec025339">&#9670;&#160;</a></span>DoFit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::DoFit </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Main entry point for executing the fit. </p>
<p>Executes the complete fitting procedure.</p>
<p>Processes all commands from the COMMANDS block sequentially, performs the fit, calculates errors, and prepares output statistics.</p>
<dl class="section return"><dt>Returns</dt><dd>true if fit completed successfully, false on error</dd></dl>
<p>This is the primary method that orchestrates the entire fitting process:</p><ol type="1">
<li>Transfers parameters from MSR to Minuit2</li>
<li>If chisq_only mode: calculates χ²/maxLH and returns</li>
<li>Otherwise: executes COMMANDS block sequentially</li>
<li>Updates MSR file with fit results and statistics</li>
</ol>
<dl class="section return"><dt>Returns</dt><dd>true if fit completed successfully (or chisq calculated), false on errors</dd></dl>
<dl class="section user"><dt>Execution modes:</dt><dd><ul>
<li><b>chisq_only = true:</b> Evaluates objective function once with current parameters, reports χ²/maxLH and NDF, useful for validating parameter sets</li>
<li><b>chisq_only = false:</b> Runs full fit according to COMMANDS block, which typically includes MIGRAD (minimization), HESSE (error matrix), optionally MINOS (asymmetric errors)</li>
</ul>
</dd></dl>
<dl class="section user"><dt>COMMANDS execution:</dt><dd>Commands are executed in the order they appear in the MSR file. Common sequence: <div class="fragment"><div class="line">SET PRINT 1 # Set verbosity</div>
<div class="line">MIGRAD # Find minimum</div>
<div class="line">HESSE # Calculate symmetric errors</div>
<div class="line">MINOS # Calculate asymmetric errors (optional)</div>
<div class="line">SAVE # Save results to MSR file</div>
</div><!-- fragment --></dd></dl>
<dl class="section note"><dt>Note</dt><dd>Check <a class="el" href="#a11e3f97aa99203a610016a12ecdf241d">IsValid()</a> before calling. Check <a class="el" href="#a21a2b58e59bc5a8920f41b618855319a">HasConverged()</a> after completion. </dd>
<dd>
Updates fRunInfo with final parameters, errors, and fit statistics. </dd>
<dd>
Prints detailed χ² breakdown per run if multiple runs are fitted.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ababcfdb8205db798c84562afe70bad91" title="Executes MIGRAD command (gradient descent minimization).">ExecuteMigrad()</a>, <a class="el" href="#a9eb9b1257133ddacf57332dbca711943" title="Executes HESSE command (calculate error matrix).">ExecuteHesse()</a>, <a class="el" href="#aad0102694c267a1ddf497e6bc7cc9646" title="Executes MINOS command (asymmetric error analysis).">ExecuteMinos()</a>, <a class="el" href="#a631cacca453cf66db5b944437cf507dd" title="Executes SAVE command (store current parameters).">ExecuteSave()</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l00647">647</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8cpp_source.html#l01688">ExecuteContours()</a>, <a class="el" href="PFitter_8cpp_source.html#l01723">ExecuteFitRange()</a>, <a class="el" href="PFitter_8cpp_source.html#l01794">ExecuteFix()</a>, <a class="el" href="PFitter_8cpp_source.html#l01832">ExecuteHesse()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02034">ExecuteMinos()</a>, <a class="el" href="PFitter_8cpp_source.html#l02103">ExecutePlot()</a>, <a class="el" href="PFitter_8cpp_source.html#l02123">ExecutePrintLevel()</a>, <a class="el" href="PFitter_8cpp_source.html#l02181">ExecuteRelease()</a>, <a class="el" href="PFitter_8cpp_source.html#l02223">ExecuteRestore()</a>, <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, <a class="el" href="PFitter_8cpp_source.html#l02245">ExecuteScan()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, <a class="el" href="PFitter_8h_source.html#l00298">fChisqOnly</a>, <a class="el" href="PFitter_8h_source.html#l00312">fCmdList</a>, <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>, <a class="el" href="PFitter_8h_source.html#l00309">fParams</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, <a class="el" href="PFitter_8h_source.html#l00307">fRunListCollection</a>, <a class="el" href="PFitter_8h_source.html#l00333">fSector</a>, <a class="el" href="PFitter_8h_source.html#l00332">fSectorFlag</a>, <a class="el" href="PFitter_8h_source.html#l00300">fUseChi2</a>, <a class="el" href="PFitter_8h_source.html#l00273">IsValid()</a>, <a class="el" href="PFitter_8h_source.html#l00064">PMN_CONTOURS</a>, <a class="el" href="PFitter_8h_source.html#l00066">PMN_EIGEN</a>, <a class="el" href="PFitter_8h_source.html#l00068">PMN_FIT_RANGE</a>, <a class="el" href="PFitter_8h_source.html#l00070">PMN_FIX</a>, <a class="el" href="PFitter_8h_source.html#l00072">PMN_HESSE</a>, <a class="el" href="PFitter_8h_source.html#l00062">PMN_INTERACTIVE</a>, <a class="el" href="PFitter_8h_source.html#l00074">PMN_MACHINE_PRECISION</a>, <a class="el" href="PFitter_8h_source.html#l00076">PMN_MIGRAD</a>, <a class="el" href="PFitter_8h_source.html#l00078">PMN_MINIMIZE</a>, <a class="el" href="PFitter_8h_source.html#l00080">PMN_MINOS</a>, <a class="el" href="PFitter_8h_source.html#l00082">PMN_PLOT</a>, <a class="el" href="PFitter_8h_source.html#l00100">PMN_PRINT</a>, <a class="el" href="PFitter_8h_source.html#l00084">PMN_RELEASE</a>, <a class="el" href="PFitter_8h_source.html#l00086">PMN_RESTORE</a>, <a class="el" href="PFitter_8h_source.html#l00088">PMN_SAVE</a>, <a class="el" href="PFitter_8h_source.html#l00090">PMN_SCAN</a>, <a class="el" href="PFitter_8h_source.html#l00102">PMN_SECTOR</a>, <a class="el" href="PFitter_8h_source.html#l00092">PMN_SIMPLEX</a>, <a class="el" href="PFitter_8h_source.html#l00096">PMN_USER_COVARIANCE</a>, <a class="el" href="PFitter_8h_source.html#l00098">PMN_USER_PARAM_STATE</a>, <a class="el" href="PFitter_8cpp_source.html#l01640">SetParameters()</a>, and <a class="el" href="PStartupHandler_8cpp_source.html#l00106">status</a>.</p>
</div>
</div>
<a id="a069a60f7cbb859b0bc0f4b63168dbfde" name="a069a60f7cbb859b0bc0f4b63168dbfde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a069a60f7cbb859b0bc0f4b63168dbfde">&#9670;&#160;</a></span>ExecuteContours()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteContours </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes CONTOURS command (2D error contours). </p>
<p>Calculates confidence regions in 2D parameter space by evaluating χ² on a grid around the minimum.</p>
<dl class="section return"><dt>Returns</dt><dd>true if contour calculation succeeded</dd></dl>
<p>Execute the minuit2 contour command. Makes sure that a valid minuit2 minimum is present.</p>
<p><b>return:</b> true if the contour command could be executed successfully, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l01688">1688</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00317">fFcnMin</a>, <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PFitter_8h_source.html#l00325">fScanData</a>, <a class="el" href="PFitter_8h_source.html#l00322">fScanNoPoints</a>, and <a class="el" href="PFitter_8h_source.html#l00321">fScanParameter</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="acc32e99737b3abd781f06da5649ebd35" name="acc32e99737b3abd781f06da5649ebd35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc32e99737b3abd781f06da5649ebd35">&#9670;&#160;</a></span>ExecuteFitRange()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteFitRange </td>
<td>(</td>
<td class="paramtype">UInt_t</td> <td class="paramname"><span class="paramname"><em>lineNo</em></span></td><td>)</td>
<td></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>Executes FIT_RANGE command (optimal time-window search). </p>
<p>Scans fit quality vs. fit start time to find the optimal first-good-bin. Useful for determining when background subtraction is adequate.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lineNo</td><td>Command line number in MSR file </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if range scan succeeded</dd></dl>
<p>Change the fit range via command block.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lineNo</td><td>the line number of the command block</td></tr>
</table>
</dd>
</dl>
<p><b>return:</b> true if done, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l01723">1723</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00311">fCmdLines</a>, <a class="el" href="PFitter_8h_source.html#l00327">fOriginalFitRange</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, and <a class="el" href="PFitter_8h_source.html#l00307">fRunListCollection</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="ad40bd35fd795fa4be1e556a6042f4f88" name="ad40bd35fd795fa4be1e556a6042f4f88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad40bd35fd795fa4be1e556a6042f4f88">&#9670;&#160;</a></span>ExecuteFix()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteFix </td>
<td>(</td>
<td class="paramtype">UInt_t</td> <td class="paramname"><span class="paramname"><em>lineNo</em></span></td><td>)</td>
<td></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>Executes FIX command (freeze parameters). </p>
<p>Prevents specified parameters from varying during subsequent minimization.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lineNo</td><td>Command line number in MSR file </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if parameters fixed successfully</dd></dl>
<p>Fix parameter list given at lineNo of the command block.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lineNo</td><td>the line number of the command block</td></tr>
</table>
</dd>
</dl>
<p><b>return:</b> true if done, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l01794">1794</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00311">fCmdLines</a>, and <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="a9eb9b1257133ddacf57332dbca711943" name="a9eb9b1257133ddacf57332dbca711943"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9eb9b1257133ddacf57332dbca711943">&#9670;&#160;</a></span>ExecuteHesse()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteHesse </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes HESSE command (calculate error matrix). </p>
<p>Computes the covariance matrix by evaluating second derivatives at the current minimum. Provides symmetric (parabolic) parameter errors.</p>
<dl class="section return"><dt>Returns</dt><dd>true if Hessian calculation succeeded</dd></dl>
<p>Execute the minuit2 hesse command.</p>
<p><b>return:</b> true if the hesse command could be executed successfully, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l01832">1832</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00329">fElapsedTime</a>, <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>, <a class="el" href="PFitter_8h_source.html#l00309">fParams</a>, <a class="el" href="PFitter_8h_source.html#l00301">fPrintLevel</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, and <a class="el" href="PFitter_8cpp_source.html#l03027">MilliTime()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="ababcfdb8205db798c84562afe70bad91" name="ababcfdb8205db798c84562afe70bad91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ababcfdb8205db798c84562afe70bad91">&#9670;&#160;</a></span>ExecuteMigrad()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteMigrad </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes MIGRAD command (gradient descent minimization). </p>
<p>Runs Minuit2's MIGRAD algorithm, the recommended robust minimizer using first derivatives and approximate Hessian updates.</p>
<dl class="section return"><dt>Returns</dt><dd>true if MIGRAD converged to a valid minimum</dd></dl>
<p>Execute the minuit2 migrad command.</p>
<p><b>return:</b> true if the migrad command could be executed successfully, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l01881">1881</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00297">fConverged</a>, <a class="el" href="PFitter_8h_source.html#l00329">fElapsedTime</a>, <a class="el" href="PFitter_8h_source.html#l00317">fFcnMin</a>, <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PFitter_8h_source.html#l00295">fIsValid</a>, <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>, <a class="el" href="PFitter_8h_source.html#l00309">fParams</a>, <a class="el" href="PFitter_8h_source.html#l00335">fPhase</a>, <a class="el" href="PFitter_8h_source.html#l00301">fPrintLevel</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, <a class="el" href="PFitter_8h_source.html#l00303">fStrategy</a>, and <a class="el" href="PFitter_8cpp_source.html#l03027">MilliTime()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="ab6523d1625c35a57caed401f9348c5ff" name="ab6523d1625c35a57caed401f9348c5ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6523d1625c35a57caed401f9348c5ff">&#9670;&#160;</a></span>ExecuteMinimize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteMinimize </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes MINIMIZE command (automatic algorithm selection). </p>
<p>Lets Minuit2 choose the best minimization strategy. Usually equivalent to MIGRAD for well-behaved problems.</p>
<dl class="section return"><dt>Returns</dt><dd>true if minimization converged</dd></dl>
<p>Execute the minuit2 minimize command.</p>
<p><b>return:</b> true if the minimize command could be executed successfully, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l01957">1957</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00297">fConverged</a>, <a class="el" href="PFitter_8h_source.html#l00329">fElapsedTime</a>, <a class="el" href="PFitter_8h_source.html#l00317">fFcnMin</a>, <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PFitter_8h_source.html#l00295">fIsValid</a>, <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>, <a class="el" href="PFitter_8h_source.html#l00309">fParams</a>, <a class="el" href="PFitter_8h_source.html#l00335">fPhase</a>, <a class="el" href="PFitter_8h_source.html#l00301">fPrintLevel</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, <a class="el" href="PFitter_8h_source.html#l00303">fStrategy</a>, and <a class="el" href="PFitter_8cpp_source.html#l03027">MilliTime()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="aad0102694c267a1ddf497e6bc7cc9646" name="aad0102694c267a1ddf497e6bc7cc9646"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad0102694c267a1ddf497e6bc7cc9646">&#9670;&#160;</a></span>ExecuteMinos()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteMinos </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes MINOS command (asymmetric error analysis). </p>
<p>Computes accurate asymmetric confidence intervals by scanning χ² along each parameter axis. Slower but more accurate than HESSE.</p>
<dl class="section return"><dt>Returns</dt><dd>true if MINOS analysis completed</dd></dl>
<p>Execute the minuit2 minos command.</p>
<p><b>return:</b> true if the minos command could be executed successfully, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l02034">2034</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00329">fElapsedTime</a>, <a class="el" href="PFitter_8h_source.html#l00317">fFcnMin</a>, <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>, <a class="el" href="PFitter_8h_source.html#l00309">fParams</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, and <a class="el" href="PFitter_8cpp_source.html#l03027">MilliTime()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="a08e3d9eb88730d1d4e9ab4b7d9a2b708" name="a08e3d9eb88730d1d4e9ab4b7d9a2b708"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08e3d9eb88730d1d4e9ab4b7d9a2b708">&#9670;&#160;</a></span>ExecutePlot()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecutePlot </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes PLOT command (visualize scan/contour results). </p>
<p>Displays scan or contour data from previous SCAN/CONTOURS commands.</p>
<dl class="section return"><dt>Returns</dt><dd>true if plot generated successfully</dd></dl>
<p>Execute the minuit2 plot command.</p>
<p><b>return:</b> true. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l02103">2103</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00325">fScanData</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="a23f49efc107e75d189c2163aaffd406f" name="a23f49efc107e75d189c2163aaffd406f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23f49efc107e75d189c2163aaffd406f">&#9670;&#160;</a></span>ExecutePrintLevel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecutePrintLevel </td>
<td>(</td>
<td class="paramtype">UInt_t</td> <td class="paramname"><span class="paramname"><em>lineNo</em></span></td><td>)</td>
<td></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>Executes PRINT command (set verbosity level). </p>
<p>Controls Minuit2 output detail: 0=minimal, 1=normal, 2=debug.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lineNo</td><td>Command line number in MSR file </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if print level set successfully</dd></dl>
<p>Set the print level.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lineNo</td><td>the line number of the command block</td></tr>
</table>
</dd>
</dl>
<p><b>return:</b> true if done, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l02123">2123</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00311">fCmdLines</a>, and <a class="el" href="PFitter_8h_source.html#l00301">fPrintLevel</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="aab691691ca5d7cee66a16043c5c41940" name="aab691691ca5d7cee66a16043c5c41940"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab691691ca5d7cee66a16043c5c41940">&#9670;&#160;</a></span>ExecuteRelease()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteRelease </td>
<td>(</td>
<td class="paramtype">UInt_t</td> <td class="paramname"><span class="paramname"><em>lineNo</em></span></td><td>)</td>
<td></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>Executes RELEASE command (unfreeze parameters). </p>
<p>Allows previously fixed parameters to vary in subsequent fits.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lineNo</td><td>Command line number in MSR file </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if parameters released successfully</dd></dl>
<p>Release parameter list given at lineNo of the command block.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lineNo</td><td>the line number of the command block</td></tr>
</table>
</dd>
</dl>
<p><b>return:</b> true if done, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l02181">2181</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00311">fCmdLines</a>, and <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="ac3094e6b657951d8d4a5ad934c2eb31a" name="ac3094e6b657951d8d4a5ad934c2eb31a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3094e6b657951d8d4a5ad934c2eb31a">&#9670;&#160;</a></span>ExecuteRestore()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteRestore </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes RESTORE command (reload saved parameters). </p>
<p>Restores parameter values from the last SAVE command.</p>
<dl class="section return"><dt>Returns</dt><dd>true if parameters restored successfully</dd></dl>
<p>Release all fixed parameters</p>
<p><b>return:</b> true. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l02223">2223</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="a631cacca453cf66db5b944437cf507dd" name="a631cacca453cf66db5b944437cf507dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a631cacca453cf66db5b944437cf507dd">&#9670;&#160;</a></span>ExecuteSave()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteSave </td>
<td>(</td>
<td class="paramtype">Bool_t</td> <td class="paramname"><span class="paramname"><em>firstSave</em></span></td><td>)</td>
<td></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>Executes SAVE command (store current parameters). </p>
<p>Saves current parameter state for later RESTORE. Updates MSR file statistics on first save (after final fit).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">first</td><td>True if this is the first SAVE command in the session </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if parameters saved successfully</dd></dl>
<p>Execute the save command.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">firstSave</td><td>flag indication if this is the first save call and hence write a fresh MINUIT2.OUTPUT</td></tr>
</table>
</dd>
</dl>
<p><b>return:</b> true if the valid minuit2 state is found, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l02272">2272</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8cpp_source.html#l02971">ExecuteSector()</a>, <a class="el" href="PFitter_8h_source.html#l00329">fElapsedTime</a>, <a class="el" href="PFitter_8h_source.html#l00317">fFcnMin</a>, <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PMusr_8h_source.html#l01318">PMsrStatisticStructure::fMin</a>, <a class="el" href="PMusr_8h_source.html#l01321">PMsrStatisticStructure::fMinExpected</a>, <a class="el" href="PMusr_8h_source.html#l01322">PMsrStatisticStructure::fMinExpectedPerHisto</a>, <a class="el" href="PMusr_8h_source.html#l01319">PMsrStatisticStructure::fMinPerHisto</a>, <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>, <a class="el" href="PMusr_8h_source.html#l01320">PMsrStatisticStructure::fNdf</a>, <a class="el" href="PMusr_8h_source.html#l01323">PMsrStatisticStructure::fNdfPerHisto</a>, <a class="el" href="PFitter_8h_source.html#l00309">fParams</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, <a class="el" href="PFitter_8h_source.html#l00307">fRunListCollection</a>, <a class="el" href="PFitter_8h_source.html#l00332">fSectorFlag</a>, <a class="el" href="PFitter_8h_source.html#l00300">fUseChi2</a>, <a class="el" href="PFitter_8h_source.html#l00299">fYamlOut</a>, <a class="el" href="PMusr_8cpp_source.html#l01104">PMsrGlobalBlock::GetFitRange()</a>, <a class="el" href="PFitter_8cpp_source.html#l03050">ParamRound()</a>, <a class="el" href="PMusr_8h_source.html#l00172">PMUSR_UNDEFINED</a>, and <a class="el" href="PFitter_8cpp_source.html#l02858">PrepareSector()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="a5f91281f9274f4dfe192a89e5b8b1069" name="a5f91281f9274f4dfe192a89e5b8b1069"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f91281f9274f4dfe192a89e5b8b1069">&#9670;&#160;</a></span>ExecuteScan()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteScan </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes SCAN command (1D parameter space scan). </p>
<p>Evaluates χ² along one or two parameter axes to visualize the objective function landscape near the minimum.</p>
<dl class="section return"><dt>Returns</dt><dd>true if scan completed</dd></dl>
<p>Execute the minuit2 scan command.</p>
<p><b>return:</b> true. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l02245">2245</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00297">fConverged</a>, <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>, <a class="el" href="PFitter_8h_source.html#l00320">fScanAll</a>, <a class="el" href="PFitter_8h_source.html#l00325">fScanData</a>, <a class="el" href="PFitter_8h_source.html#l00324">fScanHigh</a>, <a class="el" href="PFitter_8h_source.html#l00323">fScanLow</a>, <a class="el" href="PFitter_8h_source.html#l00322">fScanNoPoints</a>, and <a class="el" href="PFitter_8h_source.html#l00321">fScanParameter</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="a85b2a235f516f062d62e295f08ffdf60" name="a85b2a235f516f062d62e295f08ffdf60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85b2a235f516f062d62e295f08ffdf60">&#9670;&#160;</a></span>ExecuteSector()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteSector </td>
<td>(</td>
<td class="paramtype">std::ofstream &amp;</td> <td class="paramname"><span class="paramname"><em>fout</em></span></td><td>)</td>
<td></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>Executes SECTOR command (time-dependent χ² analysis). </p>
<p>Calculates χ² for progressively wider time windows to identify optimal fit ranges and systematic time-dependent effects.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fout</td><td>Output stream for sector analysis results </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if sector analysis completed</dd></dl>
<p>Write all chisq/maxLH sector information to MINUIT.OUTPUT and dump it to stdout.</p>
<p><b>return:</b> if the sector command was successful, otherwise return flase. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l02971">2971</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00333">fSector</a>, and <a class="el" href="PFitter_8h_source.html#l00300">fUseChi2</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>.</p>
</div>
</div>
<a id="a7a08f7f6e29868337846a4d5f984a693" name="a7a08f7f6e29868337846a4d5f984a693"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a08f7f6e29868337846a4d5f984a693">&#9670;&#160;</a></span>ExecuteSimplex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::ExecuteSimplex </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes SIMPLEX command (non-gradient minimization). </p>
<p>Runs the Nelder-Mead simplex algorithm. Robust for rough objective functions but slow to converge. Often used before MIGRAD for difficult fits.</p>
<dl class="section return"><dt>Returns</dt><dd>true if SIMPLEX found a minimum</dd></dl>
<p>Execute the minuit2 simplex command.</p>
<p><b>return:</b> true if the simplex command could be executed successfully, otherwise returns false. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l02781">2781</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00297">fConverged</a>, <a class="el" href="PFitter_8h_source.html#l00329">fElapsedTime</a>, <a class="el" href="PFitter_8h_source.html#l00317">fFcnMin</a>, <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PFitter_8h_source.html#l00295">fIsValid</a>, <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>, <a class="el" href="PFitter_8h_source.html#l00309">fParams</a>, <a class="el" href="PFitter_8h_source.html#l00335">fPhase</a>, <a class="el" href="PFitter_8h_source.html#l00301">fPrintLevel</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, <a class="el" href="PFitter_8h_source.html#l00303">fStrategy</a>, and <a class="el" href="PFitter_8cpp_source.html#l03027">MilliTime()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="a50cc50f520008b475796800c61127827" name="a50cc50f520008b475796800c61127827"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50cc50f520008b475796800c61127827">&#9670;&#160;</a></span>GetParFromFun()</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="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> PFitter::GetParFromFun </td>
<td>(</td>
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>funStr</em></span></td><td>)</td>
<td></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>Extracts parameter numbers from a FUNCTIONS block entry. </p>
<p>Parses "funX" references in theory lines to find all parameters used in the function definition.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">funStr</td><td>Function identifier string (e.g., "fun1", "fun23") </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Vector of parameter numbers (1-indexed) used in the function</dd></dl>
<p>Parses a function definition to find all parameters it references. Recursively handles nested map references within the function.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">funStr</td><td>Function identifier (e.g., "fun1", "fun23") </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Vector of parameter numbers (1-indexed) used in the function</dd></dl>
<dl class="section user"><dt>Example:</dt><dd>If FUNCTIONS block contains: <div class="fragment"><div class="line">fun1 = par3 * par7 + map2</div>
</div><!-- fragment --> Then GetParFromFun("fun1") returns [3, 7, ...params from map2...]</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Returns empty vector if function not found or parsing fails. </dd></dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l00489">489</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, and <a class="el" href="PFitter_8cpp_source.html#l00570">GetParFromMap()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00390">GetPhaseParams()</a>.</p>
</div>
</div>
<a id="aae4edca748b0934d6ea96fe9db7f83f2" name="aae4edca748b0934d6ea96fe9db7f83f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae4edca748b0934d6ea96fe9db7f83f2">&#9670;&#160;</a></span>GetParFromMap()</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="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> PFitter::GetParFromMap </td>
<td>(</td>
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>mapStr</em></span></td><td>)</td>
<td></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>Extracts parameter numbers from a map reference. </p>
<p>Parses "mapX" references to find mapped parameters across all runs. Maps allow different runs to use different parameters for the same theoretical component.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mapStr</td><td>Map identifier string (e.g., "map1", "map5") </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Vector of parameter numbers (1-indexed) referenced by the map</dd></dl>
<p>Parses "mapX" to find which parameters are mapped to the X-th position across all RUN blocks. Maps allow different runs to use different parameters for the same theoretical component, enabling multi-run fits with run-dependent parameters.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mapStr</td><td>Map identifier (e.g., "map1", "map5") </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Vector of parameter numbers (1-indexed) mapped at this position</dd></dl>
<dl class="section user"><dt>Example:</dt><dd>If RUN blocks have: <div class="fragment"><div class="line">RUN 1: map 7 8 9</div>
<div class="line">RUN 2: map 10 11 12</div>
</div><!-- fragment --> Then GetParFromMap("map1") returns [7, 10] (first map entry per run)</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Returns empty vector if map index is out of range or invalid. </dd></dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l00570">570</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00489">GetParFromFun()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00390">GetPhaseParams()</a>.</p>
</div>
</div>
<a id="a8e9e7d418fa0adaf0f75581b8409d5e9" name="a8e9e7d418fa0adaf0f75581b8409d5e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e9e7d418fa0adaf0f75581b8409d5e9">&#9670;&#160;</a></span>GetPhaseParams()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PFitter::GetPhaseParams </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Identifies which parameters represent phase angles. </p>
<p>Scans the THEORY block to detect parameters used as phases in standard functions (TFieldCos, bessel, etc.). Phase parameters are constrained to [-360°, +360°] during fitting.</p>
<p>Scans the THEORY block to detect parameters used as phases in standard muSR functions. Phase parameters are flagged to enable automatic wrapping to the interval [-360°, +360°] during fitting, preventing meaningless phase values outside this range.</p>
<p>Recognized phase-containing functions:</p><ul>
<li>TFieldCos/tf: phase is 1st parameter</li>
<li>bessel/b: phase is 1st parameter</li>
<li>skewedGss/skg: phase is 1st parameter</li>
<li>staticNKTF/snktf: phase is 1st parameter</li>
<li>dynamicNKTF/dnktf: phase is 1st parameter</li>
<li>internFld/if: phase is 2nd parameter</li>
<li>internBsl/ib: phase is 2nd parameter</li>
<li>muMinusExpTF/mmsetf: phase is 5th parameter</li>
</ul>
<p>Phase references can be:</p><ul>
<li>Direct parameter numbers (e.g., "7" → par7)</li>
<li>Function references (e.g., "fun3" → all params in function 3)</li>
<li>Map references (e.g., "map2" → parameters mapped across runs)</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>Populates fPhase vector where fPhase[i] = true means parameter i+1 is a phase. </dd>
<dd>
User-defined functions cannot be automatically analyzed for phases. </dd></dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l00390">390</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00335">fPhase</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, <a class="el" href="PFitter_8cpp_source.html#l00489">GetParFromFun()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00570">GetParFromMap()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a21a2b58e59bc5a8920f41b618855319a" name="a21a2b58e59bc5a8920f41b618855319a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21a2b58e59bc5a8920f41b618855319a">&#9670;&#160;</a></span>HasConverged()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::HasConverged </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 true if fit converged successfully </p><dl class="section return"><dt>Returns</dt><dd>Convergence status </dd></dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00281">281</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00297">fConverged</a>.</p>
</div>
</div>
<a id="a742aeacd1ce2f018b42d6283d6229623" name="a742aeacd1ce2f018b42d6283d6229623"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a742aeacd1ce2f018b42d6283d6229623">&#9670;&#160;</a></span>IsScanOnly()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::IsScanOnly </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 true if only parameter scan requested (no minimization) </p><dl class="section return"><dt>Returns</dt><dd>Scan-only flag </dd></dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00277">277</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00296">fIsScanOnly</a>.</p>
</div>
</div>
<a id="a11e3f97aa99203a610016a12ecdf241d" name="a11e3f97aa99203a610016a12ecdf241d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11e3f97aa99203a610016a12ecdf241d">&#9670;&#160;</a></span>IsValid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::IsValid </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 true if fitter initialized successfully </p><dl class="section return"><dt>Returns</dt><dd>Validity status </dd></dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00273">273</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00295">fIsValid</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<a id="a313a48146cbacbf181a56838d5c52087" name="a313a48146cbacbf181a56838d5c52087"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a313a48146cbacbf181a56838d5c52087">&#9670;&#160;</a></span>MilliTime()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PFitter::MilliTime </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns current time in milliseconds. </p>
<p>Used for timing fit commands and generating performance statistics.</p>
<dl class="section return"><dt>Returns</dt><dd>Timestamp in milliseconds since epoch</dd></dl>
<p><b>return:</b> </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l03027">3027</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l01832">ExecuteHesse()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02034">ExecuteMinos()</a>, and <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>.</p>
</div>
</div>
<a id="a65dbfc5c91cea7c5d4577f14cf6e371b" name="a65dbfc5c91cea7c5d4577f14cf6e371b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65dbfc5c91cea7c5d4577f14cf6e371b">&#9670;&#160;</a></span>ParamRound()</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="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> PFitter::ParamRound </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>par</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>err</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Bool_t &amp;</td> <td class="paramname"><span class="paramname"><em>ok</em></span>&#160;)</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>Rounds parameters for output with appropriate precision. </p>
<p>Determines significant figures based on errors and formats parameters for display in MSR file output.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">par</td><td>Parameter values </td></tr>
<tr><td class="paramname">err</td><td>Parameter errors </td></tr>
<tr><td class="paramname">ok</td><td>Output flag: false if rounding failed </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Rounded parameter values</dd></dl>
<p>Rounds the parameter vector value according to the given error estimate, so that the msr-file value and the fitter result are consistent with each other. This means that musrfit -c, and musrfit -e -t should give essentially the same values of expected chisq (up to small rounding values).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">par</td><td>parameter value vector </td></tr>
<tr><td class="paramname">err</td><td>error value vector </td></tr>
<tr><td class="paramname">ok</td><td>true if size of par and err are identically, otherwise false.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>rounded parameter value vector, compatible with the msr-file output. </dd></dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l03050">3050</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>.</p>
</div>
</div>
<a id="ad62d0c925845fc266a07d26e12f28507" name="ad62d0c925845fc266a07d26e12f28507"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad62d0c925845fc266a07d26e12f28507">&#9670;&#160;</a></span>PrepareSector()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PFitter::PrepareSector </td>
<td>(</td>
<td class="paramtype"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>param</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>error</em></span>&#160;)</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>Prepares sector χ² analysis data structures. </p>
<p>Initializes sector time windows and allocates storage for sector results.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">param</td><td>Current parameter values </td></tr>
<tr><td class="paramname">error</td><td>Current parameter errors</td></tr>
</table>
</dd>
</dl>
<p>Collect all the necessary chisq/maxLH sector information.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">param</td><td>parameter value vector of the converged fit. </td></tr>
<tr><td class="paramname">error</td><td>step value vector of the converged fit. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l02858">2858</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00314">fFitterFcn</a>, <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>, <a class="el" href="PFitter_8h_source.html#l00307">fRunListCollection</a>, <a class="el" href="PFitter_8h_source.html#l00333">fSector</a>, and <a class="el" href="PFitter_8h_source.html#l00300">fUseChi2</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>.</p>
</div>
</div>
<a id="a822fe28451f360fcda2aa7a334a63b16" name="a822fe28451f360fcda2aa7a334a63b16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a822fe28451f360fcda2aa7a334a63b16">&#9670;&#160;</a></span>SetParameters()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::SetParameters </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 private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Transfers MSR parameters to Minuit2 parameter state. </p>
<p>Initializes fMnUserParams with values, errors, and bounds from the MSR file's PARAMETERS block.</p>
<dl class="section return"><dt>Returns</dt><dd>true if parameters set successfully</dd></dl>
<p>Feeds the internal minuit2 fit parameters. It also makes sure that unused parameters are fixed.</p>
<p><b>return:</b> true. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8cpp_source.html#l01640">1640</a> of file <a class="el" href="PFitter_8cpp_source.html">PFitter.cpp</a>.</p>
<p class="reference">References <a class="el" href="PFitter_8h_source.html#l00316">fMnUserParams</a>, <a class="el" href="PFitter_8h_source.html#l00309">fParams</a>, and <a class="el" href="PFitter_8h_source.html#l00306">fRunInfo</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ac6b16f7adb7f4ebff7c6348aaa65f5b4" name="ac6b16f7adb7f4ebff7c6348aaa65f5b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6b16f7adb7f4ebff7c6348aaa65f5b4">&#9670;&#160;</a></span>fChisqOnly</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::fChisqOnly</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>Evaluation-only flag: true to calculate χ² without fitting. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00298">298</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a7f894783312fb9a16e92b8c34141d734" name="a7f894783312fb9a16e92b8c34141d734"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f894783312fb9a16e92b8c34141d734">&#9670;&#160;</a></span>fCmdLines</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="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> PFitter::fCmdLines</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>Raw command lines from MSR COMMANDS block. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00311">311</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l01723">ExecuteFitRange()</a>, <a class="el" href="PFitter_8cpp_source.html#l01794">ExecuteFix()</a>, <a class="el" href="PFitter_8cpp_source.html#l02123">ExecutePrintLevel()</a>, <a class="el" href="PFitter_8cpp_source.html#l02181">ExecuteRelease()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a2aa78466f83e1a7329f7efcbdc217b4a" name="a2aa78466f83e1a7329f7efcbdc217b4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2aa78466f83e1a7329f7efcbdc217b4a">&#9670;&#160;</a></span>fCmdList</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="PMusr_8h.html#ace15e033fc9afd308f9fe173c582cf60">PIntPairVector</a> PFitter::fCmdList</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>Parsed commands: first=command ID, second=line number. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00312">312</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00352">~PFitter()</a>.</p>
</div>
</div>
<a id="ac41618f0b66f7ef4bfed953e9fea79bd" name="ac41618f0b66f7ef4bfed953e9fea79bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac41618f0b66f7ef4bfed953e9fea79bd">&#9670;&#160;</a></span>fConverged</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::fConverged</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>Convergence flag: true if fit converged to a valid minimum. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00297">297</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02245">ExecuteScan()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, <a class="el" href="PFitter_8h_source.html#l00281">HasConverged()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a26ccf4d18cb80457389162eaa5af8729" name="a26ccf4d18cb80457389162eaa5af8729"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26ccf4d18cb80457389162eaa5af8729">&#9670;&#160;</a></span>fElapsedTime</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="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a> PFitter::fElapsedTime</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>Timing information for each fit command. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00329">329</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l01832">ExecuteHesse()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02034">ExecuteMinos()</a>, <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00352">~PFitter()</a>.</p>
</div>
</div>
<a id="abd3b95f1716f479adb1bca83ddc19092" name="abd3b95f1716f479adb1bca83ddc19092"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd3b95f1716f479adb1bca83ddc19092">&#9670;&#160;</a></span>fFcnMin</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;ROOT::Minuit2::FunctionMinimum&gt; PFitter::fFcnMin</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>Minuit2 function minimum result. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00317">317</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l01688">ExecuteContours()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02034">ExecuteMinos()</a>, <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, and <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>.</p>
</div>
</div>
<a id="ae2bc81d1e8f0e54d3bededf879a5daa5" name="ae2bc81d1e8f0e54d3bededf879a5daa5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2bc81d1e8f0e54d3bededf879a5daa5">&#9670;&#160;</a></span>fFitterFcn</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classPFitterFcn.html">PFitterFcn</a>&gt; PFitter::fFitterFcn</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>Objective function for Minuit2 minimization. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00314">314</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>, <a class="el" href="PFitter_8cpp_source.html#l01688">ExecuteContours()</a>, <a class="el" href="PFitter_8cpp_source.html#l01832">ExecuteHesse()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02034">ExecuteMinos()</a>, <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, <a class="el" href="PFitter_8cpp_source.html#l02245">ExecuteScan()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>, and <a class="el" href="PFitter_8cpp_source.html#l02858">PrepareSector()</a>.</p>
</div>
</div>
<a id="a6f97d44fb0b291f7af9d01579c0e406c" name="a6f97d44fb0b291f7af9d01579c0e406c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f97d44fb0b291f7af9d01579c0e406c">&#9670;&#160;</a></span>fIsScanOnly</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::fIsScanOnly</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>Scan mode flag: true if only parameter scans requested (no minimization) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00296">296</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8h_source.html#l00277">IsScanOnly()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a18224fc86af43dcac49a5353ebeca614" name="a18224fc86af43dcac49a5353ebeca614"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18224fc86af43dcac49a5353ebeca614">&#9670;&#160;</a></span>fIsValid</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::fIsValid</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>Overall validity flag: true if fitter initialized successfully. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00295">295</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, and <a class="el" href="PFitter_8h_source.html#l00273">IsValid()</a>.</p>
</div>
</div>
<a id="ab9f144668483d590a54dace8fdbd62ed" name="ab9f144668483d590a54dace8fdbd62ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9f144668483d590a54dace8fdbd62ed">&#9670;&#160;</a></span>fMnUserParams</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ROOT::Minuit2::MnUserParameters PFitter::fMnUserParams</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>Minuit2 parameter state (values, errors, limits) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00316">316</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>, <a class="el" href="PFitter_8cpp_source.html#l01794">ExecuteFix()</a>, <a class="el" href="PFitter_8cpp_source.html#l01832">ExecuteHesse()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02034">ExecuteMinos()</a>, <a class="el" href="PFitter_8cpp_source.html#l02181">ExecuteRelease()</a>, <a class="el" href="PFitter_8cpp_source.html#l02223">ExecuteRestore()</a>, <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, <a class="el" href="PFitter_8cpp_source.html#l02245">ExecuteScan()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, and <a class="el" href="PFitter_8cpp_source.html#l01640">SetParameters()</a>.</p>
</div>
</div>
<a id="a0d49c71cedfb96367f8167877beba69d" name="a0d49c71cedfb96367f8167877beba69d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d49c71cedfb96367f8167877beba69d">&#9670;&#160;</a></span>fOriginalFitRange</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="PMusr_8h.html#a93e3841e16074fd3c7648d8fc7b742f4">PDoublePairVector</a> PFitter::fOriginalFitRange</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>Original fit ranges per run (saved for FIT_RANGE command) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00327">327</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l01723">ExecuteFitRange()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="aa2c27c84275a04414e67c8bdeaf6b3d6" name="aa2c27c84275a04414e67c8bdeaf6b3d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2c27c84275a04414e67c8bdeaf6b3d6">&#9670;&#160;</a></span>fParams</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="PMusr_8h.html#ab08a4f791c8d0001ed434bae845fe95c">PMsrParamList</a> PFitter::fParams</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>Copy of parameter list from MSR file. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00309">309</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>, <a class="el" href="PFitter_8cpp_source.html#l01832">ExecuteHesse()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02034">ExecuteMinos()</a>, <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>, and <a class="el" href="PFitter_8cpp_source.html#l01640">SetParameters()</a>.</p>
</div>
</div>
<a id="ad5838c829ba15d41f95a8c452e380028" name="ad5838c829ba15d41f95a8c452e380028"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5838c829ba15d41f95a8c452e380028">&#9670;&#160;</a></span>fPhase</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;bool&gt; PFitter::fPhase</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>Phase parameter flags: true if parameter is a phase angle. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00335">335</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00390">GetPhaseParams()</a>.</p>
</div>
</div>
<a id="a62a705860d144d6f0184a9a907c83678" name="a62a705860d144d6f0184a9a907c83678"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62a705860d144d6f0184a9a907c83678">&#9670;&#160;</a></span>fPrintLevel</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">UInt_t PFitter::fPrintLevel</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>Verbosity level: 0=quiet, 1=normal, 2=verbose (Minuit output) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00301">301</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l01832">ExecuteHesse()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02123">ExecutePrintLevel()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="aa53dfefa0389c5e3e093bb57bdef3f36" name="aa53dfefa0389c5e3e093bb57bdef3f36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa53dfefa0389c5e3e093bb57bdef3f36">&#9670;&#160;</a></span>fRunInfo</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="classPMsrHandler.html">PMsrHandler</a>* PFitter::fRunInfo</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 MSR file handler (parameters, theory, commands) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00306">306</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>, <a class="el" href="PFitter_8cpp_source.html#l01723">ExecuteFitRange()</a>, <a class="el" href="PFitter_8cpp_source.html#l01832">ExecuteHesse()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02034">ExecuteMinos()</a>, <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, <a class="el" href="PFitter_8cpp_source.html#l00489">GetParFromFun()</a>, <a class="el" href="PFitter_8cpp_source.html#l00570">GetParFromMap()</a>, <a class="el" href="PFitter_8cpp_source.html#l00390">GetPhaseParams()</a>, <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>, <a class="el" href="PFitter_8cpp_source.html#l02858">PrepareSector()</a>, and <a class="el" href="PFitter_8cpp_source.html#l01640">SetParameters()</a>.</p>
</div>
</div>
<a id="a71fa2a64e6574b4582b21d4efe81991a" name="a71fa2a64e6574b4582b21d4efe81991a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71fa2a64e6574b4582b21d4efe81991a">&#9670;&#160;</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>* PFitter::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 run data collection. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00307">307</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>, <a class="el" href="PFitter_8cpp_source.html#l01723">ExecuteFitRange()</a>, <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>, and <a class="el" href="PFitter_8cpp_source.html#l02858">PrepareSector()</a>.</p>
</div>
</div>
<a id="a691cf32e8aa08e70159450e3a3dc597b" name="a691cf32e8aa08e70159450e3a3dc597b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a691cf32e8aa08e70159450e3a3dc597b">&#9670;&#160;</a></span>fScanAll</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::fScanAll</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>Multi-parameter scan flag: false=1D scan, true=2D scan (not fully implemented) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00320">320</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l02245">ExecuteScan()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="ab156ab2b66ed243065045e47ea8d5762" name="ab156ab2b66ed243065045e47ea8d5762"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab156ab2b66ed243065045e47ea8d5762">&#9670;&#160;</a></span>fScanData</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="PMusr_8h.html#a93e3841e16074fd3c7648d8fc7b742f4">PDoublePairVector</a> PFitter::fScanData</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>Scan results: (parameter_value, χ²) pairs. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00325">325</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l01688">ExecuteContours()</a>, <a class="el" href="PFitter_8cpp_source.html#l02103">ExecutePlot()</a>, <a class="el" href="PFitter_8cpp_source.html#l02245">ExecuteScan()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00352">~PFitter()</a>.</p>
</div>
</div>
<a id="a15110762601d24e076e48c79ef056d16" name="a15110762601d24e076e48c79ef056d16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15110762601d24e076e48c79ef056d16">&#9670;&#160;</a></span>fScanHigh</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PFitter::fScanHigh</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>Scan upper bound: 0.0 = auto (2σ above current value) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00324">324</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l02245">ExecuteScan()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a94301c0e357ffb912db6380e2dd1a76a" name="a94301c0e357ffb912db6380e2dd1a76a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94301c0e357ffb912db6380e2dd1a76a">&#9670;&#160;</a></span>fScanLow</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PFitter::fScanLow</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>Scan lower bound: 0.0 = auto (2σ below current value) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00323">323</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l02245">ExecuteScan()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a0f965880a3bd8cb7489fedca61c45201" name="a0f965880a3bd8cb7489fedca61c45201"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f965880a3bd8cb7489fedca61c45201">&#9670;&#160;</a></span>fScanNoPoints</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">UInt_t PFitter::fScanNoPoints</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>Number of scan/contour evaluation points (default=41) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00322">322</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l01688">ExecuteContours()</a>, <a class="el" href="PFitter_8cpp_source.html#l02245">ExecuteScan()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a3561550a7d70378a1b36971333d0d7a5" name="a3561550a7d70378a1b36971333d0d7a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3561550a7d70378a1b36971333d0d7a5">&#9670;&#160;</a></span>fScanParameter</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">UInt_t PFitter::fScanParameter[2]</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>Parameter indices: [0]=primary scan/contour, [1]=secondary (contours only) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00321">321</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l01688">ExecuteContours()</a>, <a class="el" href="PFitter_8cpp_source.html#l02245">ExecuteScan()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a81779d1412e22554f2656e28b9692c23" name="a81779d1412e22554f2656e28b9692c23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81779d1412e22554f2656e28b9692c23">&#9670;&#160;</a></span>fSector</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classPSectorChisq.html">PSectorChisq</a>&gt; PFitter::fSector</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>Sector analysis results (χ² vs. time windows) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00333">333</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>, <a class="el" href="PFitter_8cpp_source.html#l02971">ExecuteSector()</a>, and <a class="el" href="PFitter_8cpp_source.html#l02858">PrepareSector()</a>.</p>
</div>
</div>
<a id="a52f438ddd04f6d220d6777c589495c9c" name="a52f438ddd04f6d220d6777c589495c9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52f438ddd04f6d220d6777c589495c9c">&#9670;&#160;</a></span>fSectorFlag</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::fSectorFlag</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>SECTOR command present flag. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00332">332</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>, <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="a14588efda750524a6dd0c85a13199919" name="a14588efda750524a6dd0c85a13199919"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14588efda750524a6dd0c85a13199919">&#9670;&#160;</a></span>fStrategy</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">UInt_t PFitter::fStrategy</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>Minuit2 strategy: 0=fast/low-accuracy, 1=default, 2=careful/high-accuracy. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00303">303</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l01881">ExecuteMigrad()</a>, <a class="el" href="PFitter_8cpp_source.html#l01957">ExecuteMinimize()</a>, <a class="el" href="PFitter_8cpp_source.html#l02781">ExecuteSimplex()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>.</p>
</div>
</div>
<a id="aec873931299b3bfab3b0d07d3f3cc719" name="aec873931299b3bfab3b0d07d3f3cc719"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec873931299b3bfab3b0d07d3f3cc719">&#9670;&#160;</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 PFitter::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: true = χ² minimization, false = log-max-likelihood. </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00300">300</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l00953">CheckCommands()</a>, <a class="el" href="PFitter_8cpp_source.html#l00647">DoFit()</a>, <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, <a class="el" href="PFitter_8cpp_source.html#l02971">ExecuteSector()</a>, <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</a>, and <a class="el" href="PFitter_8cpp_source.html#l02858">PrepareSector()</a>.</p>
</div>
</div>
<a id="a56ae801deb287de03641d87b6461d9f8" name="a56ae801deb287de03641d87b6461d9f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56ae801deb287de03641d87b6461d9f8">&#9670;&#160;</a></span>fYamlOut</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PFitter::fYamlOut</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>Output flag: true to generate YAML output file (MINUIT2.OUTPUT → yaml) </p>
<p class="definition">Definition at line <a class="el" href="PFitter_8h_source.html#l00299">299</a> of file <a class="el" href="PFitter_8h_source.html">PFitter.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PFitter_8cpp_source.html#l02272">ExecuteSave()</a>, and <a class="el" href="PFitter_8cpp_source.html#l00290">PFitter()</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="PFitter_8h_source.html">PFitter.h</a></li>
<li>/workspace/LMU/musrfit/src/classes/<a class="el" href="PFitter_8cpp_source.html">PFitter.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="classPFitter.html">PFitter</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>