1719 lines
127 KiB
HTML
1719 lines
127 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||
<meta name="generator" content="Doxygen 1.13.2"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
<title>musrfit: PRunMuMinus Class Reference</title>
|
||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="jquery.js"></script>
|
||
<script type="text/javascript" src="dynsections.js"></script>
|
||
<script type="text/javascript" src="clipboard.js"></script>
|
||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="navtreedata.js"></script>
|
||
<script type="text/javascript" src="navtree.js"></script>
|
||
<script type="text/javascript" src="resize.js"></script>
|
||
<script type="text/javascript" src="cookie.js"></script>
|
||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||
</head>
|
||
<body>
|
||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||
<div id="titlearea">
|
||
<table cellspacing="0" cellpadding="0">
|
||
<tbody>
|
||
<tr id="projectrow">
|
||
<td id="projectalign">
|
||
<div id="projectname">musrfit<span id="projectnumber"> 1.9.9</span>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<!-- end header part -->
|
||
<!-- Generated by Doxygen 1.13.2 -->
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() { codefold.init(0); });
|
||
/* @license-end */
|
||
</script>
|
||
<script type="text/javascript" src="menudata.js"></script>
|
||
<script type="text/javascript" src="menu.js"></script>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() {
|
||
initMenu('',false,false,'search.php','Search',true);
|
||
});
|
||
/* @license-end */
|
||
</script>
|
||
<div id="main-nav"></div>
|
||
</div><!-- top -->
|
||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||
<div id="nav-tree">
|
||
<div id="nav-tree-contents">
|
||
<div id="nav-sync" class="sync"></div>
|
||
</div>
|
||
</div>
|
||
<div id="splitbar" style="-moz-user-select:none;"
|
||
class="ui-resizable-handle">
|
||
</div>
|
||
</div>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function(){initNavTree('classPRunMuMinus.html',''); initResizable(true); });
|
||
/* @license-end */
|
||
</script>
|
||
<div id="doc-content">
|
||
<div class="header">
|
||
<div class="summary">
|
||
<a href="#pub-methods">Public Member Functions</a> |
|
||
<a href="#pro-methods">Protected Member Functions</a> |
|
||
<a href="#pri-methods">Private Member Functions</a> |
|
||
<a href="#pri-attribs">Private Attributes</a> |
|
||
<a href="classPRunMuMinus-members.html">List of all members</a> </div>
|
||
<div class="headertitle"><div class="title">PRunMuMinus Class Reference</div></div>
|
||
</div><!--header-->
|
||
<div class="contents">
|
||
|
||
<p>Class for handling negative muon (μ⁻) histogram fits.
|
||
<a href="#details">More...</a></p>
|
||
|
||
<p><code>#include <<a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>></code></p>
|
||
<div class="dynheader">
|
||
Inheritance diagram for PRunMuMinus:</div>
|
||
<div class="dyncontent">
|
||
<div class="center"><img src="classPRunMuMinus__inherit__graph.png" border="0" usemap="#aPRunMuMinus_inherit__map" alt="Inheritance graph"/></div>
|
||
<map name="aPRunMuMinus_inherit__map" id="aPRunMuMinus_inherit__map">
|
||
<area shape="rect" title="Class for handling negative muon (μ⁻) histogram fits." alt="" coords="5,81,111,109"/>
|
||
<area shape="rect" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types." alt="" coords="18,5,98,33"/>
|
||
<area shape="poly" title=" " alt="" coords="61,49,61,81,55,81,55,49"/>
|
||
</map>
|
||
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
||
<div class="dynheader">
|
||
Collaboration diagram for PRunMuMinus:</div>
|
||
<div class="dyncontent">
|
||
<div class="center"><img src="classPRunMuMinus__coll__graph.png" border="0" usemap="#aPRunMuMinus_coll__map" alt="Collaboration graph"/></div>
|
||
<map name="aPRunMuMinus_coll__map" id="aPRunMuMinus_coll__map">
|
||
<area shape="rect" title="Class for handling negative muon (μ⁻) histogram fits." alt="" coords="936,165,1041,193"/>
|
||
<area shape="rect" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types." alt="" coords="806,165,887,193"/>
|
||
<area shape="poly" title=" " alt="" coords="902,176,935,176,935,182,902,182"/>
|
||
<area shape="rect" href="classPMsrHandler.html" title="MSR file parser and manager for the musrfit framework." alt="" coords="313,84,414,112"/>
|
||
<area shape="poly" title=" " alt="" coords="430,100,591,118,687,134,783,154,810,162,808,167,782,159,686,139,590,124,429,105"/>
|
||
<area shape="rect" href="classPRunDataHandler.html" title="Raw data file reader and format converter for μSR data." alt="" coords="563,49,692,77"/>
|
||
<area shape="poly" title=" " alt="" coords="428,87,562,69,563,74,429,92"/>
|
||
<area shape="rect" href="structPStartupOptions.html" title=" " alt="" coords="21,5,142,33"/>
|
||
<area shape="poly" title=" " alt="" coords="158,27,219,39,283,57,337,81,335,86,281,62,218,44,157,32"/>
|
||
<area shape="rect" href="classPMsrGlobalBlock.html" title=" " alt="" coords="19,57,144,85"/>
|
||
<area shape="poly" title=" " alt="" coords="160,76,313,90,312,96,159,81"/>
|
||
<area shape="rect" href="structPMsrFourierStructure.html" title=" " alt="" coords="7,109,156,137"/>
|
||
<area shape="poly" title=" " alt="" coords="171,122,281,115,312,109,313,114,282,120,171,127"/>
|
||
<area shape="rect" href="structPMsrStatisticStructure.html" title=" " alt="" coords="5,161,158,189"/>
|
||
<area shape="poly" title=" " alt="" coords="173,167,227,159,281,144,314,128,342,110,345,115,316,133,283,149,228,164,174,173"/>
|
||
<area shape="rect" href="classPMsrRunBlock.html" title=" " alt="" coords="574,165,681,193"/>
|
||
<area shape="poly" title=" " alt="" coords="697,176,806,176,806,182,697,182"/>
|
||
<area shape="poly" title=" " alt="" coords="709,69,747,79,784,97,802,112,818,130,840,163,836,166,814,133,799,116,781,101,745,84,707,74"/>
|
||
<area shape="rect" href="structPAny2ManyInfo.html" title=" " alt="" coords="306,12,421,40"/>
|
||
<area shape="poly" title=" " alt="" coords="437,33,563,51,562,57,436,39"/>
|
||
<area shape="rect" href="classPRunData.html" title=" " alt="" coords="588,217,668,245"/>
|
||
<area shape="poly" title=" " alt="" coords="683,220,782,199,807,191,808,196,783,204,684,225"/>
|
||
<area shape="rect" href="structPMetaData.html" title=" " alt="" coords="584,269,671,297"/>
|
||
<area shape="poly" title=" " alt="" coords="686,271,734,257,781,237,810,215,832,192,836,195,813,219,784,241,736,262,688,276"/>
|
||
</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:a2817c764bb5659503e69a0bcdbe1f010" id="r_a2817c764bb5659503e69a0bcdbe1f010"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2817c764bb5659503e69a0bcdbe1f010">PRunMuMinus</a> ()</td></tr>
|
||
<tr class="memdesc:a2817c764bb5659503e69a0bcdbe1f010"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor creating an empty, invalid μ⁻ run object. <br /></td></tr>
|
||
<tr class="separator:a2817c764bb5659503e69a0bcdbe1f010"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aa68ee9895818eced472ddc5bbe9c52d6" id="r_aa68ee9895818eced472ddc5bbe9c52d6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa68ee9895818eced472ddc5bbe9c52d6">PRunMuMinus</a> (<a class="el" href="classPMsrHandler.html">PMsrHandler</a> *msrInfo, <a class="el" href="classPRunDataHandler.html">PRunDataHandler</a> *rawData, UInt_t runNo, <a class="el" href="PMusr_8h.html#a3168a2cda2474c28fe329358530331ab">EPMusrHandleTag</a> tag, Bool_t theoAsData)</td></tr>
|
||
<tr class="memdesc:aa68ee9895818eced472ddc5bbe9c52d6"><td class="mdescLeft"> </td><td class="mdescRight">Main constructor initializing a μ⁻ run from MSR file and raw data. <br /></td></tr>
|
||
<tr class="separator:aa68ee9895818eced472ddc5bbe9c52d6"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a07263c85cb90840ff1dbd66a423b0dd7" id="r_a07263c85cb90840ff1dbd66a423b0dd7"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="#a07263c85cb90840ff1dbd66a423b0dd7">~PRunMuMinus</a> ()</td></tr>
|
||
<tr class="memdesc:a07263c85cb90840ff1dbd66a423b0dd7"><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor cleaning up allocated resources. <br /></td></tr>
|
||
<tr class="separator:a07263c85cb90840ff1dbd66a423b0dd7"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:abe0df325a415b34082e7604d3d99ce32" id="r_abe0df325a415b34082e7604d3d99ce32"><td class="memItemLeft" align="right" valign="top">virtual Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#abe0df325a415b34082e7604d3d99ce32">CalcChiSquare</a> (const std::vector< Double_t > &par)</td></tr>
|
||
<tr class="memdesc:abe0df325a415b34082e7604d3d99ce32"><td class="mdescLeft"> </td><td class="mdescRight">Calculates χ² between μ⁻ data and theory (least-squares fit metric). <br /></td></tr>
|
||
<tr class="separator:abe0df325a415b34082e7604d3d99ce32"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a64e3216f832ddb5c0b219c7795ea4d66" id="r_a64e3216f832ddb5c0b219c7795ea4d66"><td class="memItemLeft" align="right" valign="top">virtual Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a64e3216f832ddb5c0b219c7795ea4d66">CalcChiSquareExpected</a> (const std::vector< Double_t > &par)</td></tr>
|
||
<tr class="memdesc:a64e3216f832ddb5c0b219c7795ea4d66"><td class="mdescLeft"> </td><td class="mdescRight">Calculates expected χ² based on theory predictions (statistical diagnostic). <br /></td></tr>
|
||
<tr class="separator:a64e3216f832ddb5c0b219c7795ea4d66"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ae20a804fc578c31788171f710f865210" id="r_ae20a804fc578c31788171f710f865210"><td class="memItemLeft" align="right" valign="top">virtual Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae20a804fc578c31788171f710f865210">CalcMaxLikelihood</a> (const std::vector< Double_t > &par)</td></tr>
|
||
<tr class="memdesc:ae20a804fc578c31788171f710f865210"><td class="mdescLeft"> </td><td class="mdescRight">Calculates negative log-likelihood for Poisson statistics (low-count fit metric). <br /></td></tr>
|
||
<tr class="separator:ae20a804fc578c31788171f710f865210"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a7941f4ab9ecf135916427b862a4f0796" id="r_a7941f4ab9ecf135916427b862a4f0796"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7941f4ab9ecf135916427b862a4f0796">CalcTheory</a> ()</td></tr>
|
||
<tr class="memdesc:a7941f4ab9ecf135916427b862a4f0796"><td class="mdescLeft"> </td><td class="mdescRight">Evaluates theory function at all data points (or high-resolution grid). <br /></td></tr>
|
||
<tr class="separator:a7941f4ab9ecf135916427b862a4f0796"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a76be61552695c0c8bc1dc4680397e11d" id="r_a76be61552695c0c8bc1dc4680397e11d"><td class="memItemLeft" align="right" valign="top">virtual UInt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a76be61552695c0c8bc1dc4680397e11d">GetNoOfFitBins</a> ()</td></tr>
|
||
<tr class="memdesc:a76be61552695c0c8bc1dc4680397e11d"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of bins included in the fit range. <br /></td></tr>
|
||
<tr class="separator:a76be61552695c0c8bc1dc4680397e11d"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a6d60a6ee87cd46de7e9a5798ceb1970d" id="r_a6d60a6ee87cd46de7e9a5798ceb1970d"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6d60a6ee87cd46de7e9a5798ceb1970d">SetFitRangeBin</a> (const TString fitRange)</td></tr>
|
||
<tr class="memdesc:a6d60a6ee87cd46de7e9a5798ceb1970d"><td class="mdescLeft"> </td><td class="mdescRight">Sets fit range using bin-offset specification (COMMANDS block syntax). <br /></td></tr>
|
||
<tr class="separator:a6d60a6ee87cd46de7e9a5798ceb1970d"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a06a7d84b23c70fa19beeacbb72591419" id="r_a06a7d84b23c70fa19beeacbb72591419"><td class="memItemLeft" align="right" valign="top">virtual Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a06a7d84b23c70fa19beeacbb72591419">GetStartTimeBin</a> ()</td></tr>
|
||
<tr class="memdesc:a06a7d84b23c70fa19beeacbb72591419"><td class="mdescLeft"> </td><td class="mdescRight">Returns the first bin index in the fit range. <br /></td></tr>
|
||
<tr class="separator:a06a7d84b23c70fa19beeacbb72591419"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:abe411be92e5fe6dc6e0646f781c61893" id="r_abe411be92e5fe6dc6e0646f781c61893"><td class="memItemLeft" align="right" valign="top">virtual Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#abe411be92e5fe6dc6e0646f781c61893">GetEndTimeBin</a> ()</td></tr>
|
||
<tr class="memdesc:abe411be92e5fe6dc6e0646f781c61893"><td class="mdescLeft"> </td><td class="mdescRight">Returns the last bin index in the fit range (exclusive). <br /></td></tr>
|
||
<tr class="separator:abe411be92e5fe6dc6e0646f781c61893"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a3ce94ec1a181fcbc622747a64652b479" id="r_a3ce94ec1a181fcbc622747a64652b479"><td class="memItemLeft" align="right" valign="top">virtual Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3ce94ec1a181fcbc622747a64652b479">GetPacking</a> ()</td></tr>
|
||
<tr class="memdesc:a3ce94ec1a181fcbc622747a64652b479"><td class="mdescLeft"> </td><td class="mdescRight">Returns the bin packing factor. <br /></td></tr>
|
||
<tr class="separator:a3ce94ec1a181fcbc622747a64652b479"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ad7a4e5bf6faa30254e8abf42ea6ff76d" id="r_ad7a4e5bf6faa30254e8abf42ea6ff76d"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad7a4e5bf6faa30254e8abf42ea6ff76d">CalcNoOfFitBins</a> ()</td></tr>
|
||
<tr class="memdesc:ad7a4e5bf6faa30254e8abf42ea6ff76d"><td class="mdescLeft"> </td><td class="mdescRight">Calculates start/end bin indices from fit time range. <br /></td></tr>
|
||
<tr class="separator:ad7a4e5bf6faa30254e8abf42ea6ff76d"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="inherit_header pub_methods_classPRunBase"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classPRunBase')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classPRunBase.html">PRunBase</a></td></tr>
|
||
<tr class="memitem:ae5fc9bd22de779aff2bbbcbf14b90d42 inherit pub_methods_classPRunBase" id="r_ae5fc9bd22de779aff2bbbcbf14b90d42"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ae5fc9bd22de779aff2bbbcbf14b90d42">PRunBase</a> ()</td></tr>
|
||
<tr class="memdesc:ae5fc9bd22de779aff2bbbcbf14b90d42 inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br /></td></tr>
|
||
<tr class="separator:ae5fc9bd22de779aff2bbbcbf14b90d42 inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a3f9caf361812bebe3f63146878e28b18 inherit pub_methods_classPRunBase" id="r_a3f9caf361812bebe3f63146878e28b18"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a3f9caf361812bebe3f63146878e28b18">PRunBase</a> (<a class="el" href="classPMsrHandler.html">PMsrHandler</a> *msrInfo, <a class="el" href="classPRunDataHandler.html">PRunDataHandler</a> *rawData, UInt_t runNo, <a class="el" href="PMusr_8h.html#a3168a2cda2474c28fe329358530331ab">EPMusrHandleTag</a> tag)</td></tr>
|
||
<tr class="memdesc:a3f9caf361812bebe3f63146878e28b18 inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing run from MSR file and raw data. <br /></td></tr>
|
||
<tr class="separator:a3f9caf361812bebe3f63146878e28b18 inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a1048c017a4891ed5ca092377f73fa83a inherit pub_methods_classPRunBase" id="r_a1048c017a4891ed5ca092377f73fa83a"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a1048c017a4891ed5ca092377f73fa83a">~PRunBase</a> ()</td></tr>
|
||
<tr class="memdesc:a1048c017a4891ed5ca092377f73fa83a inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br /></td></tr>
|
||
<tr class="separator:a1048c017a4891ed5ca092377f73fa83a inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a59cbd8ad7cb144c99c1dccefa4e200ff inherit pub_methods_classPRunBase" id="r_a59cbd8ad7cb144c99c1dccefa4e200ff"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a59cbd8ad7cb144c99c1dccefa4e200ff">SetFitRange</a> (<a class="el" href="PMusr_8h.html#a93e3841e16074fd3c7648d8fc7b742f4">PDoublePairVector</a> fitRange)</td></tr>
|
||
<tr class="memdesc:a59cbd8ad7cb144c99c1dccefa4e200ff inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Sets the fit time range for this run. <br /></td></tr>
|
||
<tr class="separator:a59cbd8ad7cb144c99c1dccefa4e200ff inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ac452c100e88628bad5a6017ae08b5bcb inherit pub_methods_classPRunBase" id="r_ac452c100e88628bad5a6017ae08b5bcb"><td class="memItemLeft" align="right" valign="top">virtual UInt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ac452c100e88628bad5a6017ae08b5bcb">GetRunNo</a> ()</td></tr>
|
||
<tr class="memdesc:ac452c100e88628bad5a6017ae08b5bcb inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Returns the run number (0-based index in MSR file). <br /></td></tr>
|
||
<tr class="separator:ac452c100e88628bad5a6017ae08b5bcb inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ae3e949dbc18ee0596270d059f5d6a2c1 inherit pub_methods_classPRunBase" id="r_ae3e949dbc18ee0596270d059f5d6a2c1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPRunData.html">PRunData</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ae3e949dbc18ee0596270d059f5d6a2c1">GetData</a> ()</td></tr>
|
||
<tr class="memdesc:ae3e949dbc18ee0596270d059f5d6a2c1 inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Returns pointer to processed data container. <br /></td></tr>
|
||
<tr class="separator:ae3e949dbc18ee0596270d059f5d6a2c1 inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a0b2209bc7e4adf26ad448b78d726c366 inherit pub_methods_classPRunBase" id="r_a0b2209bc7e4adf26ad448b78d726c366"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a0b2209bc7e4adf26ad448b78d726c366">CleanUp</a> ()</td></tr>
|
||
<tr class="memdesc:a0b2209bc7e4adf26ad448b78d726c366 inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Cleans up internal data structures. <br /></td></tr>
|
||
<tr class="separator:a0b2209bc7e4adf26ad448b78d726c366 inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a269787baf9a101ce181ef0b5a79b9e0d inherit pub_methods_classPRunBase" id="r_a269787baf9a101ce181ef0b5a79b9e0d"><td class="memItemLeft" align="right" valign="top">virtual Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a269787baf9a101ce181ef0b5a79b9e0d">IsValid</a> ()</td></tr>
|
||
<tr class="memdesc:a269787baf9a101ce181ef0b5a79b9e0d inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Returns validity status of this run object. <br /></td></tr>
|
||
<tr class="separator:a269787baf9a101ce181ef0b5a79b9e0d inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table><table class="memberdecls">
|
||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
|
||
Protected Member Functions</h2></td></tr>
|
||
<tr class="memitem:a3a96c9156e9207dcc7b1f95a1fcbb9e5" id="r_a3a96c9156e9207dcc7b1f95a1fcbb9e5"><td class="memItemLeft" align="right" valign="top">virtual Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3a96c9156e9207dcc7b1f95a1fcbb9e5">PrepareData</a> ()</td></tr>
|
||
<tr class="memdesc:a3a96c9156e9207dcc7b1f95a1fcbb9e5"><td class="mdescLeft"> </td><td class="mdescRight">Main data preparation routine for μ⁻ fitting and viewing. <br /></td></tr>
|
||
<tr class="separator:a3a96c9156e9207dcc7b1f95a1fcbb9e5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aba3d803c4f6debdc66145d4ec9a9fa23" id="r_aba3d803c4f6debdc66145d4ec9a9fa23"><td class="memItemLeft" align="right" valign="top">virtual Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#aba3d803c4f6debdc66145d4ec9a9fa23">PrepareFitData</a> (<a class="el" href="classPRawRunData.html">PRawRunData</a> *runData, const UInt_t histoNo)</td></tr>
|
||
<tr class="memdesc:aba3d803c4f6debdc66145d4ec9a9fa23"><td class="mdescLeft"> </td><td class="mdescRight">Prepares μ⁻ histogram data for fitting. <br /></td></tr>
|
||
<tr class="separator:aba3d803c4f6debdc66145d4ec9a9fa23"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aebb1bb9b7b233bc09bd6a996e9ce0e87" id="r_aebb1bb9b7b233bc09bd6a996e9ce0e87"><td class="memItemLeft" align="right" valign="top">virtual Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#aebb1bb9b7b233bc09bd6a996e9ce0e87">PrepareRawViewData</a> (<a class="el" href="classPRawRunData.html">PRawRunData</a> *runData, const UInt_t histoNo)</td></tr>
|
||
<tr class="memdesc:aebb1bb9b7b233bc09bd6a996e9ce0e87"><td class="mdescLeft"> </td><td class="mdescRight">Prepares μ⁻ histogram data for viewing/plotting (minimal processing). <br /></td></tr>
|
||
<tr class="separator:aebb1bb9b7b233bc09bd6a996e9ce0e87"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="inherit_header pro_methods_classPRunBase"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classPRunBase')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classPRunBase.html">PRunBase</a></td></tr>
|
||
<tr class="memitem:ac035dac111f8726a36bafe86b2181054 inherit pro_methods_classPRunBase" id="r_ac035dac111f8726a36bafe86b2181054"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ac035dac111f8726a36bafe86b2181054">CalculateKaiserFilterCoeff</a> (Double_t wc, Double_t A, Double_t dw)</td></tr>
|
||
<tr class="memdesc:ac035dac111f8726a36bafe86b2181054 inherit pro_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Calculates Kaiser window FIR filter coefficients for RRF smoothing. <br /></td></tr>
|
||
<tr class="separator:ac035dac111f8726a36bafe86b2181054 inherit pro_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:af75ae97c44331887fa56ee247d8e92ac inherit pro_methods_classPRunBase" id="r_af75ae97c44331887fa56ee247d8e92ac"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#af75ae97c44331887fa56ee247d8e92ac">FilterTheo</a> ()</td></tr>
|
||
<tr class="memdesc:af75ae97c44331887fa56ee247d8e92ac inherit pro_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Applies Kaiser FIR filter to theory values for RRF fits. <br /></td></tr>
|
||
<tr class="separator:af75ae97c44331887fa56ee247d8e92ac inherit pro_methods_classPRunBase"><td class="memSeparator" colspan="2"> </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:a975704a1a49fed0d3bb5941af1f8fce5" id="r_a975704a1a49fed0d3bb5941af1f8fce5"><td class="memItemLeft" align="right" valign="top">virtual Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a975704a1a49fed0d3bb5941af1f8fce5">GetProperT0</a> (<a class="el" href="classPRawRunData.html">PRawRunData</a> *runData, <a class="el" href="classPMsrGlobalBlock.html">PMsrGlobalBlock</a> *globalBlock, <a class="el" href="PMusr_8h.html#a01eec7e896afb5c4601dea91ee31477b">PUIntVector</a> &histoNo)</td></tr>
|
||
<tr class="memdesc:a975704a1a49fed0d3bb5941af1f8fce5"><td class="mdescLeft"> </td><td class="mdescRight">Determines and validates t0 values for μ⁻ histogram. <br /></td></tr>
|
||
<tr class="separator:a975704a1a49fed0d3bb5941af1f8fce5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a6849d8b428569486521ae56af88caf94" id="r_a6849d8b428569486521ae56af88caf94"><td class="memItemLeft" align="right" valign="top">virtual Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6849d8b428569486521ae56af88caf94">GetProperDataRange</a> ()</td></tr>
|
||
<tr class="memdesc:a6849d8b428569486521ae56af88caf94"><td class="mdescLeft"> </td><td class="mdescRight">Determines data range (region of valid histogram data). <br /></td></tr>
|
||
<tr class="separator:a6849d8b428569486521ae56af88caf94"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a74f9bfd0610af078c6bb724398148ac1" id="r_a74f9bfd0610af078c6bb724398148ac1"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a74f9bfd0610af078c6bb724398148ac1">GetProperFitRange</a> (<a class="el" href="classPMsrGlobalBlock.html">PMsrGlobalBlock</a> *globalBlock)</td></tr>
|
||
<tr class="memdesc:a74f9bfd0610af078c6bb724398148ac1"><td class="mdescLeft"> </td><td class="mdescRight">Determines fit range from MSR file settings. <br /></td></tr>
|
||
<tr class="separator:a74f9bfd0610af078c6bb724398148ac1"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table><table class="memberdecls">
|
||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
|
||
Private Attributes</h2></td></tr>
|
||
<tr class="memitem:afd5f4969b908b4a57e95dd1f53ae7702" id="r_afd5f4969b908b4a57e95dd1f53ae7702"><td class="memItemLeft" align="right" valign="top">UInt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#afd5f4969b908b4a57e95dd1f53ae7702">fNoOfFitBins</a></td></tr>
|
||
<tr class="memdesc:afd5f4969b908b4a57e95dd1f53ae7702"><td class="mdescLeft"> </td><td class="mdescRight">Number of bins within fit range (between fStartTimeBin and fEndTimeBin) <br /></td></tr>
|
||
<tr class="separator:afd5f4969b908b4a57e95dd1f53ae7702"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a2f6c710527bc6cc3dcb4542aa9d32a39" id="r_a2f6c710527bc6cc3dcb4542aa9d32a39"><td class="memItemLeft" align="right" valign="top">Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2f6c710527bc6cc3dcb4542aa9d32a39">fPacking</a></td></tr>
|
||
<tr class="memdesc:a2f6c710527bc6cc3dcb4542aa9d32a39"><td class="mdescLeft"> </td><td class="mdescRight">Bin packing factor (REQUIRED for μ⁻). <br /></td></tr>
|
||
<tr class="separator:a2f6c710527bc6cc3dcb4542aa9d32a39"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a1578acd55d3ef318e0e63f517adfc983" id="r_a1578acd55d3ef318e0e63f517adfc983"><td class="memItemLeft" align="right" valign="top">Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1578acd55d3ef318e0e63f517adfc983">fTheoAsData</a></td></tr>
|
||
<tr class="memdesc:a1578acd55d3ef318e0e63f517adfc983"><td class="mdescLeft"> </td><td class="mdescRight">Theory calculation mode flag. <br /></td></tr>
|
||
<tr class="separator:a1578acd55d3ef318e0e63f517adfc983"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a2f9ea96ed2ba33a888c32efdc907950a" id="r_a2f9ea96ed2ba33a888c32efdc907950a"><td class="memItemLeft" align="right" valign="top">Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2f9ea96ed2ba33a888c32efdc907950a">fGoodBins</a> [2]</td></tr>
|
||
<tr class="memdesc:a2f9ea96ed2ba33a888c32efdc907950a"><td class="mdescLeft"> </td><td class="mdescRight">Good bin markers for bin-based fit range specification. <br /></td></tr>
|
||
<tr class="separator:a2f9ea96ed2ba33a888c32efdc907950a"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a88d70a3eb1263bd5f7351920f28bd6b5" id="r_a88d70a3eb1263bd5f7351920f28bd6b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a88d70a3eb1263bd5f7351920f28bd6b5">fForward</a></td></tr>
|
||
<tr class="memdesc:a88d70a3eb1263bd5f7351920f28bd6b5"><td class="mdescLeft"> </td><td class="mdescRight">Forward detector histogram data (background-corrected, packed). <br /></td></tr>
|
||
<tr class="separator:a88d70a3eb1263bd5f7351920f28bd6b5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aba22dd04f7bdde0de5231db0eeee161e" id="r_aba22dd04f7bdde0de5231db0eeee161e"><td class="memItemLeft" align="right" valign="top">Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#aba22dd04f7bdde0de5231db0eeee161e">fStartTimeBin</a></td></tr>
|
||
<tr class="memdesc:aba22dd04f7bdde0de5231db0eeee161e"><td class="mdescLeft"> </td><td class="mdescRight">First bin index in fit range (inclusive, 0-based after packing) <br /></td></tr>
|
||
<tr class="separator:aba22dd04f7bdde0de5231db0eeee161e"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aac4549dbf197ff0a8217b5bfdaf2b9a5" id="r_aac4549dbf197ff0a8217b5bfdaf2b9a5"><td class="memItemLeft" align="right" valign="top">Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#aac4549dbf197ff0a8217b5bfdaf2b9a5">fEndTimeBin</a></td></tr>
|
||
<tr class="memdesc:aac4549dbf197ff0a8217b5bfdaf2b9a5"><td class="mdescLeft"> </td><td class="mdescRight">Last bin index in fit range (exclusive: loop as i < fEndTimeBin) <br /></td></tr>
|
||
<tr class="separator:aac4549dbf197ff0a8217b5bfdaf2b9a5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table><table class="memberdecls">
|
||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
|
||
Additional Inherited Members</h2></td></tr>
|
||
<tr class="inherit_header pro_attribs_classPRunBase"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classPRunBase')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classPRunBase.html">PRunBase</a></td></tr>
|
||
<tr class="memitem:a12aa647fe8c42bff6712a1b065d40e9d inherit pro_attribs_classPRunBase" id="r_a12aa647fe8c42bff6712a1b065d40e9d"><td class="memItemLeft" align="right" valign="top">Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a12aa647fe8c42bff6712a1b065d40e9d">fValid</a></td></tr>
|
||
<tr class="memdesc:a12aa647fe8c42bff6712a1b065d40e9d inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Flag indicating if run object initialized successfully; false if any error occurred. <br /></td></tr>
|
||
<tr class="separator:a12aa647fe8c42bff6712a1b065d40e9d inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ab6465ea668810646cd74b40a4e25ca42 inherit pro_attribs_classPRunBase" id="r_ab6465ea668810646cd74b40a4e25ca42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#a3168a2cda2474c28fe329358530331ab">EPMusrHandleTag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ab6465ea668810646cd74b40a4e25ca42">fHandleTag</a></td></tr>
|
||
<tr class="memdesc:ab6465ea668810646cd74b40a4e25ca42 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Operation mode: kFit (fitting), kView (display only), kEmpty (uninitialized) <br /></td></tr>
|
||
<tr class="separator:ab6465ea668810646cd74b40a4e25ca42 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aeccaae88c9db0804981e1bd3f81fc57a inherit pro_attribs_classPRunBase" id="r_aeccaae88c9db0804981e1bd3f81fc57a"><td class="memItemLeft" align="right" valign="top">Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#aeccaae88c9db0804981e1bd3f81fc57a">fRunNo</a></td></tr>
|
||
<tr class="memdesc:aeccaae88c9db0804981e1bd3f81fc57a inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Run number (0-based index in MSR file RUN blocks) <br /></td></tr>
|
||
<tr class="separator:aeccaae88c9db0804981e1bd3f81fc57a inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a6deb4b8c63d7754ab2222659e2920631 inherit pro_attribs_classPRunBase" id="r_a6deb4b8c63d7754ab2222659e2920631"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPMsrHandler.html">PMsrHandler</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a6deb4b8c63d7754ab2222659e2920631">fMsrInfo</a></td></tr>
|
||
<tr class="memdesc:a6deb4b8c63d7754ab2222659e2920631 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to MSR file handler (owned externally, not deleted here) <br /></td></tr>
|
||
<tr class="separator:a6deb4b8c63d7754ab2222659e2920631 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:af1a2a02da26466564461e7a34267387f inherit pro_attribs_classPRunBase" id="r_af1a2a02da26466564461e7a34267387f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPMsrRunBlock.html">PMsrRunBlock</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#af1a2a02da26466564461e7a34267387f">fRunInfo</a></td></tr>
|
||
<tr class="memdesc:af1a2a02da26466564461e7a34267387f inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to this run's RUN block settings within fMsrInfo. <br /></td></tr>
|
||
<tr class="separator:af1a2a02da26466564461e7a34267387f inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ac8852c15177607e0d4383fc2e69e8ef7 inherit pro_attribs_classPRunBase" id="r_ac8852c15177607e0d4383fc2e69e8ef7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPRunDataHandler.html">PRunDataHandler</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ac8852c15177607e0d4383fc2e69e8ef7">fRawData</a></td></tr>
|
||
<tr class="memdesc:ac8852c15177607e0d4383fc2e69e8ef7 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to raw data handler (owned externally, not deleted here) <br /></td></tr>
|
||
<tr class="separator:ac8852c15177607e0d4383fc2e69e8ef7 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ac2cb35c79fbebe631fdb565946417eed inherit pro_attribs_classPRunBase" id="r_ac2cb35c79fbebe631fdb565946417eed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPRunData.html">PRunData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ac2cb35c79fbebe631fdb565946417eed">fData</a></td></tr>
|
||
<tr class="memdesc:ac2cb35c79fbebe631fdb565946417eed inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Processed data container: background-corrected, packed, with theory values. <br /></td></tr>
|
||
<tr class="separator:ac2cb35c79fbebe631fdb565946417eed inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a0ec9b72abc7a54f1e0f4c12d45bb0357 inherit pro_attribs_classPRunBase" id="r_a0ec9b72abc7a54f1e0f4c12d45bb0357"><td class="memItemLeft" align="right" valign="top">Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a0ec9b72abc7a54f1e0f4c12d45bb0357">fTimeResolution</a></td></tr>
|
||
<tr class="memdesc:a0ec9b72abc7a54f1e0f4c12d45bb0357 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Time resolution of raw histogram data in microseconds (μs), e.g., 0.01953125 μs for PSI GPS. <br /></td></tr>
|
||
<tr class="separator:a0ec9b72abc7a54f1e0f4c12d45bb0357 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a8752e8f10acb6a675a22f45881faa044 inherit pro_attribs_classPRunBase" id="r_a8752e8f10acb6a675a22f45881faa044"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structPMetaData.html">PMetaData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a8752e8f10acb6a675a22f45881faa044">fMetaData</a></td></tr>
|
||
<tr class="memdesc:a8752e8f10acb6a675a22f45881faa044 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Experimental metadata extracted from data file header (magnetic field, temperature, beam energy) <br /></td></tr>
|
||
<tr class="separator:a8752e8f10acb6a675a22f45881faa044 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ad3be9a269b89805d9e1a5ffa1a8d6ec9 inherit pro_attribs_classPRunBase" id="r_ad3be9a269b89805d9e1a5ffa1a8d6ec9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ad3be9a269b89805d9e1a5ffa1a8d6ec9">fT0s</a></td></tr>
|
||
<tr class="memdesc:ad3be9a269b89805d9e1a5ffa1a8d6ec9 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Time-zero bin values for all histograms in this run (forward, backward, etc.) <br /></td></tr>
|
||
<tr class="separator:ad3be9a269b89805d9e1a5ffa1a8d6ec9 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ab5f96afcdca519f9a33a9fd9a3a6c67d inherit pro_attribs_classPRunBase" id="r_ab5f96afcdca519f9a33a9fd9a3a6c67d"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ab5f96afcdca519f9a33a9fd9a3a6c67d">fAddT0s</a></td></tr>
|
||
<tr class="memdesc:ab5f96afcdca519f9a33a9fd9a3a6c67d inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Time-zero bin values for additional runs to be added to main run. <br /></td></tr>
|
||
<tr class="separator:ab5f96afcdca519f9a33a9fd9a3a6c67d inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:af4a626805d2fbd201472f0487474bb40 inherit pro_attribs_classPRunBase" id="r_af4a626805d2fbd201472f0487474bb40"><td class="memItemLeft" align="right" valign="top">Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#af4a626805d2fbd201472f0487474bb40">fFitStartTime</a></td></tr>
|
||
<tr class="memdesc:af4a626805d2fbd201472f0487474bb40 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Fit range start time in microseconds (μs) relative to t0. <br /></td></tr>
|
||
<tr class="separator:af4a626805d2fbd201472f0487474bb40 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a4736fa656bba18cc5b61a1273ac839d4 inherit pro_attribs_classPRunBase" id="r_a4736fa656bba18cc5b61a1273ac839d4"><td class="memItemLeft" align="right" valign="top">Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a4736fa656bba18cc5b61a1273ac839d4">fFitEndTime</a></td></tr>
|
||
<tr class="memdesc:a4736fa656bba18cc5b61a1273ac839d4 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Fit range end time in microseconds (μs) relative to t0. <br /></td></tr>
|
||
<tr class="separator:a4736fa656bba18cc5b61a1273ac839d4 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a4756c8b6e7d3764587f57bc62f48f719 inherit pro_attribs_classPRunBase" id="r_a4756c8b6e7d3764587f57bc62f48f719"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a4756c8b6e7d3764587f57bc62f48f719">fFuncValues</a></td></tr>
|
||
<tr class="memdesc:a4756c8b6e7d3764587f57bc62f48f719 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Cached values of user-defined functions from FUNCTIONS block, evaluated at current parameters. <br /></td></tr>
|
||
<tr class="separator:a4756c8b6e7d3764587f57bc62f48f719 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a96aeb9099bceb6456c90d5b03d2dc3ec inherit pro_attribs_classPRunBase" id="r_a96aeb9099bceb6456c90d5b03d2dc3ec"><td class="memItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classPTheory.html">PTheory</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a96aeb9099bceb6456c90d5b03d2dc3ec">fTheory</a></td></tr>
|
||
<tr class="memdesc:a96aeb9099bceb6456c90d5b03d2dc3ec inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Theory function evaluator (smart pointer, automatically deleted) <br /></td></tr>
|
||
<tr class="separator:a96aeb9099bceb6456c90d5b03d2dc3ec inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a51b5de438b62d959ef02c23daadbb860 inherit pro_attribs_classPRunBase" id="r_a51b5de438b62d959ef02c23daadbb860"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a51b5de438b62d959ef02c23daadbb860">fKaiserFilter</a></td></tr>
|
||
<tr class="memdesc:a51b5de438b62d959ef02c23daadbb860 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Kaiser window FIR filter coefficients for smoothing RRF theory curves. <br /></td></tr>
|
||
<tr class="separator:a51b5de438b62d959ef02c23daadbb860 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table>
|
||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||
<div class="textblock"><p>Class for handling negative muon (μ⁻) histogram fits. </p>
|
||
<p><a class="el" href="classPRunMuMinus.html" title="Class for handling negative muon (μ⁻) histogram fits.">PRunMuMinus</a> implements single-histogram fitting specialized for negative muon measurements. Negative muons (μ⁻) have significantly different properties compared to positive muons (μ⁺), requiring dedicated handling:</p>
|
||
<h1><a class="anchor" id="muminus_physics"></a>
|
||
Physics of Negative Muons</h1>
|
||
<p><b>Key differences from μ⁺:</b></p><ul>
|
||
<li><b>Charge:</b> Negatively charged (antimuon has positive charge)</li>
|
||
<li><b>Behavior in matter:</b> μ⁻ are captured by nuclei rather than stopping interstitially</li>
|
||
<li><b>Cascade process:</b> μ⁻ cascade down atomic orbitals before nuclear capture</li>
|
||
<li><b>Lifetime:</b> Effective lifetime is reduced by nuclear capture (typically ~100-1000 ns vs. 2.2 μs free lifetime)</li>
|
||
<li><b>Decay signature:</b> Different detector response due to capture vs. decay</li>
|
||
<li><b>Applications:</b> Elemental analysis, nuclear structure, muonic atom spectroscopy</li>
|
||
</ul>
|
||
<h1><a class="anchor" id="muminus_data"></a>
|
||
Data Structure</h1>
|
||
<p>Unlike asymmetry measurements, μ⁻ fits use a single forward histogram:</p><ul>
|
||
<li>One detector histogram (typically forward detector)</li>
|
||
<li>No asymmetry calculation (no forward/backward pair)</li>
|
||
<li>Direct histogram fitting with background subtraction</li>
|
||
<li>Bin packing for improved statistics</li>
|
||
</ul>
|
||
<h1><a class="anchor" id="muminus_analysis"></a>
|
||
Analysis Workflow</h1>
|
||
<ol type="1">
|
||
<li><b>Data Loading:</b> Load single histogram from data file</li>
|
||
<li><b>Background Subtraction:</b> Remove constant or estimated background</li>
|
||
<li><b>Time-Zero Determination:</b> Identify μ⁻ arrival time (t0)</li>
|
||
<li><b>Bin Packing:</b> Rebin data if specified (required parameter)</li>
|
||
<li><b>Theory Calculation:</b> Evaluate capture-modified exponential decay</li>
|
||
<li><b>Fit Metric:</b> χ² or maximum likelihood minimization</li>
|
||
</ol>
|
||
<h1><a class="anchor" id="muminus_theory"></a>
|
||
Typical Theory Functions</h1>
|
||
<p>Common models for μ⁻ data include:</p><ul>
|
||
<li><b>Simple exponential:</b> N(t) = N₀ · exp(-t/τ_eff)</li>
|
||
<li><b>With relaxation:</b> N(t) = N₀ · exp(-t/τ_eff) · [1 + A·cos(ωt + φ)]</li>
|
||
<li><b>Multi-component:</b> Sum of exponentials for different capture sites</li>
|
||
</ul>
|
||
<p>where τ_eff combines free decay and nuclear capture rates: </p><p class="formulaDsp">
|
||
<picture><source srcset="form_28_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ \frac{1}{\tau_{\rm eff}} = \frac{1}{\tau_{\mu}} + \lambda_{\rm capture} \]" src="form_28.png"/></picture>
|
||
</p>
|
||
<h1><a class="anchor" id="muminus_usage"></a>
|
||
Example Usage</h1>
|
||
<div class="fragment"><div class="line"><span class="comment">// In MSR file RUN block:</span></div>
|
||
<div class="line">RUN data/muminus_run2425 MUD PSI MUSR-ROOT (name beamline)</div>
|
||
<div class="line"> fittype 10 (MuMinus)</div>
|
||
<div class="line"> map 1 (forward histogram)</div>
|
||
<div class="line"> forward 1</div>
|
||
<div class="line"> packing 10 (required!)</div>
|
||
<div class="line"> background 50 150 (pre-t0 background)</div>
|
||
<div class="line"> data 200 2000</div>
|
||
<div class="line"> t0 210.5</div>
|
||
<div class="line"> fit 0.1 10.0</div>
|
||
</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPRunSingleHisto.html" title="Class for fitting single detector histograms (basic time-differential μSR).">PRunSingleHisto</a> for standard positive muon single histogram fits </dd>
|
||
<dd>
|
||
<a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> for base class interface and common functionality </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00097">97</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||
<a id="a2817c764bb5659503e69a0bcdbe1f010" name="a2817c764bb5659503e69a0bcdbe1f010"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a2817c764bb5659503e69a0bcdbe1f010">◆ </a></span>PRunMuMinus() <span class="overload">[1/2]</span></h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">PRunMuMinus::PRunMuMinus </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td></td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Default constructor creating an empty, invalid μ⁻ run object. </p>
|
||
<p>Creates an uninitialized run object with all values set to defaults. This constructor is needed for creating vectors of <a class="el" href="classPRunMuMinus.html" title="Class for handling negative muon (μ⁻) histogram fits.">PRunMuMinus</a> objects but the object is not usable until properly initialized via the main constructor.</p>
|
||
<p>Initializes all member variables to default/invalid states:</p><ul>
|
||
<li>Bin counts and indices set to -1 (invalid)</li>
|
||
<li>Packing set to -1 (unspecified - will cause error if used)</li>
|
||
<li>Theory mode set to false (high-resolution grid)</li>
|
||
<li>Handle tag set to kEmpty (uninitialized)</li>
|
||
</ul>
|
||
<p>This constructor is needed for creating vectors of <a class="el" href="classPRunMuMinus.html" title="Class for handling negative muon (μ⁻) histogram fits.">PRunMuMinus</a> objects, but the resulting object cannot be used for fitting until properly initialized via the main constructor.</p>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#aa68ee9895818eced472ddc5bbe9c52d6" title="Main constructor initializing a μ⁻ run from MSR file and raw data.">PRunMuMinus(PMsrHandler*, PRunDataHandler*, UInt_t, EPMusrHandleTag, Bool_t)</a> </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00064">64</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunMuMinus_8h_source.html#l00430">fEndTimeBin</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00414">fGoodBins</a>, <a class="el" href="PRunBase_8h_source.html#l00268">PRunBase::fHandleTag</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00376">fNoOfFitBins</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00391">fPacking</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00429">fStartTimeBin</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00402">fTheoAsData</a>, <a class="el" href="PMusr_8h_source.html#l00414">kEmpty</a>, and <a class="el" href="PRunBase_8cpp_source.html#l00054">PRunBase::PRunBase()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="aa68ee9895818eced472ddc5bbe9c52d6" name="aa68ee9895818eced472ddc5bbe9c52d6"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aa68ee9895818eced472ddc5bbe9c52d6">◆ </a></span>PRunMuMinus() <span class="overload">[2/2]</span></h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">PRunMuMinus::PRunMuMinus </td>
|
||
<td>(</td>
|
||
<td class="paramtype"><a class="el" href="classPMsrHandler.html">PMsrHandler</a> *</td> <td class="paramname"><span class="paramname"><em>msrInfo</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype"><a class="el" href="classPRunDataHandler.html">PRunDataHandler</a> *</td> <td class="paramname"><span class="paramname"><em>rawData</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">UInt_t</td> <td class="paramname"><span class="paramname"><em>runNo</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype"><a class="el" href="PMusr_8h.html#a3168a2cda2474c28fe329358530331ab">EPMusrHandleTag</a></td> <td class="paramname"><span class="paramname"><em>tag</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">Bool_t</td> <td class="paramname"><span class="paramname"><em>theoAsData</em></span> )</td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Main constructor initializing a μ⁻ run from MSR file and raw data. </p>
|
||
<p>Performs comprehensive initialization:</p><ol type="1">
|
||
<li>Validates packing parameter (REQUIRED for μ⁻ - cannot be -1)</li>
|
||
<li>Initializes base class (<a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a>) with MSR and data handlers</li>
|
||
<li>Calls <a class="el" href="#a3a96c9156e9207dcc7b1f95a1fcbb9e5" title="Main data preparation routine for μ⁻ fitting and viewing.">PrepareData()</a> to load and preprocess the histogram</li>
|
||
<li>Validates successful initialization</li>
|
||
</ol>
|
||
<p>The packing parameter is mandatory for μ⁻ data and is obtained from:</p><ul>
|
||
<li>RUN block "packing" entry (if specified)</li>
|
||
<li>Falls back to GLOBAL block "packing" entry</li>
|
||
<li>SEVERE ERROR if neither is specified → run marked invalid</li>
|
||
</ul>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">msrInfo</td><td>Pointer to MSR file handler (must remain valid) </td></tr>
|
||
<tr><td class="paramname">rawData</td><td>Pointer to raw data handler for histogram loading </td></tr>
|
||
<tr><td class="paramname">runNo</td><td>Run number (0-based index in MSR file RUN blocks) </td></tr>
|
||
<tr><td class="paramname">tag</td><td>Operation mode: kFit (fitting), kView (display/plotting) </td></tr>
|
||
<tr><td class="paramname">theoAsData</td><td>Theory mode: true = at data points, false = high-resolution</td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section warning"><dt>Warning</dt><dd>If <a class="el" href="#a3a96c9156e9207dcc7b1f95a1fcbb9e5" title="Main data preparation routine for μ⁻ fitting and viewing.">PrepareData()</a> fails, the object is marked invalid (fValid=false)</dd></dl>
|
||
<p>Performs comprehensive initialization for negative muon analysis:</p>
|
||
<ol type="1">
|
||
<li><b>Base Class Initialization:</b><ul>
|
||
<li>Calls <a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> constructor with MSR/data handlers</li>
|
||
<li>Initializes theory engine and parameter mappings</li>
|
||
</ul>
|
||
</li>
|
||
<li><b>Packing Validation (CRITICAL for μ⁻):</b><ul>
|
||
<li>Attempts to read packing from RUN block</li>
|
||
<li>Falls back to GLOBAL block if not in RUN block</li>
|
||
<li>SEVERE ERROR if packing == -1 (unspecified)</li>
|
||
<li>Packing is MANDATORY for μ⁻ data (unlike some other fit types)</li>
|
||
</ul>
|
||
</li>
|
||
<li><b>Member Initialization:</b><ul>
|
||
<li>Good bin markers set to -1 (determined later)</li>
|
||
<li>Fit range bins initialized to -1 (invalid until set)</li>
|
||
<li>Number of fit bins set to 0</li>
|
||
</ul>
|
||
</li>
|
||
<li><b>Data Preparation:</b><ul>
|
||
<li>Calls <a class="el" href="#a3a96c9156e9207dcc7b1f95a1fcbb9e5" title="Main data preparation routine for μ⁻ fitting and viewing.">PrepareData()</a> to load and preprocess histogram</li>
|
||
<li>If <a class="el" href="#a3a96c9156e9207dcc7b1f95a1fcbb9e5" title="Main data preparation routine for μ⁻ fitting and viewing.">PrepareData()</a> fails, run is marked invalid</li>
|
||
</ul>
|
||
</li>
|
||
</ol>
|
||
<p>The object is marked as invalid (fValid=false) if:</p><ul>
|
||
<li>Packing parameter is missing</li>
|
||
<li><a class="el" href="#a3a96c9156e9207dcc7b1f95a1fcbb9e5" title="Main data preparation routine for μ⁻ fitting and viewing.">PrepareData()</a> fails (file not found, invalid t0, etc.)</li>
|
||
</ul>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">msrInfo</td><td>Pointer to MSR file handler (must remain valid for object lifetime) </td></tr>
|
||
<tr><td class="paramname">rawData</td><td>Pointer to raw data handler for loading histogram files </td></tr>
|
||
<tr><td class="paramname">runNo</td><td>Run number (0-based index in MSR file RUN blocks) </td></tr>
|
||
<tr><td class="paramname">tag</td><td>Operation mode: kFit (fitting), kView (display/plotting) </td></tr>
|
||
<tr><td class="paramname">theoAsData</td><td>Theory calculation mode: true = at data points, false = high-resolution</td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section warning"><dt>Warning</dt><dd>Invalid objects should not be used for fitting. Check <a class="el" href="classPRunBase.html#a269787baf9a101ce181ef0b5a79b9e0d" title="Returns validity status of this run object.">IsValid()</a> after construction.</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a3a96c9156e9207dcc7b1f95a1fcbb9e5" title="Main data preparation routine for μ⁻ fitting and viewing.">PrepareData()</a> for data preprocessing details </dd>
|
||
<dd>
|
||
<a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> constructor for base initialization </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00123">123</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunMuMinus_8h_source.html#l00430">fEndTimeBin</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00414">fGoodBins</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00376">fNoOfFitBins</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00391">fPacking</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00429">fStartTimeBin</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00402">fTheoAsData</a>, <a class="el" href="PRunBase_8h_source.html#l00266">PRunBase::fValid</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00596">PrepareData()</a>, and <a class="el" href="PRunBase_8cpp_source.html#l00054">PRunBase::PRunBase()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a07263c85cb90840ff1dbd66a423b0dd7" name="a07263c85cb90840ff1dbd66a423b0dd7"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a07263c85cb90840ff1dbd66a423b0dd7">◆ </a></span>~PRunMuMinus()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">PRunMuMinus::~PRunMuMinus </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>Virtual destructor cleaning up allocated resources. </p>
|
||
<p>Destructor cleaning up allocated resources.</p>
|
||
<p>Releases memory used by the forward histogram vector (fForward). Base class destructor handles cleanup of theory objects and other shared resources.</p>
|
||
<p>Releases memory used by the forward histogram vector. Other cleanup (theory objects, base class resources) is handled by the <a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> destructor. </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00165">165</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunMuMinus_8h_source.html#l00427">fForward</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<h2 class="groupheader">Member Function Documentation</h2>
|
||
<a id="abe0df325a415b34082e7604d3d99ce32" name="abe0df325a415b34082e7604d3d99ce32"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#abe0df325a415b34082e7604d3d99ce32">◆ </a></span>CalcChiSquare()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Double_t PRunMuMinus::CalcChiSquare </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const std::vector< Double_t > &</td> <td class="paramname"><span class="paramname"><em>par</em></span></td><td>)</td>
|
||
<td></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>Calculates χ² between μ⁻ data and theory (least-squares fit metric). </p>
|
||
<p>Computes the chi-squared statistic for the forward histogram: </p><p class="formulaDsp">
|
||
<picture><source srcset="form_29_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ \chi^2 = \sum_{i={\rm start}}^{\rm end} \frac{(N_i^{\rm data} - N_i^{\rm theory})^2}{\sigma_i^2} \]" src="form_29.png"/></picture>
|
||
</p>
|
||
<p>where:</p><ul>
|
||
<li>N_i^data is the background-corrected, packed histogram count in bin i</li>
|
||
<li>N_i^theory is the theory prediction from THEORY block</li>
|
||
<li>σ_i is the propagated error (including background uncertainty)</li>
|
||
<li>Sum runs from fStartTimeBin to fEndTimeBin (fit range)</li>
|
||
</ul>
|
||
<p>Implementation uses OpenMP parallelization when available for performance. Each thread processes a chunk of bins independently, with reduction for final sum.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT with current parameter values </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Chi-squared value (lower is better; minimize during fitting)</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ae20a804fc578c31788171f710f865210" title="Calculates negative log-likelihood for Poisson statistics (low-count fit metric).">CalcMaxLikelihood()</a> for alternative fit metric (better for low counts) </dd>
|
||
<dd>
|
||
<a class="el" href="#a7941f4ab9ecf135916427b862a4f0796" title="Evaluates theory function at all data points (or high-resolution grid).">CalcTheory()</a> for theory function evaluation details</dd></dl>
|
||
<p>Computes the chi-squared statistic using the standard formula: </p><p class="formulaDsp">
|
||
<picture><source srcset="form_29_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ \chi^2 = \sum_{i={\rm start}}^{\rm end} \frac{(N_i^{\rm data} - N_i^{\rm theory})^2}{\sigma_i^2} \]" src="form_29.png"/></picture>
|
||
</p>
|
||
<p>Algorithm:</p><ol type="1">
|
||
<li>Evaluate FUNCTIONS block for user-defined functions</li>
|
||
<li>Pre-calculate theory once at t=1.0 (thread-safe initialization for LF/user functions)</li>
|
||
<li>Loop over fit range bins (fStartTimeBin to fEndTimeBin)</li>
|
||
<li>For each bin:<ul>
|
||
<li>Calculate time from bin index</li>
|
||
<li>Evaluate theory function at that time</li>
|
||
<li>Compute squared difference weighted by error</li>
|
||
</ul>
|
||
</li>
|
||
<li>Sum contributions (with OpenMP reduction if available)</li>
|
||
</ol>
|
||
<p><b>OpenMP Parallelization:</b></p><ul>
|
||
<li>When compiled with GOMP support, χ² calculation is parallelized</li>
|
||
<li>Loop divided into dynamic chunks for load balancing</li>
|
||
<li>Chunk size: (N_bins / N_processors), minimum 10 bins per chunk</li>
|
||
<li>Private variables per thread: i, time, diff</li>
|
||
<li>Reduction performed on final chisq sum</li>
|
||
</ul>
|
||
<p><b>Theory Pre-calculation:</b> The initial call to fTheory->Func(time=1.0, ...) ensures thread-safe initialization for London field (LF) and user functions that cache computationally expensive calculations per parameter set.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT with current parameter values </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Chi-squared value (sum of weighted squared residuals)</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ae20a804fc578c31788171f710f865210" title="Calculates negative log-likelihood for Poisson statistics (low-count fit metric).">CalcMaxLikelihood()</a> for Poisson-based alternative (better for low counts) </dd>
|
||
<dd>
|
||
<a class="el" href="#a7941f4ab9ecf135916427b862a4f0796" title="Evaluates theory function at all data points (or high-resolution grid).">CalcTheory()</a> for theory evaluation without χ² calculation </dd></dl>
|
||
|
||
<p>Implements <a class="el" href="classPRunBase.html#afb8ed1f6e8beb0530da96012ad3258d3">PRunBase</a>.</p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00207">207</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00430">fEndTimeBin</a>, <a class="el" href="PRunBase_8h_source.html#l00284">PRunBase::fFuncValues</a>, <a class="el" href="PRunBase_8h_source.html#l00277">PRunBase::fMetaData</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00429">fStartTimeBin</a>, and <a class="el" href="PRunBase_8h_source.html#l00285">PRunBase::fTheory</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a64e3216f832ddb5c0b219c7795ea4d66" name="a64e3216f832ddb5c0b219c7795ea4d66"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a64e3216f832ddb5c0b219c7795ea4d66">◆ </a></span>CalcChiSquareExpected()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Double_t PRunMuMinus::CalcChiSquareExpected </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const std::vector< Double_t > &</td> <td class="paramname"><span class="paramname"><em>par</em></span></td><td>)</td>
|
||
<td></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>Calculates expected χ² based on theory predictions (statistical diagnostic). </p>
|
||
<p>Calculates expected χ² assuming theory is the true distribution (diagnostic).</p>
|
||
<p>Computes the expected chi-squared assuming theory values are the "true" counts: </p><p class="formulaDsp">
|
||
<picture><source srcset="form_30_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ \chi^2_{\rm expected} = \sum_{i} \frac{(N_i^{\rm data} - N_i^{\rm theory})^2}{N_i^{\rm theory}} \]" src="form_30.png"/></picture>
|
||
</p>
|
||
<p>This diagnostic helps evaluate:</p><ul>
|
||
<li>Quality of error estimates</li>
|
||
<li>Poisson vs. Gaussian statistics validity</li>
|
||
<li>Over/under-dispersion in data</li>
|
||
</ul>
|
||
<p>For well-estimated errors: χ²_expected ≈ number of degrees of freedom</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Expected χ² value (currently returns 0.0 - placeholder implementation)</dd></dl>
|
||
<dl class="section note"><dt>Note</dt><dd>Current implementation returns 0.0; full calculation performed but not returned</dd></dl>
|
||
<p>Computes the expected chi-squared using theory values as the expected counts: </p><p class="formulaDsp">
|
||
<picture><source srcset="form_30_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ \chi^2_{\rm expected} = \sum_{i} \frac{(N_i^{\rm data} - N_i^{\rm theory})^2}{N_i^{\rm theory}} \]" src="form_30.png"/></picture>
|
||
</p>
|
||
<p>This is a statistical diagnostic for evaluating:</p><ul>
|
||
<li>Quality of error estimates (if errors are correct, χ²/ν ≈ 1)</li>
|
||
<li>Validity of Gaussian approximation (breaks down for low counts)</li>
|
||
<li>Over/under-dispersion in data relative to Poisson expectations</li>
|
||
</ul>
|
||
<p>For Poisson-distributed data with large counts:</p><ul>
|
||
<li>χ²_expected ≈ number of degrees of freedom</li>
|
||
<li>χ²_expected / ν ≈ 1 indicates proper error estimation</li>
|
||
</ul>
|
||
<p>Algorithm is identical to <a class="el" href="#abe0df325a415b34082e7604d3d99ce32" title="Calculates χ² between μ⁻ data and theory (least-squares fit metric).">CalcChiSquare()</a> except:</p><ul>
|
||
<li>Error denominator is σ² = N_theory (Poisson variance)</li>
|
||
<li>Instead of using fData.GetError()->at(i)</li>
|
||
</ul>
|
||
<p><b>OpenMP Parallelization:</b> Same as <a class="el" href="#abe0df325a415b34082e7604d3d99ce32" title="Calculates χ² between μ⁻ data and theory (least-squares fit metric).">CalcChiSquare()</a></p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Expected χ² value (currently returns 0.0 - calculation done but not returned)</dd></dl>
|
||
<dl class="section note"><dt>Note</dt><dd>Current implementation performs the calculation but returns 0.0. The calculated value could be returned for diagnostic purposes.</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#abe0df325a415b34082e7604d3d99ce32" title="Calculates χ² between μ⁻ data and theory (least-squares fit metric).">CalcChiSquare()</a> for standard χ² calculation </dd></dl>
|
||
|
||
<p>Implements <a class="el" href="classPRunBase.html#a1a15d5f51a874149b0d60798f99449a6">PRunBase</a>.</p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00275">275</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00430">fEndTimeBin</a>, <a class="el" href="PRunBase_8h_source.html#l00284">PRunBase::fFuncValues</a>, <a class="el" href="PRunBase_8h_source.html#l00277">PRunBase::fMetaData</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00429">fStartTimeBin</a>, and <a class="el" href="PRunBase_8h_source.html#l00285">PRunBase::fTheory</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ae20a804fc578c31788171f710f865210" name="ae20a804fc578c31788171f710f865210"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ae20a804fc578c31788171f710f865210">◆ </a></span>CalcMaxLikelihood()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Double_t PRunMuMinus::CalcMaxLikelihood </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const std::vector< Double_t > &</td> <td class="paramname"><span class="paramname"><em>par</em></span></td><td>)</td>
|
||
<td></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>Calculates negative log-likelihood for Poisson statistics (low-count fit metric). </p>
|
||
<p>Computes the maximum likelihood estimator assuming Poisson-distributed counts: </p><p class="formulaDsp">
|
||
<picture><source srcset="form_31_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ -2\ln L = 2\sum_{i} \left[N_i^{\rm theory} - N_i^{\rm data} \ln(N_i^{\rm theory})\right] \]" src="form_31.png"/></picture>
|
||
</p>
|
||
<p>Maximum likelihood is superior to χ² when:</p><ul>
|
||
<li>Count rates are low (< 10-20 counts per bin)</li>
|
||
<li>Poisson statistics dominate (Gaussian approximation invalid)</li>
|
||
<li>Error estimation is uncertain</li>
|
||
</ul>
|
||
<p>The factor of 2 makes the likelihood comparable to χ² in the Gaussian limit. MINUIT minimizes this function just like χ².</p>
|
||
<p>Implementation details:</p><ul>
|
||
<li>Uses OpenMP parallelization for performance</li>
|
||
<li>Handles edge cases: zero data (skips log term), negative theory (warning + skip)</li>
|
||
<li>Threshold: data > 10^-9 to include log term</li>
|
||
</ul>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>-2×ln(L) value (lower is better; minimize during fitting)</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#abe0df325a415b34082e7604d3d99ce32" title="Calculates χ² between μ⁻ data and theory (least-squares fit metric).">CalcChiSquare()</a> for standard least-squares metric</dd></dl>
|
||
<p>Computes the maximum likelihood estimator assuming Poisson-distributed histogram counts: </p><p class="formulaDsp">
|
||
<picture><source srcset="form_81_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ -2\ln L = 2\sum_{i} \left[N_i^{\rm theory} - N_i^{\rm data}\ln(N_i^{\rm theory})\right] \]" src="form_81.png"/></picture>
|
||
</p>
|
||
<p>This is derived from the Poisson probability: </p><p class="formulaDsp">
|
||
<picture><source srcset="form_82_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(n|\\lambda) = \frac{\\lambda^n e^{-\\lambda}}{n!} \]" src="form_82.png"/></picture>
|
||
</p>
|
||
<p>Taking negative log-likelihood and multiplying by 2 gives a metric that:</p><ul>
|
||
<li>Is minimized at the best-fit parameters (like χ²)</li>
|
||
<li>Approaches χ² in the high-count (Gaussian) limit</li>
|
||
<li>Handles low counts correctly (no Gaussian approximation needed)</li>
|
||
</ul>
|
||
<p><b>When to use likelihood vs. χ²:</b></p><ul>
|
||
<li><b>Low counts (< 10-20 per bin):</b> Use likelihood (this method)</li>
|
||
<li><b>High counts (> 20 per bin):</b> Either method works, χ² is faster</li>
|
||
<li><b>Uncertain errors:</b> Use likelihood (no error estimates needed)</li>
|
||
</ul>
|
||
<p>Algorithm:</p><ol type="1">
|
||
<li>Evaluate FUNCTIONS block</li>
|
||
<li>Pre-calculate theory at t=1.0 (thread-safe initialization)</li>
|
||
<li>Loop over fit range bins</li>
|
||
<li>For each bin:<ul>
|
||
<li>Calculate theory prediction</li>
|
||
<li>Check for negative theory (warning + skip)</li>
|
||
<li>Add Poisson likelihood term:<ul>
|
||
<li>If data > 10^-9: (theo - data) + data·ln(data/theo)</li>
|
||
<li>If data ≈ 0: (theo - data) only (avoid log(0))</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li>Multiply sum by 2 (convention for comparison with χ²)</li>
|
||
</ol>
|
||
<p><b>Edge Case Handling:</b></p><ul>
|
||
<li>Negative theory: Print warning, skip bin (should not happen with proper model)</li>
|
||
<li>Zero data: Use simplified formula without log term</li>
|
||
<li>Zero theory: Would cause log(0), but checked via negative theory guard</li>
|
||
</ul>
|
||
<p>Reference: Particle Data Group (PDG), Statistics Review <a href="http://pdg.lbl.gov/index.html">http://pdg.lbl.gov/index.html</a></p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>-2×ln(L) value (minimize during fitting, comparable to χ²)</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#abe0df325a415b34082e7604d3d99ce32" title="Calculates χ² between μ⁻ data and theory (least-squares fit metric).">CalcChiSquare()</a> for standard least-squares metric </dd></dl>
|
||
|
||
<p>Implements <a class="el" href="classPRunBase.html#a5d7a15b6962e3767860ef9b4c9208201">PRunBase</a>.</p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00360">360</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00430">fEndTimeBin</a>, <a class="el" href="PRunBase_8h_source.html#l00284">PRunBase::fFuncValues</a>, <a class="el" href="PRunBase_8h_source.html#l00277">PRunBase::fMetaData</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00429">fStartTimeBin</a>, and <a class="el" href="PRunBase_8h_source.html#l00285">PRunBase::fTheory</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ad7a4e5bf6faa30254e8abf42ea6ff76d" name="ad7a4e5bf6faa30254e8abf42ea6ff76d"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ad7a4e5bf6faa30254e8abf42ea6ff76d">◆ </a></span>CalcNoOfFitBins()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">void PRunMuMinus::CalcNoOfFitBins </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>Calculates start/end bin indices from fit time range. </p>
|
||
<p>Converts the fit range specified in time (microseconds from t0) into bin indices accounting for:</p><ul>
|
||
<li>Data time start offset</li>
|
||
<li>Time resolution (bin width)</li>
|
||
<li>Packing factor</li>
|
||
</ul>
|
||
<p>Updates:</p><ul>
|
||
<li>fStartTimeBin: First bin in fit range</li>
|
||
<li>fEndTimeBin: One past last bin (exclusive upper bound)</li>
|
||
<li>fNoOfFitBins: Count of bins in range</li>
|
||
</ul>
|
||
<p>Called automatically when fit range is changed via <a class="el" href="classPRunBase.html#a59cbd8ad7cb144c99c1dccefa4e200ff" title="Sets the fit time range for this run.">SetFitRange()</a>.</p>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPRunBase.html#a59cbd8ad7cb144c99c1dccefa4e200ff" title="Sets the fit time range for this run.">SetFitRange()</a> in <a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> for time-based range setting</dd></dl>
|
||
<p>Calculate the number of fitted bins for the current fit range. </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00531">531</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00430">fEndTimeBin</a>, <a class="el" href="PRunBase_8h_source.html#l00282">PRunBase::fFitEndTime</a>, <a class="el" href="PRunBase_8h_source.html#l00281">PRunBase::fFitStartTime</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00376">fNoOfFitBins</a>, and <a class="el" href="PRunMuMinus_8h_source.html#l00429">fStartTimeBin</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00428">GetNoOfFitBins()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00740">PrepareFitData()</a>, and <a class="el" href="PRunMuMinus_8cpp_source.html#l00798">PrepareRawViewData()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a7941f4ab9ecf135916427b862a4f0796" name="a7941f4ab9ecf135916427b862a4f0796"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a7941f4ab9ecf135916427b862a4f0796">◆ </a></span>CalcTheory()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">void PRunMuMinus::CalcTheory </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>Evaluates theory function at all data points (or high-resolution grid). </p>
|
||
<p>Calculates the expected μ⁻ decay signal using the THEORY block functions. The theory is evaluated either:</p><ul>
|
||
<li>At data point times (fTheoAsData=true): For fitting and exact comparison</li>
|
||
<li>On high-resolution grid (fTheoAsData=false): For smooth plotting</li>
|
||
</ul>
|
||
<p>Theory evaluation:</p><ol type="1">
|
||
<li>Determines time grid based on fTheoAsData flag</li>
|
||
<li>Evaluates FUNCTIONS block (user-defined functions)</li>
|
||
<li>Loops over time points calling fTheory->Func(time, par, funcValues)</li>
|
||
<li>Stores results in fData for χ² or likelihood calculation</li>
|
||
</ol>
|
||
<p>The theory typically models:</p><ul>
|
||
<li>Exponential decay: N₀·exp(-t/τ_eff)</li>
|
||
<li>With modulation: N₀·exp(-t/τ_eff)·[1 + A·cos(ωt + φ)]</li>
|
||
<li>Multi-component captures</li>
|
||
</ul>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPTheory.html#ab0b6defce6fa75187ae306332fac3425" title="Evaluates the theory function at a given time point.">PTheory::Func()</a> for theory function implementation </dd>
|
||
<dd>
|
||
<a class="el" href="#a3a96c9156e9207dcc7b1f95a1fcbb9e5" title="Main data preparation routine for μ⁻ fitting and viewing.">PrepareData()</a> for data grid setup</dd></dl>
|
||
<p>Calculate theory for a given set of fit-parameters. </p>
|
||
|
||
<p>Implements <a class="el" href="classPRunBase.html#a0dde056d0acd7f0ac4dc12380e4063e7">PRunBase</a>.</p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00553">553</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunBase_8h_source.html#l00284">PRunBase::fFuncValues</a>, <a class="el" href="PRunBase_8h_source.html#l00277">PRunBase::fMetaData</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, and <a class="el" href="PRunBase_8h_source.html#l00285">PRunBase::fTheory</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="abe411be92e5fe6dc6e0646f781c61893" name="abe411be92e5fe6dc6e0646f781c61893"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#abe411be92e5fe6dc6e0646f781c61893">◆ </a></span>GetEndTimeBin()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual Int_t PRunMuMinus::GetEndTimeBin </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 class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Returns the last bin index in the fit range (exclusive). </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>End bin index (loop condition: i < fEndTimeBin) </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00281">281</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunMuMinus_8h_source.html#l00430">fEndTimeBin</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a76be61552695c0c8bc1dc4680397e11d" name="a76be61552695c0c8bc1dc4680397e11d"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a76be61552695c0c8bc1dc4680397e11d">◆ </a></span>GetNoOfFitBins()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">UInt_t PRunMuMinus::GetNoOfFitBins </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>Returns the number of bins included in the fit range. </p>
|
||
<p>Calculates and returns the count of histogram bins between fStartTimeBin and fEndTimeBin (fit range boundaries). This is used for:</p><ul>
|
||
<li>Degrees of freedom: ν = N_bins - N_params</li>
|
||
<li>Reduced χ²: χ²_red = χ² / ν</li>
|
||
<li>Statistical analysis and diagnostics</li>
|
||
</ul>
|
||
<p>Internally calls <a class="el" href="#ad7a4e5bf6faa30254e8abf42ea6ff76d" title="Calculates start/end bin indices from fit time range.">CalcNoOfFitBins()</a> to update fNoOfFitBins.</p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Number of bins in fit range</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ad7a4e5bf6faa30254e8abf42ea6ff76d" title="Calculates start/end bin indices from fit time range.">CalcNoOfFitBins()</a> for bin range calculation details</dd></dl>
|
||
<p>Recalculates and returns the count of histogram bins between fStartTimeBin and fEndTimeBin. This count is used for:</p><ul>
|
||
<li>Degrees of freedom calculation: ν = N_bins - N_params</li>
|
||
<li>Reduced χ²: χ²_red = χ² / ν</li>
|
||
<li>Statistical quality assessment</li>
|
||
</ul>
|
||
<p>Internally calls <a class="el" href="#ad7a4e5bf6faa30254e8abf42ea6ff76d" title="Calculates start/end bin indices from fit time range.">CalcNoOfFitBins()</a> to ensure fNoOfFitBins is up-to-date.</p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Number of bins within fit range (fEndTimeBin - fStartTimeBin)</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ad7a4e5bf6faa30254e8abf42ea6ff76d" title="Calculates start/end bin indices from fit time range.">CalcNoOfFitBins()</a> for bin range calculation from time range </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00428">428</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunMuMinus_8cpp_source.html#l00531">CalcNoOfFitBins()</a>, and <a class="el" href="PRunMuMinus_8h_source.html#l00376">fNoOfFitBins</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a3ce94ec1a181fcbc622747a64652b479" name="a3ce94ec1a181fcbc622747a64652b479"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a3ce94ec1a181fcbc622747a64652b479">◆ </a></span>GetPacking()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual Int_t PRunMuMinus::GetPacking </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 class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Returns the bin packing factor. </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Packing value (number of raw bins combined into one packed bin) </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00287">287</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunMuMinus_8h_source.html#l00391">fPacking</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a6849d8b428569486521ae56af88caf94" name="a6849d8b428569486521ae56af88caf94"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a6849d8b428569486521ae56af88caf94">◆ </a></span>GetProperDataRange()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PRunMuMinus::GetProperDataRange </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 class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Determines data range (region of valid histogram data). </p>
|
||
<p>Establishes the data range boundaries from RUN block specification:</p><ul>
|
||
<li>Start bin: First bin with valid μ⁻ data (typically after t0)</li>
|
||
<li>End bin: Last bin before noise/artifacts dominate</li>
|
||
</ul>
|
||
<p>Data range is typically wider than fit range. The fit range is a subset of the data range optimized for parameter extraction.</p>
|
||
<dl class="section return"><dt>Returns</dt><dd>True if valid data range determined, false if specification invalid</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a74f9bfd0610af078c6bb724398148ac1" title="Determines fit range from MSR file settings.">GetProperFitRange()</a> for fit range (subset of data range)</dd></dl>
|
||
<p>Get the proper data range, i.e. first/last good bin (fgb/lgb).</p><ol type="1">
|
||
<li>get fgb/lgb from the RUN block</li>
|
||
<li>if fgb/lgb still undefined, try to get it from the GLOBAL block</li>
|
||
<li>if fgb/lgb still undefined, try to estimate them.</li>
|
||
</ol>
|
||
<p><b>return:</b></p><ul>
|
||
<li>true if everthing went smooth</li>
|
||
<li>false, otherwise. </li>
|
||
</ul>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l01076">1076</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunMuMinus_8h_source.html#l00427">fForward</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00414">fGoodBins</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00278">PRunBase::fT0s</a>, and <a class="el" href="PRunBase_8h_source.html#l00276">PRunBase::fTimeResolution</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00596">PrepareData()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a74f9bfd0610af078c6bb724398148ac1" name="a74f9bfd0610af078c6bb724398148ac1"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a74f9bfd0610af078c6bb724398148ac1">◆ </a></span>GetProperFitRange()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">void PRunMuMinus::GetProperFitRange </td>
|
||
<td>(</td>
|
||
<td class="paramtype"><a class="el" href="classPMsrGlobalBlock.html">PMsrGlobalBlock</a> *</td> <td class="paramname"><span class="paramname"><em>globalBlock</em></span></td><td>)</td>
|
||
<td></td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Determines fit range from MSR file settings. </p>
|
||
<p>Extracts fit range boundaries (time window for χ² calculation) from:</p><ol type="1">
|
||
<li>RUN block "fit" entry (if specified)</li>
|
||
<li>GLOBAL block "fit" entry (fallback)</li>
|
||
</ol>
|
||
<p>Fit range format in MSR file:</p><ul>
|
||
<li>Time-based: "fit 0.1 10.0" (μs from t0)</li>
|
||
<li>Bin-based: "fit fgb+5 lgb-10" (offsets from markers)</li>
|
||
</ul>
|
||
<p>The fit range determines which bins contribute to χ² or likelihood. Choosing the optimal range is critical for accurate parameter extraction.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">globalBlock</td><td>GLOBAL block from MSR file with default fit settings</td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ad7a4e5bf6faa30254e8abf42ea6ff76d" title="Calculates start/end bin indices from fit time range.">CalcNoOfFitBins()</a> for converting time range to bin indices</dd></dl>
|
||
<p>Get the proper fit range. There are two possible fit range commands: fit <start> <end> given in (usec), or fit fgb+offset_0 lgb-offset_1 given in (bins), therefore it works the following way:</p><ol type="1">
|
||
<li>get fit range assuming given in time from RUN block</li>
|
||
<li>if fit range in RUN block is given in bins, replace start/end</li>
|
||
<li>if fit range is NOT given yet, try fit range assuming given in time from GLOBAL block</li>
|
||
<li>if fit range in GLOBAL block is given in bins, replace start/end</li>
|
||
<li>if still no fit range is given, use fgb/lgb.</li>
|
||
</ol>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">globalBlock</td><td>pointer to the GLOBAL block information form the msr-file. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l01151">1151</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00282">PRunBase::fFitEndTime</a>, <a class="el" href="PRunBase_8h_source.html#l00281">PRunBase::fFitStartTime</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00414">fGoodBins</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00278">PRunBase::fT0s</a>, <a class="el" href="PRunBase_8h_source.html#l00276">PRunBase::fTimeResolution</a>, <a class="el" href="PMusr_8cpp_source.html#l01104">PMsrGlobalBlock::GetFitRange()</a>, <a class="el" href="PMusr_8cpp_source.html#l01141">PMsrGlobalBlock::GetFitRangeOffset()</a>, <a class="el" href="PMusr_8h_source.html#l01048">PMsrGlobalBlock::IsFitRangeInBin()</a>, <a class="el" href="PMusr_8h_source.html#l00172">PMUSR_UNDEFINED</a>, and <a class="el" href="PMusr_8cpp_source.html#l01121">PMsrGlobalBlock::SetFitRange()</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00596">PrepareData()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a975704a1a49fed0d3bb5941af1f8fce5" name="a975704a1a49fed0d3bb5941af1f8fce5"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a975704a1a49fed0d3bb5941af1f8fce5">◆ </a></span>GetProperT0()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PRunMuMinus::GetProperT0 </td>
|
||
<td>(</td>
|
||
<td class="paramtype"><a class="el" href="classPRawRunData.html">PRawRunData</a> *</td> <td class="paramname"><span class="paramname"><em>runData</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype"><a class="el" href="classPMsrGlobalBlock.html">PMsrGlobalBlock</a> *</td> <td class="paramname"><span class="paramname"><em>globalBlock</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype"><a class="el" href="PMusr_8h.html#a01eec7e896afb5c4601dea91ee31477b">PUIntVector</a> &</td> <td class="paramname"><span class="paramname"><em>histoNo</em></span> )</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Determines and validates t0 values for μ⁻ histogram. </p>
|
||
<p>Extracts time-zero (muon arrival time) from:</p><ol type="1">
|
||
<li>RUN block "t0" entry (if specified)</li>
|
||
<li>Data file header (if available)</li>
|
||
<li>GLOBAL block default (fallback)</li>
|
||
<li>Automatic determination from histogram structure (if enabled)</li>
|
||
</ol>
|
||
<p>For μ⁻, t0 marks the start of the decay/capture signal. Validates that t0 is within reasonable bounds of the histogram.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">runData</td><td>Raw run data containing histogram and metadata </td></tr>
|
||
<tr><td class="paramname">globalBlock</td><td>GLOBAL block from MSR file with default settings </td></tr>
|
||
<tr><td class="paramname">histoNo</td><td>Vector of histogram indices to process </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>True if valid t0 found/determined, false otherwise</dd></dl>
|
||
<p>Get the proper t0 for the single histogram run.</p><ol type="1">
|
||
<li>the t0 vector size = number of detectors (grouping) for forward.</li>
|
||
<li>initialize t0's with -1</li>
|
||
<li>fill t0's from RUN block</li>
|
||
<li>if t0's are missing (i.e. t0 == -1), try to fill from the GLOBAL block.</li>
|
||
<li>if t0's are missing, try t0's from the data file</li>
|
||
<li>if t0's are missing, try to estimate them</li>
|
||
</ol>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">histoNo</td><td>histogram number vector of forward; histoNo = msr-file forward + redGreen_offset - 1</td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<p><b>return:</b></p><ul>
|
||
<li>true if everthing went smooth</li>
|
||
<li>false, otherwise. </li>
|
||
</ul>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00945">945</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00279">PRunBase::fAddT0s</a>, <a class="el" href="PRunBase_8h_source.html#l00273">PRunBase::fRawData</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00278">PRunBase::fT0s</a>, <a class="el" href="PMusr_8h_source.html#l00877">PRawRunData::GetDataBin()</a>, <a class="el" href="PMusr_8cpp_source.html#l00988">PMsrGlobalBlock::GetT0Bin()</a>, <a class="el" href="PMusr_8h_source.html#l00870">PRawRunData::GetT0Bin()</a>, <a class="el" href="PMusr_8h_source.html#l00871">PRawRunData::GetT0BinEstimated()</a>, and <a class="el" href="PMusr_8h_source.html#l01043">PMsrGlobalBlock::GetT0BinSize()</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00596">PrepareData()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a06a7d84b23c70fa19beeacbb72591419" name="a06a7d84b23c70fa19beeacbb72591419"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a06a7d84b23c70fa19beeacbb72591419">◆ </a></span>GetStartTimeBin()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual Int_t PRunMuMinus::GetStartTimeBin </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 class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Returns the first bin index in the fit range. </p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Start bin index (0-based, after packing applied) </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00275">275</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunMuMinus_8h_source.html#l00429">fStartTimeBin</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a3a96c9156e9207dcc7b1f95a1fcbb9e5" name="a3a96c9156e9207dcc7b1f95a1fcbb9e5"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a3a96c9156e9207dcc7b1f95a1fcbb9e5">◆ </a></span>PrepareData()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PRunMuMinus::PrepareData </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 protected">protected</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Main data preparation routine for μ⁻ fitting and viewing. </p>
|
||
<p>Orchestrates the complete data preprocessing pipeline:</p><ol type="1">
|
||
<li>Determines operation mode (fitting vs. viewing)</li>
|
||
<li>Calls <a class="el" href="#aba3d803c4f6debdc66145d4ec9a9fa23" title="Prepares μ⁻ histogram data for fitting.">PrepareFitData()</a> or <a class="el" href="#aebb1bb9b7b233bc09bd6a996e9ce0e87" title="Prepares μ⁻ histogram data for viewing/plotting (minimal processing).">PrepareRawViewData()</a> accordingly</li>
|
||
<li>Validates successful data loading and processing</li>
|
||
</ol>
|
||
<p>This method is called once during object construction. If it returns false, the run object is marked as invalid (fValid=false).</p>
|
||
<dl class="section return"><dt>Returns</dt><dd>True if data preparation succeeds, false on any error</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#aba3d803c4f6debdc66145d4ec9a9fa23" title="Prepares μ⁻ histogram data for fitting.">PrepareFitData()</a> for fitting mode preprocessing </dd>
|
||
<dd>
|
||
<a class="el" href="#aebb1bb9b7b233bc09bd6a996e9ce0e87" title="Prepares μ⁻ histogram data for viewing/plotting (minimal processing).">PrepareRawViewData()</a> for viewing mode preprocessing</dd></dl>
|
||
<p>Prepare data for fitting or viewing. What is already processed at this stage:</p><ol type="1">
|
||
<li>get proper raw run data</li>
|
||
<li>get all needed forward histograms</li>
|
||
<li>get time resolution</li>
|
||
<li>get t0's and perform necessary cross checks (e.g. if t0 of msr-file (if present) are consistent with t0 of the data files, etc.)</li>
|
||
<li>add runs (if addruns are present)</li>
|
||
<li>group histograms (if grouping is present)</li>
|
||
</ol>
|
||
<p><b>return:</b></p><ul>
|
||
<li>true if everthing went smooth</li>
|
||
<li>false, otherwise. </li>
|
||
</ul>
|
||
|
||
<p>Implements <a class="el" href="classPRunBase.html#a108aca748689e37a7e045a770677b517">PRunBase</a>.</p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00596">596</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00279">PRunBase::fAddT0s</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00427">fForward</a>, <a class="el" href="PRunBase_8h_source.html#l00268">PRunBase::fHandleTag</a>, <a class="el" href="PRunBase_8h_source.html#l00277">PRunBase::fMetaData</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00273">PRunBase::fRawData</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00278">PRunBase::fT0s</a>, <a class="el" href="PRunBase_8h_source.html#l00276">PRunBase::fTimeResolution</a>, <a class="el" href="PRunBase_8h_source.html#l00266">PRunBase::fValid</a>, <a class="el" href="PMusr_8h_source.html#l00877">PRawRunData::GetDataBin()</a>, <a class="el" href="PMusr_8h_source.html#l00864">PRawRunData::GetEnergy()</a>, <a class="el" href="PMusr_8h_source.html#l00859">PRawRunData::GetField()</a>, <a class="el" href="PMusr_8h_source.html#l00860">PRawRunData::GetNoOfTemperatures()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l01076">GetProperDataRange()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l01151">GetProperFitRange()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00945">GetProperT0()</a>, <a class="el" href="PMusr_8h_source.html#l00861">PRawRunData::GetTemperature()</a>, <a class="el" href="PMusr_8h_source.html#l00868">PRawRunData::GetTimeResolution()</a>, <a class="el" href="PMusr_8h_source.html#l00869">PRawRunData::IsPresent()</a>, <a class="el" href="PMusr_8h_source.html#l00415">kFit</a>, <a class="el" href="PMusr_8h_source.html#l00416">kView</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00740">PrepareFitData()</a>, and <a class="el" href="PRunMuMinus_8cpp_source.html#l00798">PrepareRawViewData()</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00123">PRunMuMinus()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="aba3d803c4f6debdc66145d4ec9a9fa23" name="aba3d803c4f6debdc66145d4ec9a9fa23"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aba3d803c4f6debdc66145d4ec9a9fa23">◆ </a></span>PrepareFitData()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PRunMuMinus::PrepareFitData </td>
|
||
<td>(</td>
|
||
<td class="paramtype"><a class="el" href="classPRawRunData.html">PRawRunData</a> *</td> <td class="paramname"><span class="paramname"><em>runData</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const UInt_t</td> <td class="paramname"><span class="paramname"><em>histoNo</em></span> )</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel protected">protected</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Prepares μ⁻ histogram data for fitting. </p>
|
||
<p>Performs comprehensive data preprocessing:</p><ol type="1">
|
||
<li>Loads forward histogram from data file</li>
|
||
<li>Extracts metadata (field, energy, temperature)</li>
|
||
<li>Validates and determines t0 value</li>
|
||
<li>Subtracts background (fixed or estimated)</li>
|
||
<li>Packs bins according to packing factor</li>
|
||
<li>Propagates errors through all transformations</li>
|
||
<li>Sets up time grid for theory evaluation</li>
|
||
<li>Establishes data/fit ranges</li>
|
||
</ol>
|
||
<p>Background correction (if specified in RUN block):</p><ul>
|
||
<li>Fixed background: Subtract constant value</li>
|
||
<li>Estimated background: Calculate from pre-t0 bins, subtract with error propagation</li>
|
||
</ul>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">runData</td><td>Pointer to raw run data handler containing histogram </td></tr>
|
||
<tr><td class="paramname">histoNo</td><td>Histogram index in data file (from "forward" entry in RUN block) </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>True on success, false if data loading or preprocessing fails</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#aebb1bb9b7b233bc09bd6a996e9ce0e87" title="Prepares μ⁻ histogram data for viewing/plotting (minimal processing).">PrepareRawViewData()</a> for alternative viewing mode processing</dd></dl>
|
||
<p>Take the pre-processed data (i.e. grouping and addrun are preformed) and form the histogram for fitting. The following steps are preformed:</p><ol type="1">
|
||
<li>get fit start/stop time</li>
|
||
<li>check that 'first good data bin', 'last good data bin', and 't0' make any sense</li>
|
||
<li>packing (i.e rebinning)</li>
|
||
</ol>
|
||
<p><b>return:</b></p><ul>
|
||
<li>true, if everything went smooth</li>
|
||
<li>false, otherwise</li>
|
||
</ul>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">runData</td><td>raw run data handler </td></tr>
|
||
<tr><td class="paramname">histoNo</td><td>forward histogram number </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00740">740</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunMuMinus_8cpp_source.html#l00531">CalcNoOfFitBins()</a>, <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00427">fForward</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00414">fGoodBins</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00391">fPacking</a>, <a class="el" href="PRunBase_8h_source.html#l00278">PRunBase::fT0s</a>, and <a class="el" href="PRunBase_8h_source.html#l00276">PRunBase::fTimeResolution</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00596">PrepareData()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="aebb1bb9b7b233bc09bd6a996e9ce0e87" name="aebb1bb9b7b233bc09bd6a996e9ce0e87"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aebb1bb9b7b233bc09bd6a996e9ce0e87">◆ </a></span>PrepareRawViewData()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PRunMuMinus::PrepareRawViewData </td>
|
||
<td>(</td>
|
||
<td class="paramtype"><a class="el" href="classPRawRunData.html">PRawRunData</a> *</td> <td class="paramname"><span class="paramname"><em>runData</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">const UInt_t</td> <td class="paramname"><span class="paramname"><em>histoNo</em></span> )</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel protected">protected</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Prepares μ⁻ histogram data for viewing/plotting (minimal processing). </p>
|
||
<p>Lighter-weight data preprocessing for visualization:</p><ol type="1">
|
||
<li>Loads forward histogram from data file</li>
|
||
<li>Extracts metadata</li>
|
||
<li>Determines t0</li>
|
||
<li>Sets up data range (may extend beyond fit range)</li>
|
||
<li>Minimal or no background subtraction</li>
|
||
<li>Optional packing for display</li>
|
||
</ol>
|
||
<p>Used when tag=kView to prepare data for plotting without full fitting infrastructure. Typically displays wider time range than fit range for context.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">runData</td><td>Pointer to raw run data handler containing histogram </td></tr>
|
||
<tr><td class="paramname">histoNo</td><td>Histogram index in data file </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>True on success, false if data loading fails</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#aba3d803c4f6debdc66145d4ec9a9fa23" title="Prepares μ⁻ histogram data for fitting.">PrepareFitData()</a> for full fitting mode processing</dd></dl>
|
||
<p>Take the pre-processed data (i.e. grouping and addrun are preformed) and form the histogram for viewing without any life time correction. </p>
|
||
<p>The following steps are preformed:</p><ol type="1">
|
||
<li>check if view packing is whished.</li>
|
||
<li>check that 'first good data bin', 'last good data bin', and 't0' makes any sense</li>
|
||
<li>packing (i.e. rebinnig)</li>
|
||
<li>calculate theory</li>
|
||
</ol>
|
||
<p><b>return:</b></p><ul>
|
||
<li>true, if everything went smooth</li>
|
||
<li>false, otherwise.</li>
|
||
</ul>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">runData</td><td>raw run data handler </td></tr>
|
||
<tr><td class="paramname">histoNo</td><td>forward histogram number </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00798">798</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunMuMinus_8cpp_source.html#l00531">CalcNoOfFitBins()</a>, <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunBase_8h_source.html#l00282">PRunBase::fFitEndTime</a>, <a class="el" href="PRunBase_8h_source.html#l00281">PRunBase::fFitStartTime</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00427">fForward</a>, <a class="el" href="PRunBase_8h_source.html#l00284">PRunBase::fFuncValues</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00414">fGoodBins</a>, <a class="el" href="PRunBase_8h_source.html#l00277">PRunBase::fMetaData</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00391">fPacking</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00278">PRunBase::fT0s</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00402">fTheoAsData</a>, <a class="el" href="PRunBase_8h_source.html#l00285">PRunBase::fTheory</a>, and <a class="el" href="PRunBase_8h_source.html#l00276">PRunBase::fTimeResolution</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00596">PrepareData()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a6d60a6ee87cd46de7e9a5798ceb1970d" name="a6d60a6ee87cd46de7e9a5798ceb1970d"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a6d60a6ee87cd46de7e9a5798ceb1970d">◆ </a></span>SetFitRangeBin()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">void PRunMuMinus::SetFitRangeBin </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>fitRange</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>Sets fit range using bin-offset specification (COMMANDS block syntax). </p>
|
||
<p>Parses and applies fit range specified as bin offsets from good bin markers. This supports the COMMANDS block FIT_RANGE syntax for dynamic range adjustments.</p>
|
||
<p>Format: "fit_range fgb+n0 lgb-n1"</p><ul>
|
||
<li>fgb = first good bin (typically t0 bin)</li>
|
||
<li>lgb = last good bin (end of data range)</li>
|
||
<li>n0, n1 = offsets in bins (can be + or -)</li>
|
||
</ul>
|
||
<p>Example: "fit_range fgb+5 lgb-10" → Start 5 bins after t0, end 10 bins before last good bin</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">fitRange</td><td>String with fit range specification in bin offsets</td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPRunBase.html#a59cbd8ad7cb144c99c1dccefa4e200ff" title="Sets the fit time range for this run.">SetFitRange(PDoublePairVector)</a> in <a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> for time-based specification</dd></dl>
|
||
<p>Allows to change the fit range on the fly. Used in the COMMAND block. The syntax of the string is: FIT_RANGE fgb[+n00] lgb[-n01] [fgb[+n10] lgb[-n11] ... fgb[+nN0] lgb[-nN1]]. If only one pair of fgb/lgb is given, it is used for all runs in the RUN block section. If multiple fgb/lgb's are given, the number N has to be the number of RUN blocks in the msr-file.</p>
|
||
<p>nXY are offsets which can be used to shift, limit the fit range.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">fitRange</td><td>string containing the necessary information. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8cpp_source.html#l00449">449</a> of file <a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00282">PRunBase::fFitEndTime</a>, <a class="el" href="PRunBase_8h_source.html#l00281">PRunBase::fFitStartTime</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00414">fGoodBins</a>, <a class="el" href="PRunBase_8h_source.html#l00270">PRunBase::fRunNo</a>, <a class="el" href="PRunBase_8h_source.html#l00278">PRunBase::fT0s</a>, and <a class="el" href="PRunBase_8h_source.html#l00276">PRunBase::fTimeResolution</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<h2 class="groupheader">Member Data Documentation</h2>
|
||
<a id="aac4549dbf197ff0a8217b5bfdaf2b9a5" name="aac4549dbf197ff0a8217b5bfdaf2b9a5"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aac4549dbf197ff0a8217b5bfdaf2b9a5">◆ </a></span>fEndTimeBin</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Int_t PRunMuMinus::fEndTimeBin</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>Last bin index in fit range (exclusive: loop as i < fEndTimeBin) </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00430">430</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00207">CalcChiSquare()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00275">CalcChiSquareExpected()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00360">CalcMaxLikelihood()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00531">CalcNoOfFitBins()</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00281">GetEndTimeBin()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00064">PRunMuMinus()</a>, and <a class="el" href="PRunMuMinus_8cpp_source.html#l00123">PRunMuMinus()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a88d70a3eb1263bd5f7351920f28bd6b5" name="a88d70a3eb1263bd5f7351920f28bd6b5"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a88d70a3eb1263bd5f7351920f28bd6b5">◆ </a></span>fForward</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> PRunMuMinus::fForward</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>Forward detector histogram data (background-corrected, packed). </p>
|
||
<p>Contains the processed μ⁻ decay histogram after:</p><ul>
|
||
<li>Background subtraction</li>
|
||
<li>Bin packing</li>
|
||
<li>Conversion to appropriate units</li>
|
||
</ul>
|
||
<p>This is the data fitted against theory predictions. Stored in fData.GetValue() vector for χ² calculation. </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00427">427</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l01076">GetProperDataRange()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00596">PrepareData()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00740">PrepareFitData()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00798">PrepareRawViewData()</a>, and <a class="el" href="PRunMuMinus_8cpp_source.html#l00165">~PRunMuMinus()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a2f9ea96ed2ba33a888c32efdc907950a" name="a2f9ea96ed2ba33a888c32efdc907950a"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a2f9ea96ed2ba33a888c32efdc907950a">◆ </a></span>fGoodBins</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Int_t PRunMuMinus::fGoodBins[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>Good bin markers for bin-based fit range specification. </p>
|
||
<p>Stores reference bins used in COMMANDS block FIT_RANGE parsing:</p><ul>
|
||
<li>fGoodBins[0]: First good bin (fgb) - typically t0 bin</li>
|
||
<li>fGoodBins[1]: Last good bin (lgb) - end of valid data range</li>
|
||
</ul>
|
||
<p>Used when fit range is specified as "fgb+n0 lgb-n1" rather than absolute times. Needed because COMMANDS block can dynamically change fit range during execution. </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00414">414</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l01076">GetProperDataRange()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l01151">GetProperFitRange()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00740">PrepareFitData()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00798">PrepareRawViewData()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00064">PRunMuMinus()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00123">PRunMuMinus()</a>, and <a class="el" href="PRunMuMinus_8cpp_source.html#l00449">SetFitRangeBin()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="afd5f4969b908b4a57e95dd1f53ae7702" name="afd5f4969b908b4a57e95dd1f53ae7702"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#afd5f4969b908b4a57e95dd1f53ae7702">◆ </a></span>fNoOfFitBins</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">UInt_t PRunMuMinus::fNoOfFitBins</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 bins within fit range (between fStartTimeBin and fEndTimeBin) </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00376">376</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00531">CalcNoOfFitBins()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00428">GetNoOfFitBins()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00064">PRunMuMinus()</a>, and <a class="el" href="PRunMuMinus_8cpp_source.html#l00123">PRunMuMinus()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a2f6c710527bc6cc3dcb4542aa9d32a39" name="a2f6c710527bc6cc3dcb4542aa9d32a39"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a2f6c710527bc6cc3dcb4542aa9d32a39">◆ </a></span>fPacking</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Int_t PRunMuMinus::fPacking</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>Bin packing factor (REQUIRED for μ⁻). </p>
|
||
<p>Number of consecutive raw histogram bins combined into one packed bin. Higher packing improves statistics but reduces time resolution.</p>
|
||
<p>Source priority:</p><ol type="1">
|
||
<li>RUN block "packing" entry</li>
|
||
<li>GLOBAL block "packing" entry</li>
|
||
<li>ERROR if neither specified (mandatory for μ⁻)</li>
|
||
</ol>
|
||
<p>Typical values: 1 (no packing), 5, 10, 20 </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00391">391</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8h_source.html#l00287">GetPacking()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00740">PrepareFitData()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00798">PrepareRawViewData()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00064">PRunMuMinus()</a>, and <a class="el" href="PRunMuMinus_8cpp_source.html#l00123">PRunMuMinus()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="aba22dd04f7bdde0de5231db0eeee161e" name="aba22dd04f7bdde0de5231db0eeee161e"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aba22dd04f7bdde0de5231db0eeee161e">◆ </a></span>fStartTimeBin</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Int_t PRunMuMinus::fStartTimeBin</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>First bin index in fit range (inclusive, 0-based after packing) </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00429">429</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00207">CalcChiSquare()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00275">CalcChiSquareExpected()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00360">CalcMaxLikelihood()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00531">CalcNoOfFitBins()</a>, <a class="el" href="PRunMuMinus_8h_source.html#l00275">GetStartTimeBin()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00064">PRunMuMinus()</a>, and <a class="el" href="PRunMuMinus_8cpp_source.html#l00123">PRunMuMinus()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a1578acd55d3ef318e0e63f517adfc983" name="a1578acd55d3ef318e0e63f517adfc983"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a1578acd55d3ef318e0e63f517adfc983">◆ </a></span>fTheoAsData</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PRunMuMinus::fTheoAsData</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>Theory calculation mode flag. </p>
|
||
<p>Controls theory grid resolution:</p><ul>
|
||
<li>true: Theory evaluated only at data point times (efficient for fitting)</li>
|
||
<li>false: Theory evaluated on finer grid (smooth curves for plotting/Fourier)</li>
|
||
</ul>
|
||
<p>Set from <a class="el" href="classPRunListCollection.html" title="Manager class for all processed μSR run data during fitting.">PRunListCollection</a> based on PLOT block settings. </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunMuMinus_8h_source.html#l00402">402</a> of file <a class="el" href="PRunMuMinus_8h_source.html">PRunMuMinus.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunMuMinus_8cpp_source.html#l00798">PrepareRawViewData()</a>, <a class="el" href="PRunMuMinus_8cpp_source.html#l00064">PRunMuMinus()</a>, and <a class="el" href="PRunMuMinus_8cpp_source.html#l00123">PRunMuMinus()</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="PRunMuMinus_8h_source.html">PRunMuMinus.h</a></li>
|
||
<li>/workspace/LMU/musrfit/src/classes/<a class="el" href="PRunMuMinus_8cpp_source.html">PRunMuMinus.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="classPRunMuMinus.html">PRunMuMinus</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>
|