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

6909 lines
1.2 MiB
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>musrfit: /workspace/LMU/musrfit/src/classes/PMsrHandler.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">musrfit<span id="projectnumber">&#160;1.9.9</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','Search',true);
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('PMsrHandler_8cpp_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">PMsrHandler.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="PMsrHandler_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/***************************************************************************</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> PMsrHandler.cpp</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> Author: Andreas Suter</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> e-mail: andreas.suter@psi.ch</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"></span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">***************************************************************************/</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">/***************************************************************************</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * Copyright (C) 2007-2025 by Andreas Suter *</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * andreas.suter@psi.ch *</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * *</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * This program is free software; you can redistribute it and/or modify *</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * it under the terms of the GNU General Public License as published by *</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * the Free Software Foundation; either version 2 of the License, or *</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * (at your option) any later version. *</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> * *</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> * This program is distributed in the hope that it will be useful, *</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> * GNU General Public License for more details. *</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> * *</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> * You should have received a copy of the GNU General Public License *</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> * along with this program; if not, write to the *</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> * Free Software Foundation, Inc., *</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"> ***************************************************************************/</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include &lt;math.h&gt;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#include &lt;fstream&gt;</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#include &lt;TString.h&gt;</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#include &lt;TObjArray.h&gt;</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#include &lt;TObjString.h&gt;</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#include &lt;TDatime.h&gt;</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#include &quot;<a class="code" href="PMusr_8h.html">PMusr.h</a>&quot;</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor">#include &quot;<a class="code" href="PMsrHandler_8h.html">PMsrHandler.h</a>&quot;</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment">// Constructor</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen00067" data-start="{" data-end="}">
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#acdd5fcb4bf1de1de43f626b5189f8f96"> 67</a></span><a class="code hl_function" href="classPMsrHandler.html#acdd5fcb4bf1de1de43f626b5189f8f96">PMsrHandler::PMsrHandler</a>(<span class="keyword">const</span> Char_t *fileName, <a class="code hl_struct" href="structPStartupOptions.html">PStartupOptions</a> *startupOptions, <span class="keyword">const</span> Bool_t fourierOnly) :</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>(fourierOnly), <a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>(startupOptions), <a class="code hl_variable" href="classPMsrHandler.html#ac25efcd126ad709bdc1dba02d071479c">fFileName</a>(fileName)</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>{</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="comment">// init variables</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = 0;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_variable" href="classPMsrHandler.html#a28b34c28bcfd1fbf5f203efa9c2693a7">fTitle</a> = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <a class="code hl_variable" href="classPMsrHandler.html#a412911105735fb1dc759c59bb17d85ac">fCopyStatisticsBlock</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fValid = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin = -1.0;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf = 0;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected = 0.0;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto.clear();</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto.clear();</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="comment">// check if the file name given is a path-file-name, and if yes, split it into path and file name.</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac25efcd126ad709bdc1dba02d071479c">fFileName</a>.Contains(<span class="stringliteral">&quot;/&quot;</span>)) {</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> Int_t idx = -1;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> while (fFileName.Index(<span class="stringliteral">&quot;/&quot;</span>, idx+1) != -1) {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> idx = fFileName.Index(<span class="stringliteral">&quot;/&quot;</span>, idx+1);</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> }</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <a class="code hl_variable" href="classPMsrHandler.html#aba1da0c9da1ded7cc68b27e30e887991">fMsrFileDirectoryPath</a> = <a class="code hl_variable" href="classPMsrHandler.html#ac25efcd126ad709bdc1dba02d071479c">fFileName</a>;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_variable" href="classPMsrHandler.html#aba1da0c9da1ded7cc68b27e30e887991">fMsrFileDirectoryPath</a>.Remove(idx+1);</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> fMsrFileDirectoryPath = <span class="stringliteral">&quot;./&quot;</span>;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span>}</div>
</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment">// Destructor</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen00115" data-start="{" data-end="}">
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a3d748840b5ae0d07d34bc23286a94882"> 115</a></span><a class="code hl_function" href="classPMsrHandler.html#a3d748840b5ae0d07d34bc23286a94882">PMsrHandler::~PMsrHandler</a>()</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span>{</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.clear();</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>.clear();</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>.clear();</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.clear();</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_variable" href="classPMsrHandler.html#aee75a17848bc7d4068180cd9a28e8c41">fCommands</a>.clear();</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>.clear();</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fStatLines.clear();</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto.clear();</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto.clear();</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_variable" href="classPMsrHandler.html#a5572493b4e1136c537713beeab849780">fParamInUse</a>.clear();</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span>}</div>
</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="comment">// ReadMsrFile (public)</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen00174" data-start="{" data-end="}">
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a97a4e2f51827849362bdd8ccfe6d637d"> 174</a></span>Int_t <a class="code hl_function" href="classPMsrHandler.html#a97a4e2f51827849362bdd8ccfe6d637d">PMsrHandler::ReadMsrFile</a>()</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span>{</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> std::ifstream f;</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> std::string str;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> TString line;</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> Int_t line_no = 0;</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> Int_t result = <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>;</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <a class="code hl_struct" href="structPMsrLineStructure.html">PMsrLineStructure</a> current;</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> fit_parameter;</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> theory;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> functions;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> global;</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> run;</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> commands;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> fourier;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> plot;</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> statistic;</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="comment">// init stuff</span></div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <a class="code hl_function" href="classPMsrHandler.html#ae0ccc718eb4b01b46bd3c0d15bed8a0f">InitFourierParameterStructure</a>(<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>);</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="comment">// open msr-file</span></div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> f.open(<a class="code hl_variable" href="classPMsrHandler.html#ac25efcd126ad709bdc1dba02d071479c">fFileName</a>.Data(), std::iostream::in);</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">if</span> (!f.is_open()) {</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">return</span> <a class="code hl_define" href="PMusr_8h.html#a5687f9a34804e32efa7bf54636201ff9">PMUSR_MSR_FILE_NOT_FOUND</a>;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> }</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = -1; <span class="comment">// no msr block</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> </div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="comment">// read msr-file</span></div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">while</span> (!f.eof()) {</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="comment">// read a line</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> getline(f, str);</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> line = str.c_str();</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> line_no++;</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> current.<a class="code hl_variable" href="structPMsrLineStructure.html#a6a4b89aa10455a7340e90c9be1b89f4b">fLineNo</a> = line_no;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> current.<a class="code hl_variable" href="structPMsrLineStructure.html#a73a9ae42d0c33cb25ff3a33cdd6edcbe">fLine</a> = line;</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;#&quot;</span>) || line.IsWhitespace()) { <span class="comment">// if the line is a comment/empty go to the next one</span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> }</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="comment">// remove leading spaces</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> line.Remove(TString::kLeading, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> </div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">if</span> (!line.IsWhitespace()) { <span class="comment">// if not an empty line, handle it</span></div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="comment">// check for a msr block</span></div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">if</span> (line_no == 1) { <span class="comment">// title</span></div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <a class="code hl_variable" href="classPMsrHandler.html#a28b34c28bcfd1fbf5f203efa9c2693a7">fTitle</a> = line;</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;FITPARAMETER&quot;</span>)) { <span class="comment">// FITPARAMETER block tag</span></div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = <a class="code hl_define" href="PMusr_8h.html#ab09701d87c07947710a9897d4cab6498">MSR_TAG_FITPARAMETER</a>;</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;THEORY&quot;</span>)) { <span class="comment">// THEORY block tag</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = <a class="code hl_define" href="PMusr_8h.html#a5d895b16abcd2560c51dd2309525d01a">MSR_TAG_THEORY</a>;</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> theory.push_back(current);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;FUNCTIONS&quot;</span>)) { <span class="comment">// FUNCTIONS block tag</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = <a class="code hl_define" href="PMusr_8h.html#a0be96720898c003acea3f3f24bbd209f">MSR_TAG_FUNCTIONS</a>;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> functions.push_back(current);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;GLOBAL&quot;</span>)) { <span class="comment">// GLOBAL block tag</span></div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = <a class="code hl_define" href="PMusr_8h.html#ae763aea08677c626a857f68b1977d79c">MSR_TAG_GLOBAL</a>;</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> global.push_back(current);</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;RUN&quot;</span>)) { <span class="comment">// RUN block tag</span></div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = <a class="code hl_define" href="PMusr_8h.html#a019d398db1e0449dbebb7030ea7033dd">MSR_TAG_RUN</a>;</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> run.push_back(current);</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;COMMANDS&quot;</span>)) { <span class="comment">// COMMANDS block tag</span></div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = <a class="code hl_define" href="PMusr_8h.html#a4ebe47f4b88e7a5328580e4cf115ae32">MSR_TAG_COMMANDS</a>;</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> commands.push_back(current);</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;FOURIER&quot;</span>)) { <span class="comment">// FOURIER block tag</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = <a class="code hl_define" href="PMusr_8h.html#a5583eaae9694169a29d0cd2b60b7855a">MSR_TAG_FOURIER</a>;</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> fourier.push_back(current);</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;PLOT&quot;</span>)) { <span class="comment">// PLOT block tag</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = <a class="code hl_define" href="PMusr_8h.html#a9ef18fa393d89ca0ab17cc852a09722c">MSR_TAG_PLOT</a>;</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> plot.push_back(current);</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;STATISTIC&quot;</span>)) { <span class="comment">// STATISTIC block tag</span></div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a> = <a class="code hl_define" href="PMusr_8h.html#ac20fd43275726784bbb53d2c61e680ed">MSR_TAG_STATISTIC</a>;</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> statistic.push_back(current);</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> } <span class="keywordflow">else</span> { <span class="comment">// the read line is some real stuff</span></div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">fMsrBlockCounter</a>) {</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ab09701d87c07947710a9897d4cab6498">MSR_TAG_FITPARAMETER</a>: <span class="comment">// FITPARAMETER block</span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> fit_parameter.push_back(current);</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a5d895b16abcd2560c51dd2309525d01a">MSR_TAG_THEORY</a>: <span class="comment">// THEORY block</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> theory.push_back(current);</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a0be96720898c003acea3f3f24bbd209f">MSR_TAG_FUNCTIONS</a>: <span class="comment">// FUNCTIONS block</span></div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> functions.push_back(current);</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ae763aea08677c626a857f68b1977d79c">MSR_TAG_GLOBAL</a>: <span class="comment">// GLOBAL block</span></div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> global.push_back(current);</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a019d398db1e0449dbebb7030ea7033dd">MSR_TAG_RUN</a>: <span class="comment">// RUN block</span></div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> run.push_back(current);</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a4ebe47f4b88e7a5328580e4cf115ae32">MSR_TAG_COMMANDS</a>: <span class="comment">// COMMANDS block</span></div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> commands.push_back(current);</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a5583eaae9694169a29d0cd2b60b7855a">MSR_TAG_FOURIER</a>: <span class="comment">// FOURIER block</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> fourier.push_back(current);</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a9ef18fa393d89ca0ab17cc852a09722c">MSR_TAG_PLOT</a>: <span class="comment">// PLOT block</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> plot.push_back(current);</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ac20fd43275726784bbb53d2c61e680ed">MSR_TAG_STATISTIC</a>: <span class="comment">// STATISTIC block</span></div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> statistic.push_back(current);</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> }</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> }</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> }</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> }</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> </div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <span class="comment">// close msr-file</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> f.close();</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> </div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="comment">// execute handler of the various blocks</span></div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a3aaa5d61ae5d489bf0ce928a8a15e6e7">HandleFitParameterEntry</a>(fit_parameter))</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a4c2d82614ab601c4670c105116b6898c">HandleTheoryEntry</a>(theory))</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#aace47bbf1d312c41435b186e4d727591">HandleFunctionsEntry</a>(functions))</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span> ((result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>) &amp;&amp; (global.size()&gt;0))</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a239fde127411b103a52b4b8762ad130a">HandleGlobalEntry</a>(global))</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a873e748423c51f35745af6fad626512c">HandleRunEntry</a>(run))</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a762c39b9a043cf0e79b3d0905a3ed0a7">HandleCommandsEntry</a>(commands))</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a39c148a0610711c98dd5b9fb13a2818f">HandleFourierEntry</a>(fourier))</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#af7f875b77f31f2aad67fe83fb0b41135">HandlePlotEntry</a>(plot))</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a7fdffca9382c5994d6bd6e83b0c45d1c">HandleStatisticEntry</a>(statistic))</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> </div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="comment">// check if chisq or max.log likelihood</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aee75a17848bc7d4068180cd9a28e8c41">fCommands</a>.size(); i++) {</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aee75a17848bc7d4068180cd9a28e8c41">fCommands</a>[i].fLine.Contains(<span class="stringliteral">&quot;MAX_LIKELIHOOD&quot;</span>))</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq = <span class="keyword">false</span>; <span class="comment">// max.log likelihood</span></div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> }</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> </div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <span class="comment">// fill parameter-in-use vector</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">if</span> ((result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>) &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>)</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <a class="code hl_function" href="classPMsrHandler.html#a2be4d72bcc88ec4c9d36510e7f4b877d">FillParameterInUse</a>(theory, functions, run);</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> </div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> <span class="comment">// check that each run fulfills the minimum requirements</span></div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a3f76e69febb24fca2cb02808bbee4dc6">CheckRunBlockIntegrity</a>())</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> </div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="comment">// check that parameter names are unique</span></div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">if</span> ((result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>) &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>) {</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> UInt_t parX, parY;</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#afd6b7a00e3c8325d70b27820803f3e13">CheckUniquenessOfParamNames</a>(parX, parY)) {</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ReadMsrFile: **SEVERE ERROR** parameter name &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[parX].fName.Data() &lt;&lt; <span class="stringliteral">&quot; is identical for parameter no &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[parX].fNo &lt;&lt; <span class="stringliteral">&quot; and &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[parY].fNo &lt;&lt; <span class="stringliteral">&quot;!\n&quot;</span>;</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Needs to be fixed first!\n&quot;</span>;</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> std::cerr &lt;&lt; std::endl &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> }</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> }</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> </div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> <span class="comment">// check that if maps are present in the theory- and/or function-block,</span></div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> <span class="comment">// that there are really present in the run block</span></div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">if</span> ((result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>) &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>)</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a00a9099bd78e612927ebb0a68b18dccc">CheckMaps</a>())</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> </div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <span class="comment">// check that if functions are present in the theory- and/or run-block, that they</span></div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> <span class="comment">// are really present in the function block</span></div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#aca2df2dd83d8d98c9b3cd970ddc194a5">CheckFuncs</a>())</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> </div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="comment">// check that if histogram grouping is present that it makes any sense</span></div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a0967149b447dfd2daaddc04e17c00010">CheckHistoGrouping</a>())</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> </div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <span class="comment">// check that if addrun is present that the given parameter make any sense</span></div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a41bac601ee826c7a0d82c3c3d597cc13">CheckAddRunParameters</a>())</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> </div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="comment">// check that if RRF settings are present, the RUN block settings do correspond</span></div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>)</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a0ef6b14d858347ea96372a90e2a9a6cf">CheckRRFSettings</a>())</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> </div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>) {</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> <a class="code hl_function" href="classPMsrHandler.html#a98a7a888a875bab36b365be8ecaf2513">CheckMaxLikelihood</a>(); <span class="comment">// check if the user wants to use max likelihood with asymmetry/non-muSR fit (which is not implemented)</span></div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> <a class="code hl_function" href="classPMsrHandler.html#aeb212ff498ae16a2f501bed039d46c63">CheckLegacyLifetimecorrection</a>(); <span class="comment">// check if lifetimecorrection is found in RUN blocks, if yes transfer it to PLOT blocks</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> }</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> </div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">if</span> (result == <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>) {</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a7deba85e7a5b0ce45cbeae312162f529">CheckRealFFT</a>()) </div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> result = <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>; </div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> }</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> </div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> fit_parameter.clear();</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> theory.clear();</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> functions.clear();</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> global.clear();</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> run.clear();</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> commands.clear();</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> fourier.clear();</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> plot.clear();</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> statistic.clear();</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> </div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span>}</div>
</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> </div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span><span class="comment">// WriteMsrLogFile (public)</span></div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen00443" data-start="{" data-end="}">
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#ab9dac06f7e7e243ffe528e74a3e9c124"> 443</a></span>Int_t <a class="code hl_function" href="classPMsrHandler.html#ab9dac06f7e7e243ffe528e74a3e9c124">PMsrHandler::WriteMsrLogFile</a>(<span class="keyword">const</span> Bool_t messages)</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span>{</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <span class="keyword">const</span> UInt_t prec = 6; <span class="comment">// default output precision for float/doubles</span></div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> UInt_t neededPrec = 0;</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> UInt_t neededWidth = 9; </div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> </div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> Int_t tag, lineNo = 0, number;</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> Int_t runNo = -1, addRunNo = 0;</div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> Int_t plotNo = -1;</div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> std::string line;</div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> TString logFileName, str, sstr, *pstr;</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> TObjArray *tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> Bool_t found = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> Bool_t statisticBlockFound = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> Bool_t partialStatisticBlockFound = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> </div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> <a class="code hl_typedef" href="PMusr_8h.html#a631f19573bed8b6ae6604fdc585911a8">PBoolVector</a> t0TagMissing; <span class="comment">// needed for proper musrt0 handling</span></div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> t0TagMissing.push_back(<span class="keyword">true</span>);</div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> }</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> std::vector&lt;PBoolVector&gt; addt0TagMissing; <span class="comment">// needed for proper musrt0 handling</span></div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <a class="code hl_typedef" href="PMusr_8h.html#a631f19573bed8b6ae6604fdc585911a8">PBoolVector</a> bvec;</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> bvec.clear();</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAddT0BinEntries(); j++)</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> bvec.push_back(<span class="keyword">true</span>);</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> addt0TagMissing.push_back(bvec);</div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> }</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> <a class="code hl_typedef" href="PMusr_8h.html#a631f19573bed8b6ae6604fdc585911a8">PBoolVector</a> backgroundTagMissing; <span class="comment">// needed for proper musrt0 handling</span></div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> backgroundTagMissing.push_back(<span class="keyword">true</span>);</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> }</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> <a class="code hl_typedef" href="PMusr_8h.html#a631f19573bed8b6ae6604fdc585911a8">PBoolVector</a> dataTagMissing; <span class="comment">// needed for proper musrt0 handling</span></div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> dataTagMissing.push_back(<span class="keyword">true</span>);</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> }</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> </div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <span class="comment">// add some counters needed in connection to addruns</span></div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> Int_t addT0Counter = 0;</div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> Int_t addT0GlobalCounter = 0;</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> </div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> std::ifstream fin;</div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> std::ofstream fout;</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> </div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> <span class="comment">// check msr-file for any missing tags first</span></div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> <span class="comment">// open msr-file for reading</span></div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> fin.open(<a class="code hl_variable" href="classPMsrHandler.html#ac25efcd126ad709bdc1dba02d071479c">fFileName</a>.Data(), std::iostream::in);</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> <span class="keywordflow">if</span> (!fin.is_open()) {</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">return</span> <a class="code hl_define" href="PMusr_8h.html#a1dcd5ddf9b4345a744f7d07e6bbcac7b">PMUSR_MSR_LOG_FILE_WRITE_ERROR</a>;</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> }</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> <span class="keywordflow">while</span> (!fin.eof()) {</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> <span class="comment">// read a line</span></div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> getline(fin, line);</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> str = line.c_str();</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> </div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;RUN&quot;</span>)) {</div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> runNo++;</div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> }</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> </div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> <span class="keywordflow">if</span> (runNo == -1)</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> </div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;t0&quot;</span>))</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> t0TagMissing[runNo] = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;background&quot;</span>))</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> backgroundTagMissing[runNo] = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;data&quot;</span>))</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> dataTagMissing[runNo] = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> }</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> fin.close();</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> </div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> <span class="comment">// construct log file name</span></div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> <span class="comment">// first find the last &#39;.&#39; in the filename</span></div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> Int_t idx = -1;</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> <span class="keywordflow">while</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac25efcd126ad709bdc1dba02d071479c">fFileName</a>.Index(<span class="stringliteral">&quot;.&quot;</span>, idx+1) != -1) {</div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> idx = <a class="code hl_variable" href="classPMsrHandler.html#ac25efcd126ad709bdc1dba02d071479c">fFileName</a>.Index(<span class="stringliteral">&quot;.&quot;</span>, idx+1);</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> }</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">if</span> (idx == -1)</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> <span class="keywordflow">return</span> <a class="code hl_define" href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a>;</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> </div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> <span class="comment">// remove extension</span></div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> logFileName = <a class="code hl_variable" href="classPMsrHandler.html#ac25efcd126ad709bdc1dba02d071479c">fFileName</a>;</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> logFileName.Remove(idx+1);</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> logFileName += <span class="stringliteral">&quot;mlog&quot;</span>;</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> </div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> <span class="comment">// open msr-file for reading</span></div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> fin.open(<a class="code hl_variable" href="classPMsrHandler.html#ac25efcd126ad709bdc1dba02d071479c">fFileName</a>.Data(), std::iostream::in);</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> <span class="keywordflow">if</span> (!fin.is_open()) {</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> <span class="keywordflow">return</span> <a class="code hl_define" href="PMusr_8h.html#a1dcd5ddf9b4345a744f7d07e6bbcac7b">PMUSR_MSR_LOG_FILE_WRITE_ERROR</a>;</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> }</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> </div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> <span class="comment">// open mlog-file for writing</span></div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> fout.open(logFileName.Data(), std::iostream::out);</div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> <span class="keywordflow">if</span> (!fout.is_open()) {</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> <span class="keywordflow">return</span> <a class="code hl_define" href="PMusr_8h.html#a1dcd5ddf9b4345a744f7d07e6bbcac7b">PMUSR_MSR_LOG_FILE_WRITE_ERROR</a>;</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> }</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> </div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> tag = <a class="code hl_define" href="PMusr_8h.html#a00728afcd3500d78375b815a004941d1">MSR_TAG_TITLE</a>;</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> lineNo = 0;</div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> runNo = -1;</div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> <span class="comment">// read msr-file</span></div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">while</span> (!fin.eof()) {</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> </div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> <span class="comment">// read a line</span></div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> getline(fin, line);</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> str = line.c_str();</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> lineNo++;</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> </div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <span class="comment">// check for tag</span></div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;FITPARAMETER&quot;</span>)) { <span class="comment">// FITPARAMETER block tag</span></div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> tag = <a class="code hl_define" href="PMusr_8h.html#ab09701d87c07947710a9897d4cab6498">MSR_TAG_FITPARAMETER</a>;</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;THEORY&quot;</span>)) { <span class="comment">// THEORY block tag</span></div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> tag = <a class="code hl_define" href="PMusr_8h.html#a5d895b16abcd2560c51dd2309525d01a">MSR_TAG_THEORY</a>;</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;FUNCTIONS&quot;</span>)) { <span class="comment">// FUNCTIONS block tag</span></div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> tag = <a class="code hl_define" href="PMusr_8h.html#a0be96720898c003acea3f3f24bbd209f">MSR_TAG_FUNCTIONS</a>;</div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;GLOBAL&quot;</span>)) { <span class="comment">// GLOBAL block tag</span></div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> tag = <a class="code hl_define" href="PMusr_8h.html#ae763aea08677c626a857f68b1977d79c">MSR_TAG_GLOBAL</a>;</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;RUN&quot;</span>)) { <span class="comment">// RUN block tag</span></div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> tag = <a class="code hl_define" href="PMusr_8h.html#a019d398db1e0449dbebb7030ea7033dd">MSR_TAG_RUN</a>;</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> runNo++;</div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span> </div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> addT0Counter = 0; <span class="comment">// reset counter</span></div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;COMMANDS&quot;</span>)) { <span class="comment">// COMMANDS block tag</span></div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> tag = <a class="code hl_define" href="PMusr_8h.html#a4ebe47f4b88e7a5328580e4cf115ae32">MSR_TAG_COMMANDS</a>;</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;FOURIER&quot;</span>)) { <span class="comment">// FOURIER block tag</span></div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> tag = <a class="code hl_define" href="PMusr_8h.html#a5583eaae9694169a29d0cd2b60b7855a">MSR_TAG_FOURIER</a>;</div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;PLOT&quot;</span>)) { <span class="comment">// PLOT block tag</span></div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span> tag = <a class="code hl_define" href="PMusr_8h.html#a9ef18fa393d89ca0ab17cc852a09722c">MSR_TAG_PLOT</a>;</div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> plotNo++;</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;STATISTIC&quot;</span>)) { <span class="comment">// STATISTIC block tag</span></div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> tag = <a class="code hl_define" href="PMusr_8h.html#ac20fd43275726784bbb53d2c61e680ed">MSR_TAG_STATISTIC</a>;</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> }</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> </div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span> <span class="comment">// handle blocks</span></div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> <span class="keywordflow">switch</span> (tag) {</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a00728afcd3500d78375b815a004941d1">MSR_TAG_TITLE</a>:</div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> <span class="keywordflow">if</span> (lineNo == 1)</div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a28b34c28bcfd1fbf5f203efa9c2693a7">fTitle</a>.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ab09701d87c07947710a9897d4cab6498">MSR_TAG_FITPARAMETER</a>:</div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span> tokens = str.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() == 0) { <span class="comment">// not a parameter line</span></div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(0));</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span> sstr = ostr-&gt;GetString();</div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span> <span class="keywordflow">if</span> (sstr.IsDigit()) { <span class="comment">// parameter</span></div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> number = sstr.Atoi();</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> number--;</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span> <span class="comment">// make sure number makes sense</span></div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span> assert ((number &gt;= 0) &amp;&amp; (number &lt; (Int_t)<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size()));</div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span> <span class="comment">// parameter no</span></div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> fout.width(9);</div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> fout &lt;&lt; std::right &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fNo;</div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span> <span class="comment">// parameter name</span></div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> fout.width(11);</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fName.Data();</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> <span class="comment">// value of the parameter</span></div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fStep == 0.0) <span class="comment">// if fixed parameter take all significant digits</span></div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fValue);</div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span> <span class="keywordflow">else</span> <span class="comment">// step/neg.error given hence they will limited the output precission of the value</span></div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a022ce5f2a8b6b8b08e1981db1de853dc">NeededPrecision</a>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fStep)+1;</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fStep != 0.0) &amp;&amp; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fPosErrorPresent &amp;&amp; (<a class="code hl_function" href="classPMsrHandler.html#a022ce5f2a8b6b8b08e1981db1de853dc">NeededPrecision</a>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fPosError)+1 &gt; neededPrec))</div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a022ce5f2a8b6b8b08e1981db1de853dc">NeededPrecision</a>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fPosError)+1;</div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span> <span class="keywordflow">if</span> (neededPrec &lt; 6)</div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span> neededWidth = 9;</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span> neededWidth = neededPrec + 3;</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span> fout.width(neededWidth);</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span> fout.setf(std::ios::fixed, std::ios::floatfield);</div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fValue;</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span> <span class="comment">// value of step/error/neg.error</span></div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span> fout.width(11);</div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span> fout.setf(std::ios::fixed);</div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"> 635</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fStep == 0.0)</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span> neededPrec = 0;</div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fStep;</div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span> fout.width(11);</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> fout.setf(std::ios::fixed);</div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fNoOfParams == 5) || (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fNoOfParams == 7)) <span class="comment">// pos. error given</span></div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fPosErrorPresent &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fStep != 0)) <span class="comment">// pos error is a number</span></div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fPosError;</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> <span class="keywordflow">else</span> <span class="comment">// pos error is a none</span></div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;none&quot;</span>;</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> <span class="keywordflow">else</span> <span class="comment">// no pos. error</span></div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;none&quot;</span>;</div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span> fout.unsetf(std::ios::floatfield);</div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> <span class="comment">// boundaries</span></div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fNoOfParams &gt; 5) {</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span> fout.width(7);</div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span> fout.precision(prec);</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fLowerBoundaryPresent)</div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fLowerBoundary;</div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno"> 659</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;none&quot;</span>;</div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"> 660</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span> fout.width(7);</div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"> 662</span> fout.precision(prec);</div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fUpperBoundaryPresent)</div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[number].fUpperBoundary;</div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"> 666</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;none&quot;</span>;</div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"> 668</span> }</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"> 670</span> } <span class="keywordflow">else</span> { <span class="comment">// not a parameter, hence just copy it</span></div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"> 671</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"> 672</span> }</div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"> 673</span> <span class="comment">// clean up tokens</span></div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno"> 674</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"> 675</span> }</div>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"> 676</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"> 677</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a5d895b16abcd2560c51dd2309525d01a">MSR_TAG_THEORY</a>:</div>
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"> 678</span> found = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>.size(); i++) {</div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"> 680</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>[i].fLineNo == lineNo) {</div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>[i].fLine.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"> 682</span> found = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span> }</div>
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno"> 684</span> }</div>
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"> 685</span> <span class="keywordflow">if</span> (!found) {</div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"> 686</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span> }</div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"> 688</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a0be96720898c003acea3f3f24bbd209f">MSR_TAG_FUNCTIONS</a>:</div>
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"> 690</span> sstr = str;</div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span> sstr.Remove(TString::kLeading, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;fun&quot;</span>)) {</div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"> 693</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(sstr, <span class="stringliteral">&quot;fun&quot;</span>, 0, number)) {</div>
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno"> 694</span> idx = <a class="code hl_function" href="classPMsrHandler.html#ac2f5d112f2ca66af7e4fed8614f8cfbd">GetFuncIndex</a>(number); <span class="comment">// get index of the function number</span></div>
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"> 695</span> sstr = <a class="code hl_variable" href="classPMsrHandler.html#a1bf73fef5ee4f532683348e69ecebe87">fFuncHandler</a>-&gt;GetFuncString(idx);</div>
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno"> 696</span> sstr.ToLower();</div>
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno"> 697</span> fout &lt;&lt; sstr.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno"> 698</span> }</div>
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno"> 699</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno"> 701</span> }</div>
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00703" name="l00703"></a><span class="lineno"> 703</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ae763aea08677c626a857f68b1977d79c">MSR_TAG_GLOBAL</a>:</div>
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno"> 704</span> sstr = str;</div>
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"> 705</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;fittype&quot;</span>)) {</div>
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno"> 706</span> fout.width(16);</div>
<div class="line"><a id="l00707" name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType()) {</div>
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a>:</div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"> 709</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a> &lt;&lt; <span class="stringliteral">&quot; (single histogram fit)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"> 710</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno"> 711</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>:</div>
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"> 712</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a> &lt;&lt; <span class="stringliteral">&quot; (single histogram RRF fit)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno"> 714</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a>:</div>
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"> 715</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a> &lt;&lt; <span class="stringliteral">&quot; (asymmetry fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno"> 717</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>:</div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"> 718</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a> &lt;&lt; <span class="stringliteral">&quot; (asymmetry RRF fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"> 719</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"> 720</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a>:</div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a> &lt;&lt; <span class="stringliteral">&quot; (mu minus fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"> 722</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno"> 723</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a>:</div>
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a> &lt;&lt; <span class="stringliteral">&quot; (beta-NMR fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l00725" name="l00725"></a><span class="lineno"> 725</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno"> 726</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a>:</div>
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno"> 727</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a> &lt;&lt; <span class="stringliteral">&quot; (non muSR fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno"> 728</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno"> 729</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"> 730</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"> 731</span> }</div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"> 732</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;rrf_freq&quot;</span>, TString::kIgnoreCase) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType() == <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>)) {</div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span> fout.width(16);</div>
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"> 734</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;rrf_freq &quot;</span>;</div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span> fout.width(8);</div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"> 736</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFFreq(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnit().Data()),10);</div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"> 737</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno"> 738</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFFreq(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnit().Data());</div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"> 739</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnit();</div>
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno"> 740</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"> 741</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;rrf_phase&quot;</span>, TString::kIgnoreCase) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType() == <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>)) {</div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"> 742</span> fout.width(16);</div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span> fout &lt;&lt; <span class="stringliteral">&quot;rrf_phase &quot;</span>;</div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</span> fout.width(8);</div>
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno"> 745</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPhase();</div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"> 746</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"> 747</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;rrf_packing&quot;</span>, TString::kIgnoreCase) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType() == <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>)) {</div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span> fout.width(16);</div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"> 749</span> fout &lt;&lt; <span class="stringliteral">&quot;rrf_packing &quot;</span>;</div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno"> 750</span> fout.width(8);</div>
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno"> 751</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPacking();</div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"> 752</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"> 753</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;data&quot;</span>)) {</div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno"> 754</span> fout.width(16);</div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"> 755</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;data&quot;</span>;</div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno"> 756</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;4; j++) {</div>
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno"> 757</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetDataRange(j) &gt; 0) {</div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno"> 758</span> fout.width(8);</div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"> 759</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetDataRange(j);</div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"> 760</span> }</div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"> 761</span> }</div>
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno"> 762</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno"> 763</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;t0&quot;</span>)) {</div>
<div class="line"><a id="l00764" name="l00764"></a><span class="lineno"> 764</span> fout.width(16);</div>
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno"> 765</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;t0&quot;</span>;</div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno"> 766</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize(); j++) {</div>
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno"> 767</span> fout.width(8);</div>
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"> 768</span> fout.precision(1);</div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"> 769</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"> 770</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0Bin(j);</div>
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"> 771</span> }</div>
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno"> 772</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"> 773</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;addt0&quot;</span>)) {</div>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno"> 774</span> fout.width(16);</div>
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno"> 775</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;addt0&quot;</span>;</div>
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno"> 776</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetAddT0BinSize(addT0GlobalCounter); j++) {</div>
<div class="line"><a id="l00777" name="l00777"></a><span class="lineno"> 777</span> fout.width(8);</div>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"> 778</span> fout.precision(1);</div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"> 779</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno"> 780</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetAddT0Bin(addT0GlobalCounter, j);</div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno"> 781</span> }</div>
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno"> 782</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno"> 783</span> addT0GlobalCounter++;</div>
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"> 784</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;fit&quot;</span>)) {</div>
<div class="line"><a id="l00785" name="l00785"></a><span class="lineno"> 785</span> fout.width(16);</div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"> 786</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fit&quot;</span>;</div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.IsFitRangeInBin()) { <span class="comment">// fit range given in bins</span></div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"> 788</span> fout &lt;&lt; <span class="stringliteral">&quot;fgb&quot;</span>;</div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRangeOffset(0) &gt; 0)</div>
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"> 790</span> fout &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRangeOffset(0);</div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span> fout &lt;&lt; <span class="stringliteral">&quot; lgb&quot;</span>;</div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRangeOffset(1) &gt; 0)</div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"> 793</span> fout &lt;&lt; <span class="stringliteral">&quot;-&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRangeOffset(1);</div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(0));</div>
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(1)) &gt; neededPrec)</div>
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(1));</div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> fout &lt;&lt; <span class="stringliteral">&quot; # in time: &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(0) &lt;&lt; <span class="stringliteral">&quot;..&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(1) &lt;&lt; <span class="stringliteral">&quot; (usec)&quot;</span>;</div>
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"> 799</span> } <span class="keywordflow">else</span> { <span class="comment">// fit range given in time</span></div>
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;2; j++) {</div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(j) == -1)</div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span> neededWidth = 7;</div>
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(j));</div>
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"> 805</span> fout.width(neededWidth);</div>
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"> 806</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"> 807</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(j);</div>
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"> 808</span> <span class="keywordflow">if</span> (j==0)</div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span> }</div>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"> 811</span> }</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;packing&quot;</span>)) {</div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span> fout.width(16);</div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"> 815</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;packing&quot;</span>;</div>
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"> 816</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetPacking() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span> }</div>
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a019d398db1e0449dbebb7030ea7033dd">MSR_TAG_RUN</a>:</div>
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span> sstr = str;</div>
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span> sstr.Remove(TString::kLeading, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;RUN&quot;</span>)) {</div>
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span> addRunNo = 0; <span class="comment">// reset counter</span></div>
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"> 826</span> fout &lt;&lt; <span class="stringliteral">&quot;RUN &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetRunName()-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBeamline();</div>
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **ERROR** Couldn&#39;t obtain beamline data.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> assert(0);</div>
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> }</div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetInstitute();</div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **ERROR** Couldn&#39;t obtain institute data.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> assert(0);</div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> }</div>
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFileFormat();</div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **ERROR** Couldn&#39;t obtain file format data.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> assert(0);</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> }</div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; (name beamline institute data-file-format)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;ADDRUN&quot;</span>)) {</div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> addRunNo++;</div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> fout &lt;&lt; <span class="stringliteral">&quot;ADDRUN &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetRunName(addRunNo)-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBeamline(addRunNo);</div>
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **ERROR** Couldn&#39;t obtain beamline data (addrun).&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> assert(0);</div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> }</div>
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetInstitute(addRunNo);</div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **ERROR** Couldn&#39;t obtain institute data (addrun).&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> assert(0);</div>
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> }</div>
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFileFormat(addRunNo);</div>
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **ERROR** Couldn&#39;t obtain file format data (addrun).&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> assert(0);</div>
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> }</div>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; (name beamline institute data-file-format)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;fittype&quot;</span>)) {</div>
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> fout.width(16);</div>
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitType()) {</div>
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a>:</div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a> &lt;&lt; <span class="stringliteral">&quot; (single histogram fit)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>:</div>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a> &lt;&lt; <span class="stringliteral">&quot; (single histogram RRF fit)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a>:</div>
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a> &lt;&lt; <span class="stringliteral">&quot; (asymmetry fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>:</div>
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a> &lt;&lt; <span class="stringliteral">&quot; (asymmetry RRF fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a>:</div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a> &lt;&lt; <span class="stringliteral">&quot; (mu minus fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a>:</div>
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a> &lt;&lt; <span class="stringliteral">&quot; (beta-NMR fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a>:</div>
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a> &lt;&lt; <span class="stringliteral">&quot; (non muSR fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"> 895</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span> }</div>
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;alpha &quot;</span>)) {</div>
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> fout.width(16);</div>
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;alpha&quot;</span>;</div>
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> <span class="comment">// check of alpha is given as a function</span></div>
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAlphaParamNo() &gt;= <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>)</div>
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span> fout &lt;&lt; <span class="stringliteral">&quot;fun&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAlphaParamNo()-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>;</div>
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAlphaParamNo();</div>
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;beta &quot;</span>)) {</div>
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> fout.width(16);</div>
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;beta&quot;</span>;</div>
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBetaParamNo() &gt;= <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>)</div>
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> fout &lt;&lt; <span class="stringliteral">&quot;fun&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBetaParamNo()-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>;</div>
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBetaParamNo();</div>
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;norm&quot;</span>)) {</div>
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> fout.width(16);</div>
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;norm&quot;</span>;</div>
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> <span class="comment">// check if norm is given as a function</span></div>
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetNormParamNo() &gt;= <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>)</div>
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> fout &lt;&lt; <span class="stringliteral">&quot;fun&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetNormParamNo()-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>;</div>
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetNormParamNo();</div>
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;backgr.fit&quot;</span>)) {</div>
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span> fout.width(16);</div>
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;backgr.fit&quot;</span>;</div>
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgFitParamNo() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;lifetime &quot;</span>)) {</div>
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span> fout.width(16);</div>
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;lifetime&quot;</span>;</div>
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetLifetimeParamNo() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;lifetimecorrection&quot;</span>)) {</div>
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> <span class="comment">// obsolate, hence do nothing here</span></div>
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;map&quot;</span>)) {</div>
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span> fout &lt;&lt; <span class="stringliteral">&quot;map &quot;</span>;</div>
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetMap()-&gt;size(); j++) {</div>
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span> fout.width(5);</div>
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span> fout &lt;&lt; std::right &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetMap(j);</div>
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"> 940</span> }</div>
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"> 941</span> <span class="comment">// if there are less maps then 10 fill with zeros</span></div>
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetMap()-&gt;size() &lt; 10) {</div>
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span> <span class="keywordflow">for</span> (UInt_t j=<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetMap()-&gt;size(); j&lt;10; j++)</div>
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"> 944</span> fout &lt;&lt; <span class="stringliteral">&quot; 0&quot;</span>;</div>
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span> }</div>
<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"> 946</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"> 947</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;forward&quot;</span>)) {</div>
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetForwardHistoNoSize() == 0) {</div>
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"> 949</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **WARNING** &#39;forward&#39; tag without any data found!&quot;</span>;</div>
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Something is VERY fishy, please check your msr-file carfully.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"> 952</span> TString result(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00953" name="l00953"></a><span class="lineno"> 953</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> forward;</div>
<div class="line"><a id="l00954" name="l00954"></a><span class="lineno"> 954</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetForwardHistoNoSize(); i++)</div>
<div class="line"><a id="l00955" name="l00955"></a><span class="lineno"> 955</span> forward.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetForwardHistoNo(i));</div>
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"> 956</span> <a class="code hl_function" href="classPMsrHandler.html#add33e34a48c2aa3fddd87314c185789d">MakeDetectorGroupingString</a>(<span class="stringliteral">&quot;forward&quot;</span>, forward, result);</div>
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span> forward.clear();</div>
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span> fout &lt;&lt; result.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00959" name="l00959"></a><span class="lineno"> 959</span> }</div>
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"> 960</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;backward&quot;</span>)) {</div>
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"> 961</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBackwardHistoNoSize() == 0) {</div>
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"> 962</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **WARNING** &#39;backward&#39; tag without any data found!&quot;</span>;</div>
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Something is VERY fishy, please check your msr-file carfully.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00964" name="l00964"></a><span class="lineno"> 964</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"> 965</span> TString result(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> backward;</div>
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBackwardHistoNoSize(); i++)</div>
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"> 968</span> backward.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBackwardHistoNo(i));</div>
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"> 969</span> <a class="code hl_function" href="classPMsrHandler.html#add33e34a48c2aa3fddd87314c185789d">MakeDetectorGroupingString</a>(<span class="stringliteral">&quot;backward&quot;</span>, backward, result);</div>
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span> backward.clear();</div>
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"> 971</span> fout &lt;&lt; result.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"> 972</span> }</div>
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;backgr.fix&quot;</span>)) {</div>
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span> fout.width(16);</div>
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"> 975</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;backgr.fix&quot;</span>;</div>
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;2; j++) {</div>
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgFix(j) != <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) {</div>
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"> 978</span> fout.precision(prec);</div>
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</span> fout.width(12);</div>
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"> 980</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgFix(j);</div>
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"> 981</span> }</div>
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"> 982</span> }</div>
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;background&quot;</span>)) {</div>
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span> backgroundTagMissing[runNo] = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span> fout.width(16);</div>
<div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;background&quot;</span>;</div>
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"> 988</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;4; j++) {</div>
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgRange(j) &gt; 0) {</div>
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> fout.width(8);</div>
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgRange(j);</div>
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span> }</div>
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span> }</div>
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgEstimated(0) != <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) {</div>
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> Int_t precision=4;</div>
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> <span class="keywordflow">if</span> ((Int_t)log10(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgEstimated(0))+1 &gt;= 4)</div>
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span> precision = 2;</div>
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> fout &lt;&lt; <span class="stringliteral">&quot; # estimated bkg: &quot;</span>;</div>
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span> fout &lt;&lt; std::fixed;</div>
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span> fout.precision(precision);</div>
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgEstimated(0);</div>
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgEstimated(1) != <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) {</div>
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span> fout &lt;&lt; <span class="stringliteral">&quot; / &quot;</span>;</div>
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span> fout &lt;&lt; std::fixed;</div>
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span> fout.precision(precision);</div>
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgEstimated(1);</div>
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</span> }</div>
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> }</div>
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;data&quot;</span>)) {</div>
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> dataTagMissing[runNo] = <span class="keyword">false</span>;</div>
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span> fout.width(16);</div>
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;data&quot;</span>;</div>
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;4; j++) {</div>
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetDataRange(j) &gt; 0) {</div>
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span> fout.width(8);</div>
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetDataRange(j);</div>
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span> }</div>
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> }</div>
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;t0&quot;</span>)) {</div>
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span> t0TagMissing[runNo] = <span class="keyword">false</span>;</div>
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> fout.width(16); </div>
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;t0&quot;</span>;</div>
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetT0BinSize(); j++) {</div>
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> fout.width(8);</div>
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span> fout.precision(1);</div>
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetT0Bin(j);</div>
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span> }</div>
<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"> 1031</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;addt0&quot;</span>)) { </div>
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span> addt0TagMissing[runNo][addT0Counter] = <span class="keyword">false</span>;</div>
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0BinSize(addT0Counter) &lt;=0) {</div>
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **WARNING** &#39;addt0&#39; tag without any data found!&quot;</span>;</div>
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Something is VERY fishy, please check your msr-file carfully.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span> fout.width(16);</div>
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"> 1039</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;addt0&quot;</span>;</div>
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0BinSize(addT0Counter); j++) {</div>
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span> fout.width(8);</div>
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span> fout.precision(1);</div>
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0Bin(addT0Counter, j);</div>
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span> }</div>
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> addT0Counter++;</div>
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span> }</div>
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;xy-data&quot;</span>)) {</div>
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetXDataIndex() != -1) { <span class="comment">// indices</span></div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> fout.width(16);</div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;xy-data&quot;</span>;</div>
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> fout.width(8);</div>
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> fout.precision(2);</div>
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetXDataIndex();</div>
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span> fout.width(8);</div>
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> fout.precision(2);</div>
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetYDataIndex();</div>
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetXDataLabel()-&gt;IsWhitespace()) { <span class="comment">// labels</span></div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> fout.width(16);</div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;xy-data&quot;</span>;</div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> fout.width(8);</div>
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetXDataLabel()-&gt;Data();</div>
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> fout.width(8);</div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetYDataLabel()-&gt;Data();</div>
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> }</div>
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;fit&quot;</span>)) {</div>
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> <span class="comment">// check if missing t0/addt0/background/data tag are present eventhough the values are present, if so write these data values</span></div>
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> <span class="comment">// if ISIS data, do not do anything</span></div>
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordflow">if</span> (t0TagMissing[runNo] &amp;&amp; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetInstitute()-&gt;CompareTo(<span class="stringliteral">&quot;isis&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetT0BinSize() &gt; 0) {</div>
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> fout.width(16);</div>
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;t0&quot;</span>;</div>
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetT0BinSize(); j++) {</div>
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> fout.width(8);</div>
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> fout.precision(1);</div>
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetT0Bin(j);</div>
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span> }</div>
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> }</div>
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> }</div>
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0BinEntries(); i++) {</div>
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span> <span class="keywordflow">if</span> (addt0TagMissing[runNo][i] &amp;&amp; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetInstitute()-&gt;CompareTo(<span class="stringliteral">&quot;isis&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0BinSize(i) &gt; 0) {</div>
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span> fout.width(16);</div>
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;addt0&quot;</span>;</div>
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0BinSize(i); j++) {</div>
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> fout.width(8);</div>
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span> fout.precision(1);</div>
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0Bin(i, j);</div>
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span> }</div>
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> }</div>
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</span> }</div>
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span> }</div>
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span> <span class="keywordflow">if</span> (backgroundTagMissing[runNo]) {</div>
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgRange(0) &gt;= 0) {</div>
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> fout.width(16);</div>
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;background&quot;</span>;</div>
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;4; j++) {</div>
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgRange(j) &gt; 0) {</div>
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span> fout.width(8);</div>
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBkgRange(j);</div>
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> }</div>
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> }</div>
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span> }</div>
<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"> 1113</span> }</div>
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span> <span class="keywordflow">if</span> (dataTagMissing[runNo]) {</div>
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetDataRange(0) &gt;= 0) {</div>
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span> fout.width(16);</div>
<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"> 1117</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;data&quot;</span>;</div>
<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;4; j++) {</div>
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetDataRange(j) &gt; 0) {</div>
<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"> 1120</span> fout.width(8);</div>
<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetDataRange(j);</div>
<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span> }</div>
<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span> }</div>
<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span> }</div>
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"> 1126</span> }</div>
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span> <span class="comment">// write fit range line</span></div>
<div class="line"><a id="l01128" name="l01128"></a><span class="lineno"> 1128</span> fout.width(16);</div>
<div class="line"><a id="l01129" name="l01129"></a><span class="lineno"> 1129</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fit&quot;</span>;</div>
<div class="line"><a id="l01130" name="l01130"></a><span class="lineno"> 1130</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].IsFitRangeInBin()) { <span class="comment">// fit range given in bins</span></div>
<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"> 1131</span> fout &lt;&lt; <span class="stringliteral">&quot;fgb&quot;</span>;</div>
<div class="line"><a id="l01132" name="l01132"></a><span class="lineno"> 1132</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRangeOffset(0) &gt; 0)</div>
<div class="line"><a id="l01133" name="l01133"></a><span class="lineno"> 1133</span> fout &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRangeOffset(0);</div>
<div class="line"><a id="l01134" name="l01134"></a><span class="lineno"> 1134</span> fout &lt;&lt; <span class="stringliteral">&quot; lgb&quot;</span>;</div>
<div class="line"><a id="l01135" name="l01135"></a><span class="lineno"> 1135</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRangeOffset(1) &gt; 0)</div>
<div class="line"><a id="l01136" name="l01136"></a><span class="lineno"> 1136</span> fout &lt;&lt; <span class="stringliteral">&quot;-&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRangeOffset(1);</div>
<div class="line"><a id="l01137" name="l01137"></a><span class="lineno"> 1137</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRange(0));</div>
<div class="line"><a id="l01138" name="l01138"></a><span class="lineno"> 1138</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRange(1)) &gt; neededPrec)</div>
<div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRange(1));</div>
<div class="line"><a id="l01140" name="l01140"></a><span class="lineno"> 1140</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"> 1141</span> fout &lt;&lt; <span class="stringliteral">&quot; # in time: &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRange(0) &lt;&lt; <span class="stringliteral">&quot;..&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRange(1) &lt;&lt; <span class="stringliteral">&quot; (usec)&quot;</span>;</div>
<div class="line"><a id="l01142" name="l01142"></a><span class="lineno"> 1142</span> } <span class="keywordflow">else</span> { <span class="comment">// fit range given in time</span></div>
<div class="line"><a id="l01143" name="l01143"></a><span class="lineno"> 1143</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;2; j++) {</div>
<div class="line"><a id="l01144" name="l01144"></a><span class="lineno"> 1144</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRange(j) == -1)</div>
<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"> 1145</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span> neededWidth = 7;</div>
<div class="line"><a id="l01147" name="l01147"></a><span class="lineno"> 1147</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRange(j));</div>
<div class="line"><a id="l01148" name="l01148"></a><span class="lineno"> 1148</span> fout.width(neededWidth);</div>
<div class="line"><a id="l01149" name="l01149"></a><span class="lineno"> 1149</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetFitRange(j);</div>
<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span> <span class="keywordflow">if</span> (j==0)</div>
<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"> 1153</span> }</div>
<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"> 1154</span> }</div>
<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"> 1155</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01156" name="l01156"></a><span class="lineno"> 1156</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;packing&quot;</span>)) {</div>
<div class="line"><a id="l01157" name="l01157"></a><span class="lineno"> 1157</span> fout.width(16);</div>
<div class="line"><a id="l01158" name="l01158"></a><span class="lineno"> 1158</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;packing&quot;</span>;</div>
<div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetPacking() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01160" name="l01160"></a><span class="lineno"> 1160</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"> 1161</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span> }</div>
<div class="line"><a id="l01163" name="l01163"></a><span class="lineno"> 1163</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01164" name="l01164"></a><span class="lineno"> 1164</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a4ebe47f4b88e7a5328580e4cf115ae32">MSR_TAG_COMMANDS</a>:</div>
<div class="line"><a id="l01165" name="l01165"></a><span class="lineno"> 1165</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01166" name="l01166"></a><span class="lineno"> 1166</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01167" name="l01167"></a><span class="lineno"> 1167</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a5583eaae9694169a29d0cd2b60b7855a">MSR_TAG_FOURIER</a>:</div>
<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"> 1168</span> sstr = str;</div>
<div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span> sstr.Remove(TString::kLeading, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;units&quot;</span>)) {</div>
<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span> fout &lt;&lt; <span class="stringliteral">&quot;units &quot;</span>;</div>
<div class="line"><a id="l01172" name="l01172"></a><span class="lineno"> 1172</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fUnits == <a class="code hl_define" href="PMusr_8h.html#a471cf3179039d0b28e02b9554eab3021">FOURIER_UNIT_GAUSS</a>) {</div>
<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"> 1173</span> fout &lt;&lt; <span class="stringliteral">&quot;Gauss&quot;</span>;</div>
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fUnits == <a class="code hl_define" href="PMusr_8h.html#ad583569117484f3068f44927f59345e3">FOURIER_UNIT_TESLA</a>) {</div>
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span> fout &lt;&lt; <span class="stringliteral">&quot;Tesla&quot;</span>;</div>
<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fUnits == <a class="code hl_define" href="PMusr_8h.html#a32b38859b7d7cd6d73f22b8baab83e68">FOURIER_UNIT_FREQ</a>) {</div>
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span> fout &lt;&lt; <span class="stringliteral">&quot;MHz &quot;</span>;</div>
<div class="line"><a id="l01178" name="l01178"></a><span class="lineno"> 1178</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fUnits == <a class="code hl_define" href="PMusr_8h.html#a92465a516f14855a48c32bea2d59e4f5">FOURIER_UNIT_CYCLES</a>) {</div>
<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"> 1179</span> fout &lt;&lt; <span class="stringliteral">&quot;Mc/s&quot;</span>;</div>
<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span> }</div>
<div class="line"><a id="l01181" name="l01181"></a><span class="lineno"> 1181</span> fout &lt;&lt; <span class="stringliteral">&quot; # units either &#39;Gauss&#39;, &#39;Tesla&#39;, &#39;MHz&#39;, or &#39;Mc/s&#39;&quot;</span>;</div>
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"> 1182</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;fourier_power&quot;</span>)) {</div>
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> fout &lt;&lt; <span class="stringliteral">&quot;fourier_power &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fFourierPower &lt;&lt; std::endl;</div>
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;dc-corrected&quot;</span>)) {</div>
<div class="line"><a id="l01186" name="l01186"></a><span class="lineno"> 1186</span> fout &lt;&lt; <span class="stringliteral">&quot;dc-corrected &quot;</span>;</div>
<div class="line"><a id="l01187" name="l01187"></a><span class="lineno"> 1187</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fDCCorrected == <span class="keyword">true</span>)</div>
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span> fout &lt;&lt; <span class="stringliteral">&quot;true&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span> fout &lt;&lt; <span class="stringliteral">&quot;false&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;apodization&quot;</span>)) {</div>
<div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span> fout &lt;&lt; <span class="stringliteral">&quot;apodization &quot;</span>;</div>
<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fApodization == <a class="code hl_define" href="PMusr_8h.html#a901c9291fbd78931e65e862aacbeca98">FOURIER_APOD_NONE</a>) {</div>
<div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span> fout &lt;&lt; <span class="stringliteral">&quot;NONE &quot;</span>;</div>
<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fApodization == <a class="code hl_define" href="PMusr_8h.html#a7ee8774df63a8af5e99328058ebb7ab2">FOURIER_APOD_WEAK</a>) {</div>
<div class="line"><a id="l01196" name="l01196"></a><span class="lineno"> 1196</span> fout &lt;&lt; <span class="stringliteral">&quot;WEAK &quot;</span>;</div>
<div class="line"><a id="l01197" name="l01197"></a><span class="lineno"> 1197</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fApodization == <a class="code hl_define" href="PMusr_8h.html#ac80c5f481d7bc0af56368b59dad88e42">FOURIER_APOD_MEDIUM</a>) {</div>
<div class="line"><a id="l01198" name="l01198"></a><span class="lineno"> 1198</span> fout &lt;&lt; <span class="stringliteral">&quot;MEDIUM&quot;</span>;</div>
<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"> 1199</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fApodization == <a class="code hl_define" href="PMusr_8h.html#a9e30339c56f3061e468a489d8a24cd79">FOURIER_APOD_STRONG</a>) {</div>
<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span> fout &lt;&lt; <span class="stringliteral">&quot;STRONG&quot;</span>;</div>
<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span> }</div>
<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span> fout &lt;&lt; <span class="stringliteral">&quot; # NONE, WEAK, MEDIUM, STRONG&quot;</span>;</div>
<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"> 1203</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;plot&quot;</span>)) {</div>
<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"> 1205</span> fout &lt;&lt; <span class="stringliteral">&quot;plot &quot;</span>;</div>
<div class="line"><a id="l01206" name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#a727bcb40bd729656083fd581bd27def7">FOURIER_PLOT_REAL</a>) {</div>
<div class="line"><a id="l01207" name="l01207"></a><span class="lineno"> 1207</span> fout &lt;&lt; <span class="stringliteral">&quot;REAL &quot;</span>;</div>
<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#abd8681e11bd419c4237d7e52530eb374">FOURIER_PLOT_IMAG</a>) {</div>
<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</span> fout &lt;&lt; <span class="stringliteral">&quot;IMAG &quot;</span>;</div>
<div class="line"><a id="l01210" name="l01210"></a><span class="lineno"> 1210</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#a33032114d90d686450cfa71bb7ca6ab3">FOURIER_PLOT_REAL_AND_IMAG</a>) {</div>
<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span> fout &lt;&lt; <span class="stringliteral">&quot;REAL_AND_IMAG&quot;</span>;</div>
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#a4dda98b3e47269c7ffb9ee8f7e7b405a">FOURIER_PLOT_POWER</a>) {</div>
<div class="line"><a id="l01213" name="l01213"></a><span class="lineno"> 1213</span> fout &lt;&lt; <span class="stringliteral">&quot;POWER&quot;</span>;</div>
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"> 1214</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#ad274c4fe3bc865a43564b2f92a6c3c09">FOURIER_PLOT_PHASE</a>) {</div>
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</span> fout &lt;&lt; <span class="stringliteral">&quot;PHASE&quot;</span>;</div>
<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"> 1216</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#a7b5cd7f1bcb3543b7fb8520387414faf">FOURIER_PLOT_PHASE_OPT_REAL</a>) {</div>
<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"> 1217</span> fout &lt;&lt; <span class="stringliteral">&quot;PHASE_OPT_REAL&quot;</span>;</div>
<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"> 1218</span> }</div>
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span> fout &lt;&lt; <span class="stringliteral">&quot; # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL&quot;</span>;</div>
<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"> 1220</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"> 1221</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;phase&quot;</span>)) {</div>
<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size() &gt; 0) {</div>
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"> 1223</span> TString phaseParamStr = <a class="code hl_function" href="classPMsrHandler.html#a5618ced41cddc71ea25fc16987d70b9a">BeautifyFourierPhaseParameterString</a>();</div>
<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"> 1224</span> fout &lt;&lt; <span class="stringliteral">&quot;phase &quot;</span> &lt;&lt; phaseParamStr &lt;&lt; std::endl;</div>
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"> 1225</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase.size() &gt; 0) {</div>
<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"> 1226</span> fout &lt;&lt; <span class="stringliteral">&quot;phase &quot;</span>;</div>
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"> 1227</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase.size()-1; i++) {</div>
<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"> 1228</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase[i] &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div>
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span> }</div>
<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase[<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase.size()-1] &lt;&lt; std::endl;</div>
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"> 1231</span> }</div>
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;range_for_phase_correction&quot;</span>)) {</div>
<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span> fout &lt;&lt; <span class="stringliteral">&quot;range_for_phase_correction &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fRangeForPhaseCorrection[0] &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fRangeForPhaseCorrection[1] &lt;&lt; std::endl;</div>
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;range &quot;</span>)) {</div>
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[0]);</div>
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[1]) &gt; neededPrec)</div>
<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"> 1238</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[1]);</div>
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"> 1239</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span> fout &lt;&lt; <span class="stringliteral">&quot;range &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[0] &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[1] &lt;&lt; std::endl;</div>
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"> 1243</span> }</div>
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"> 1244</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01245" name="l01245"></a><span class="lineno"> 1245</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a9ef18fa393d89ca0ab17cc852a09722c">MSR_TAG_PLOT</a>:</div>
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"> 1246</span> sstr = str;</div>
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"> 1247</span> sstr.Remove(TString::kLeading, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;PLOT&quot;</span>)) {</div>
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fPlotType) {</div>
<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a2b3dc68138682db0f77f2236f9cff537">MSR_PLOT_SINGLE_HISTO</a>:</div>
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"> 1251</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fPlotType &lt;&lt; <span class="stringliteral">&quot; (single histo plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8d2d7665dbbb2fc112549db6de5bb028">MSR_PLOT_SINGLE_HISTO_RRF</a>:</div>
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fPlotType &lt;&lt; <span class="stringliteral">&quot; (single histo RRF plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a9709680f59e11e81807fab02e8440fb1">MSR_PLOT_ASYM</a>:</div>
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fPlotType &lt;&lt; <span class="stringliteral">&quot; (asymmetry plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a869fdf34c61edfdd4d3e166b1d59717d">MSR_PLOT_ASYM_RRF</a>:</div>
<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"> 1260</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fPlotType &lt;&lt; <span class="stringliteral">&quot; (asymmetry RRF plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"> 1261</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"> 1262</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#aae7003813b384b9f251e5d6dd9ce1e66">MSR_PLOT_MU_MINUS</a>:</div>
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fPlotType &lt;&lt; <span class="stringliteral">&quot; (mu minus plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ac9b291c6236d34786e6a35917fe7cef7">MSR_PLOT_BNMR</a>:</div>
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fPlotType &lt;&lt; <span class="stringliteral">&quot; (beta-NMR asymmetry plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"> 1268</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#aebf3b64dacc1fefcdb90b245db233ac1">MSR_PLOT_NON_MUSR</a>:</div>
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fPlotType &lt;&lt; <span class="stringliteral">&quot; (non muSR plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"> 1271</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span> }</div>
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fLifeTimeCorrection) {</div>
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span> fout &lt;&lt; <span class="stringliteral">&quot;lifetimecorrection&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span> }</div>
<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"> 1277</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;lifetimecorrection&quot;</span>)) {</div>
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span> <span class="comment">// do nothing, since it is already handled in the lines above.</span></div>
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span> <span class="comment">// The reason why this handled that oddly is due to legacy issues</span></div>
<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"> 1280</span> <span class="comment">// of this flag, i.e. transfer from RUN -&gt; PLOT</span></div>
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;runs&quot;</span>)) {</div>
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span> fout &lt;&lt; <span class="stringliteral">&quot;runs &quot;</span>;</div>
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> fout.precision(0);</div>
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fRuns.size(); j++) {</div>
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"> 1285</span> fout.width(4);</div>
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fRuns[j];</div>
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span> }</div>
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;range&quot;</span>)) {</div>
<div class="line"><a id="l01290" name="l01290"></a><span class="lineno"> 1290</span> fout &lt;&lt; <span class="stringliteral">&quot;range &quot;</span>;</div>
<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"> 1291</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fTmin[0]);</div>
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fTmin[0];</div>
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fTmax[0]);</div>
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"> 1297</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fTmax[0];</div>
<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"> 1298</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fYmin.size() &gt; 0) {</div>
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"> 1299</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fYmin[0]);</div>
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fYmin[0] &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fYmax[0]);</div>
<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"> 1305</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[plotNo].fYmax[0];</div>
<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"> 1306</span> }</div>
<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"> 1307</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"> 1308</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"> 1310</span> }</div>
<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"> 1312</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ac20fd43275726784bbb53d2c61e680ed">MSR_TAG_STATISTIC</a>:</div>
<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span> statisticBlockFound = <span class="keyword">true</span>;</div>
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span> sstr = str;</div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> sstr.Remove(TString::kLeading, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;STATISTIC&quot;</span>)) {</div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> TDatime dt;</div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> fout &lt;&lt; <span class="stringliteral">&quot;STATISTIC --- &quot;</span> &lt;&lt; dt.AsSQLString() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;chisq&quot;</span>) || sstr.BeginsWith(<span class="stringliteral">&quot;maxLH&quot;</span>)) {</div>
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span> partialStatisticBlockFound = <span class="keyword">false</span>;</div>
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fValid) { <span class="comment">// valid fit result</span></div>
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) {</div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> str.Form(<span class="stringliteral">&quot; chisq = %.1lf, NDF = %d, chisq/NDF = %lf&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin / <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> str.Form(<span class="stringliteral">&quot; maxLH = %.1lf, NDF = %d, maxLH/NDF = %lf&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin / <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span> }</div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span> std::cout &lt;&lt; std::endl &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span> </div>
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> <span class="comment">// check if expected chisq needs to be written</span></div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected != 0.0) {</div>
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) {</div>
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> str.Form(<span class="stringliteral">&quot; expected chisq = %.1lf, NDF = %d, expected chisq/NDF = %lf&quot;</span>,</div>
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> str.Form(<span class="stringliteral">&quot; expected maxLH = %.1lf, NDF = %d, expected maxLH/NDF = %lf&quot;</span>,</div>
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"> 1338</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> }</div>
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> }</div>
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span> std::cout &lt;&lt; std::endl &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> </div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto.size(); i++) {</div>
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i] &gt; 0) {</div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) {</div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.chisq/red.chisq_e) = (%d/%lf/%lf)&quot;</span>,</div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.maxLH/red.maxLH_e) = (%d/%lf/%lf)&quot;</span>,</div>
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> }</div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> }</div>
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> </div>
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> }</div>
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span> }</div>
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto.size() &gt; 1) { <span class="comment">// check if per run chisq needs to be written</span></div>
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto.size(); i++) {</div>
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) {</div>
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.chisq) = (%d/%lf)&quot;</span>,</div>
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/maxLH.chisq) = (%d/%lf)&quot;</span>,</div>
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"> 1373</span> }</div>
<div class="line"><a id="l01374" name="l01374"></a><span class="lineno"> 1374</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01375" name="l01375"></a><span class="lineno"> 1375</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01376" name="l01376"></a><span class="lineno"> 1376</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01377" name="l01377"></a><span class="lineno"> 1377</span> }</div>
<div class="line"><a id="l01378" name="l01378"></a><span class="lineno"> 1378</span> </div>
<div class="line"><a id="l01379" name="l01379"></a><span class="lineno"> 1379</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01380" name="l01380"></a><span class="lineno"> 1380</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01381" name="l01381"></a><span class="lineno"> 1381</span> }</div>
<div class="line"><a id="l01382" name="l01382"></a><span class="lineno"> 1382</span> }</div>
<div class="line"><a id="l01383" name="l01383"></a><span class="lineno"> 1383</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01384" name="l01384"></a><span class="lineno"> 1384</span> fout &lt;&lt; <span class="stringliteral">&quot;*** FIT DID NOT CONVERGE ***&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01385" name="l01385"></a><span class="lineno"> 1385</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01386" name="l01386"></a><span class="lineno"> 1386</span> std::cout &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;*** FIT DID NOT CONVERGE ***&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01387" name="l01387"></a><span class="lineno"> 1387</span> }</div>
<div class="line"><a id="l01388" name="l01388"></a><span class="lineno"> 1388</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;*** FIT DID NOT CONVERGE ***&quot;</span>)) {</div>
<div class="line"><a id="l01389" name="l01389"></a><span class="lineno"> 1389</span> partialStatisticBlockFound = <span class="keyword">false</span>;</div>
<div class="line"><a id="l01390" name="l01390"></a><span class="lineno"> 1390</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fValid) { <span class="comment">// valid fit result</span></div>
<div class="line"><a id="l01391" name="l01391"></a><span class="lineno"> 1391</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) { <span class="comment">// chisq</span></div>
<div class="line"><a id="l01392" name="l01392"></a><span class="lineno"> 1392</span> str.Form(<span class="stringliteral">&quot; chisq = %.1lf, NDF = %d, chisq/NDF = %lf&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin / <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01393" name="l01393"></a><span class="lineno"> 1393</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01394" name="l01394"></a><span class="lineno"> 1394</span> str.Form(<span class="stringliteral">&quot; maxLH = %.1lf, NDF = %d, maxLH/NDF = %lf&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin / <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01395" name="l01395"></a><span class="lineno"> 1395</span> }</div>
<div class="line"><a id="l01396" name="l01396"></a><span class="lineno"> 1396</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01397" name="l01397"></a><span class="lineno"> 1397</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01398" name="l01398"></a><span class="lineno"> 1398</span> std::cout &lt;&lt; std::endl &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01399" name="l01399"></a><span class="lineno"> 1399</span> </div>
<div class="line"><a id="l01400" name="l01400"></a><span class="lineno"> 1400</span> <span class="comment">// check if expected chisq needs to be written</span></div>
<div class="line"><a id="l01401" name="l01401"></a><span class="lineno"> 1401</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected != 0.0) {</div>
<div class="line"><a id="l01402" name="l01402"></a><span class="lineno"> 1402</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) { <span class="comment">// chisq</span></div>
<div class="line"><a id="l01403" name="l01403"></a><span class="lineno"> 1403</span> str.Form(<span class="stringliteral">&quot; expected chisq = %.1lf, NDF = %d, expected chisq/NDF = %lf&quot;</span>,</div>
<div class="line"><a id="l01404" name="l01404"></a><span class="lineno"> 1404</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01405" name="l01405"></a><span class="lineno"> 1405</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01406" name="l01406"></a><span class="lineno"> 1406</span> str.Form(<span class="stringliteral">&quot; expected maxLH = %.1lf, NDF = %d, expected maxLH/NDF = %lf&quot;</span>,</div>
<div class="line"><a id="l01407" name="l01407"></a><span class="lineno"> 1407</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01408" name="l01408"></a><span class="lineno"> 1408</span> }</div>
<div class="line"><a id="l01409" name="l01409"></a><span class="lineno"> 1409</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01410" name="l01410"></a><span class="lineno"> 1410</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"> 1411</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01412" name="l01412"></a><span class="lineno"> 1412</span> }</div>
<div class="line"><a id="l01413" name="l01413"></a><span class="lineno"> 1413</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01414" name="l01414"></a><span class="lineno"> 1414</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01415" name="l01415"></a><span class="lineno"> 1415</span> </div>
<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"> 1416</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto.size(); i++) {</div>
<div class="line"><a id="l01417" name="l01417"></a><span class="lineno"> 1417</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i] &gt; 0) {</div>
<div class="line"><a id="l01418" name="l01418"></a><span class="lineno"> 1418</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) { <span class="comment">// chisq</span></div>
<div class="line"><a id="l01419" name="l01419"></a><span class="lineno"> 1419</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.chisq/red.chisq_e) = (%d/%lf/%lf)&quot;</span>,</div>
<div class="line"><a id="l01420" name="l01420"></a><span class="lineno"> 1420</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01421" name="l01421"></a><span class="lineno"> 1421</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01422" name="l01422"></a><span class="lineno"> 1422</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.maxLH/red.maxLH_e) = (%d/%lf/%lf)&quot;</span>,</div>
<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01424" name="l01424"></a><span class="lineno"> 1424</span> }</div>
<div class="line"><a id="l01425" name="l01425"></a><span class="lineno"> 1425</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01426" name="l01426"></a><span class="lineno"> 1426</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01427" name="l01427"></a><span class="lineno"> 1427</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01428" name="l01428"></a><span class="lineno"> 1428</span> }</div>
<div class="line"><a id="l01429" name="l01429"></a><span class="lineno"> 1429</span> </div>
<div class="line"><a id="l01430" name="l01430"></a><span class="lineno"> 1430</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01431" name="l01431"></a><span class="lineno"> 1431</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01432" name="l01432"></a><span class="lineno"> 1432</span> }</div>
<div class="line"><a id="l01433" name="l01433"></a><span class="lineno"> 1433</span> }</div>
<div class="line"><a id="l01434" name="l01434"></a><span class="lineno"> 1434</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto.size() &gt; 1) { <span class="comment">// check if per run chisq needs to be written</span></div>
<div class="line"><a id="l01435" name="l01435"></a><span class="lineno"> 1435</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto.size(); i++) {</div>
<div class="line"><a id="l01436" name="l01436"></a><span class="lineno"> 1436</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) { <span class="comment">// chisq</span></div>
<div class="line"><a id="l01437" name="l01437"></a><span class="lineno"> 1437</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.chisq) = (%d/%lf)&quot;</span>,</div>
<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"> 1438</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01439" name="l01439"></a><span class="lineno"> 1439</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"> 1440</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.maxLH) = (%d/%lf)&quot;</span>,</div>
<div class="line"><a id="l01441" name="l01441"></a><span class="lineno"> 1441</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01442" name="l01442"></a><span class="lineno"> 1442</span> }</div>
<div class="line"><a id="l01443" name="l01443"></a><span class="lineno"> 1443</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01444" name="l01444"></a><span class="lineno"> 1444</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01445" name="l01445"></a><span class="lineno"> 1445</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01446" name="l01446"></a><span class="lineno"> 1446</span> }</div>
<div class="line"><a id="l01447" name="l01447"></a><span class="lineno"> 1447</span> </div>
<div class="line"><a id="l01448" name="l01448"></a><span class="lineno"> 1448</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01449" name="l01449"></a><span class="lineno"> 1449</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01450" name="l01450"></a><span class="lineno"> 1450</span> }</div>
<div class="line"><a id="l01451" name="l01451"></a><span class="lineno"> 1451</span> }</div>
<div class="line"><a id="l01452" name="l01452"></a><span class="lineno"> 1452</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01453" name="l01453"></a><span class="lineno"> 1453</span> fout &lt;&lt; <span class="stringliteral">&quot;*** FIT DID NOT CONVERGE ***&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01454" name="l01454"></a><span class="lineno"> 1454</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01455" name="l01455"></a><span class="lineno"> 1455</span> std::cout &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;*** FIT DID NOT CONVERGE ***&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01456" name="l01456"></a><span class="lineno"> 1456</span> }</div>
<div class="line"><a id="l01457" name="l01457"></a><span class="lineno"> 1457</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01458" name="l01458"></a><span class="lineno"> 1458</span> <span class="keywordflow">if</span> (str.Length() &gt; 0) {</div>
<div class="line"><a id="l01459" name="l01459"></a><span class="lineno"> 1459</span> sstr = str;</div>
<div class="line"><a id="l01460" name="l01460"></a><span class="lineno"> 1460</span> sstr.Remove(TString::kLeading, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l01461" name="l01461"></a><span class="lineno"> 1461</span> <span class="keywordflow">if</span> (!sstr.BeginsWith(<span class="stringliteral">&quot;expected chisq&quot;</span>) &amp;&amp; !sstr.BeginsWith(<span class="stringliteral">&quot;expected maxLH&quot;</span>) &amp;&amp; !sstr.BeginsWith(<span class="stringliteral">&quot;run block&quot;</span>))</div>
<div class="line"><a id="l01462" name="l01462"></a><span class="lineno"> 1462</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01463" name="l01463"></a><span class="lineno"> 1463</span> } <span class="keywordflow">else</span> { <span class="comment">// only write endl if not eof is reached. This is preventing growing msr-files, i.e. more and more empty lines at the end of the file</span></div>
<div class="line"><a id="l01464" name="l01464"></a><span class="lineno"> 1464</span> <span class="keywordflow">if</span> (!fin.eof())</div>
<div class="line"><a id="l01465" name="l01465"></a><span class="lineno"> 1465</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01466" name="l01466"></a><span class="lineno"> 1466</span> }</div>
<div class="line"><a id="l01467" name="l01467"></a><span class="lineno"> 1467</span> }</div>
<div class="line"><a id="l01468" name="l01468"></a><span class="lineno"> 1468</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01469" name="l01469"></a><span class="lineno"> 1469</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01470" name="l01470"></a><span class="lineno"> 1470</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01471" name="l01471"></a><span class="lineno"> 1471</span> }</div>
<div class="line"><a id="l01472" name="l01472"></a><span class="lineno"> 1472</span> }</div>
<div class="line"><a id="l01473" name="l01473"></a><span class="lineno"> 1473</span> </div>
<div class="line"><a id="l01474" name="l01474"></a><span class="lineno"> 1474</span> <span class="comment">// there was no statistic block present in the msr-input-file</span></div>
<div class="line"><a id="l01475" name="l01475"></a><span class="lineno"> 1475</span> <span class="keywordflow">if</span> (!statisticBlockFound) {</div>
<div class="line"><a id="l01476" name="l01476"></a><span class="lineno"> 1476</span> partialStatisticBlockFound = <span class="keyword">false</span>;</div>
<div class="line"><a id="l01477" name="l01477"></a><span class="lineno"> 1477</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **WARNING** no STATISTIC block present, will write a default one&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01478" name="l01478"></a><span class="lineno"> 1478</span> fout &lt;&lt; <span class="stringliteral">&quot;###############################################################&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01479" name="l01479"></a><span class="lineno"> 1479</span> TDatime dt;</div>
<div class="line"><a id="l01480" name="l01480"></a><span class="lineno"> 1480</span> fout &lt;&lt; <span class="stringliteral">&quot;STATISTIC --- &quot;</span> &lt;&lt; dt.AsSQLString() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01481" name="l01481"></a><span class="lineno"> 1481</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fValid) { <span class="comment">// valid fit result</span></div>
<div class="line"><a id="l01482" name="l01482"></a><span class="lineno"> 1482</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) {</div>
<div class="line"><a id="l01483" name="l01483"></a><span class="lineno"> 1483</span> str.Form(<span class="stringliteral">&quot; chisq = %.1lf, NDF = %d, chisq/NDF = %lf&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin / <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01484" name="l01484"></a><span class="lineno"> 1484</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01485" name="l01485"></a><span class="lineno"> 1485</span> str.Form(<span class="stringliteral">&quot; maxLH = %.1lf, NDF = %d, maxLH/NDF = %lf&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin / <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01486" name="l01486"></a><span class="lineno"> 1486</span> }</div>
<div class="line"><a id="l01487" name="l01487"></a><span class="lineno"> 1487</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01488" name="l01488"></a><span class="lineno"> 1488</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01489" name="l01489"></a><span class="lineno"> 1489</span> std::cout &lt;&lt; std::endl &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01490" name="l01490"></a><span class="lineno"> 1490</span> </div>
<div class="line"><a id="l01491" name="l01491"></a><span class="lineno"> 1491</span> <span class="comment">// check if expected chisq needs to be written</span></div>
<div class="line"><a id="l01492" name="l01492"></a><span class="lineno"> 1492</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected != 0.0) {</div>
<div class="line"><a id="l01493" name="l01493"></a><span class="lineno"> 1493</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) {</div>
<div class="line"><a id="l01494" name="l01494"></a><span class="lineno"> 1494</span> str.Form(<span class="stringliteral">&quot; expected chisq = %.1lf, NDF = %d, expected chisq/NDF = %lf&quot;</span>,</div>
<div class="line"><a id="l01495" name="l01495"></a><span class="lineno"> 1495</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01496" name="l01496"></a><span class="lineno"> 1496</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01497" name="l01497"></a><span class="lineno"> 1497</span> str.Form(<span class="stringliteral">&quot; expected maxLH = %.1lf, NDF = %d, expected maxLH/NDF = %lf&quot;</span>,</div>
<div class="line"><a id="l01498" name="l01498"></a><span class="lineno"> 1498</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01499" name="l01499"></a><span class="lineno"> 1499</span> }</div>
<div class="line"><a id="l01500" name="l01500"></a><span class="lineno"> 1500</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01501" name="l01501"></a><span class="lineno"> 1501</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01502" name="l01502"></a><span class="lineno"> 1502</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01503" name="l01503"></a><span class="lineno"> 1503</span> }</div>
<div class="line"><a id="l01504" name="l01504"></a><span class="lineno"> 1504</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01505" name="l01505"></a><span class="lineno"> 1505</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01506" name="l01506"></a><span class="lineno"> 1506</span> </div>
<div class="line"><a id="l01507" name="l01507"></a><span class="lineno"> 1507</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto.size(); i++) {</div>
<div class="line"><a id="l01508" name="l01508"></a><span class="lineno"> 1508</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i] &gt; 0) {</div>
<div class="line"><a id="l01509" name="l01509"></a><span class="lineno"> 1509</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) {</div>
<div class="line"><a id="l01510" name="l01510"></a><span class="lineno"> 1510</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.chisq/red.chisq_e) = (%d/%lf/%lf)&quot;</span>,</div>
<div class="line"><a id="l01511" name="l01511"></a><span class="lineno"> 1511</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01512" name="l01512"></a><span class="lineno"> 1512</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01513" name="l01513"></a><span class="lineno"> 1513</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.maxLH/red.maxLH_e) = (%d/%lf/%lf)&quot;</span>,</div>
<div class="line"><a id="l01514" name="l01514"></a><span class="lineno"> 1514</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01515" name="l01515"></a><span class="lineno"> 1515</span> }</div>
<div class="line"><a id="l01516" name="l01516"></a><span class="lineno"> 1516</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01517" name="l01517"></a><span class="lineno"> 1517</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01518" name="l01518"></a><span class="lineno"> 1518</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01519" name="l01519"></a><span class="lineno"> 1519</span> }</div>
<div class="line"><a id="l01520" name="l01520"></a><span class="lineno"> 1520</span> </div>
<div class="line"><a id="l01521" name="l01521"></a><span class="lineno"> 1521</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01522" name="l01522"></a><span class="lineno"> 1522</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01523" name="l01523"></a><span class="lineno"> 1523</span> }</div>
<div class="line"><a id="l01524" name="l01524"></a><span class="lineno"> 1524</span> }</div>
<div class="line"><a id="l01525" name="l01525"></a><span class="lineno"> 1525</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto.size() &gt; 1) { <span class="comment">// check if per run chisq needs to be written</span></div>
<div class="line"><a id="l01526" name="l01526"></a><span class="lineno"> 1526</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto.size(); i++) {</div>
<div class="line"><a id="l01527" name="l01527"></a><span class="lineno"> 1527</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) {</div>
<div class="line"><a id="l01528" name="l01528"></a><span class="lineno"> 1528</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.chisq) = (%d/%lf)&quot;</span>,</div>
<div class="line"><a id="l01529" name="l01529"></a><span class="lineno"> 1529</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01530" name="l01530"></a><span class="lineno"> 1530</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01531" name="l01531"></a><span class="lineno"> 1531</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.maxLH) = (%d/%lf)&quot;</span>,</div>
<div class="line"><a id="l01532" name="l01532"></a><span class="lineno"> 1532</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01533" name="l01533"></a><span class="lineno"> 1533</span> }</div>
<div class="line"><a id="l01534" name="l01534"></a><span class="lineno"> 1534</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01535" name="l01535"></a><span class="lineno"> 1535</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01536" name="l01536"></a><span class="lineno"> 1536</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01537" name="l01537"></a><span class="lineno"> 1537</span> }</div>
<div class="line"><a id="l01538" name="l01538"></a><span class="lineno"> 1538</span> </div>
<div class="line"><a id="l01539" name="l01539"></a><span class="lineno"> 1539</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01540" name="l01540"></a><span class="lineno"> 1540</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01541" name="l01541"></a><span class="lineno"> 1541</span> }</div>
<div class="line"><a id="l01542" name="l01542"></a><span class="lineno"> 1542</span> }</div>
<div class="line"><a id="l01543" name="l01543"></a><span class="lineno"> 1543</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01544" name="l01544"></a><span class="lineno"> 1544</span> fout &lt;&lt; <span class="stringliteral">&quot;*** FIT DID NOT CONVERGE ***&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01545" name="l01545"></a><span class="lineno"> 1545</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01546" name="l01546"></a><span class="lineno"> 1546</span> std::cout &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;*** FIT DID NOT CONVERGE ***&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01547" name="l01547"></a><span class="lineno"> 1547</span> }</div>
<div class="line"><a id="l01548" name="l01548"></a><span class="lineno"> 1548</span> }</div>
<div class="line"><a id="l01549" name="l01549"></a><span class="lineno"> 1549</span> </div>
<div class="line"><a id="l01550" name="l01550"></a><span class="lineno"> 1550</span> <span class="comment">// there was only a partial statistic block present in the msr-input-file</span></div>
<div class="line"><a id="l01551" name="l01551"></a><span class="lineno"> 1551</span> <span class="keywordflow">if</span> (partialStatisticBlockFound) {</div>
<div class="line"><a id="l01552" name="l01552"></a><span class="lineno"> 1552</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrLogFile: **WARNING** garbage STATISTIC block present in the msr-input file.&quot;</span>;</div>
<div class="line"><a id="l01553" name="l01553"></a><span class="lineno"> 1553</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; ** WILL ADD SOME SENSIBLE STUFF, BUT YOU HAVE TO CHECK IT SINCE I AM **NOT** REMOVING THE GARBAGE! **&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01554" name="l01554"></a><span class="lineno"> 1554</span> TDatime dt;</div>
<div class="line"><a id="l01555" name="l01555"></a><span class="lineno"> 1555</span> fout &lt;&lt; <span class="stringliteral">&quot;STATISTIC --- &quot;</span> &lt;&lt; dt.AsSQLString() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01556" name="l01556"></a><span class="lineno"> 1556</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fValid) { <span class="comment">// valid fit result</span></div>
<div class="line"><a id="l01557" name="l01557"></a><span class="lineno"> 1557</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) { <span class="comment">// chisq</span></div>
<div class="line"><a id="l01558" name="l01558"></a><span class="lineno"> 1558</span> str.Form(<span class="stringliteral">&quot; chisq = %.1lf, NDF = %d, chisq/NDF = %lf&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin / <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01559" name="l01559"></a><span class="lineno"> 1559</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01560" name="l01560"></a><span class="lineno"> 1560</span> str.Form(<span class="stringliteral">&quot; maxLH = %.1lf, NDF = %d, maxLH/NDF = %lf&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin / <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01561" name="l01561"></a><span class="lineno"> 1561</span> }</div>
<div class="line"><a id="l01562" name="l01562"></a><span class="lineno"> 1562</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01563" name="l01563"></a><span class="lineno"> 1563</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01564" name="l01564"></a><span class="lineno"> 1564</span> std::cout &lt;&lt; std::endl &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01565" name="l01565"></a><span class="lineno"> 1565</span> </div>
<div class="line"><a id="l01566" name="l01566"></a><span class="lineno"> 1566</span> <span class="comment">// check if expected chisq needs to be written</span></div>
<div class="line"><a id="l01567" name="l01567"></a><span class="lineno"> 1567</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected != 0.0) {</div>
<div class="line"><a id="l01568" name="l01568"></a><span class="lineno"> 1568</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) { <span class="comment">// chisq</span></div>
<div class="line"><a id="l01569" name="l01569"></a><span class="lineno"> 1569</span> str.Form(<span class="stringliteral">&quot; expected chisq = %.1lf, NDF = %d, expected chisq/NDF = %lf&quot;</span>,</div>
<div class="line"><a id="l01570" name="l01570"></a><span class="lineno"> 1570</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01571" name="l01571"></a><span class="lineno"> 1571</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01572" name="l01572"></a><span class="lineno"> 1572</span> str.Form(<span class="stringliteral">&quot; expected maxLH = %.1lf, NDF = %d, expected maxLH/NDF = %lf&quot;</span>,</div>
<div class="line"><a id="l01573" name="l01573"></a><span class="lineno"> 1573</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf);</div>
<div class="line"><a id="l01574" name="l01574"></a><span class="lineno"> 1574</span> }</div>
<div class="line"><a id="l01575" name="l01575"></a><span class="lineno"> 1575</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01576" name="l01576"></a><span class="lineno"> 1576</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01577" name="l01577"></a><span class="lineno"> 1577</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01578" name="l01578"></a><span class="lineno"> 1578</span> }</div>
<div class="line"><a id="l01579" name="l01579"></a><span class="lineno"> 1579</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01580" name="l01580"></a><span class="lineno"> 1580</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01581" name="l01581"></a><span class="lineno"> 1581</span> </div>
<div class="line"><a id="l01582" name="l01582"></a><span class="lineno"> 1582</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto.size(); i++) {</div>
<div class="line"><a id="l01583" name="l01583"></a><span class="lineno"> 1583</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i] &gt; 0) {</div>
<div class="line"><a id="l01584" name="l01584"></a><span class="lineno"> 1584</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) { <span class="comment">// chisq</span></div>
<div class="line"><a id="l01585" name="l01585"></a><span class="lineno"> 1585</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.chisq/red.chisq_e) =(%d/%lf/%lf)&quot;</span>,</div>
<div class="line"><a id="l01586" name="l01586"></a><span class="lineno"> 1586</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01587" name="l01587"></a><span class="lineno"> 1587</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01588" name="l01588"></a><span class="lineno"> 1588</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.maxLH/red.maxLH_e) =(%d/%lf/%lf)&quot;</span>,</div>
<div class="line"><a id="l01589" name="l01589"></a><span class="lineno"> 1589</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpectedPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01590" name="l01590"></a><span class="lineno"> 1590</span> }</div>
<div class="line"><a id="l01591" name="l01591"></a><span class="lineno"> 1591</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01592" name="l01592"></a><span class="lineno"> 1592</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01593" name="l01593"></a><span class="lineno"> 1593</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01594" name="l01594"></a><span class="lineno"> 1594</span> }</div>
<div class="line"><a id="l01595" name="l01595"></a><span class="lineno"> 1595</span> </div>
<div class="line"><a id="l01596" name="l01596"></a><span class="lineno"> 1596</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01597" name="l01597"></a><span class="lineno"> 1597</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01598" name="l01598"></a><span class="lineno"> 1598</span> }</div>
<div class="line"><a id="l01599" name="l01599"></a><span class="lineno"> 1599</span> }</div>
<div class="line"><a id="l01600" name="l01600"></a><span class="lineno"> 1600</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto.size() &gt; 1) { <span class="comment">// check if per run chisq needs to be written</span></div>
<div class="line"><a id="l01601" name="l01601"></a><span class="lineno"> 1601</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto.size(); i++) {</div>
<div class="line"><a id="l01602" name="l01602"></a><span class="lineno"> 1602</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) { <span class="comment">// chisq</span></div>
<div class="line"><a id="l01603" name="l01603"></a><span class="lineno"> 1603</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.chisq) = (%d/%lf)&quot;</span>,</div>
<div class="line"><a id="l01604" name="l01604"></a><span class="lineno"> 1604</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01605" name="l01605"></a><span class="lineno"> 1605</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01606" name="l01606"></a><span class="lineno"> 1606</span> str.Form(<span class="stringliteral">&quot; run block %d: (NDF/red.maxLH) = (%d/%lf)&quot;</span>,</div>
<div class="line"><a id="l01607" name="l01607"></a><span class="lineno"> 1607</span> i+1, <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i], <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinPerHisto[i]/<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdfPerHisto[i]);</div>
<div class="line"><a id="l01608" name="l01608"></a><span class="lineno"> 1608</span> }</div>
<div class="line"><a id="l01609" name="l01609"></a><span class="lineno"> 1609</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>) {</div>
<div class="line"><a id="l01610" name="l01610"></a><span class="lineno"> 1610</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;writeExpectedChisq)</div>
<div class="line"><a id="l01611" name="l01611"></a><span class="lineno"> 1611</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01612" name="l01612"></a><span class="lineno"> 1612</span> }</div>
<div class="line"><a id="l01613" name="l01613"></a><span class="lineno"> 1613</span> </div>
<div class="line"><a id="l01614" name="l01614"></a><span class="lineno"> 1614</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01615" name="l01615"></a><span class="lineno"> 1615</span> std::cout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01616" name="l01616"></a><span class="lineno"> 1616</span> }</div>
<div class="line"><a id="l01617" name="l01617"></a><span class="lineno"> 1617</span> }</div>
<div class="line"><a id="l01618" name="l01618"></a><span class="lineno"> 1618</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01619" name="l01619"></a><span class="lineno"> 1619</span> fout &lt;&lt; <span class="stringliteral">&quot;*** FIT DID NOT CONVERGE (4) ***&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01620" name="l01620"></a><span class="lineno"> 1620</span> <span class="keywordflow">if</span> (messages)</div>
<div class="line"><a id="l01621" name="l01621"></a><span class="lineno"> 1621</span> std::cout &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;*** FIT DID NOT CONVERGE ***&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01622" name="l01622"></a><span class="lineno"> 1622</span> }</div>
<div class="line"><a id="l01623" name="l01623"></a><span class="lineno"> 1623</span> }</div>
<div class="line"><a id="l01624" name="l01624"></a><span class="lineno"> 1624</span> </div>
<div class="line"><a id="l01625" name="l01625"></a><span class="lineno"> 1625</span> <span class="comment">// close files</span></div>
<div class="line"><a id="l01626" name="l01626"></a><span class="lineno"> 1626</span> fout.close();</div>
<div class="line"><a id="l01627" name="l01627"></a><span class="lineno"> 1627</span> fin.close();</div>
<div class="line"><a id="l01628" name="l01628"></a><span class="lineno"> 1628</span> </div>
<div class="line"><a id="l01629" name="l01629"></a><span class="lineno"> 1629</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l01630" name="l01630"></a><span class="lineno"> 1630</span> t0TagMissing.clear();</div>
<div class="line"><a id="l01631" name="l01631"></a><span class="lineno"> 1631</span> backgroundTagMissing.clear();</div>
<div class="line"><a id="l01632" name="l01632"></a><span class="lineno"> 1632</span> dataTagMissing.clear();</div>
<div class="line"><a id="l01633" name="l01633"></a><span class="lineno"> 1633</span> </div>
<div class="line"><a id="l01634" name="l01634"></a><span class="lineno"> 1634</span> <span class="keywordflow">return</span> <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>;</div>
<div class="line"><a id="l01635" name="l01635"></a><span class="lineno"> 1635</span>}</div>
</div>
<div class="line"><a id="l01636" name="l01636"></a><span class="lineno"> 1636</span> </div>
<div class="line"><a id="l01637" name="l01637"></a><span class="lineno"> 1637</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l01638" name="l01638"></a><span class="lineno"> 1638</span><span class="comment">// WriteMsrFile (public)</span></div>
<div class="line"><a id="l01639" name="l01639"></a><span class="lineno"> 1639</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen01687" data-start="{" data-end="}">
<div class="line"><a id="l01687" name="l01687"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a730b326f12fece76631d82d4d445c9dc"> 1687</a></span>Int_t <a class="code hl_function" href="classPMsrHandler.html#a730b326f12fece76631d82d4d445c9dc">PMsrHandler::WriteMsrFile</a>(<span class="keyword">const</span> Char_t *filename, std::map&lt;UInt_t, TString&gt; *commentsPAR, \</div>
<div class="line"><a id="l01688" name="l01688"></a><span class="lineno"> 1688</span> std::map&lt;UInt_t, TString&gt; *commentsTHE, \</div>
<div class="line"><a id="l01689" name="l01689"></a><span class="lineno"> 1689</span> std::map&lt;UInt_t, TString&gt; *commentsFUN, \</div>
<div class="line"><a id="l01690" name="l01690"></a><span class="lineno"> 1690</span> std::map&lt;UInt_t, TString&gt; *commentsRUN)</div>
<div class="line"><a id="l01691" name="l01691"></a><span class="lineno"> 1691</span>{</div>
<div class="line"><a id="l01692" name="l01692"></a><span class="lineno"> 1692</span> <span class="keyword">const</span> UInt_t prec = 6; <span class="comment">// output precision for float/doubles</span></div>
<div class="line"><a id="l01693" name="l01693"></a><span class="lineno"> 1693</span> <span class="keyword">const</span> TString hline = <span class="stringliteral">&quot;###############################################################&quot;</span>;</div>
<div class="line"><a id="l01694" name="l01694"></a><span class="lineno"> 1694</span> UInt_t i = 0;</div>
<div class="line"><a id="l01695" name="l01695"></a><span class="lineno"> 1695</span> std::map&lt;UInt_t, TString&gt;::iterator iter;</div>
<div class="line"><a id="l01696" name="l01696"></a><span class="lineno"> 1696</span> TString str, *pstr;</div>
<div class="line"><a id="l01697" name="l01697"></a><span class="lineno"> 1697</span> </div>
<div class="line"><a id="l01698" name="l01698"></a><span class="lineno"> 1698</span> <span class="comment">// open output file for writing</span></div>
<div class="line"><a id="l01699" name="l01699"></a><span class="lineno"> 1699</span> std::ofstream fout(filename);</div>
<div class="line"><a id="l01700" name="l01700"></a><span class="lineno"> 1700</span> <span class="keywordflow">if</span> (!fout) {</div>
<div class="line"><a id="l01701" name="l01701"></a><span class="lineno"> 1701</span> <span class="keywordflow">return</span> <a class="code hl_define" href="PMusr_8h.html#aac19a119c1ffc5f08c0ff09dea955930">PMUSR_MSR_FILE_WRITE_ERROR</a>;</div>
<div class="line"><a id="l01702" name="l01702"></a><span class="lineno"> 1702</span> }</div>
<div class="line"><a id="l01703" name="l01703"></a><span class="lineno"> 1703</span> </div>
<div class="line"><a id="l01704" name="l01704"></a><span class="lineno"> 1704</span> <span class="comment">// write TITLE</span></div>
<div class="line"><a id="l01705" name="l01705"></a><span class="lineno"> 1705</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a28b34c28bcfd1fbf5f203efa9c2693a7">fTitle</a>.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01706" name="l01706"></a><span class="lineno"> 1706</span> fout &lt;&lt; hline.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01707" name="l01707"></a><span class="lineno"> 1707</span> </div>
<div class="line"><a id="l01708" name="l01708"></a><span class="lineno"> 1708</span> <span class="comment">// write FITPARAMETER block</span></div>
<div class="line"><a id="l01709" name="l01709"></a><span class="lineno"> 1709</span> fout &lt;&lt; <span class="stringliteral">&quot;FITPARAMETER&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01710" name="l01710"></a><span class="lineno"> 1710</span> fout &lt;&lt; <span class="stringliteral">&quot;# No Name Value Step Pos_Error Boundaries&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01711" name="l01711"></a><span class="lineno"> 1711</span> </div>
<div class="line"><a id="l01712" name="l01712"></a><span class="lineno"> 1712</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size(); ++i) {</div>
<div class="line"><a id="l01713" name="l01713"></a><span class="lineno"> 1713</span> <span class="keywordflow">if</span> (commentsPAR) {</div>
<div class="line"><a id="l01714" name="l01714"></a><span class="lineno"> 1714</span> iter = commentsPAR-&gt;find(i+1);</div>
<div class="line"><a id="l01715" name="l01715"></a><span class="lineno"> 1715</span> <span class="keywordflow">if</span> (iter != commentsPAR-&gt;end()) {</div>
<div class="line"><a id="l01716" name="l01716"></a><span class="lineno"> 1716</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01717" name="l01717"></a><span class="lineno"> 1717</span> fout &lt;&lt; <span class="stringliteral">&quot;# &quot;</span> &lt;&lt; iter-&gt;second.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01718" name="l01718"></a><span class="lineno"> 1718</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01719" name="l01719"></a><span class="lineno"> 1719</span> commentsPAR-&gt;erase(iter);</div>
<div class="line"><a id="l01720" name="l01720"></a><span class="lineno"> 1720</span> }</div>
<div class="line"><a id="l01721" name="l01721"></a><span class="lineno"> 1721</span> }</div>
<div class="line"><a id="l01722" name="l01722"></a><span class="lineno"> 1722</span> <span class="comment">// parameter no</span></div>
<div class="line"><a id="l01723" name="l01723"></a><span class="lineno"> 1723</span> fout.width(9);</div>
<div class="line"><a id="l01724" name="l01724"></a><span class="lineno"> 1724</span> fout &lt;&lt; std::right &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fNo;</div>
<div class="line"><a id="l01725" name="l01725"></a><span class="lineno"> 1725</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01726" name="l01726"></a><span class="lineno"> 1726</span> <span class="comment">// parameter name</span></div>
<div class="line"><a id="l01727" name="l01727"></a><span class="lineno"> 1727</span> fout.width(11);</div>
<div class="line"><a id="l01728" name="l01728"></a><span class="lineno"> 1728</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fName.Data();</div>
<div class="line"><a id="l01729" name="l01729"></a><span class="lineno"> 1729</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01730" name="l01730"></a><span class="lineno"> 1730</span> <span class="comment">// value of the parameter</span></div>
<div class="line"><a id="l01731" name="l01731"></a><span class="lineno"> 1731</span> fout.width(9);</div>
<div class="line"><a id="l01732" name="l01732"></a><span class="lineno"> 1732</span> fout.precision(prec);</div>
<div class="line"><a id="l01733" name="l01733"></a><span class="lineno"> 1733</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fValue;</div>
<div class="line"><a id="l01734" name="l01734"></a><span class="lineno"> 1734</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01735" name="l01735"></a><span class="lineno"> 1735</span> <span class="comment">// value of step/error/neg.error</span></div>
<div class="line"><a id="l01736" name="l01736"></a><span class="lineno"> 1736</span> fout.width(11);</div>
<div class="line"><a id="l01737" name="l01737"></a><span class="lineno"> 1737</span> fout.precision(prec);</div>
<div class="line"><a id="l01738" name="l01738"></a><span class="lineno"> 1738</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fStep;</div>
<div class="line"><a id="l01739" name="l01739"></a><span class="lineno"> 1739</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01740" name="l01740"></a><span class="lineno"> 1740</span> fout.width(11);</div>
<div class="line"><a id="l01741" name="l01741"></a><span class="lineno"> 1741</span> fout.precision(prec);</div>
<div class="line"><a id="l01742" name="l01742"></a><span class="lineno"> 1742</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fNoOfParams == 5) || (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fNoOfParams == 7)) <span class="comment">// pos. error given</span></div>
<div class="line"><a id="l01743" name="l01743"></a><span class="lineno"> 1743</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fPosErrorPresent &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fStep != 0)) <span class="comment">// pos error is a number</span></div>
<div class="line"><a id="l01744" name="l01744"></a><span class="lineno"> 1744</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fPosError;</div>
<div class="line"><a id="l01745" name="l01745"></a><span class="lineno"> 1745</span> <span class="keywordflow">else</span> <span class="comment">// pos error is a none</span></div>
<div class="line"><a id="l01746" name="l01746"></a><span class="lineno"> 1746</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;none&quot;</span>;</div>
<div class="line"><a id="l01747" name="l01747"></a><span class="lineno"> 1747</span> <span class="keywordflow">else</span> <span class="comment">// no pos. error</span></div>
<div class="line"><a id="l01748" name="l01748"></a><span class="lineno"> 1748</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;none&quot;</span>;</div>
<div class="line"><a id="l01749" name="l01749"></a><span class="lineno"> 1749</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01750" name="l01750"></a><span class="lineno"> 1750</span> <span class="comment">// boundaries</span></div>
<div class="line"><a id="l01751" name="l01751"></a><span class="lineno"> 1751</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fNoOfParams &gt; 5) {</div>
<div class="line"><a id="l01752" name="l01752"></a><span class="lineno"> 1752</span> fout.width(7);</div>
<div class="line"><a id="l01753" name="l01753"></a><span class="lineno"> 1753</span> fout.precision(prec);</div>
<div class="line"><a id="l01754" name="l01754"></a><span class="lineno"> 1754</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fLowerBoundaryPresent)</div>
<div class="line"><a id="l01755" name="l01755"></a><span class="lineno"> 1755</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fLowerBoundary;</div>
<div class="line"><a id="l01756" name="l01756"></a><span class="lineno"> 1756</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l01757" name="l01757"></a><span class="lineno"> 1757</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;none&quot;</span>;</div>
<div class="line"><a id="l01758" name="l01758"></a><span class="lineno"> 1758</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01759" name="l01759"></a><span class="lineno"> 1759</span> fout.width(7);</div>
<div class="line"><a id="l01760" name="l01760"></a><span class="lineno"> 1760</span> fout.precision(prec);</div>
<div class="line"><a id="l01761" name="l01761"></a><span class="lineno"> 1761</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fUpperBoundaryPresent)</div>
<div class="line"><a id="l01762" name="l01762"></a><span class="lineno"> 1762</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fUpperBoundary;</div>
<div class="line"><a id="l01763" name="l01763"></a><span class="lineno"> 1763</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l01764" name="l01764"></a><span class="lineno"> 1764</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;none&quot;</span>;</div>
<div class="line"><a id="l01765" name="l01765"></a><span class="lineno"> 1765</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01766" name="l01766"></a><span class="lineno"> 1766</span> }</div>
<div class="line"><a id="l01767" name="l01767"></a><span class="lineno"> 1767</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01768" name="l01768"></a><span class="lineno"> 1768</span> }</div>
<div class="line"><a id="l01769" name="l01769"></a><span class="lineno"> 1769</span> <span class="keywordflow">if</span> (commentsPAR &amp;&amp; !commentsPAR-&gt;empty()) {</div>
<div class="line"><a id="l01770" name="l01770"></a><span class="lineno"> 1770</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01771" name="l01771"></a><span class="lineno"> 1771</span> <span class="keywordflow">for</span>(iter = commentsPAR-&gt;begin(); iter != commentsPAR-&gt;end(); ++iter) {</div>
<div class="line"><a id="l01772" name="l01772"></a><span class="lineno"> 1772</span> fout &lt;&lt; <span class="stringliteral">&quot;# &quot;</span> &lt;&lt; iter-&gt;second.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01773" name="l01773"></a><span class="lineno"> 1773</span> }</div>
<div class="line"><a id="l01774" name="l01774"></a><span class="lineno"> 1774</span> commentsPAR-&gt;clear();</div>
<div class="line"><a id="l01775" name="l01775"></a><span class="lineno"> 1775</span> }</div>
<div class="line"><a id="l01776" name="l01776"></a><span class="lineno"> 1776</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01777" name="l01777"></a><span class="lineno"> 1777</span> fout &lt;&lt; hline.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01778" name="l01778"></a><span class="lineno"> 1778</span> </div>
<div class="line"><a id="l01779" name="l01779"></a><span class="lineno"> 1779</span> <span class="comment">// write THEORY block</span></div>
<div class="line"><a id="l01780" name="l01780"></a><span class="lineno"> 1780</span> fout &lt;&lt; <span class="stringliteral">&quot;THEORY&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01781" name="l01781"></a><span class="lineno"> 1781</span> </div>
<div class="line"><a id="l01782" name="l01782"></a><span class="lineno"> 1782</span> <span class="keywordflow">for</span> (i = 1; i &lt; <a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>.size(); ++i) {</div>
<div class="line"><a id="l01783" name="l01783"></a><span class="lineno"> 1783</span> <span class="keywordflow">if</span> (commentsTHE) {</div>
<div class="line"><a id="l01784" name="l01784"></a><span class="lineno"> 1784</span> iter = commentsTHE-&gt;find(i);</div>
<div class="line"><a id="l01785" name="l01785"></a><span class="lineno"> 1785</span> <span class="keywordflow">if</span> (iter != commentsTHE-&gt;end()) {</div>
<div class="line"><a id="l01786" name="l01786"></a><span class="lineno"> 1786</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01787" name="l01787"></a><span class="lineno"> 1787</span> fout &lt;&lt; <span class="stringliteral">&quot;# &quot;</span> &lt;&lt; iter-&gt;second.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01788" name="l01788"></a><span class="lineno"> 1788</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01789" name="l01789"></a><span class="lineno"> 1789</span> commentsTHE-&gt;erase(iter);</div>
<div class="line"><a id="l01790" name="l01790"></a><span class="lineno"> 1790</span> }</div>
<div class="line"><a id="l01791" name="l01791"></a><span class="lineno"> 1791</span> }</div>
<div class="line"><a id="l01792" name="l01792"></a><span class="lineno"> 1792</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>[i].fLine.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01793" name="l01793"></a><span class="lineno"> 1793</span> }</div>
<div class="line"><a id="l01794" name="l01794"></a><span class="lineno"> 1794</span> <span class="keywordflow">if</span> (commentsTHE &amp;&amp; !commentsTHE-&gt;empty()) {</div>
<div class="line"><a id="l01795" name="l01795"></a><span class="lineno"> 1795</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01796" name="l01796"></a><span class="lineno"> 1796</span> <span class="keywordflow">for</span>(iter = commentsTHE-&gt;begin(); iter != commentsTHE-&gt;end(); ++iter) {</div>
<div class="line"><a id="l01797" name="l01797"></a><span class="lineno"> 1797</span> fout &lt;&lt; <span class="stringliteral">&quot;# &quot;</span> &lt;&lt; iter-&gt;second.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01798" name="l01798"></a><span class="lineno"> 1798</span> }</div>
<div class="line"><a id="l01799" name="l01799"></a><span class="lineno"> 1799</span> commentsTHE-&gt;clear();</div>
<div class="line"><a id="l01800" name="l01800"></a><span class="lineno"> 1800</span> }</div>
<div class="line"><a id="l01801" name="l01801"></a><span class="lineno"> 1801</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01802" name="l01802"></a><span class="lineno"> 1802</span> fout &lt;&lt; hline.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01803" name="l01803"></a><span class="lineno"> 1803</span> </div>
<div class="line"><a id="l01804" name="l01804"></a><span class="lineno"> 1804</span> <span class="comment">// write FUNCTIONS block</span></div>
<div class="line"><a id="l01805" name="l01805"></a><span class="lineno"> 1805</span> <span class="comment">// or comment it if there is none in the data structures</span></div>
<div class="line"><a id="l01806" name="l01806"></a><span class="lineno"> 1806</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>.size() &lt; 2)</div>
<div class="line"><a id="l01807" name="l01807"></a><span class="lineno"> 1807</span> fout &lt;&lt; <span class="stringliteral">&quot;# &quot;</span>;</div>
<div class="line"><a id="l01808" name="l01808"></a><span class="lineno"> 1808</span> fout &lt;&lt; <span class="stringliteral">&quot;FUNCTIONS&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01809" name="l01809"></a><span class="lineno"> 1809</span> </div>
<div class="line"><a id="l01810" name="l01810"></a><span class="lineno"> 1810</span> <span class="keywordflow">for</span> (i = 1; i &lt; <a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>.size(); ++i) {</div>
<div class="line"><a id="l01811" name="l01811"></a><span class="lineno"> 1811</span> <span class="keywordflow">if</span> (commentsFUN) {</div>
<div class="line"><a id="l01812" name="l01812"></a><span class="lineno"> 1812</span> iter = commentsFUN-&gt;find(i);</div>
<div class="line"><a id="l01813" name="l01813"></a><span class="lineno"> 1813</span> <span class="keywordflow">if</span> (iter != commentsFUN-&gt;end()) {</div>
<div class="line"><a id="l01814" name="l01814"></a><span class="lineno"> 1814</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01815" name="l01815"></a><span class="lineno"> 1815</span> fout &lt;&lt; <span class="stringliteral">&quot;# &quot;</span> &lt;&lt; iter-&gt;second.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01816" name="l01816"></a><span class="lineno"> 1816</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01817" name="l01817"></a><span class="lineno"> 1817</span> commentsFUN-&gt;erase(iter);</div>
<div class="line"><a id="l01818" name="l01818"></a><span class="lineno"> 1818</span> }</div>
<div class="line"><a id="l01819" name="l01819"></a><span class="lineno"> 1819</span> }</div>
<div class="line"><a id="l01820" name="l01820"></a><span class="lineno"> 1820</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>[i].fLine.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01821" name="l01821"></a><span class="lineno"> 1821</span> }</div>
<div class="line"><a id="l01822" name="l01822"></a><span class="lineno"> 1822</span> <span class="keywordflow">if</span> (commentsFUN &amp;&amp; !commentsFUN-&gt;empty()) {</div>
<div class="line"><a id="l01823" name="l01823"></a><span class="lineno"> 1823</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01824" name="l01824"></a><span class="lineno"> 1824</span> <span class="keywordflow">for</span>(iter = commentsFUN-&gt;begin(); iter != commentsFUN-&gt;end(); ++iter) {</div>
<div class="line"><a id="l01825" name="l01825"></a><span class="lineno"> 1825</span> fout &lt;&lt; <span class="stringliteral">&quot;# &quot;</span> &lt;&lt; iter-&gt;second.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01826" name="l01826"></a><span class="lineno"> 1826</span> }</div>
<div class="line"><a id="l01827" name="l01827"></a><span class="lineno"> 1827</span> commentsFUN-&gt;clear();</div>
<div class="line"><a id="l01828" name="l01828"></a><span class="lineno"> 1828</span> }</div>
<div class="line"><a id="l01829" name="l01829"></a><span class="lineno"> 1829</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01830" name="l01830"></a><span class="lineno"> 1830</span> fout &lt;&lt; hline.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01831" name="l01831"></a><span class="lineno"> 1831</span> </div>
<div class="line"><a id="l01832" name="l01832"></a><span class="lineno"> 1832</span> <span class="comment">// write GLOBAL block</span></div>
<div class="line"><a id="l01833" name="l01833"></a><span class="lineno"> 1833</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.IsPresent()) {</div>
<div class="line"><a id="l01834" name="l01834"></a><span class="lineno"> 1834</span> fout &lt;&lt; <span class="stringliteral">&quot;GLOBAL&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01835" name="l01835"></a><span class="lineno"> 1835</span> </div>
<div class="line"><a id="l01836" name="l01836"></a><span class="lineno"> 1836</span> <span class="comment">// fittype</span></div>
<div class="line"><a id="l01837" name="l01837"></a><span class="lineno"> 1837</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType() != -1) {</div>
<div class="line"><a id="l01838" name="l01838"></a><span class="lineno"> 1838</span> fout.width(16);</div>
<div class="line"><a id="l01839" name="l01839"></a><span class="lineno"> 1839</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType()) {</div>
<div class="line"><a id="l01840" name="l01840"></a><span class="lineno"> 1840</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a>:</div>
<div class="line"><a id="l01841" name="l01841"></a><span class="lineno"> 1841</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a> &lt;&lt; <span class="stringliteral">&quot; (single histogram fit)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01842" name="l01842"></a><span class="lineno"> 1842</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01843" name="l01843"></a><span class="lineno"> 1843</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>:</div>
<div class="line"><a id="l01844" name="l01844"></a><span class="lineno"> 1844</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a> &lt;&lt; <span class="stringliteral">&quot; (single histogram RRF fit)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01845" name="l01845"></a><span class="lineno"> 1845</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01846" name="l01846"></a><span class="lineno"> 1846</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a>:</div>
<div class="line"><a id="l01847" name="l01847"></a><span class="lineno"> 1847</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a> &lt;&lt; <span class="stringliteral">&quot; (asymmetry fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l01848" name="l01848"></a><span class="lineno"> 1848</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01849" name="l01849"></a><span class="lineno"> 1849</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>:</div>
<div class="line"><a id="l01850" name="l01850"></a><span class="lineno"> 1850</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a> &lt;&lt; <span class="stringliteral">&quot; (asymmetry RRF fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l01851" name="l01851"></a><span class="lineno"> 1851</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01852" name="l01852"></a><span class="lineno"> 1852</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a>:</div>
<div class="line"><a id="l01853" name="l01853"></a><span class="lineno"> 1853</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a> &lt;&lt; <span class="stringliteral">&quot; (mu minus fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l01854" name="l01854"></a><span class="lineno"> 1854</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01855" name="l01855"></a><span class="lineno"> 1855</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a>:</div>
<div class="line"><a id="l01856" name="l01856"></a><span class="lineno"> 1856</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a> &lt;&lt; <span class="stringliteral">&quot; (beta-NMR fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l01857" name="l01857"></a><span class="lineno"> 1857</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01858" name="l01858"></a><span class="lineno"> 1858</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a>:</div>
<div class="line"><a id="l01859" name="l01859"></a><span class="lineno"> 1859</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a> &lt;&lt; <span class="stringliteral">&quot; (non muSR fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l01860" name="l01860"></a><span class="lineno"> 1860</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01861" name="l01861"></a><span class="lineno"> 1861</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01862" name="l01862"></a><span class="lineno"> 1862</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01863" name="l01863"></a><span class="lineno"> 1863</span> }</div>
<div class="line"><a id="l01864" name="l01864"></a><span class="lineno"> 1864</span> }</div>
<div class="line"><a id="l01865" name="l01865"></a><span class="lineno"> 1865</span> </div>
<div class="line"><a id="l01866" name="l01866"></a><span class="lineno"> 1866</span> <span class="comment">// RRF related stuff</span></div>
<div class="line"><a id="l01867" name="l01867"></a><span class="lineno"> 1867</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFFreq(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnit().Data()) &gt; 0.0) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType() == <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>)) {</div>
<div class="line"><a id="l01868" name="l01868"></a><span class="lineno"> 1868</span> fout.width(16);</div>
<div class="line"><a id="l01869" name="l01869"></a><span class="lineno"> 1869</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;rrf_freq &quot;</span>;</div>
<div class="line"><a id="l01870" name="l01870"></a><span class="lineno"> 1870</span> fout.width(8);</div>
<div class="line"><a id="l01871" name="l01871"></a><span class="lineno"> 1871</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFFreq(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnit().Data());</div>
<div class="line"><a id="l01872" name="l01872"></a><span class="lineno"> 1872</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnit();</div>
<div class="line"><a id="l01873" name="l01873"></a><span class="lineno"> 1873</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01874" name="l01874"></a><span class="lineno"> 1874</span> }</div>
<div class="line"><a id="l01875" name="l01875"></a><span class="lineno"> 1875</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPhase() != 0.0) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType() == <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>)) {</div>
<div class="line"><a id="l01876" name="l01876"></a><span class="lineno"> 1876</span> fout.width(16);</div>
<div class="line"><a id="l01877" name="l01877"></a><span class="lineno"> 1877</span> fout &lt;&lt; <span class="stringliteral">&quot;rrf_phase &quot;</span>;</div>
<div class="line"><a id="l01878" name="l01878"></a><span class="lineno"> 1878</span> fout.width(8);</div>
<div class="line"><a id="l01879" name="l01879"></a><span class="lineno"> 1879</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPhase();</div>
<div class="line"><a id="l01880" name="l01880"></a><span class="lineno"> 1880</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01881" name="l01881"></a><span class="lineno"> 1881</span> }</div>
<div class="line"><a id="l01882" name="l01882"></a><span class="lineno"> 1882</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPacking() != -1) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType() == <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>)) {</div>
<div class="line"><a id="l01883" name="l01883"></a><span class="lineno"> 1883</span> fout.width(16);</div>
<div class="line"><a id="l01884" name="l01884"></a><span class="lineno"> 1884</span> fout &lt;&lt; <span class="stringliteral">&quot;rrf_packing &quot;</span>;</div>
<div class="line"><a id="l01885" name="l01885"></a><span class="lineno"> 1885</span> fout.width(8);</div>
<div class="line"><a id="l01886" name="l01886"></a><span class="lineno"> 1886</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPacking();</div>
<div class="line"><a id="l01887" name="l01887"></a><span class="lineno"> 1887</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01888" name="l01888"></a><span class="lineno"> 1888</span> }</div>
<div class="line"><a id="l01889" name="l01889"></a><span class="lineno"> 1889</span> </div>
<div class="line"><a id="l01890" name="l01890"></a><span class="lineno"> 1890</span> <span class="comment">// data range</span></div>
<div class="line"><a id="l01891" name="l01891"></a><span class="lineno"> 1891</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetDataRange(0) != -1) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetDataRange(1) != -1) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetDataRange(2) != -1) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetDataRange(3) != -1)) {</div>
<div class="line"><a id="l01892" name="l01892"></a><span class="lineno"> 1892</span> fout.width(16);</div>
<div class="line"><a id="l01893" name="l01893"></a><span class="lineno"> 1893</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;data&quot;</span>;</div>
<div class="line"><a id="l01894" name="l01894"></a><span class="lineno"> 1894</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;4; ++j) {</div>
<div class="line"><a id="l01895" name="l01895"></a><span class="lineno"> 1895</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetDataRange(j) &gt; 0) {</div>
<div class="line"><a id="l01896" name="l01896"></a><span class="lineno"> 1896</span> fout.width(8);</div>
<div class="line"><a id="l01897" name="l01897"></a><span class="lineno"> 1897</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetDataRange(j);</div>
<div class="line"><a id="l01898" name="l01898"></a><span class="lineno"> 1898</span> }</div>
<div class="line"><a id="l01899" name="l01899"></a><span class="lineno"> 1899</span> }</div>
<div class="line"><a id="l01900" name="l01900"></a><span class="lineno"> 1900</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01901" name="l01901"></a><span class="lineno"> 1901</span> }</div>
<div class="line"><a id="l01902" name="l01902"></a><span class="lineno"> 1902</span> </div>
<div class="line"><a id="l01903" name="l01903"></a><span class="lineno"> 1903</span> <span class="comment">// t0</span></div>
<div class="line"><a id="l01904" name="l01904"></a><span class="lineno"> 1904</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; 0) {</div>
<div class="line"><a id="l01905" name="l01905"></a><span class="lineno"> 1905</span> fout.width(16);</div>
<div class="line"><a id="l01906" name="l01906"></a><span class="lineno"> 1906</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;t0&quot;</span>;</div>
<div class="line"><a id="l01907" name="l01907"></a><span class="lineno"> 1907</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize(); ++j) {</div>
<div class="line"><a id="l01908" name="l01908"></a><span class="lineno"> 1908</span> fout.width(8);</div>
<div class="line"><a id="l01909" name="l01909"></a><span class="lineno"> 1909</span> fout.precision(1);</div>
<div class="line"><a id="l01910" name="l01910"></a><span class="lineno"> 1910</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l01911" name="l01911"></a><span class="lineno"> 1911</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0Bin(j);</div>
<div class="line"><a id="l01912" name="l01912"></a><span class="lineno"> 1912</span> }</div>
<div class="line"><a id="l01913" name="l01913"></a><span class="lineno"> 1913</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01914" name="l01914"></a><span class="lineno"> 1914</span> }</div>
<div class="line"><a id="l01915" name="l01915"></a><span class="lineno"> 1915</span> </div>
<div class="line"><a id="l01916" name="l01916"></a><span class="lineno"> 1916</span> <span class="comment">// addt0</span></div>
<div class="line"><a id="l01917" name="l01917"></a><span class="lineno"> 1917</span> <span class="keywordflow">for</span> (UInt_t j = 0; j &lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetAddT0BinEntries(); ++j) {</div>
<div class="line"><a id="l01918" name="l01918"></a><span class="lineno"> 1918</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetAddT0BinSize(j) &gt; 0) {</div>
<div class="line"><a id="l01919" name="l01919"></a><span class="lineno"> 1919</span> fout.width(16);</div>
<div class="line"><a id="l01920" name="l01920"></a><span class="lineno"> 1920</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;addt0&quot;</span>;</div>
<div class="line"><a id="l01921" name="l01921"></a><span class="lineno"> 1921</span> <span class="keywordflow">for</span> (Int_t k=0; k&lt;<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetAddT0BinSize(j); ++k) {</div>
<div class="line"><a id="l01922" name="l01922"></a><span class="lineno"> 1922</span> fout.width(8);</div>
<div class="line"><a id="l01923" name="l01923"></a><span class="lineno"> 1923</span> fout.precision(1);</div>
<div class="line"><a id="l01924" name="l01924"></a><span class="lineno"> 1924</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l01925" name="l01925"></a><span class="lineno"> 1925</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetAddT0Bin(j, k);</div>
<div class="line"><a id="l01926" name="l01926"></a><span class="lineno"> 1926</span> }</div>
<div class="line"><a id="l01927" name="l01927"></a><span class="lineno"> 1927</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01928" name="l01928"></a><span class="lineno"> 1928</span> }</div>
<div class="line"><a id="l01929" name="l01929"></a><span class="lineno"> 1929</span> }</div>
<div class="line"><a id="l01930" name="l01930"></a><span class="lineno"> 1930</span> </div>
<div class="line"><a id="l01931" name="l01931"></a><span class="lineno"> 1931</span> <span class="comment">// fit range</span></div>
<div class="line"><a id="l01932" name="l01932"></a><span class="lineno"> 1932</span> <span class="keywordflow">if</span> ( (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.IsFitRangeInBin() &amp;&amp; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRangeOffset(0) != -1) ||</div>
<div class="line"><a id="l01933" name="l01933"></a><span class="lineno"> 1933</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(0) != <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) ) {</div>
<div class="line"><a id="l01934" name="l01934"></a><span class="lineno"> 1934</span> fout.width(16);</div>
<div class="line"><a id="l01935" name="l01935"></a><span class="lineno"> 1935</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fit&quot;</span>;</div>
<div class="line"><a id="l01936" name="l01936"></a><span class="lineno"> 1936</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.IsFitRangeInBin()) { <span class="comment">// fit range given in bins</span></div>
<div class="line"><a id="l01937" name="l01937"></a><span class="lineno"> 1937</span> fout &lt;&lt; <span class="stringliteral">&quot;fgb&quot;</span>;</div>
<div class="line"><a id="l01938" name="l01938"></a><span class="lineno"> 1938</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRangeOffset(0) &gt; 0)</div>
<div class="line"><a id="l01939" name="l01939"></a><span class="lineno"> 1939</span> fout &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRangeOffset(0);</div>
<div class="line"><a id="l01940" name="l01940"></a><span class="lineno"> 1940</span> fout &lt;&lt; <span class="stringliteral">&quot; lgb&quot;</span>;</div>
<div class="line"><a id="l01941" name="l01941"></a><span class="lineno"> 1941</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRangeOffset(1) &gt; 0)</div>
<div class="line"><a id="l01942" name="l01942"></a><span class="lineno"> 1942</span> fout &lt;&lt; <span class="stringliteral">&quot;-&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRangeOffset(1);</div>
<div class="line"><a id="l01943" name="l01943"></a><span class="lineno"> 1943</span> } <span class="keywordflow">else</span> { <span class="comment">// fit range given in time</span></div>
<div class="line"><a id="l01944" name="l01944"></a><span class="lineno"> 1944</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;2; j++) {</div>
<div class="line"><a id="l01945" name="l01945"></a><span class="lineno"> 1945</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(j) == -1)</div>
<div class="line"><a id="l01946" name="l01946"></a><span class="lineno"> 1946</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01947" name="l01947"></a><span class="lineno"> 1947</span> UInt_t neededWidth = 7;</div>
<div class="line"><a id="l01948" name="l01948"></a><span class="lineno"> 1948</span> UInt_t neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(j));</div>
<div class="line"><a id="l01949" name="l01949"></a><span class="lineno"> 1949</span> fout.width(neededWidth);</div>
<div class="line"><a id="l01950" name="l01950"></a><span class="lineno"> 1950</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l01951" name="l01951"></a><span class="lineno"> 1951</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(j);</div>
<div class="line"><a id="l01952" name="l01952"></a><span class="lineno"> 1952</span> <span class="keywordflow">if</span> (j==0)</div>
<div class="line"><a id="l01953" name="l01953"></a><span class="lineno"> 1953</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01954" name="l01954"></a><span class="lineno"> 1954</span> }</div>
<div class="line"><a id="l01955" name="l01955"></a><span class="lineno"> 1955</span> }</div>
<div class="line"><a id="l01956" name="l01956"></a><span class="lineno"> 1956</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01957" name="l01957"></a><span class="lineno"> 1957</span> }</div>
<div class="line"><a id="l01958" name="l01958"></a><span class="lineno"> 1958</span> </div>
<div class="line"><a id="l01959" name="l01959"></a><span class="lineno"> 1959</span> <span class="comment">// packing</span></div>
<div class="line"><a id="l01960" name="l01960"></a><span class="lineno"> 1960</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetPacking() != -1) {</div>
<div class="line"><a id="l01961" name="l01961"></a><span class="lineno"> 1961</span> fout.width(16);</div>
<div class="line"><a id="l01962" name="l01962"></a><span class="lineno"> 1962</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;packing&quot;</span>;</div>
<div class="line"><a id="l01963" name="l01963"></a><span class="lineno"> 1963</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetPacking() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01964" name="l01964"></a><span class="lineno"> 1964</span> }</div>
<div class="line"><a id="l01965" name="l01965"></a><span class="lineno"> 1965</span> </div>
<div class="line"><a id="l01966" name="l01966"></a><span class="lineno"> 1966</span> fout &lt;&lt; std::endl &lt;&lt; hline.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01967" name="l01967"></a><span class="lineno"> 1967</span> }</div>
<div class="line"><a id="l01968" name="l01968"></a><span class="lineno"> 1968</span> </div>
<div class="line"><a id="l01969" name="l01969"></a><span class="lineno"> 1969</span> <span class="comment">// write RUN blocks</span></div>
<div class="line"><a id="l01970" name="l01970"></a><span class="lineno"> 1970</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); ++i) {</div>
<div class="line"><a id="l01971" name="l01971"></a><span class="lineno"> 1971</span> <span class="keywordflow">if</span> (commentsRUN) {</div>
<div class="line"><a id="l01972" name="l01972"></a><span class="lineno"> 1972</span> iter = commentsRUN-&gt;find(i + 1);</div>
<div class="line"><a id="l01973" name="l01973"></a><span class="lineno"> 1973</span> <span class="keywordflow">if</span> (iter != commentsRUN-&gt;end()) {</div>
<div class="line"><a id="l01974" name="l01974"></a><span class="lineno"> 1974</span> <span class="keywordflow">if</span> (!i)</div>
<div class="line"><a id="l01975" name="l01975"></a><span class="lineno"> 1975</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01976" name="l01976"></a><span class="lineno"> 1976</span> fout &lt;&lt; <span class="stringliteral">&quot;# &quot;</span> &lt;&lt; iter-&gt;second.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l01977" name="l01977"></a><span class="lineno"> 1977</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l01978" name="l01978"></a><span class="lineno"> 1978</span> commentsRUN-&gt;erase(iter);</div>
<div class="line"><a id="l01979" name="l01979"></a><span class="lineno"> 1979</span> }</div>
<div class="line"><a id="l01980" name="l01980"></a><span class="lineno"> 1980</span> }</div>
<div class="line"><a id="l01981" name="l01981"></a><span class="lineno"> 1981</span> fout &lt;&lt; <span class="stringliteral">&quot;RUN &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetRunName()-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01982" name="l01982"></a><span class="lineno"> 1982</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBeamline();</div>
<div class="line"><a id="l01983" name="l01983"></a><span class="lineno"> 1983</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l01984" name="l01984"></a><span class="lineno"> 1984</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrFile: **ERROR** Couldn&#39;t obtain beamline data.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01985" name="l01985"></a><span class="lineno"> 1985</span> assert(0);</div>
<div class="line"><a id="l01986" name="l01986"></a><span class="lineno"> 1986</span> }</div>
<div class="line"><a id="l01987" name="l01987"></a><span class="lineno"> 1987</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l01988" name="l01988"></a><span class="lineno"> 1988</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01989" name="l01989"></a><span class="lineno"> 1989</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetInstitute();</div>
<div class="line"><a id="l01990" name="l01990"></a><span class="lineno"> 1990</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l01991" name="l01991"></a><span class="lineno"> 1991</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrFile: **ERROR** Couldn&#39;t obtain institute data.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01992" name="l01992"></a><span class="lineno"> 1992</span> assert(0);</div>
<div class="line"><a id="l01993" name="l01993"></a><span class="lineno"> 1993</span> }</div>
<div class="line"><a id="l01994" name="l01994"></a><span class="lineno"> 1994</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l01995" name="l01995"></a><span class="lineno"> 1995</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l01996" name="l01996"></a><span class="lineno"> 1996</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFileFormat();</div>
<div class="line"><a id="l01997" name="l01997"></a><span class="lineno"> 1997</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l01998" name="l01998"></a><span class="lineno"> 1998</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrFile: **ERROR** Couldn&#39;t obtain file format data.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l01999" name="l01999"></a><span class="lineno"> 1999</span> assert(0);</div>
<div class="line"><a id="l02000" name="l02000"></a><span class="lineno"> 2000</span> }</div>
<div class="line"><a id="l02001" name="l02001"></a><span class="lineno"> 2001</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l02002" name="l02002"></a><span class="lineno"> 2002</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; (name beamline institute data-file-format)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02003" name="l02003"></a><span class="lineno"> 2003</span> </div>
<div class="line"><a id="l02004" name="l02004"></a><span class="lineno"> 2004</span> <span class="comment">// ADDRUN</span></div>
<div class="line"><a id="l02005" name="l02005"></a><span class="lineno"> 2005</span> <span class="keywordflow">for</span> (UInt_t j = 1; j &lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetRunNameSize(); ++j) {</div>
<div class="line"><a id="l02006" name="l02006"></a><span class="lineno"> 2006</span> fout &lt;&lt; <span class="stringliteral">&quot;ADDRUN &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetRunName(j)-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l02007" name="l02007"></a><span class="lineno"> 2007</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBeamline(j);</div>
<div class="line"><a id="l02008" name="l02008"></a><span class="lineno"> 2008</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l02009" name="l02009"></a><span class="lineno"> 2009</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrFile: **ERROR** Couldn&#39;t obtain beamline data (addrun).&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02010" name="l02010"></a><span class="lineno"> 2010</span> assert(0);</div>
<div class="line"><a id="l02011" name="l02011"></a><span class="lineno"> 2011</span> }</div>
<div class="line"><a id="l02012" name="l02012"></a><span class="lineno"> 2012</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l02013" name="l02013"></a><span class="lineno"> 2013</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l02014" name="l02014"></a><span class="lineno"> 2014</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetInstitute(j);</div>
<div class="line"><a id="l02015" name="l02015"></a><span class="lineno"> 2015</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l02016" name="l02016"></a><span class="lineno"> 2016</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrFile: **ERROR** Couldn&#39;t obtain institute data (addrun).&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02017" name="l02017"></a><span class="lineno"> 2017</span> assert(0);</div>
<div class="line"><a id="l02018" name="l02018"></a><span class="lineno"> 2018</span> }</div>
<div class="line"><a id="l02019" name="l02019"></a><span class="lineno"> 2019</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l02020" name="l02020"></a><span class="lineno"> 2020</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l02021" name="l02021"></a><span class="lineno"> 2021</span> pstr = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFileFormat(j);</div>
<div class="line"><a id="l02022" name="l02022"></a><span class="lineno"> 2022</span> <span class="keywordflow">if</span> (pstr == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l02023" name="l02023"></a><span class="lineno"> 2023</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrFile: **ERROR** Couldn&#39;t obtain file format data (addrun).&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02024" name="l02024"></a><span class="lineno"> 2024</span> assert(0);</div>
<div class="line"><a id="l02025" name="l02025"></a><span class="lineno"> 2025</span> }</div>
<div class="line"><a id="l02026" name="l02026"></a><span class="lineno"> 2026</span> pstr-&gt;ToUpper();</div>
<div class="line"><a id="l02027" name="l02027"></a><span class="lineno"> 2027</span> fout &lt;&lt; pstr-&gt;Data() &lt;&lt; <span class="stringliteral">&quot; (name beamline institute data-file-format)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02028" name="l02028"></a><span class="lineno"> 2028</span> }</div>
<div class="line"><a id="l02029" name="l02029"></a><span class="lineno"> 2029</span> </div>
<div class="line"><a id="l02030" name="l02030"></a><span class="lineno"> 2030</span> <span class="comment">// fittype</span></div>
<div class="line"><a id="l02031" name="l02031"></a><span class="lineno"> 2031</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitType() != -1) {</div>
<div class="line"><a id="l02032" name="l02032"></a><span class="lineno"> 2032</span> fout.width(16);</div>
<div class="line"><a id="l02033" name="l02033"></a><span class="lineno"> 2033</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitType()) {</div>
<div class="line"><a id="l02034" name="l02034"></a><span class="lineno"> 2034</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a>:</div>
<div class="line"><a id="l02035" name="l02035"></a><span class="lineno"> 2035</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a> &lt;&lt; <span class="stringliteral">&quot; (single histogram fit)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02036" name="l02036"></a><span class="lineno"> 2036</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02037" name="l02037"></a><span class="lineno"> 2037</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>:</div>
<div class="line"><a id="l02038" name="l02038"></a><span class="lineno"> 2038</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a> &lt;&lt; <span class="stringliteral">&quot; (single histogram RRF fit)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02039" name="l02039"></a><span class="lineno"> 2039</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02040" name="l02040"></a><span class="lineno"> 2040</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a>:</div>
<div class="line"><a id="l02041" name="l02041"></a><span class="lineno"> 2041</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a> &lt;&lt; <span class="stringliteral">&quot; (asymmetry fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l02042" name="l02042"></a><span class="lineno"> 2042</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02043" name="l02043"></a><span class="lineno"> 2043</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>:</div>
<div class="line"><a id="l02044" name="l02044"></a><span class="lineno"> 2044</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a> &lt;&lt; <span class="stringliteral">&quot; (asymmetry RRF fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l02045" name="l02045"></a><span class="lineno"> 2045</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02046" name="l02046"></a><span class="lineno"> 2046</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a>:</div>
<div class="line"><a id="l02047" name="l02047"></a><span class="lineno"> 2047</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a> &lt;&lt; <span class="stringliteral">&quot; (mu minus fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l02048" name="l02048"></a><span class="lineno"> 2048</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02049" name="l02049"></a><span class="lineno"> 2049</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a>:</div>
<div class="line"><a id="l02050" name="l02050"></a><span class="lineno"> 2050</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a> &lt;&lt; <span class="stringliteral">&quot; (beta-NMR fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l02051" name="l02051"></a><span class="lineno"> 2051</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02052" name="l02052"></a><span class="lineno"> 2052</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a>:</div>
<div class="line"><a id="l02053" name="l02053"></a><span class="lineno"> 2053</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fittype&quot;</span> &lt;&lt; <a class="code hl_define" href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a> &lt;&lt; <span class="stringliteral">&quot; (non muSR fit)&quot;</span> &lt;&lt; std::endl ;</div>
<div class="line"><a id="l02054" name="l02054"></a><span class="lineno"> 2054</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02055" name="l02055"></a><span class="lineno"> 2055</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l02056" name="l02056"></a><span class="lineno"> 2056</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02057" name="l02057"></a><span class="lineno"> 2057</span> }</div>
<div class="line"><a id="l02058" name="l02058"></a><span class="lineno"> 2058</span> }</div>
<div class="line"><a id="l02059" name="l02059"></a><span class="lineno"> 2059</span> </div>
<div class="line"><a id="l02060" name="l02060"></a><span class="lineno"> 2060</span> <span class="comment">// alpha</span></div>
<div class="line"><a id="l02061" name="l02061"></a><span class="lineno"> 2061</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAlphaParamNo() != -1) {</div>
<div class="line"><a id="l02062" name="l02062"></a><span class="lineno"> 2062</span> fout.width(16);</div>
<div class="line"><a id="l02063" name="l02063"></a><span class="lineno"> 2063</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;alpha&quot;</span>;</div>
<div class="line"><a id="l02064" name="l02064"></a><span class="lineno"> 2064</span> <span class="comment">// check if alpha is give as a function</span></div>
<div class="line"><a id="l02065" name="l02065"></a><span class="lineno"> 2065</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAlphaParamNo() &gt;= <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>)</div>
<div class="line"><a id="l02066" name="l02066"></a><span class="lineno"> 2066</span> fout &lt;&lt; <span class="stringliteral">&quot;fun&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAlphaParamNo()-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>;</div>
<div class="line"><a id="l02067" name="l02067"></a><span class="lineno"> 2067</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l02068" name="l02068"></a><span class="lineno"> 2068</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAlphaParamNo();</div>
<div class="line"><a id="l02069" name="l02069"></a><span class="lineno"> 2069</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02070" name="l02070"></a><span class="lineno"> 2070</span> }</div>
<div class="line"><a id="l02071" name="l02071"></a><span class="lineno"> 2071</span> </div>
<div class="line"><a id="l02072" name="l02072"></a><span class="lineno"> 2072</span> <span class="comment">// beta</span></div>
<div class="line"><a id="l02073" name="l02073"></a><span class="lineno"> 2073</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBetaParamNo() != -1) {</div>
<div class="line"><a id="l02074" name="l02074"></a><span class="lineno"> 2074</span> fout.width(16);</div>
<div class="line"><a id="l02075" name="l02075"></a><span class="lineno"> 2075</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;beta&quot;</span>;</div>
<div class="line"><a id="l02076" name="l02076"></a><span class="lineno"> 2076</span> <span class="comment">// check if beta is give as a function</span></div>
<div class="line"><a id="l02077" name="l02077"></a><span class="lineno"> 2077</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBetaParamNo() &gt;= <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>)</div>
<div class="line"><a id="l02078" name="l02078"></a><span class="lineno"> 2078</span> fout &lt;&lt; <span class="stringliteral">&quot;fun&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBetaParamNo()-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>;</div>
<div class="line"><a id="l02079" name="l02079"></a><span class="lineno"> 2079</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l02080" name="l02080"></a><span class="lineno"> 2080</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBetaParamNo();</div>
<div class="line"><a id="l02081" name="l02081"></a><span class="lineno"> 2081</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02082" name="l02082"></a><span class="lineno"> 2082</span> }</div>
<div class="line"><a id="l02083" name="l02083"></a><span class="lineno"> 2083</span> </div>
<div class="line"><a id="l02084" name="l02084"></a><span class="lineno"> 2084</span> <span class="comment">// norm</span></div>
<div class="line"><a id="l02085" name="l02085"></a><span class="lineno"> 2085</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() != -1) {</div>
<div class="line"><a id="l02086" name="l02086"></a><span class="lineno"> 2086</span> fout.width(16);</div>
<div class="line"><a id="l02087" name="l02087"></a><span class="lineno"> 2087</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;norm&quot;</span>;</div>
<div class="line"><a id="l02088" name="l02088"></a><span class="lineno"> 2088</span> <span class="comment">// check if norm is give as a function</span></div>
<div class="line"><a id="l02089" name="l02089"></a><span class="lineno"> 2089</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() &gt;= <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>)</div>
<div class="line"><a id="l02090" name="l02090"></a><span class="lineno"> 2090</span> fout &lt;&lt; <span class="stringliteral">&quot;fun&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo()-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>;</div>
<div class="line"><a id="l02091" name="l02091"></a><span class="lineno"> 2091</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l02092" name="l02092"></a><span class="lineno"> 2092</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo();</div>
<div class="line"><a id="l02093" name="l02093"></a><span class="lineno"> 2093</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02094" name="l02094"></a><span class="lineno"> 2094</span> }</div>
<div class="line"><a id="l02095" name="l02095"></a><span class="lineno"> 2095</span> </div>
<div class="line"><a id="l02096" name="l02096"></a><span class="lineno"> 2096</span> <span class="comment">// backgr.fit</span></div>
<div class="line"><a id="l02097" name="l02097"></a><span class="lineno"> 2097</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgFitParamNo() != -1) {</div>
<div class="line"><a id="l02098" name="l02098"></a><span class="lineno"> 2098</span> fout.width(16);</div>
<div class="line"><a id="l02099" name="l02099"></a><span class="lineno"> 2099</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;backgr.fit&quot;</span>;</div>
<div class="line"><a id="l02100" name="l02100"></a><span class="lineno"> 2100</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgFitParamNo() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02101" name="l02101"></a><span class="lineno"> 2101</span> }</div>
<div class="line"><a id="l02102" name="l02102"></a><span class="lineno"> 2102</span> </div>
<div class="line"><a id="l02103" name="l02103"></a><span class="lineno"> 2103</span> <span class="comment">// lifetime</span></div>
<div class="line"><a id="l02104" name="l02104"></a><span class="lineno"> 2104</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetLifetimeParamNo() != -1) {</div>
<div class="line"><a id="l02105" name="l02105"></a><span class="lineno"> 2105</span> fout.width(16);</div>
<div class="line"><a id="l02106" name="l02106"></a><span class="lineno"> 2106</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;lifetime&quot;</span>;</div>
<div class="line"><a id="l02107" name="l02107"></a><span class="lineno"> 2107</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetLifetimeParamNo() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02108" name="l02108"></a><span class="lineno"> 2108</span> }</div>
<div class="line"><a id="l02109" name="l02109"></a><span class="lineno"> 2109</span> </div>
<div class="line"><a id="l02110" name="l02110"></a><span class="lineno"> 2110</span> <span class="comment">// lifetimecorrection</span></div>
<div class="line"><a id="l02111" name="l02111"></a><span class="lineno"> 2111</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].IsLifetimeCorrected()) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitType() == <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a>)) {</div>
<div class="line"><a id="l02112" name="l02112"></a><span class="lineno"> 2112</span> fout &lt;&lt; <span class="stringliteral">&quot;lifetimecorrection&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02113" name="l02113"></a><span class="lineno"> 2113</span> }</div>
<div class="line"><a id="l02114" name="l02114"></a><span class="lineno"> 2114</span> </div>
<div class="line"><a id="l02115" name="l02115"></a><span class="lineno"> 2115</span> <span class="comment">// map</span></div>
<div class="line"><a id="l02116" name="l02116"></a><span class="lineno"> 2116</span> fout &lt;&lt; <span class="stringliteral">&quot;map &quot;</span>;</div>
<div class="line"><a id="l02117" name="l02117"></a><span class="lineno"> 2117</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetMap()-&gt;size(); ++j) {</div>
<div class="line"><a id="l02118" name="l02118"></a><span class="lineno"> 2118</span> fout.width(5);</div>
<div class="line"><a id="l02119" name="l02119"></a><span class="lineno"> 2119</span> fout &lt;&lt; std::right &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetMap(j);</div>
<div class="line"><a id="l02120" name="l02120"></a><span class="lineno"> 2120</span> }</div>
<div class="line"><a id="l02121" name="l02121"></a><span class="lineno"> 2121</span> <span class="comment">// if there are less maps then 10 fill with zeros</span></div>
<div class="line"><a id="l02122" name="l02122"></a><span class="lineno"> 2122</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetMap()-&gt;size() &lt; 10) {</div>
<div class="line"><a id="l02123" name="l02123"></a><span class="lineno"> 2123</span> <span class="keywordflow">for</span> (UInt_t j=<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetMap()-&gt;size(); j&lt;10; ++j)</div>
<div class="line"><a id="l02124" name="l02124"></a><span class="lineno"> 2124</span> fout &lt;&lt; <span class="stringliteral">&quot; 0&quot;</span>;</div>
<div class="line"><a id="l02125" name="l02125"></a><span class="lineno"> 2125</span> }</div>
<div class="line"><a id="l02126" name="l02126"></a><span class="lineno"> 2126</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02127" name="l02127"></a><span class="lineno"> 2127</span> </div>
<div class="line"><a id="l02128" name="l02128"></a><span class="lineno"> 2128</span> <span class="comment">// forward</span></div>
<div class="line"><a id="l02129" name="l02129"></a><span class="lineno"> 2129</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize() == 0) {</div>
<div class="line"><a id="l02130" name="l02130"></a><span class="lineno"> 2130</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::WriteMsrFile: **WARNING** No &#39;forward&#39; data found!&quot;</span>;</div>
<div class="line"><a id="l02131" name="l02131"></a><span class="lineno"> 2131</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Something is VERY fishy, please check your msr-file carfully.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02132" name="l02132"></a><span class="lineno"> 2132</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02133" name="l02133"></a><span class="lineno"> 2133</span> fout.width(16);</div>
<div class="line"><a id="l02134" name="l02134"></a><span class="lineno"> 2134</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;forward&quot;</span>;</div>
<div class="line"><a id="l02135" name="l02135"></a><span class="lineno"> 2135</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize(); ++j) {</div>
<div class="line"><a id="l02136" name="l02136"></a><span class="lineno"> 2136</span> fout.width(8);</div>
<div class="line"><a id="l02137" name="l02137"></a><span class="lineno"> 2137</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNo(j);</div>
<div class="line"><a id="l02138" name="l02138"></a><span class="lineno"> 2138</span> }</div>
<div class="line"><a id="l02139" name="l02139"></a><span class="lineno"> 2139</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02140" name="l02140"></a><span class="lineno"> 2140</span> }</div>
<div class="line"><a id="l02141" name="l02141"></a><span class="lineno"> 2141</span> </div>
<div class="line"><a id="l02142" name="l02142"></a><span class="lineno"> 2142</span> <span class="comment">// backward</span></div>
<div class="line"><a id="l02143" name="l02143"></a><span class="lineno"> 2143</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize() &gt; 0) {</div>
<div class="line"><a id="l02144" name="l02144"></a><span class="lineno"> 2144</span> fout.width(16);</div>
<div class="line"><a id="l02145" name="l02145"></a><span class="lineno"> 2145</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;backward&quot;</span>;</div>
<div class="line"><a id="l02146" name="l02146"></a><span class="lineno"> 2146</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize(); ++j) {</div>
<div class="line"><a id="l02147" name="l02147"></a><span class="lineno"> 2147</span> fout.width(8);</div>
<div class="line"><a id="l02148" name="l02148"></a><span class="lineno"> 2148</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNo(j);</div>
<div class="line"><a id="l02149" name="l02149"></a><span class="lineno"> 2149</span> }</div>
<div class="line"><a id="l02150" name="l02150"></a><span class="lineno"> 2150</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02151" name="l02151"></a><span class="lineno"> 2151</span> }</div>
<div class="line"><a id="l02152" name="l02152"></a><span class="lineno"> 2152</span> </div>
<div class="line"><a id="l02153" name="l02153"></a><span class="lineno"> 2153</span> <span class="comment">// backgr.fix</span></div>
<div class="line"><a id="l02154" name="l02154"></a><span class="lineno"> 2154</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgFix(0) != <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgFix(1) != <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) {</div>
<div class="line"><a id="l02155" name="l02155"></a><span class="lineno"> 2155</span> fout.width(15);</div>
<div class="line"><a id="l02156" name="l02156"></a><span class="lineno"> 2156</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;backgr.fix&quot;</span>;</div>
<div class="line"><a id="l02157" name="l02157"></a><span class="lineno"> 2157</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;2; ++j) {</div>
<div class="line"><a id="l02158" name="l02158"></a><span class="lineno"> 2158</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgFix(j) != <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) {</div>
<div class="line"><a id="l02159" name="l02159"></a><span class="lineno"> 2159</span> fout.precision(prec);</div>
<div class="line"><a id="l02160" name="l02160"></a><span class="lineno"> 2160</span> fout.width(12);</div>
<div class="line"><a id="l02161" name="l02161"></a><span class="lineno"> 2161</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgFix(j);</div>
<div class="line"><a id="l02162" name="l02162"></a><span class="lineno"> 2162</span> }</div>
<div class="line"><a id="l02163" name="l02163"></a><span class="lineno"> 2163</span> }</div>
<div class="line"><a id="l02164" name="l02164"></a><span class="lineno"> 2164</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02165" name="l02165"></a><span class="lineno"> 2165</span> }</div>
<div class="line"><a id="l02166" name="l02166"></a><span class="lineno"> 2166</span> </div>
<div class="line"><a id="l02167" name="l02167"></a><span class="lineno"> 2167</span> <span class="comment">// background</span></div>
<div class="line"><a id="l02168" name="l02168"></a><span class="lineno"> 2168</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgRange(0) != -1) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgRange(1) != -1) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgRange(2) != -1) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgRange(3) != -1)) {</div>
<div class="line"><a id="l02169" name="l02169"></a><span class="lineno"> 2169</span> fout.width(16);</div>
<div class="line"><a id="l02170" name="l02170"></a><span class="lineno"> 2170</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;background&quot;</span>;</div>
<div class="line"><a id="l02171" name="l02171"></a><span class="lineno"> 2171</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;4; ++j) {</div>
<div class="line"><a id="l02172" name="l02172"></a><span class="lineno"> 2172</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgRange(j) &gt; 0) {</div>
<div class="line"><a id="l02173" name="l02173"></a><span class="lineno"> 2173</span> fout.width(8);</div>
<div class="line"><a id="l02174" name="l02174"></a><span class="lineno"> 2174</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBkgRange(j);</div>
<div class="line"><a id="l02175" name="l02175"></a><span class="lineno"> 2175</span> }</div>
<div class="line"><a id="l02176" name="l02176"></a><span class="lineno"> 2176</span> }</div>
<div class="line"><a id="l02177" name="l02177"></a><span class="lineno"> 2177</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02178" name="l02178"></a><span class="lineno"> 2178</span> }</div>
<div class="line"><a id="l02179" name="l02179"></a><span class="lineno"> 2179</span> </div>
<div class="line"><a id="l02180" name="l02180"></a><span class="lineno"> 2180</span> <span class="comment">// data</span></div>
<div class="line"><a id="l02181" name="l02181"></a><span class="lineno"> 2181</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetDataRange(0) != -1) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetDataRange(1) != -1) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetDataRange(2) != -1) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetDataRange(3) != -1)) {</div>
<div class="line"><a id="l02182" name="l02182"></a><span class="lineno"> 2182</span> fout.width(16);</div>
<div class="line"><a id="l02183" name="l02183"></a><span class="lineno"> 2183</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;data&quot;</span>;</div>
<div class="line"><a id="l02184" name="l02184"></a><span class="lineno"> 2184</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;4; ++j) {</div>
<div class="line"><a id="l02185" name="l02185"></a><span class="lineno"> 2185</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetDataRange(j) &gt; 0) {</div>
<div class="line"><a id="l02186" name="l02186"></a><span class="lineno"> 2186</span> fout.width(8);</div>
<div class="line"><a id="l02187" name="l02187"></a><span class="lineno"> 2187</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetDataRange(j);</div>
<div class="line"><a id="l02188" name="l02188"></a><span class="lineno"> 2188</span> }</div>
<div class="line"><a id="l02189" name="l02189"></a><span class="lineno"> 2189</span> }</div>
<div class="line"><a id="l02190" name="l02190"></a><span class="lineno"> 2190</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02191" name="l02191"></a><span class="lineno"> 2191</span> }</div>
<div class="line"><a id="l02192" name="l02192"></a><span class="lineno"> 2192</span> </div>
<div class="line"><a id="l02193" name="l02193"></a><span class="lineno"> 2193</span> <span class="comment">// t0</span></div>
<div class="line"><a id="l02194" name="l02194"></a><span class="lineno"> 2194</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; 0) {</div>
<div class="line"><a id="l02195" name="l02195"></a><span class="lineno"> 2195</span> fout.width(16);</div>
<div class="line"><a id="l02196" name="l02196"></a><span class="lineno"> 2196</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;t0&quot;</span>;</div>
<div class="line"><a id="l02197" name="l02197"></a><span class="lineno"> 2197</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize(); ++j) {</div>
<div class="line"><a id="l02198" name="l02198"></a><span class="lineno"> 2198</span> fout.width(8);</div>
<div class="line"><a id="l02199" name="l02199"></a><span class="lineno"> 2199</span> fout.precision(1);</div>
<div class="line"><a id="l02200" name="l02200"></a><span class="lineno"> 2200</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l02201" name="l02201"></a><span class="lineno"> 2201</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0Bin(j);</div>
<div class="line"><a id="l02202" name="l02202"></a><span class="lineno"> 2202</span> }</div>
<div class="line"><a id="l02203" name="l02203"></a><span class="lineno"> 2203</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02204" name="l02204"></a><span class="lineno"> 2204</span> }</div>
<div class="line"><a id="l02205" name="l02205"></a><span class="lineno"> 2205</span> </div>
<div class="line"><a id="l02206" name="l02206"></a><span class="lineno"> 2206</span> <span class="comment">// addt0</span></div>
<div class="line"><a id="l02207" name="l02207"></a><span class="lineno"> 2207</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAddT0BinEntries() &gt; 0) {</div>
<div class="line"><a id="l02208" name="l02208"></a><span class="lineno"> 2208</span> <span class="keywordflow">for</span> (UInt_t j = 0; j &lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetRunNameSize() - 1; ++j) {</div>
<div class="line"><a id="l02209" name="l02209"></a><span class="lineno"> 2209</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAddT0BinSize(j) &gt; 0) {</div>
<div class="line"><a id="l02210" name="l02210"></a><span class="lineno"> 2210</span> fout.width(16);</div>
<div class="line"><a id="l02211" name="l02211"></a><span class="lineno"> 2211</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;addt0&quot;</span>;</div>
<div class="line"><a id="l02212" name="l02212"></a><span class="lineno"> 2212</span> <span class="keywordflow">for</span> (Int_t k=0; k&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAddT0BinSize(j); ++k) {</div>
<div class="line"><a id="l02213" name="l02213"></a><span class="lineno"> 2213</span> fout.width(8);</div>
<div class="line"><a id="l02214" name="l02214"></a><span class="lineno"> 2214</span> fout.precision(1);</div>
<div class="line"><a id="l02215" name="l02215"></a><span class="lineno"> 2215</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l02216" name="l02216"></a><span class="lineno"> 2216</span> fout &lt;&lt; std::left &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAddT0Bin(j, k);</div>
<div class="line"><a id="l02217" name="l02217"></a><span class="lineno"> 2217</span> }</div>
<div class="line"><a id="l02218" name="l02218"></a><span class="lineno"> 2218</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02219" name="l02219"></a><span class="lineno"> 2219</span> }</div>
<div class="line"><a id="l02220" name="l02220"></a><span class="lineno"> 2220</span> }</div>
<div class="line"><a id="l02221" name="l02221"></a><span class="lineno"> 2221</span> }</div>
<div class="line"><a id="l02222" name="l02222"></a><span class="lineno"> 2222</span> </div>
<div class="line"><a id="l02223" name="l02223"></a><span class="lineno"> 2223</span> <span class="comment">// xy-data</span></div>
<div class="line"><a id="l02224" name="l02224"></a><span class="lineno"> 2224</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetXDataIndex() != -1) { <span class="comment">// indices</span></div>
<div class="line"><a id="l02225" name="l02225"></a><span class="lineno"> 2225</span> fout.width(16);</div>
<div class="line"><a id="l02226" name="l02226"></a><span class="lineno"> 2226</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;xy-data&quot;</span>;</div>
<div class="line"><a id="l02227" name="l02227"></a><span class="lineno"> 2227</span> fout.width(8);</div>
<div class="line"><a id="l02228" name="l02228"></a><span class="lineno"> 2228</span> fout.precision(2);</div>
<div class="line"><a id="l02229" name="l02229"></a><span class="lineno"> 2229</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetXDataIndex();</div>
<div class="line"><a id="l02230" name="l02230"></a><span class="lineno"> 2230</span> fout.width(8);</div>
<div class="line"><a id="l02231" name="l02231"></a><span class="lineno"> 2231</span> fout.precision(2);</div>
<div class="line"><a id="l02232" name="l02232"></a><span class="lineno"> 2232</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetYDataIndex();</div>
<div class="line"><a id="l02233" name="l02233"></a><span class="lineno"> 2233</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02234" name="l02234"></a><span class="lineno"> 2234</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetXDataLabel()-&gt;IsWhitespace()) { <span class="comment">// labels</span></div>
<div class="line"><a id="l02235" name="l02235"></a><span class="lineno"> 2235</span> fout.width(16);</div>
<div class="line"><a id="l02236" name="l02236"></a><span class="lineno"> 2236</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;xy-data&quot;</span>;</div>
<div class="line"><a id="l02237" name="l02237"></a><span class="lineno"> 2237</span> fout.width(8);</div>
<div class="line"><a id="l02238" name="l02238"></a><span class="lineno"> 2238</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetXDataLabel()-&gt;Data();</div>
<div class="line"><a id="l02239" name="l02239"></a><span class="lineno"> 2239</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l02240" name="l02240"></a><span class="lineno"> 2240</span> fout.width(8);</div>
<div class="line"><a id="l02241" name="l02241"></a><span class="lineno"> 2241</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetYDataLabel()-&gt;Data();</div>
<div class="line"><a id="l02242" name="l02242"></a><span class="lineno"> 2242</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02243" name="l02243"></a><span class="lineno"> 2243</span> }</div>
<div class="line"><a id="l02244" name="l02244"></a><span class="lineno"> 2244</span> </div>
<div class="line"><a id="l02245" name="l02245"></a><span class="lineno"> 2245</span> <span class="comment">// fit</span></div>
<div class="line"><a id="l02246" name="l02246"></a><span class="lineno"> 2246</span> <span class="keywordflow">if</span> ( (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].IsFitRangeInBin() &amp;&amp; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRangeOffset(0) != -1) ||</div>
<div class="line"><a id="l02247" name="l02247"></a><span class="lineno"> 2247</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(0) != <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) ) {</div>
<div class="line"><a id="l02248" name="l02248"></a><span class="lineno"> 2248</span> fout.width(16);</div>
<div class="line"><a id="l02249" name="l02249"></a><span class="lineno"> 2249</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;fit&quot;</span>;</div>
<div class="line"><a id="l02250" name="l02250"></a><span class="lineno"> 2250</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].IsFitRangeInBin()) { <span class="comment">// fit range given in bins</span></div>
<div class="line"><a id="l02251" name="l02251"></a><span class="lineno"> 2251</span> fout &lt;&lt; <span class="stringliteral">&quot;fgb&quot;</span>;</div>
<div class="line"><a id="l02252" name="l02252"></a><span class="lineno"> 2252</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRangeOffset(0) &gt; 0)</div>
<div class="line"><a id="l02253" name="l02253"></a><span class="lineno"> 2253</span> fout &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRangeOffset(0);</div>
<div class="line"><a id="l02254" name="l02254"></a><span class="lineno"> 2254</span> fout &lt;&lt; <span class="stringliteral">&quot; lgb&quot;</span>;</div>
<div class="line"><a id="l02255" name="l02255"></a><span class="lineno"> 2255</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRangeOffset(1) &gt; 0)</div>
<div class="line"><a id="l02256" name="l02256"></a><span class="lineno"> 2256</span> fout &lt;&lt; <span class="stringliteral">&quot;-&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRangeOffset(1);</div>
<div class="line"><a id="l02257" name="l02257"></a><span class="lineno"> 2257</span> } <span class="keywordflow">else</span> { <span class="comment">// fit range given in time</span></div>
<div class="line"><a id="l02258" name="l02258"></a><span class="lineno"> 2258</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;2; j++) {</div>
<div class="line"><a id="l02259" name="l02259"></a><span class="lineno"> 2259</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(j) == -1)</div>
<div class="line"><a id="l02260" name="l02260"></a><span class="lineno"> 2260</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02261" name="l02261"></a><span class="lineno"> 2261</span> UInt_t neededWidth = 7;</div>
<div class="line"><a id="l02262" name="l02262"></a><span class="lineno"> 2262</span> UInt_t neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(j));</div>
<div class="line"><a id="l02263" name="l02263"></a><span class="lineno"> 2263</span> fout.width(neededWidth);</div>
<div class="line"><a id="l02264" name="l02264"></a><span class="lineno"> 2264</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l02265" name="l02265"></a><span class="lineno"> 2265</span> fout &lt;&lt; std::left &lt;&lt; std::fixed &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(j);</div>
<div class="line"><a id="l02266" name="l02266"></a><span class="lineno"> 2266</span> <span class="keywordflow">if</span> (j==0)</div>
<div class="line"><a id="l02267" name="l02267"></a><span class="lineno"> 2267</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l02268" name="l02268"></a><span class="lineno"> 2268</span> }</div>
<div class="line"><a id="l02269" name="l02269"></a><span class="lineno"> 2269</span> }</div>
<div class="line"><a id="l02270" name="l02270"></a><span class="lineno"> 2270</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02271" name="l02271"></a><span class="lineno"> 2271</span> }</div>
<div class="line"><a id="l02272" name="l02272"></a><span class="lineno"> 2272</span> </div>
<div class="line"><a id="l02273" name="l02273"></a><span class="lineno"> 2273</span> <span class="comment">// packing</span></div>
<div class="line"><a id="l02274" name="l02274"></a><span class="lineno"> 2274</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetPacking() != -1) {</div>
<div class="line"><a id="l02275" name="l02275"></a><span class="lineno"> 2275</span> fout.width(16);</div>
<div class="line"><a id="l02276" name="l02276"></a><span class="lineno"> 2276</span> fout &lt;&lt; std::left &lt;&lt; <span class="stringliteral">&quot;packing&quot;</span>;</div>
<div class="line"><a id="l02277" name="l02277"></a><span class="lineno"> 2277</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetPacking() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02278" name="l02278"></a><span class="lineno"> 2278</span> }</div>
<div class="line"><a id="l02279" name="l02279"></a><span class="lineno"> 2279</span> </div>
<div class="line"><a id="l02280" name="l02280"></a><span class="lineno"> 2280</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02281" name="l02281"></a><span class="lineno"> 2281</span> }</div>
<div class="line"><a id="l02282" name="l02282"></a><span class="lineno"> 2282</span> </div>
<div class="line"><a id="l02283" name="l02283"></a><span class="lineno"> 2283</span> <span class="keywordflow">if</span> (commentsRUN &amp;&amp; !commentsRUN-&gt;empty()) {</div>
<div class="line"><a id="l02284" name="l02284"></a><span class="lineno"> 2284</span> <span class="keywordflow">for</span>(iter = commentsRUN-&gt;begin(); iter != commentsRUN-&gt;end(); ++iter) {</div>
<div class="line"><a id="l02285" name="l02285"></a><span class="lineno"> 2285</span> fout &lt;&lt; <span class="stringliteral">&quot;# &quot;</span> &lt;&lt; iter-&gt;second.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02286" name="l02286"></a><span class="lineno"> 2286</span> }</div>
<div class="line"><a id="l02287" name="l02287"></a><span class="lineno"> 2287</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02288" name="l02288"></a><span class="lineno"> 2288</span> commentsRUN-&gt;clear();</div>
<div class="line"><a id="l02289" name="l02289"></a><span class="lineno"> 2289</span> }</div>
<div class="line"><a id="l02290" name="l02290"></a><span class="lineno"> 2290</span> fout &lt;&lt; hline.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02291" name="l02291"></a><span class="lineno"> 2291</span> </div>
<div class="line"><a id="l02292" name="l02292"></a><span class="lineno"> 2292</span> <span class="comment">// write COMMANDS block</span></div>
<div class="line"><a id="l02293" name="l02293"></a><span class="lineno"> 2293</span> fout &lt;&lt; <span class="stringliteral">&quot;COMMANDS&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02294" name="l02294"></a><span class="lineno"> 2294</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="classPMsrHandler.html#aee75a17848bc7d4068180cd9a28e8c41">fCommands</a>.size(); ++i) {</div>
<div class="line"><a id="l02295" name="l02295"></a><span class="lineno"> 2295</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aee75a17848bc7d4068180cd9a28e8c41">fCommands</a>[i].fLine.BeginsWith(<span class="stringliteral">&quot;SET BATCH&quot;</span>) || <a class="code hl_variable" href="classPMsrHandler.html#aee75a17848bc7d4068180cd9a28e8c41">fCommands</a>[i].fLine.BeginsWith(<span class="stringliteral">&quot;END RETURN&quot;</span>))</div>
<div class="line"><a id="l02296" name="l02296"></a><span class="lineno"> 2296</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l02297" name="l02297"></a><span class="lineno"> 2297</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l02298" name="l02298"></a><span class="lineno"> 2298</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aee75a17848bc7d4068180cd9a28e8c41">fCommands</a>[i].fLine.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02299" name="l02299"></a><span class="lineno"> 2299</span> }</div>
<div class="line"><a id="l02300" name="l02300"></a><span class="lineno"> 2300</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02301" name="l02301"></a><span class="lineno"> 2301</span> fout &lt;&lt; hline.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02302" name="l02302"></a><span class="lineno"> 2302</span> </div>
<div class="line"><a id="l02303" name="l02303"></a><span class="lineno"> 2303</span> <span class="comment">// write FOURIER block</span></div>
<div class="line"><a id="l02304" name="l02304"></a><span class="lineno"> 2304</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fFourierBlockPresent) {</div>
<div class="line"><a id="l02305" name="l02305"></a><span class="lineno"> 2305</span> fout &lt;&lt; <span class="stringliteral">&quot;FOURIER&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02306" name="l02306"></a><span class="lineno"> 2306</span> </div>
<div class="line"><a id="l02307" name="l02307"></a><span class="lineno"> 2307</span> <span class="comment">// units</span></div>
<div class="line"><a id="l02308" name="l02308"></a><span class="lineno"> 2308</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fUnits) {</div>
<div class="line"><a id="l02309" name="l02309"></a><span class="lineno"> 2309</span> fout &lt;&lt; <span class="stringliteral">&quot;units &quot;</span>;</div>
<div class="line"><a id="l02310" name="l02310"></a><span class="lineno"> 2310</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fUnits == <a class="code hl_define" href="PMusr_8h.html#a471cf3179039d0b28e02b9554eab3021">FOURIER_UNIT_GAUSS</a>) {</div>
<div class="line"><a id="l02311" name="l02311"></a><span class="lineno"> 2311</span> fout &lt;&lt; <span class="stringliteral">&quot;Gauss&quot;</span>;</div>
<div class="line"><a id="l02312" name="l02312"></a><span class="lineno"> 2312</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fUnits == <a class="code hl_define" href="PMusr_8h.html#ad583569117484f3068f44927f59345e3">FOURIER_UNIT_TESLA</a>) {</div>
<div class="line"><a id="l02313" name="l02313"></a><span class="lineno"> 2313</span> fout &lt;&lt; <span class="stringliteral">&quot;Tesla&quot;</span>;</div>
<div class="line"><a id="l02314" name="l02314"></a><span class="lineno"> 2314</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fUnits == <a class="code hl_define" href="PMusr_8h.html#a32b38859b7d7cd6d73f22b8baab83e68">FOURIER_UNIT_FREQ</a>) {</div>
<div class="line"><a id="l02315" name="l02315"></a><span class="lineno"> 2315</span> fout &lt;&lt; <span class="stringliteral">&quot;MHz &quot;</span>;</div>
<div class="line"><a id="l02316" name="l02316"></a><span class="lineno"> 2316</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fUnits == <a class="code hl_define" href="PMusr_8h.html#a92465a516f14855a48c32bea2d59e4f5">FOURIER_UNIT_CYCLES</a>) {</div>
<div class="line"><a id="l02317" name="l02317"></a><span class="lineno"> 2317</span> fout &lt;&lt; <span class="stringliteral">&quot;Mc/s&quot;</span>;</div>
<div class="line"><a id="l02318" name="l02318"></a><span class="lineno"> 2318</span> }</div>
<div class="line"><a id="l02319" name="l02319"></a><span class="lineno"> 2319</span> fout &lt;&lt; <span class="stringliteral">&quot; # units either &#39;Gauss&#39;, &#39;Tesla&#39;, &#39;MHz&#39;, or &#39;Mc/s&#39;&quot;</span>;</div>
<div class="line"><a id="l02320" name="l02320"></a><span class="lineno"> 2320</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02321" name="l02321"></a><span class="lineno"> 2321</span> }</div>
<div class="line"><a id="l02322" name="l02322"></a><span class="lineno"> 2322</span> </div>
<div class="line"><a id="l02323" name="l02323"></a><span class="lineno"> 2323</span> <span class="comment">// fourier_power</span></div>
<div class="line"><a id="l02324" name="l02324"></a><span class="lineno"> 2324</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fFourierPower != -1) {</div>
<div class="line"><a id="l02325" name="l02325"></a><span class="lineno"> 2325</span> fout &lt;&lt; <span class="stringliteral">&quot;fourier_power &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fFourierPower &lt;&lt; std::endl;</div>
<div class="line"><a id="l02326" name="l02326"></a><span class="lineno"> 2326</span> }</div>
<div class="line"><a id="l02327" name="l02327"></a><span class="lineno"> 2327</span> </div>
<div class="line"><a id="l02328" name="l02328"></a><span class="lineno"> 2328</span> <span class="comment">// apodization</span></div>
<div class="line"><a id="l02329" name="l02329"></a><span class="lineno"> 2329</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fApodization) {</div>
<div class="line"><a id="l02330" name="l02330"></a><span class="lineno"> 2330</span> fout &lt;&lt; <span class="stringliteral">&quot;apodization &quot;</span>;</div>
<div class="line"><a id="l02331" name="l02331"></a><span class="lineno"> 2331</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fApodization == <a class="code hl_define" href="PMusr_8h.html#a901c9291fbd78931e65e862aacbeca98">FOURIER_APOD_NONE</a>) {</div>
<div class="line"><a id="l02332" name="l02332"></a><span class="lineno"> 2332</span> fout &lt;&lt; <span class="stringliteral">&quot;NONE &quot;</span>;</div>
<div class="line"><a id="l02333" name="l02333"></a><span class="lineno"> 2333</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fApodization == <a class="code hl_define" href="PMusr_8h.html#a7ee8774df63a8af5e99328058ebb7ab2">FOURIER_APOD_WEAK</a>) {</div>
<div class="line"><a id="l02334" name="l02334"></a><span class="lineno"> 2334</span> fout &lt;&lt; <span class="stringliteral">&quot;WEAK &quot;</span>;</div>
<div class="line"><a id="l02335" name="l02335"></a><span class="lineno"> 2335</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fApodization == <a class="code hl_define" href="PMusr_8h.html#ac80c5f481d7bc0af56368b59dad88e42">FOURIER_APOD_MEDIUM</a>) {</div>
<div class="line"><a id="l02336" name="l02336"></a><span class="lineno"> 2336</span> fout &lt;&lt; <span class="stringliteral">&quot;MEDIUM&quot;</span>;</div>
<div class="line"><a id="l02337" name="l02337"></a><span class="lineno"> 2337</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fApodization == <a class="code hl_define" href="PMusr_8h.html#a9e30339c56f3061e468a489d8a24cd79">FOURIER_APOD_STRONG</a>) {</div>
<div class="line"><a id="l02338" name="l02338"></a><span class="lineno"> 2338</span> fout &lt;&lt; <span class="stringliteral">&quot;STRONG&quot;</span>;</div>
<div class="line"><a id="l02339" name="l02339"></a><span class="lineno"> 2339</span> }</div>
<div class="line"><a id="l02340" name="l02340"></a><span class="lineno"> 2340</span> fout &lt;&lt; <span class="stringliteral">&quot; # NONE, WEAK, MEDIUM, STRONG&quot;</span>;</div>
<div class="line"><a id="l02341" name="l02341"></a><span class="lineno"> 2341</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02342" name="l02342"></a><span class="lineno"> 2342</span> }</div>
<div class="line"><a id="l02343" name="l02343"></a><span class="lineno"> 2343</span> </div>
<div class="line"><a id="l02344" name="l02344"></a><span class="lineno"> 2344</span> <span class="comment">// plot</span></div>
<div class="line"><a id="l02345" name="l02345"></a><span class="lineno"> 2345</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag) {</div>
<div class="line"><a id="l02346" name="l02346"></a><span class="lineno"> 2346</span> fout &lt;&lt; <span class="stringliteral">&quot;plot &quot;</span>;</div>
<div class="line"><a id="l02347" name="l02347"></a><span class="lineno"> 2347</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#a727bcb40bd729656083fd581bd27def7">FOURIER_PLOT_REAL</a>) {</div>
<div class="line"><a id="l02348" name="l02348"></a><span class="lineno"> 2348</span> fout &lt;&lt; <span class="stringliteral">&quot;REAL &quot;</span>;</div>
<div class="line"><a id="l02349" name="l02349"></a><span class="lineno"> 2349</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#abd8681e11bd419c4237d7e52530eb374">FOURIER_PLOT_IMAG</a>) {</div>
<div class="line"><a id="l02350" name="l02350"></a><span class="lineno"> 2350</span> fout &lt;&lt; <span class="stringliteral">&quot;IMAG &quot;</span>;</div>
<div class="line"><a id="l02351" name="l02351"></a><span class="lineno"> 2351</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#a33032114d90d686450cfa71bb7ca6ab3">FOURIER_PLOT_REAL_AND_IMAG</a>) {</div>
<div class="line"><a id="l02352" name="l02352"></a><span class="lineno"> 2352</span> fout &lt;&lt; <span class="stringliteral">&quot;REAL_AND_IMAG&quot;</span>;</div>
<div class="line"><a id="l02353" name="l02353"></a><span class="lineno"> 2353</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#a4dda98b3e47269c7ffb9ee8f7e7b405a">FOURIER_PLOT_POWER</a>) {</div>
<div class="line"><a id="l02354" name="l02354"></a><span class="lineno"> 2354</span> fout &lt;&lt; <span class="stringliteral">&quot;POWER&quot;</span>;</div>
<div class="line"><a id="l02355" name="l02355"></a><span class="lineno"> 2355</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#ad274c4fe3bc865a43564b2f92a6c3c09">FOURIER_PLOT_PHASE</a>) {</div>
<div class="line"><a id="l02356" name="l02356"></a><span class="lineno"> 2356</span> fout &lt;&lt; <span class="stringliteral">&quot;PHASE&quot;</span>;</div>
<div class="line"><a id="l02357" name="l02357"></a><span class="lineno"> 2357</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#a7b5cd7f1bcb3543b7fb8520387414faf">FOURIER_PLOT_PHASE_OPT_REAL</a>) {</div>
<div class="line"><a id="l02358" name="l02358"></a><span class="lineno"> 2358</span> fout &lt;&lt; <span class="stringliteral">&quot;PHASE_OPT_REAL&quot;</span>;</div>
<div class="line"><a id="l02359" name="l02359"></a><span class="lineno"> 2359</span> }</div>
<div class="line"><a id="l02360" name="l02360"></a><span class="lineno"> 2360</span> fout &lt;&lt; <span class="stringliteral">&quot; # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL&quot;</span>;</div>
<div class="line"><a id="l02361" name="l02361"></a><span class="lineno"> 2361</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02362" name="l02362"></a><span class="lineno"> 2362</span> }</div>
<div class="line"><a id="l02363" name="l02363"></a><span class="lineno"> 2363</span> </div>
<div class="line"><a id="l02364" name="l02364"></a><span class="lineno"> 2364</span> <span class="comment">// phase </span></div>
<div class="line"><a id="l02365" name="l02365"></a><span class="lineno"> 2365</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size() &gt; 0) {</div>
<div class="line"><a id="l02366" name="l02366"></a><span class="lineno"> 2366</span> TString phaseParamStr = <a class="code hl_function" href="classPMsrHandler.html#a5618ced41cddc71ea25fc16987d70b9a">BeautifyFourierPhaseParameterString</a>();</div>
<div class="line"><a id="l02367" name="l02367"></a><span class="lineno"> 2367</span> fout &lt;&lt; <span class="stringliteral">&quot;phase &quot;</span> &lt;&lt; phaseParamStr &lt;&lt; std::endl;</div>
<div class="line"><a id="l02368" name="l02368"></a><span class="lineno"> 2368</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase.size() &gt; 0) {</div>
<div class="line"><a id="l02369" name="l02369"></a><span class="lineno"> 2369</span> fout &lt;&lt; <span class="stringliteral">&quot;phase &quot;</span>;</div>
<div class="line"><a id="l02370" name="l02370"></a><span class="lineno"> 2370</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase.size()-1; i++) {</div>
<div class="line"><a id="l02371" name="l02371"></a><span class="lineno"> 2371</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase[i] &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div>
<div class="line"><a id="l02372" name="l02372"></a><span class="lineno"> 2372</span> }</div>
<div class="line"><a id="l02373" name="l02373"></a><span class="lineno"> 2373</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase[<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase.size()-1] &lt;&lt; std::endl;</div>
<div class="line"><a id="l02374" name="l02374"></a><span class="lineno"> 2374</span> }</div>
<div class="line"><a id="l02375" name="l02375"></a><span class="lineno"> 2375</span> </div>
<div class="line"><a id="l02376" name="l02376"></a><span class="lineno"> 2376</span> <span class="comment">// range_for_phase_correction</span></div>
<div class="line"><a id="l02377" name="l02377"></a><span class="lineno"> 2377</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fRangeForPhaseCorrection[0] != -1.0) || (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fRangeForPhaseCorrection[1] != -1.0)) {</div>
<div class="line"><a id="l02378" name="l02378"></a><span class="lineno"> 2378</span> fout &lt;&lt; <span class="stringliteral">&quot;range_for_phase_correction &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fRangeForPhaseCorrection[0] &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fRangeForPhaseCorrection[1] &lt;&lt; std::endl;</div>
<div class="line"><a id="l02379" name="l02379"></a><span class="lineno"> 2379</span> }</div>
<div class="line"><a id="l02380" name="l02380"></a><span class="lineno"> 2380</span> </div>
<div class="line"><a id="l02381" name="l02381"></a><span class="lineno"> 2381</span> <span class="comment">// range</span></div>
<div class="line"><a id="l02382" name="l02382"></a><span class="lineno"> 2382</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[0] != -1.0) || (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[1] != -1.0)) {</div>
<div class="line"><a id="l02383" name="l02383"></a><span class="lineno"> 2383</span> fout.setf(std::ios::fixed,std::ios::floatfield);</div>
<div class="line"><a id="l02384" name="l02384"></a><span class="lineno"> 2384</span> UInt_t neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[0]);</div>
<div class="line"><a id="l02385" name="l02385"></a><span class="lineno"> 2385</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[1]) &gt; neededPrec)</div>
<div class="line"><a id="l02386" name="l02386"></a><span class="lineno"> 2386</span> neededPrec = <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">LastSignificant</a>(<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[1]);</div>
<div class="line"><a id="l02387" name="l02387"></a><span class="lineno"> 2387</span> fout.precision(neededPrec);</div>
<div class="line"><a id="l02388" name="l02388"></a><span class="lineno"> 2388</span> fout &lt;&lt; <span class="stringliteral">&quot;range &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[0] &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotRange[1] &lt;&lt; std::endl;</div>
<div class="line"><a id="l02389" name="l02389"></a><span class="lineno"> 2389</span> }</div>
<div class="line"><a id="l02390" name="l02390"></a><span class="lineno"> 2390</span> </div>
<div class="line"><a id="l02391" name="l02391"></a><span class="lineno"> 2391</span><span class="comment">// // phase_increment -- not used in msr-files at the moment (can only be set through the xml-file)</span></div>
<div class="line"><a id="l02392" name="l02392"></a><span class="lineno"> 2392</span><span class="comment">// if (fFourier.fPhaseIncrement) {</span></div>
<div class="line"><a id="l02393" name="l02393"></a><span class="lineno"> 2393</span><span class="comment">// fout &lt;&lt; &quot;phase_increment &quot; &lt;&lt; fFourier.fPhaseIncrement &lt;&lt; std::endl;</span></div>
<div class="line"><a id="l02394" name="l02394"></a><span class="lineno"> 2394</span><span class="comment">// }</span></div>
<div class="line"><a id="l02395" name="l02395"></a><span class="lineno"> 2395</span> </div>
<div class="line"><a id="l02396" name="l02396"></a><span class="lineno"> 2396</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02397" name="l02397"></a><span class="lineno"> 2397</span> fout &lt;&lt; hline.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02398" name="l02398"></a><span class="lineno"> 2398</span> }</div>
<div class="line"><a id="l02399" name="l02399"></a><span class="lineno"> 2399</span> </div>
<div class="line"><a id="l02400" name="l02400"></a><span class="lineno"> 2400</span> <span class="comment">// write PLOT blocks</span></div>
<div class="line"><a id="l02401" name="l02401"></a><span class="lineno"> 2401</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>.size(); ++i) {</div>
<div class="line"><a id="l02402" name="l02402"></a><span class="lineno"> 2402</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fPlotType) {</div>
<div class="line"><a id="l02403" name="l02403"></a><span class="lineno"> 2403</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a2b3dc68138682db0f77f2236f9cff537">MSR_PLOT_SINGLE_HISTO</a>:</div>
<div class="line"><a id="l02404" name="l02404"></a><span class="lineno"> 2404</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fPlotType &lt;&lt; <span class="stringliteral">&quot; (single histo plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02405" name="l02405"></a><span class="lineno"> 2405</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02406" name="l02406"></a><span class="lineno"> 2406</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8d2d7665dbbb2fc112549db6de5bb028">MSR_PLOT_SINGLE_HISTO_RRF</a>:</div>
<div class="line"><a id="l02407" name="l02407"></a><span class="lineno"> 2407</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fPlotType &lt;&lt; <span class="stringliteral">&quot; (single histo RRF plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02408" name="l02408"></a><span class="lineno"> 2408</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02409" name="l02409"></a><span class="lineno"> 2409</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a9709680f59e11e81807fab02e8440fb1">MSR_PLOT_ASYM</a>:</div>
<div class="line"><a id="l02410" name="l02410"></a><span class="lineno"> 2410</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fPlotType &lt;&lt; <span class="stringliteral">&quot; (asymmetry plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02411" name="l02411"></a><span class="lineno"> 2411</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02412" name="l02412"></a><span class="lineno"> 2412</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a869fdf34c61edfdd4d3e166b1d59717d">MSR_PLOT_ASYM_RRF</a>:</div>
<div class="line"><a id="l02413" name="l02413"></a><span class="lineno"> 2413</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fPlotType &lt;&lt; <span class="stringliteral">&quot; (asymmetry RRF plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02414" name="l02414"></a><span class="lineno"> 2414</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02415" name="l02415"></a><span class="lineno"> 2415</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#aae7003813b384b9f251e5d6dd9ce1e66">MSR_PLOT_MU_MINUS</a>:</div>
<div class="line"><a id="l02416" name="l02416"></a><span class="lineno"> 2416</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fPlotType &lt;&lt; <span class="stringliteral">&quot; (mu minus plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02417" name="l02417"></a><span class="lineno"> 2417</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02418" name="l02418"></a><span class="lineno"> 2418</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ac9b291c6236d34786e6a35917fe7cef7">MSR_PLOT_BNMR</a>:</div>
<div class="line"><a id="l02419" name="l02419"></a><span class="lineno"> 2419</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fPlotType &lt;&lt; <span class="stringliteral">&quot; (beta-NMR asymmetry plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02420" name="l02420"></a><span class="lineno"> 2420</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02421" name="l02421"></a><span class="lineno"> 2421</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#aebf3b64dacc1fefcdb90b245db233ac1">MSR_PLOT_NON_MUSR</a>:</div>
<div class="line"><a id="l02422" name="l02422"></a><span class="lineno"> 2422</span> fout &lt;&lt; <span class="stringliteral">&quot;PLOT &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fPlotType &lt;&lt; <span class="stringliteral">&quot; (non muSR plot)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02423" name="l02423"></a><span class="lineno"> 2423</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02424" name="l02424"></a><span class="lineno"> 2424</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l02425" name="l02425"></a><span class="lineno"> 2425</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02426" name="l02426"></a><span class="lineno"> 2426</span> }</div>
<div class="line"><a id="l02427" name="l02427"></a><span class="lineno"> 2427</span> </div>
<div class="line"><a id="l02428" name="l02428"></a><span class="lineno"> 2428</span> <span class="comment">// runs</span></div>
<div class="line"><a id="l02429" name="l02429"></a><span class="lineno"> 2429</span> fout &lt;&lt; <span class="stringliteral">&quot;runs &quot;</span>;</div>
<div class="line"><a id="l02430" name="l02430"></a><span class="lineno"> 2430</span> fout.precision(0);</div>
<div class="line"><a id="l02431" name="l02431"></a><span class="lineno"> 2431</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRuns.size(); ++j) {</div>
<div class="line"><a id="l02432" name="l02432"></a><span class="lineno"> 2432</span> fout.width(4);</div>
<div class="line"><a id="l02433" name="l02433"></a><span class="lineno"> 2433</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRuns[j];</div>
<div class="line"><a id="l02434" name="l02434"></a><span class="lineno"> 2434</span> }</div>
<div class="line"><a id="l02435" name="l02435"></a><span class="lineno"> 2435</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02436" name="l02436"></a><span class="lineno"> 2436</span> </div>
<div class="line"><a id="l02437" name="l02437"></a><span class="lineno"> 2437</span> <span class="comment">// range and sub_ranges</span></div>
<div class="line"><a id="l02438" name="l02438"></a><span class="lineno"> 2438</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fTmin.size() == 1) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fTmax.size() == 1)) {</div>
<div class="line"><a id="l02439" name="l02439"></a><span class="lineno"> 2439</span> fout &lt;&lt; <span class="stringliteral">&quot;range &quot;</span>;</div>
<div class="line"><a id="l02440" name="l02440"></a><span class="lineno"> 2440</span> fout.precision(2);</div>
<div class="line"><a id="l02441" name="l02441"></a><span class="lineno"> 2441</span> fout &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fTmin[0] &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fTmax[0];</div>
<div class="line"><a id="l02442" name="l02442"></a><span class="lineno"> 2442</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fTmin.size() &gt; 1) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fTmax.size() &gt; 1)) {</div>
<div class="line"><a id="l02443" name="l02443"></a><span class="lineno"> 2443</span> fout &lt;&lt; <span class="stringliteral">&quot;sub_ranges &quot;</span>;</div>
<div class="line"><a id="l02444" name="l02444"></a><span class="lineno"> 2444</span> fout.precision(2);</div>
<div class="line"><a id="l02445" name="l02445"></a><span class="lineno"> 2445</span> <span class="keywordflow">for</span> (UInt_t j=0; j &lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fTmin.size(); ++j) {</div>
<div class="line"><a id="l02446" name="l02446"></a><span class="lineno"> 2446</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fTmin[j] &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fTmax[j];</div>
<div class="line"><a id="l02447" name="l02447"></a><span class="lineno"> 2447</span> }</div>
<div class="line"><a id="l02448" name="l02448"></a><span class="lineno"> 2448</span> }</div>
<div class="line"><a id="l02449" name="l02449"></a><span class="lineno"> 2449</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fYmin.empty() &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fYmax.empty()) {</div>
<div class="line"><a id="l02450" name="l02450"></a><span class="lineno"> 2450</span> fout &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fYmin[0] &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fYmax[0];</div>
<div class="line"><a id="l02451" name="l02451"></a><span class="lineno"> 2451</span> }</div>
<div class="line"><a id="l02452" name="l02452"></a><span class="lineno"> 2452</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02453" name="l02453"></a><span class="lineno"> 2453</span> </div>
<div class="line"><a id="l02454" name="l02454"></a><span class="lineno"> 2454</span> <span class="comment">// use_fit_ranges</span></div>
<div class="line"><a id="l02455" name="l02455"></a><span class="lineno"> 2455</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fUseFitRanges) {</div>
<div class="line"><a id="l02456" name="l02456"></a><span class="lineno"> 2456</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fYmin.empty() &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fYmax.empty())</div>
<div class="line"><a id="l02457" name="l02457"></a><span class="lineno"> 2457</span> fout &lt;&lt; <span class="stringliteral">&quot;use_fit_ranges &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fYmin[0] &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fYmax[0] &lt;&lt; std::endl;</div>
<div class="line"><a id="l02458" name="l02458"></a><span class="lineno"> 2458</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l02459" name="l02459"></a><span class="lineno"> 2459</span> fout &lt;&lt; <span class="stringliteral">&quot;use_fit_ranges&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02460" name="l02460"></a><span class="lineno"> 2460</span> }</div>
<div class="line"><a id="l02461" name="l02461"></a><span class="lineno"> 2461</span> </div>
<div class="line"><a id="l02462" name="l02462"></a><span class="lineno"> 2462</span> <span class="comment">// view_packing</span></div>
<div class="line"><a id="l02463" name="l02463"></a><span class="lineno"> 2463</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fViewPacking != -1) {</div>
<div class="line"><a id="l02464" name="l02464"></a><span class="lineno"> 2464</span> fout &lt;&lt; <span class="stringliteral">&quot;view_packing &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fViewPacking &lt;&lt; std::endl;</div>
<div class="line"><a id="l02465" name="l02465"></a><span class="lineno"> 2465</span> }</div>
<div class="line"><a id="l02466" name="l02466"></a><span class="lineno"> 2466</span> </div>
<div class="line"><a id="l02467" name="l02467"></a><span class="lineno"> 2467</span> <span class="comment">// logx</span></div>
<div class="line"><a id="l02468" name="l02468"></a><span class="lineno"> 2468</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fLogX) {</div>
<div class="line"><a id="l02469" name="l02469"></a><span class="lineno"> 2469</span> fout &lt;&lt; <span class="stringliteral">&quot;logx&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02470" name="l02470"></a><span class="lineno"> 2470</span> }</div>
<div class="line"><a id="l02471" name="l02471"></a><span class="lineno"> 2471</span> </div>
<div class="line"><a id="l02472" name="l02472"></a><span class="lineno"> 2472</span> <span class="comment">// logy</span></div>
<div class="line"><a id="l02473" name="l02473"></a><span class="lineno"> 2473</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fLogY) {</div>
<div class="line"><a id="l02474" name="l02474"></a><span class="lineno"> 2474</span> fout &lt;&lt; <span class="stringliteral">&quot;logy&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02475" name="l02475"></a><span class="lineno"> 2475</span> }</div>
<div class="line"><a id="l02476" name="l02476"></a><span class="lineno"> 2476</span> </div>
<div class="line"><a id="l02477" name="l02477"></a><span class="lineno"> 2477</span> <span class="comment">// lifetimecorrection</span></div>
<div class="line"><a id="l02478" name="l02478"></a><span class="lineno"> 2478</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fLifeTimeCorrection) {</div>
<div class="line"><a id="l02479" name="l02479"></a><span class="lineno"> 2479</span> fout &lt;&lt; <span class="stringliteral">&quot;lifetimecorrection&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02480" name="l02480"></a><span class="lineno"> 2480</span> }</div>
<div class="line"><a id="l02481" name="l02481"></a><span class="lineno"> 2481</span> </div>
<div class="line"><a id="l02482" name="l02482"></a><span class="lineno"> 2482</span> <span class="comment">// rrf_packing</span></div>
<div class="line"><a id="l02483" name="l02483"></a><span class="lineno"> 2483</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRRFPacking) {</div>
<div class="line"><a id="l02484" name="l02484"></a><span class="lineno"> 2484</span> fout &lt;&lt; <span class="stringliteral">&quot;rrf_packing &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRRFPacking &lt;&lt; std::endl;</div>
<div class="line"><a id="l02485" name="l02485"></a><span class="lineno"> 2485</span> }</div>
<div class="line"><a id="l02486" name="l02486"></a><span class="lineno"> 2486</span> </div>
<div class="line"><a id="l02487" name="l02487"></a><span class="lineno"> 2487</span> <span class="comment">// rrf_freq</span></div>
<div class="line"><a id="l02488" name="l02488"></a><span class="lineno"> 2488</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRRFFreq) {</div>
<div class="line"><a id="l02489" name="l02489"></a><span class="lineno"> 2489</span> fout &lt;&lt; <span class="stringliteral">&quot;rrf_freq &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRRFFreq &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l02490" name="l02490"></a><span class="lineno"> 2490</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRRFUnit) {</div>
<div class="line"><a id="l02491" name="l02491"></a><span class="lineno"> 2491</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ac4b4260127cc39f612b6c937b57f6b32">RRF_UNIT_kHz</a>:</div>
<div class="line"><a id="l02492" name="l02492"></a><span class="lineno"> 2492</span> fout &lt;&lt; <span class="stringliteral">&quot;kHz&quot;</span>;</div>
<div class="line"><a id="l02493" name="l02493"></a><span class="lineno"> 2493</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02494" name="l02494"></a><span class="lineno"> 2494</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a3bd32e010269f17c116726101bdf178e">RRF_UNIT_MHz</a>:</div>
<div class="line"><a id="l02495" name="l02495"></a><span class="lineno"> 2495</span> fout &lt;&lt; <span class="stringliteral">&quot;MHz&quot;</span>;</div>
<div class="line"><a id="l02496" name="l02496"></a><span class="lineno"> 2496</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02497" name="l02497"></a><span class="lineno"> 2497</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ab65df852710cfebd8322d1627790c73c">RRF_UNIT_Mcs</a>:</div>
<div class="line"><a id="l02498" name="l02498"></a><span class="lineno"> 2498</span> fout &lt;&lt; <span class="stringliteral">&quot;Mc/s&quot;</span>;</div>
<div class="line"><a id="l02499" name="l02499"></a><span class="lineno"> 2499</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02500" name="l02500"></a><span class="lineno"> 2500</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#abc53e978fe8962769718e68b154f017a">RRF_UNIT_G</a>:</div>
<div class="line"><a id="l02501" name="l02501"></a><span class="lineno"> 2501</span> fout &lt;&lt; <span class="stringliteral">&quot;G&quot;</span>;</div>
<div class="line"><a id="l02502" name="l02502"></a><span class="lineno"> 2502</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02503" name="l02503"></a><span class="lineno"> 2503</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#acfd8fca6cf586d9234b06002a3444965">RRF_UNIT_T</a>:</div>
<div class="line"><a id="l02504" name="l02504"></a><span class="lineno"> 2504</span> fout &lt;&lt; <span class="stringliteral">&quot;T&quot;</span>;</div>
<div class="line"><a id="l02505" name="l02505"></a><span class="lineno"> 2505</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02506" name="l02506"></a><span class="lineno"> 2506</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l02507" name="l02507"></a><span class="lineno"> 2507</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02508" name="l02508"></a><span class="lineno"> 2508</span> }</div>
<div class="line"><a id="l02509" name="l02509"></a><span class="lineno"> 2509</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02510" name="l02510"></a><span class="lineno"> 2510</span> }</div>
<div class="line"><a id="l02511" name="l02511"></a><span class="lineno"> 2511</span> </div>
<div class="line"><a id="l02512" name="l02512"></a><span class="lineno"> 2512</span> <span class="comment">// rrf_phase</span></div>
<div class="line"><a id="l02513" name="l02513"></a><span class="lineno"> 2513</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRRFPhaseParamNo &gt; 0) {</div>
<div class="line"><a id="l02514" name="l02514"></a><span class="lineno"> 2514</span> fout &lt;&lt; <span class="stringliteral">&quot;rrf_phase par&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRRFPhaseParamNo &lt;&lt; std::endl;</div>
<div class="line"><a id="l02515" name="l02515"></a><span class="lineno"> 2515</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRRFPhase) {</div>
<div class="line"><a id="l02516" name="l02516"></a><span class="lineno"> 2516</span> fout &lt;&lt; <span class="stringliteral">&quot;rrf_phase &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRRFPhase &lt;&lt; std::endl;</div>
<div class="line"><a id="l02517" name="l02517"></a><span class="lineno"> 2517</span> }</div>
<div class="line"><a id="l02518" name="l02518"></a><span class="lineno"> 2518</span> </div>
<div class="line"><a id="l02519" name="l02519"></a><span class="lineno"> 2519</span> fout &lt;&lt; std::endl;</div>
<div class="line"><a id="l02520" name="l02520"></a><span class="lineno"> 2520</span> }</div>
<div class="line"><a id="l02521" name="l02521"></a><span class="lineno"> 2521</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>.empty()) {</div>
<div class="line"><a id="l02522" name="l02522"></a><span class="lineno"> 2522</span> fout &lt;&lt; hline.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02523" name="l02523"></a><span class="lineno"> 2523</span> }</div>
<div class="line"><a id="l02524" name="l02524"></a><span class="lineno"> 2524</span> </div>
<div class="line"><a id="l02525" name="l02525"></a><span class="lineno"> 2525</span> <span class="comment">// write STATISTIC block</span></div>
<div class="line"><a id="l02526" name="l02526"></a><span class="lineno"> 2526</span> TDatime dt;</div>
<div class="line"><a id="l02527" name="l02527"></a><span class="lineno"> 2527</span> fout &lt;&lt; <span class="stringliteral">&quot;STATISTIC --- &quot;</span> &lt;&lt; dt.AsSQLString() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02528" name="l02528"></a><span class="lineno"> 2528</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fValid) { <span class="comment">// valid fit result</span></div>
<div class="line"><a id="l02529" name="l02529"></a><span class="lineno"> 2529</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) { <span class="comment">// chisq</span></div>
<div class="line"><a id="l02530" name="l02530"></a><span class="lineno"> 2530</span> str = <span class="stringliteral">&quot; chisq = &quot;</span>;</div>
<div class="line"><a id="l02531" name="l02531"></a><span class="lineno"> 2531</span> str += <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin;</div>
<div class="line"><a id="l02532" name="l02532"></a><span class="lineno"> 2532</span> str += <span class="stringliteral">&quot;, NDF = &quot;</span>;</div>
<div class="line"><a id="l02533" name="l02533"></a><span class="lineno"> 2533</span> str += <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf;</div>
<div class="line"><a id="l02534" name="l02534"></a><span class="lineno"> 2534</span> str += <span class="stringliteral">&quot;, chisq/NDF = &quot;</span>;</div>
<div class="line"><a id="l02535" name="l02535"></a><span class="lineno"> 2535</span> str += <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin / <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf;</div>
<div class="line"><a id="l02536" name="l02536"></a><span class="lineno"> 2536</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02537" name="l02537"></a><span class="lineno"> 2537</span> } <span class="keywordflow">else</span> { <span class="comment">// max. log. liklihood</span></div>
<div class="line"><a id="l02538" name="l02538"></a><span class="lineno"> 2538</span> str = <span class="stringliteral">&quot; maxLH = &quot;</span>;</div>
<div class="line"><a id="l02539" name="l02539"></a><span class="lineno"> 2539</span> str += <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin;</div>
<div class="line"><a id="l02540" name="l02540"></a><span class="lineno"> 2540</span> str += <span class="stringliteral">&quot;, NDF = &quot;</span>;</div>
<div class="line"><a id="l02541" name="l02541"></a><span class="lineno"> 2541</span> str += <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf;</div>
<div class="line"><a id="l02542" name="l02542"></a><span class="lineno"> 2542</span> str += <span class="stringliteral">&quot;, maxLH/NDF = &quot;</span>;</div>
<div class="line"><a id="l02543" name="l02543"></a><span class="lineno"> 2543</span> str += <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin / <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf;</div>
<div class="line"><a id="l02544" name="l02544"></a><span class="lineno"> 2544</span> fout &lt;&lt; str.Data() &lt;&lt; std::endl;</div>
<div class="line"><a id="l02545" name="l02545"></a><span class="lineno"> 2545</span> }</div>
<div class="line"><a id="l02546" name="l02546"></a><span class="lineno"> 2546</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02547" name="l02547"></a><span class="lineno"> 2547</span> fout &lt;&lt; <span class="stringliteral">&quot;*** FIT DID NOT CONVERGE ***&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l02548" name="l02548"></a><span class="lineno"> 2548</span> }</div>
<div class="line"><a id="l02549" name="l02549"></a><span class="lineno"> 2549</span> </div>
<div class="line"><a id="l02550" name="l02550"></a><span class="lineno"> 2550</span> <span class="comment">// close file</span></div>
<div class="line"><a id="l02551" name="l02551"></a><span class="lineno"> 2551</span> fout.close();</div>
<div class="line"><a id="l02552" name="l02552"></a><span class="lineno"> 2552</span> </div>
<div class="line"><a id="l02553" name="l02553"></a><span class="lineno"> 2553</span> str.Clear();</div>
<div class="line"><a id="l02554" name="l02554"></a><span class="lineno"> 2554</span> pstr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l02555" name="l02555"></a><span class="lineno"> 2555</span> </div>
<div class="line"><a id="l02556" name="l02556"></a><span class="lineno"> 2556</span> <span class="keywordflow">return</span> <a class="code hl_define" href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a>;</div>
<div class="line"><a id="l02557" name="l02557"></a><span class="lineno"> 2557</span>}</div>
</div>
<div class="line"><a id="l02558" name="l02558"></a><span class="lineno"> 2558</span> </div>
<div class="line"><a id="l02559" name="l02559"></a><span class="lineno"> 2559</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l02560" name="l02560"></a><span class="lineno"> 2560</span><span class="comment">// SetMsrParamValue (public)</span></div>
<div class="line"><a id="l02561" name="l02561"></a><span class="lineno"> 2561</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen02572" data-start="{" data-end="}">
<div class="line"><a id="l02572" name="l02572"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a4fdf943425f9a81425e63c5661d7170d"> 2572</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a4fdf943425f9a81425e63c5661d7170d">PMsrHandler::SetMsrParamValue</a>(UInt_t idx, Double_t value)</div>
<div class="line"><a id="l02573" name="l02573"></a><span class="lineno"> 2573</span>{</div>
<div class="line"><a id="l02574" name="l02574"></a><span class="lineno"> 2574</span> <span class="keywordflow">if</span> (idx &gt;= <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size()) {</div>
<div class="line"><a id="l02575" name="l02575"></a><span class="lineno"> 2575</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02576" name="l02576"></a><span class="lineno"> 2576</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l02577" name="l02577"></a><span class="lineno"> 2577</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrParamValue(): **ERROR** idx = &quot;</span> &lt;&lt; idx &lt;&lt; <span class="stringliteral">&quot; is &gt;= than the number of fit parameters &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02578" name="l02578"></a><span class="lineno"> 2578</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l02579" name="l02579"></a><span class="lineno"> 2579</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l02580" name="l02580"></a><span class="lineno"> 2580</span> }</div>
<div class="line"><a id="l02581" name="l02581"></a><span class="lineno"> 2581</span> </div>
<div class="line"><a id="l02582" name="l02582"></a><span class="lineno"> 2582</span> <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[idx].fValue = value;</div>
<div class="line"><a id="l02583" name="l02583"></a><span class="lineno"> 2583</span> </div>
<div class="line"><a id="l02584" name="l02584"></a><span class="lineno"> 2584</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l02585" name="l02585"></a><span class="lineno"> 2585</span>}</div>
</div>
<div class="line"><a id="l02586" name="l02586"></a><span class="lineno"> 2586</span> </div>
<div class="line"><a id="l02587" name="l02587"></a><span class="lineno"> 2587</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l02588" name="l02588"></a><span class="lineno"> 2588</span><span class="comment">// SetMsrParamStep (public)</span></div>
<div class="line"><a id="l02589" name="l02589"></a><span class="lineno"> 2589</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen02601" data-start="{" data-end="}">
<div class="line"><a id="l02601" name="l02601"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a0d4d9b16dd4e9ad7c258cd61452d2f04"> 2601</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a0d4d9b16dd4e9ad7c258cd61452d2f04">PMsrHandler::SetMsrParamStep</a>(UInt_t idx, Double_t value)</div>
<div class="line"><a id="l02602" name="l02602"></a><span class="lineno"> 2602</span>{</div>
<div class="line"><a id="l02603" name="l02603"></a><span class="lineno"> 2603</span> <span class="keywordflow">if</span> (idx &gt;= <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size()) {</div>
<div class="line"><a id="l02604" name="l02604"></a><span class="lineno"> 2604</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02605" name="l02605"></a><span class="lineno"> 2605</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l02606" name="l02606"></a><span class="lineno"> 2606</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrParamValue(): **ERROR** idx = &quot;</span> &lt;&lt; idx &lt;&lt; <span class="stringliteral">&quot; is larger than the number of parameters &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02607" name="l02607"></a><span class="lineno"> 2607</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l02608" name="l02608"></a><span class="lineno"> 2608</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l02609" name="l02609"></a><span class="lineno"> 2609</span> }</div>
<div class="line"><a id="l02610" name="l02610"></a><span class="lineno"> 2610</span> </div>
<div class="line"><a id="l02611" name="l02611"></a><span class="lineno"> 2611</span> <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[idx].fStep = value;</div>
<div class="line"><a id="l02612" name="l02612"></a><span class="lineno"> 2612</span> </div>
<div class="line"><a id="l02613" name="l02613"></a><span class="lineno"> 2613</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l02614" name="l02614"></a><span class="lineno"> 2614</span>}</div>
</div>
<div class="line"><a id="l02615" name="l02615"></a><span class="lineno"> 2615</span> </div>
<div class="line"><a id="l02616" name="l02616"></a><span class="lineno"> 2616</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l02617" name="l02617"></a><span class="lineno"> 2617</span><span class="comment">// SetMsrParamPosErrorPresent (public)</span></div>
<div class="line"><a id="l02618" name="l02618"></a><span class="lineno"> 2618</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen02629" data-start="{" data-end="}">
<div class="line"><a id="l02629" name="l02629"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a50713777a7118342f0b569fc9e52c09a"> 2629</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a50713777a7118342f0b569fc9e52c09a">PMsrHandler::SetMsrParamPosErrorPresent</a>(UInt_t idx, Bool_t value)</div>
<div class="line"><a id="l02630" name="l02630"></a><span class="lineno"> 2630</span>{</div>
<div class="line"><a id="l02631" name="l02631"></a><span class="lineno"> 2631</span> <span class="keywordflow">if</span> (idx &gt;= <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size()) {</div>
<div class="line"><a id="l02632" name="l02632"></a><span class="lineno"> 2632</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02633" name="l02633"></a><span class="lineno"> 2633</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l02634" name="l02634"></a><span class="lineno"> 2634</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrParamPosErrorPresent(): **ERROR** idx = &quot;</span> &lt;&lt; idx &lt;&lt; <span class="stringliteral">&quot; is larger than the number of parameters &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02635" name="l02635"></a><span class="lineno"> 2635</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l02636" name="l02636"></a><span class="lineno"> 2636</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l02637" name="l02637"></a><span class="lineno"> 2637</span> }</div>
<div class="line"><a id="l02638" name="l02638"></a><span class="lineno"> 2638</span> </div>
<div class="line"><a id="l02639" name="l02639"></a><span class="lineno"> 2639</span> <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[idx].fPosErrorPresent = value;</div>
<div class="line"><a id="l02640" name="l02640"></a><span class="lineno"> 2640</span> </div>
<div class="line"><a id="l02641" name="l02641"></a><span class="lineno"> 2641</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l02642" name="l02642"></a><span class="lineno"> 2642</span>}</div>
</div>
<div class="line"><a id="l02643" name="l02643"></a><span class="lineno"> 2643</span> </div>
<div class="line"><a id="l02644" name="l02644"></a><span class="lineno"> 2644</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l02645" name="l02645"></a><span class="lineno"> 2645</span><span class="comment">// SetMsrParamPosError (public)</span></div>
<div class="line"><a id="l02646" name="l02646"></a><span class="lineno"> 2646</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen02657" data-start="{" data-end="}">
<div class="line"><a id="l02657" name="l02657"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a4481e7021e0d4eba1208e9b70b1251fd"> 2657</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a4481e7021e0d4eba1208e9b70b1251fd">PMsrHandler::SetMsrParamPosError</a>(UInt_t idx, Double_t value)</div>
<div class="line"><a id="l02658" name="l02658"></a><span class="lineno"> 2658</span>{</div>
<div class="line"><a id="l02659" name="l02659"></a><span class="lineno"> 2659</span> <span class="keywordflow">if</span> (idx &gt;= <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size()) {</div>
<div class="line"><a id="l02660" name="l02660"></a><span class="lineno"> 2660</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02661" name="l02661"></a><span class="lineno"> 2661</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l02662" name="l02662"></a><span class="lineno"> 2662</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrParamPosError(): **ERROR** idx = &quot;</span> &lt;&lt; idx &lt;&lt; <span class="stringliteral">&quot; is larger than the number of parameters &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02663" name="l02663"></a><span class="lineno"> 2663</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l02664" name="l02664"></a><span class="lineno"> 2664</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l02665" name="l02665"></a><span class="lineno"> 2665</span> }</div>
<div class="line"><a id="l02666" name="l02666"></a><span class="lineno"> 2666</span> </div>
<div class="line"><a id="l02667" name="l02667"></a><span class="lineno"> 2667</span> <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[idx].fPosErrorPresent = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02668" name="l02668"></a><span class="lineno"> 2668</span> <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[idx].fPosError = value;</div>
<div class="line"><a id="l02669" name="l02669"></a><span class="lineno"> 2669</span> </div>
<div class="line"><a id="l02670" name="l02670"></a><span class="lineno"> 2670</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l02671" name="l02671"></a><span class="lineno"> 2671</span>}</div>
</div>
<div class="line"><a id="l02672" name="l02672"></a><span class="lineno"> 2672</span> </div>
<div class="line"><a id="l02673" name="l02673"></a><span class="lineno"> 2673</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l02674" name="l02674"></a><span class="lineno"> 2674</span><span class="comment">// SetMsrT0Entry (public)</span></div>
<div class="line"><a id="l02675" name="l02675"></a><span class="lineno"> 2675</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen02683" data-start="{" data-end="}">
<div class="line"><a id="l02683" name="l02683"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a2bccb585dcbe1c249cfdeb26f1cd8faf"> 2683</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#a2bccb585dcbe1c249cfdeb26f1cd8faf">PMsrHandler::SetMsrT0Entry</a>(UInt_t runNo, UInt_t idx, Double_t bin)</div>
<div class="line"><a id="l02684" name="l02684"></a><span class="lineno"> 2684</span>{</div>
<div class="line"><a id="l02685" name="l02685"></a><span class="lineno"> 2685</span> <span class="keywordflow">if</span> (runNo &gt;= <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size()) { <span class="comment">// error</span></div>
<div class="line"><a id="l02686" name="l02686"></a><span class="lineno"> 2686</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02687" name="l02687"></a><span class="lineno"> 2687</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l02688" name="l02688"></a><span class="lineno"> 2688</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrT0Entry: **ERROR** runNo = &quot;</span> &lt;&lt; runNo &lt;&lt; <span class="stringliteral">&quot;, is out of valid range 0..&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02689" name="l02689"></a><span class="lineno"> 2689</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l02690" name="l02690"></a><span class="lineno"> 2690</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l02691" name="l02691"></a><span class="lineno"> 2691</span> }</div>
<div class="line"><a id="l02692" name="l02692"></a><span class="lineno"> 2692</span> </div>
<div class="line"><a id="l02693" name="l02693"></a><span class="lineno"> 2693</span> <span class="keywordflow">if</span> (idx &gt;= <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetT0BinSize()) { <span class="comment">// error</span></div>
<div class="line"><a id="l02694" name="l02694"></a><span class="lineno"> 2694</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrT0Entry: **WARNING** idx = &quot;</span> &lt;&lt; idx &lt;&lt; <span class="stringliteral">&quot;, is out of valid range 0..&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetT0BinSize();</div>
<div class="line"><a id="l02695" name="l02695"></a><span class="lineno"> 2695</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Will add it anyway.&quot;</span>;</div>
<div class="line"><a id="l02696" name="l02696"></a><span class="lineno"> 2696</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l02697" name="l02697"></a><span class="lineno"> 2697</span> }</div>
<div class="line"><a id="l02698" name="l02698"></a><span class="lineno"> 2698</span> </div>
<div class="line"><a id="l02699" name="l02699"></a><span class="lineno"> 2699</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].SetT0Bin(bin, idx);</div>
<div class="line"><a id="l02700" name="l02700"></a><span class="lineno"> 2700</span>}</div>
</div>
<div class="line"><a id="l02701" name="l02701"></a><span class="lineno"> 2701</span> </div>
<div class="line"><a id="l02702" name="l02702"></a><span class="lineno"> 2702</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l02703" name="l02703"></a><span class="lineno"> 2703</span><span class="comment">// SetMsrAddT0Entry (public)</span></div>
<div class="line"><a id="l02704" name="l02704"></a><span class="lineno"> 2704</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen02713" data-start="{" data-end="}">
<div class="line"><a id="l02713" name="l02713"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a1f3d2158351556fa43c610839e311734"> 2713</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#a1f3d2158351556fa43c610839e311734">PMsrHandler::SetMsrAddT0Entry</a>(UInt_t runNo, UInt_t addRunIdx, UInt_t histoIdx, Double_t bin)</div>
<div class="line"><a id="l02714" name="l02714"></a><span class="lineno"> 2714</span>{</div>
<div class="line"><a id="l02715" name="l02715"></a><span class="lineno"> 2715</span> <span class="keywordflow">if</span> (runNo &gt;= <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size()) { <span class="comment">// error</span></div>
<div class="line"><a id="l02716" name="l02716"></a><span class="lineno"> 2716</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02717" name="l02717"></a><span class="lineno"> 2717</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l02718" name="l02718"></a><span class="lineno"> 2718</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrAddT0Entry: **ERROR** runNo = &quot;</span> &lt;&lt; runNo &lt;&lt; <span class="stringliteral">&quot;, is out of valid range 0..&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02719" name="l02719"></a><span class="lineno"> 2719</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l02720" name="l02720"></a><span class="lineno"> 2720</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l02721" name="l02721"></a><span class="lineno"> 2721</span> }</div>
<div class="line"><a id="l02722" name="l02722"></a><span class="lineno"> 2722</span> </div>
<div class="line"><a id="l02723" name="l02723"></a><span class="lineno"> 2723</span> <span class="keywordflow">if</span> (addRunIdx &gt;= <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0BinEntries()) { <span class="comment">// error</span></div>
<div class="line"><a id="l02724" name="l02724"></a><span class="lineno"> 2724</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrAddT0Entry: **WARNING** addRunIdx = &quot;</span> &lt;&lt; addRunIdx &lt;&lt; <span class="stringliteral">&quot;, is out of valid range 0..&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0BinEntries();</div>
<div class="line"><a id="l02725" name="l02725"></a><span class="lineno"> 2725</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Will add it anyway.&quot;</span>;</div>
<div class="line"><a id="l02726" name="l02726"></a><span class="lineno"> 2726</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l02727" name="l02727"></a><span class="lineno"> 2727</span> }</div>
<div class="line"><a id="l02728" name="l02728"></a><span class="lineno"> 2728</span> </div>
<div class="line"><a id="l02729" name="l02729"></a><span class="lineno"> 2729</span> <span class="keywordflow">if</span> (<span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(histoIdx) &gt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0BinSize(addRunIdx)) { <span class="comment">// error</span></div>
<div class="line"><a id="l02730" name="l02730"></a><span class="lineno"> 2730</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrAddT0Entry: **WARNING** histoIdx = &quot;</span> &lt;&lt; histoIdx &lt;&lt; <span class="stringliteral">&quot;, is out of valid range 0..&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetAddT0BinSize(addRunIdx);</div>
<div class="line"><a id="l02731" name="l02731"></a><span class="lineno"> 2731</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Will add it anyway.&quot;</span>;</div>
<div class="line"><a id="l02732" name="l02732"></a><span class="lineno"> 2732</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l02733" name="l02733"></a><span class="lineno"> 2733</span> }</div>
<div class="line"><a id="l02734" name="l02734"></a><span class="lineno"> 2734</span> </div>
<div class="line"><a id="l02735" name="l02735"></a><span class="lineno"> 2735</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].SetAddT0Bin(bin, addRunIdx, histoIdx);</div>
<div class="line"><a id="l02736" name="l02736"></a><span class="lineno"> 2736</span>}</div>
</div>
<div class="line"><a id="l02737" name="l02737"></a><span class="lineno"> 2737</span> </div>
<div class="line"><a id="l02738" name="l02738"></a><span class="lineno"> 2738</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l02739" name="l02739"></a><span class="lineno"> 2739</span><span class="comment">// SetMsrDataRangeEntry (public)</span></div>
<div class="line"><a id="l02740" name="l02740"></a><span class="lineno"> 2740</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen02748" data-start="{" data-end="}">
<div class="line"><a id="l02748" name="l02748"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a31aef82d4ad15f1a230d5dfbcefdca2a"> 2748</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#a31aef82d4ad15f1a230d5dfbcefdca2a">PMsrHandler::SetMsrDataRangeEntry</a>(UInt_t runNo, UInt_t idx, Int_t bin)</div>
<div class="line"><a id="l02749" name="l02749"></a><span class="lineno"> 2749</span>{</div>
<div class="line"><a id="l02750" name="l02750"></a><span class="lineno"> 2750</span> <span class="keywordflow">if</span> (runNo &gt;= <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size()) { <span class="comment">// error</span></div>
<div class="line"><a id="l02751" name="l02751"></a><span class="lineno"> 2751</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02752" name="l02752"></a><span class="lineno"> 2752</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l02753" name="l02753"></a><span class="lineno"> 2753</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrDataRangeEntry: **ERROR** runNo = &quot;</span> &lt;&lt; runNo &lt;&lt; <span class="stringliteral">&quot;, is out of valid range 0..&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02754" name="l02754"></a><span class="lineno"> 2754</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l02755" name="l02755"></a><span class="lineno"> 2755</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l02756" name="l02756"></a><span class="lineno"> 2756</span> }</div>
<div class="line"><a id="l02757" name="l02757"></a><span class="lineno"> 2757</span> </div>
<div class="line"><a id="l02758" name="l02758"></a><span class="lineno"> 2758</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].SetDataRange(bin, idx);</div>
<div class="line"><a id="l02759" name="l02759"></a><span class="lineno"> 2759</span>}</div>
</div>
<div class="line"><a id="l02760" name="l02760"></a><span class="lineno"> 2760</span> </div>
<div class="line"><a id="l02761" name="l02761"></a><span class="lineno"> 2761</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l02762" name="l02762"></a><span class="lineno"> 2762</span><span class="comment">// SetMsrBkgRangeEntry (public)</span></div>
<div class="line"><a id="l02763" name="l02763"></a><span class="lineno"> 2763</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen02771" data-start="{" data-end="}">
<div class="line"><a id="l02771" name="l02771"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a0d2cd4359eadd50f00b6c481e0b75c5f"> 2771</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#a0d2cd4359eadd50f00b6c481e0b75c5f">PMsrHandler::SetMsrBkgRangeEntry</a>(UInt_t runNo, UInt_t idx, Int_t bin)</div>
<div class="line"><a id="l02772" name="l02772"></a><span class="lineno"> 2772</span>{</div>
<div class="line"><a id="l02773" name="l02773"></a><span class="lineno"> 2773</span> <span class="keywordflow">if</span> (runNo &gt;= <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size()) { <span class="comment">// error</span></div>
<div class="line"><a id="l02774" name="l02774"></a><span class="lineno"> 2774</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02775" name="l02775"></a><span class="lineno"> 2775</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l02776" name="l02776"></a><span class="lineno"> 2776</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::SetMsrBkgRangeEntry: **ERROR** runNo = &quot;</span> &lt;&lt; runNo &lt;&lt; <span class="stringliteral">&quot;, is out of valid range 0..&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02777" name="l02777"></a><span class="lineno"> 2777</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l02778" name="l02778"></a><span class="lineno"> 2778</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l02779" name="l02779"></a><span class="lineno"> 2779</span> }</div>
<div class="line"><a id="l02780" name="l02780"></a><span class="lineno"> 2780</span> </div>
<div class="line"><a id="l02781" name="l02781"></a><span class="lineno"> 2781</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].SetBkgRange(bin, idx);</div>
<div class="line"><a id="l02782" name="l02782"></a><span class="lineno"> 2782</span>}</div>
</div>
<div class="line"><a id="l02783" name="l02783"></a><span class="lineno"> 2783</span> </div>
<div class="line"><a id="l02784" name="l02784"></a><span class="lineno"> 2784</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l02785" name="l02785"></a><span class="lineno"> 2785</span><span class="comment">// ParameterInUse (public)</span></div>
<div class="line"><a id="l02786" name="l02786"></a><span class="lineno"> 2786</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen02799" data-start="{" data-end="}">
<div class="line"><a id="l02799" name="l02799"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#adc7f5aaa3801924bd4282a57a7d47967"> 2799</a></span>Int_t <a class="code hl_function" href="classPMsrHandler.html#adc7f5aaa3801924bd4282a57a7d47967">PMsrHandler::ParameterInUse</a>(UInt_t paramNo)</div>
<div class="line"><a id="l02800" name="l02800"></a><span class="lineno"> 2800</span>{</div>
<div class="line"><a id="l02801" name="l02801"></a><span class="lineno"> 2801</span> <span class="comment">// check that paramNo is within acceptable range</span></div>
<div class="line"><a id="l02802" name="l02802"></a><span class="lineno"> 2802</span> <span class="keywordflow">if</span> (paramNo &gt;= <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size())</div>
<div class="line"><a id="l02803" name="l02803"></a><span class="lineno"> 2803</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l02804" name="l02804"></a><span class="lineno"> 2804</span> </div>
<div class="line"><a id="l02805" name="l02805"></a><span class="lineno"> 2805</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classPMsrHandler.html#a5572493b4e1136c537713beeab849780">fParamInUse</a>[paramNo];</div>
<div class="line"><a id="l02806" name="l02806"></a><span class="lineno"> 2806</span>}</div>
</div>
<div class="line"><a id="l02807" name="l02807"></a><span class="lineno"> 2807</span> </div>
<div class="line"><a id="l02808" name="l02808"></a><span class="lineno"> 2808</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l02809" name="l02809"></a><span class="lineno"> 2809</span><span class="comment">// HandleFitParameterEntry (private)</span></div>
<div class="line"><a id="l02810" name="l02810"></a><span class="lineno"> 2810</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen02832" data-start="{" data-end="}">
<div class="line"><a id="l02832" name="l02832"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a3aaa5d61ae5d489bf0ce928a8a15e6e7"> 2832</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a3aaa5d61ae5d489bf0ce928a8a15e6e7">PMsrHandler::HandleFitParameterEntry</a>(<a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;lines)</div>
<div class="line"><a id="l02833" name="l02833"></a><span class="lineno"> 2833</span>{</div>
<div class="line"><a id="l02834" name="l02834"></a><span class="lineno"> 2834</span> <a class="code hl_struct" href="structPMsrParamStructure.html">PMsrParamStructure</a> param;</div>
<div class="line"><a id="l02835" name="l02835"></a><span class="lineno"> 2835</span> Bool_t error = <span class="keyword">false</span>;</div>
<div class="line"><a id="l02836" name="l02836"></a><span class="lineno"> 2836</span> </div>
<div class="line"><a id="l02837" name="l02837"></a><span class="lineno"> 2837</span> PMsrLines::iterator iter;</div>
<div class="line"><a id="l02838" name="l02838"></a><span class="lineno"> 2838</span> </div>
<div class="line"><a id="l02839" name="l02839"></a><span class="lineno"> 2839</span> TObjArray *tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l02840" name="l02840"></a><span class="lineno"> 2840</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l02841" name="l02841"></a><span class="lineno"> 2841</span> TString str;</div>
<div class="line"><a id="l02842" name="l02842"></a><span class="lineno"> 2842</span> </div>
<div class="line"><a id="l02843" name="l02843"></a><span class="lineno"> 2843</span> <span class="comment">// fill param structure</span></div>
<div class="line"><a id="l02844" name="l02844"></a><span class="lineno"> 2844</span> iter = lines.begin();</div>
<div class="line"><a id="l02845" name="l02845"></a><span class="lineno"> 2845</span> <span class="keywordflow">while</span> ((iter != lines.end()) &amp;&amp; !error) {</div>
<div class="line"><a id="l02846" name="l02846"></a><span class="lineno"> 2846</span> </div>
<div class="line"><a id="l02847" name="l02847"></a><span class="lineno"> 2847</span> <span class="comment">// init param structure</span></div>
<div class="line"><a id="l02848" name="l02848"></a><span class="lineno"> 2848</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a6d1a3bb13364ccab8680e3bb013f0357">fNoOfParams</a> = -1;</div>
<div class="line"><a id="l02849" name="l02849"></a><span class="lineno"> 2849</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a8f3eb879d16d63a317c1566f2de5b72e">fNo</a> = -1;</div>
<div class="line"><a id="l02850" name="l02850"></a><span class="lineno"> 2850</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#ae6ab47389d3a19901a83587a4e88bb0e">fName</a> = TString(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02851" name="l02851"></a><span class="lineno"> 2851</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#adefbe4678b7f6ccc731295c93b17bad9">fValue</a> = 0.0;</div>
<div class="line"><a id="l02852" name="l02852"></a><span class="lineno"> 2852</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a0ae45f118dd47f32cc3a9e4547bd3b74">fStep</a> = 0.0;</div>
<div class="line"><a id="l02853" name="l02853"></a><span class="lineno"> 2853</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#ab0dffa3e19fe19b6dd88f22f1f6328cb">fPosErrorPresent</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l02854" name="l02854"></a><span class="lineno"> 2854</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a4e429448ee5c4cdef33ac651042bb61a">fPosError</a> = 0.0;</div>
<div class="line"><a id="l02855" name="l02855"></a><span class="lineno"> 2855</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a51e6a86fc6b976c2da97c279c2376812">fLowerBoundaryPresent</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l02856" name="l02856"></a><span class="lineno"> 2856</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a8d97435a22a8ea76b631563d898ea14e">fLowerBoundary</a> = 0.0;</div>
<div class="line"><a id="l02857" name="l02857"></a><span class="lineno"> 2857</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#ac17f1a37370199ed889c28003b4692cf">fUpperBoundaryPresent</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l02858" name="l02858"></a><span class="lineno"> 2858</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a9c62c20a8e99222e27f95fe2e8fe2d85">fUpperBoundary</a> = 0.0;</div>
<div class="line"><a id="l02859" name="l02859"></a><span class="lineno"> 2859</span> </div>
<div class="line"><a id="l02860" name="l02860"></a><span class="lineno"> 2860</span> tokens = iter-&gt;fLine.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l02861" name="l02861"></a><span class="lineno"> 2861</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l02862" name="l02862"></a><span class="lineno"> 2862</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02863" name="l02863"></a><span class="lineno"> 2863</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l02864" name="l02864"></a><span class="lineno"> 2864</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleFitParameterEntry: **SEVERE ERROR** Couldn&#39;t tokenize Parameters in line &quot;</span> &lt;&lt; iter-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02865" name="l02865"></a><span class="lineno"> 2865</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l02866" name="l02866"></a><span class="lineno"> 2866</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l02867" name="l02867"></a><span class="lineno"> 2867</span> }</div>
<div class="line"><a id="l02868" name="l02868"></a><span class="lineno"> 2868</span> </div>
<div class="line"><a id="l02869" name="l02869"></a><span class="lineno"> 2869</span> <span class="comment">// handle various input possiblities</span></div>
<div class="line"><a id="l02870" name="l02870"></a><span class="lineno"> 2870</span> <span class="keywordflow">if</span> ((tokens-&gt;GetEntries() &lt; 4) || (tokens-&gt;GetEntries() &gt; 7) || (tokens-&gt;GetEntries() == 6)) {</div>
<div class="line"><a id="l02871" name="l02871"></a><span class="lineno"> 2871</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02872" name="l02872"></a><span class="lineno"> 2872</span> } <span class="keywordflow">else</span> { <span class="comment">// handle the first 4 parameter since they are always the same</span></div>
<div class="line"><a id="l02873" name="l02873"></a><span class="lineno"> 2873</span> <span class="comment">// parameter number</span></div>
<div class="line"><a id="l02874" name="l02874"></a><span class="lineno"> 2874</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(0));</div>
<div class="line"><a id="l02875" name="l02875"></a><span class="lineno"> 2875</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l02876" name="l02876"></a><span class="lineno"> 2876</span> <span class="keywordflow">if</span> (str.IsDigit())</div>
<div class="line"><a id="l02877" name="l02877"></a><span class="lineno"> 2877</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a8f3eb879d16d63a317c1566f2de5b72e">fNo</a> = str.Atoi();</div>
<div class="line"><a id="l02878" name="l02878"></a><span class="lineno"> 2878</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l02879" name="l02879"></a><span class="lineno"> 2879</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02880" name="l02880"></a><span class="lineno"> 2880</span> </div>
<div class="line"><a id="l02881" name="l02881"></a><span class="lineno"> 2881</span> <span class="comment">// parameter name</span></div>
<div class="line"><a id="l02882" name="l02882"></a><span class="lineno"> 2882</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l02883" name="l02883"></a><span class="lineno"> 2883</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l02884" name="l02884"></a><span class="lineno"> 2884</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#ae6ab47389d3a19901a83587a4e88bb0e">fName</a> = str;</div>
<div class="line"><a id="l02885" name="l02885"></a><span class="lineno"> 2885</span> </div>
<div class="line"><a id="l02886" name="l02886"></a><span class="lineno"> 2886</span> <span class="comment">// parameter value</span></div>
<div class="line"><a id="l02887" name="l02887"></a><span class="lineno"> 2887</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2));</div>
<div class="line"><a id="l02888" name="l02888"></a><span class="lineno"> 2888</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l02889" name="l02889"></a><span class="lineno"> 2889</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l02890" name="l02890"></a><span class="lineno"> 2890</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#adefbe4678b7f6ccc731295c93b17bad9">fValue</a> = <span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof());</div>
<div class="line"><a id="l02891" name="l02891"></a><span class="lineno"> 2891</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l02892" name="l02892"></a><span class="lineno"> 2892</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02893" name="l02893"></a><span class="lineno"> 2893</span> </div>
<div class="line"><a id="l02894" name="l02894"></a><span class="lineno"> 2894</span> <span class="comment">// parameter value</span></div>
<div class="line"><a id="l02895" name="l02895"></a><span class="lineno"> 2895</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(3));</div>
<div class="line"><a id="l02896" name="l02896"></a><span class="lineno"> 2896</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l02897" name="l02897"></a><span class="lineno"> 2897</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l02898" name="l02898"></a><span class="lineno"> 2898</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a0ae45f118dd47f32cc3a9e4547bd3b74">fStep</a> = <span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof());</div>
<div class="line"><a id="l02899" name="l02899"></a><span class="lineno"> 2899</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l02900" name="l02900"></a><span class="lineno"> 2900</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02901" name="l02901"></a><span class="lineno"> 2901</span> </div>
<div class="line"><a id="l02902" name="l02902"></a><span class="lineno"> 2902</span> <span class="comment">// 4 values, i.e. No Name Value Step</span></div>
<div class="line"><a id="l02903" name="l02903"></a><span class="lineno"> 2903</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() == 4) {</div>
<div class="line"><a id="l02904" name="l02904"></a><span class="lineno"> 2904</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a6d1a3bb13364ccab8680e3bb013f0357">fNoOfParams</a> = 4;</div>
<div class="line"><a id="l02905" name="l02905"></a><span class="lineno"> 2905</span> }</div>
<div class="line"><a id="l02906" name="l02906"></a><span class="lineno"> 2906</span> </div>
<div class="line"><a id="l02907" name="l02907"></a><span class="lineno"> 2907</span> <span class="comment">// 5 values, i.e. No Name Value Neg_Error Pos_Error</span></div>
<div class="line"><a id="l02908" name="l02908"></a><span class="lineno"> 2908</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() == 5) {</div>
<div class="line"><a id="l02909" name="l02909"></a><span class="lineno"> 2909</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a6d1a3bb13364ccab8680e3bb013f0357">fNoOfParams</a> = 5;</div>
<div class="line"><a id="l02910" name="l02910"></a><span class="lineno"> 2910</span> </div>
<div class="line"><a id="l02911" name="l02911"></a><span class="lineno"> 2911</span> <span class="comment">// positive error</span></div>
<div class="line"><a id="l02912" name="l02912"></a><span class="lineno"> 2912</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(4));</div>
<div class="line"><a id="l02913" name="l02913"></a><span class="lineno"> 2913</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l02914" name="l02914"></a><span class="lineno"> 2914</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l02915" name="l02915"></a><span class="lineno"> 2915</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#ab0dffa3e19fe19b6dd88f22f1f6328cb">fPosErrorPresent</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02916" name="l02916"></a><span class="lineno"> 2916</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a4e429448ee5c4cdef33ac651042bb61a">fPosError</a> = <span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof());</div>
<div class="line"><a id="l02917" name="l02917"></a><span class="lineno"> 2917</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02918" name="l02918"></a><span class="lineno"> 2918</span> str.ToLower();</div>
<div class="line"><a id="l02919" name="l02919"></a><span class="lineno"> 2919</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;none&quot;</span>, TString::kIgnoreCase))</div>
<div class="line"><a id="l02920" name="l02920"></a><span class="lineno"> 2920</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#ab0dffa3e19fe19b6dd88f22f1f6328cb">fPosErrorPresent</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l02921" name="l02921"></a><span class="lineno"> 2921</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l02922" name="l02922"></a><span class="lineno"> 2922</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02923" name="l02923"></a><span class="lineno"> 2923</span> }</div>
<div class="line"><a id="l02924" name="l02924"></a><span class="lineno"> 2924</span> }</div>
<div class="line"><a id="l02925" name="l02925"></a><span class="lineno"> 2925</span> </div>
<div class="line"><a id="l02926" name="l02926"></a><span class="lineno"> 2926</span> <span class="comment">// 7 values, i.e. No Name Value Neg_Error Pos_Error Lower_Boundary Upper_Boundary</span></div>
<div class="line"><a id="l02927" name="l02927"></a><span class="lineno"> 2927</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() == 7) {</div>
<div class="line"><a id="l02928" name="l02928"></a><span class="lineno"> 2928</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a6d1a3bb13364ccab8680e3bb013f0357">fNoOfParams</a> = 7;</div>
<div class="line"><a id="l02929" name="l02929"></a><span class="lineno"> 2929</span> </div>
<div class="line"><a id="l02930" name="l02930"></a><span class="lineno"> 2930</span> <span class="comment">// positive error</span></div>
<div class="line"><a id="l02931" name="l02931"></a><span class="lineno"> 2931</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(4));</div>
<div class="line"><a id="l02932" name="l02932"></a><span class="lineno"> 2932</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l02933" name="l02933"></a><span class="lineno"> 2933</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l02934" name="l02934"></a><span class="lineno"> 2934</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#ab0dffa3e19fe19b6dd88f22f1f6328cb">fPosErrorPresent</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02935" name="l02935"></a><span class="lineno"> 2935</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a4e429448ee5c4cdef33ac651042bb61a">fPosError</a> = <span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof());</div>
<div class="line"><a id="l02936" name="l02936"></a><span class="lineno"> 2936</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02937" name="l02937"></a><span class="lineno"> 2937</span> str.ToLower();</div>
<div class="line"><a id="l02938" name="l02938"></a><span class="lineno"> 2938</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;none&quot;</span>, TString::kIgnoreCase))</div>
<div class="line"><a id="l02939" name="l02939"></a><span class="lineno"> 2939</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#ab0dffa3e19fe19b6dd88f22f1f6328cb">fPosErrorPresent</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l02940" name="l02940"></a><span class="lineno"> 2940</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l02941" name="l02941"></a><span class="lineno"> 2941</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02942" name="l02942"></a><span class="lineno"> 2942</span> }</div>
<div class="line"><a id="l02943" name="l02943"></a><span class="lineno"> 2943</span> </div>
<div class="line"><a id="l02944" name="l02944"></a><span class="lineno"> 2944</span> <span class="comment">// lower boundary</span></div>
<div class="line"><a id="l02945" name="l02945"></a><span class="lineno"> 2945</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(5));</div>
<div class="line"><a id="l02946" name="l02946"></a><span class="lineno"> 2946</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l02947" name="l02947"></a><span class="lineno"> 2947</span> <span class="comment">// check if lower boundary is &quot;none&quot;, i.e. upper boundary limited only</span></div>
<div class="line"><a id="l02948" name="l02948"></a><span class="lineno"> 2948</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;none&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// none</span></div>
<div class="line"><a id="l02949" name="l02949"></a><span class="lineno"> 2949</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a51e6a86fc6b976c2da97c279c2376812">fLowerBoundaryPresent</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l02950" name="l02950"></a><span class="lineno"> 2950</span> } <span class="keywordflow">else</span> { <span class="comment">// assuming that the lower boundary is a number</span></div>
<div class="line"><a id="l02951" name="l02951"></a><span class="lineno"> 2951</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l02952" name="l02952"></a><span class="lineno"> 2952</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a8d97435a22a8ea76b631563d898ea14e">fLowerBoundary</a> = <span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof());</div>
<div class="line"><a id="l02953" name="l02953"></a><span class="lineno"> 2953</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a51e6a86fc6b976c2da97c279c2376812">fLowerBoundaryPresent</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02954" name="l02954"></a><span class="lineno"> 2954</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02955" name="l02955"></a><span class="lineno"> 2955</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02956" name="l02956"></a><span class="lineno"> 2956</span> }</div>
<div class="line"><a id="l02957" name="l02957"></a><span class="lineno"> 2957</span> }</div>
<div class="line"><a id="l02958" name="l02958"></a><span class="lineno"> 2958</span> </div>
<div class="line"><a id="l02959" name="l02959"></a><span class="lineno"> 2959</span> <span class="comment">// upper boundary</span></div>
<div class="line"><a id="l02960" name="l02960"></a><span class="lineno"> 2960</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(6));</div>
<div class="line"><a id="l02961" name="l02961"></a><span class="lineno"> 2961</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l02962" name="l02962"></a><span class="lineno"> 2962</span> <span class="comment">// check if upper boundary is &quot;none&quot;, i.e. lower boundary limited only</span></div>
<div class="line"><a id="l02963" name="l02963"></a><span class="lineno"> 2963</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;none&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// none</span></div>
<div class="line"><a id="l02964" name="l02964"></a><span class="lineno"> 2964</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#ac17f1a37370199ed889c28003b4692cf">fUpperBoundaryPresent</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l02965" name="l02965"></a><span class="lineno"> 2965</span> } <span class="keywordflow">else</span> { <span class="comment">// assuming a number</span></div>
<div class="line"><a id="l02966" name="l02966"></a><span class="lineno"> 2966</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l02967" name="l02967"></a><span class="lineno"> 2967</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a9c62c20a8e99222e27f95fe2e8fe2d85">fUpperBoundary</a> = <span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof());</div>
<div class="line"><a id="l02968" name="l02968"></a><span class="lineno"> 2968</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#ac17f1a37370199ed889c28003b4692cf">fUpperBoundaryPresent</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02969" name="l02969"></a><span class="lineno"> 2969</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02970" name="l02970"></a><span class="lineno"> 2970</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02971" name="l02971"></a><span class="lineno"> 2971</span> }</div>
<div class="line"><a id="l02972" name="l02972"></a><span class="lineno"> 2972</span> }</div>
<div class="line"><a id="l02973" name="l02973"></a><span class="lineno"> 2973</span> </div>
<div class="line"><a id="l02974" name="l02974"></a><span class="lineno"> 2974</span> <span class="comment">// check for lower-/upper-boundaries = none/none</span></div>
<div class="line"><a id="l02975" name="l02975"></a><span class="lineno"> 2975</span> <span class="keywordflow">if</span> (!param.<a class="code hl_variable" href="structPMsrParamStructure.html#a51e6a86fc6b976c2da97c279c2376812">fLowerBoundaryPresent</a> &amp;&amp; !param.<a class="code hl_variable" href="structPMsrParamStructure.html#ac17f1a37370199ed889c28003b4692cf">fUpperBoundaryPresent</a>)</div>
<div class="line"><a id="l02976" name="l02976"></a><span class="lineno"> 2976</span> param.<a class="code hl_variable" href="structPMsrParamStructure.html#a6d1a3bb13364ccab8680e3bb013f0357">fNoOfParams</a> = 5; <span class="comment">// since there are no real boundaries present</span></div>
<div class="line"><a id="l02977" name="l02977"></a><span class="lineno"> 2977</span> }</div>
<div class="line"><a id="l02978" name="l02978"></a><span class="lineno"> 2978</span> }</div>
<div class="line"><a id="l02979" name="l02979"></a><span class="lineno"> 2979</span> </div>
<div class="line"><a id="l02980" name="l02980"></a><span class="lineno"> 2980</span> <span class="comment">// check if enough elements found</span></div>
<div class="line"><a id="l02981" name="l02981"></a><span class="lineno"> 2981</span> <span class="keywordflow">if</span> (error) {</div>
<div class="line"><a id="l02982" name="l02982"></a><span class="lineno"> 2982</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02983" name="l02983"></a><span class="lineno"> 2983</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l02984" name="l02984"></a><span class="lineno"> 2984</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02985" name="l02985"></a><span class="lineno"> 2985</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleFitParameterEntry: **ERROR** in line &quot;</span> &lt;&lt; iter-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;:\n&quot;</span>;</div>
<div class="line"><a id="l02986" name="l02986"></a><span class="lineno"> 2986</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; &quot;</span> &lt;&lt; iter-&gt;fLine.Data() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02987" name="l02987"></a><span class="lineno"> 2987</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; A Fit Parameter line needs to have the following form:\n&quot;</span>;</div>
<div class="line"><a id="l02988" name="l02988"></a><span class="lineno"> 2988</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l02989" name="l02989"></a><span class="lineno"> 2989</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; No Name Value Step/Error [Lower_Boundary Upper_Boundary]\n\n&quot;</span>;</div>
<div class="line"><a id="l02990" name="l02990"></a><span class="lineno"> 2990</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; or\n\n&quot;</span>;</div>
<div class="line"><a id="l02991" name="l02991"></a><span class="lineno"> 2991</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; No Name Value Step/Neg_Error Pos_Error [Lower_Boundary Upper_Boundary]\n\n&quot;</span>;</div>
<div class="line"><a id="l02992" name="l02992"></a><span class="lineno"> 2992</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; No: the parameter number (an Int_t)\n&quot;</span>;</div>
<div class="line"><a id="l02993" name="l02993"></a><span class="lineno"> 2993</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Name: the name of the parameter (less than 256 character)\n&quot;</span>;</div>
<div class="line"><a id="l02994" name="l02994"></a><span class="lineno"> 2994</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Value: the starting value of the parameter (a Double_t)\n&quot;</span>;</div>
<div class="line"><a id="l02995" name="l02995"></a><span class="lineno"> 2995</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Step/Error,\n&quot;</span>;</div>
<div class="line"><a id="l02996" name="l02996"></a><span class="lineno"> 2996</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Step/Neg_Error: the starting step value in a fit (a Double_t), or\n&quot;</span>;</div>
<div class="line"><a id="l02997" name="l02997"></a><span class="lineno"> 2997</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; the symmetric error (MIGRAD, SIMPLEX), or\n&quot;</span>;</div>
<div class="line"><a id="l02998" name="l02998"></a><span class="lineno"> 2998</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; the negative error (MINOS)\n&quot;</span>;</div>
<div class="line"><a id="l02999" name="l02999"></a><span class="lineno"> 2999</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Pos_Error: the positive error (MINOS), (a Double_t or \&quot;none\&quot;)\n&quot;</span>;</div>
<div class="line"><a id="l03000" name="l03000"></a><span class="lineno"> 3000</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Lower_Boundary: the lower boundary allowed for the fit parameter (a Double_t or \&quot;none\&quot;)\n&quot;</span>;</div>
<div class="line"><a id="l03001" name="l03001"></a><span class="lineno"> 3001</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Upper_Boundary: the upper boundary allowed for the fit parameter (a Double_t or \&quot;none\&quot;)\n&quot;</span>;</div>
<div class="line"><a id="l03002" name="l03002"></a><span class="lineno"> 3002</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l03003" name="l03003"></a><span class="lineno"> 3003</span> } <span class="keywordflow">else</span> { <span class="comment">// everything is OK, therefore add the parameter to the parameter list</span></div>
<div class="line"><a id="l03004" name="l03004"></a><span class="lineno"> 3004</span> <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.push_back(param);</div>
<div class="line"><a id="l03005" name="l03005"></a><span class="lineno"> 3005</span> }</div>
<div class="line"><a id="l03006" name="l03006"></a><span class="lineno"> 3006</span> </div>
<div class="line"><a id="l03007" name="l03007"></a><span class="lineno"> 3007</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l03008" name="l03008"></a><span class="lineno"> 3008</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l03009" name="l03009"></a><span class="lineno"> 3009</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l03010" name="l03010"></a><span class="lineno"> 3010</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l03011" name="l03011"></a><span class="lineno"> 3011</span> }</div>
<div class="line"><a id="l03012" name="l03012"></a><span class="lineno"> 3012</span> </div>
<div class="line"><a id="l03013" name="l03013"></a><span class="lineno"> 3013</span> iter++;</div>
<div class="line"><a id="l03014" name="l03014"></a><span class="lineno"> 3014</span> }</div>
<div class="line"><a id="l03015" name="l03015"></a><span class="lineno"> 3015</span> </div>
<div class="line"><a id="l03016" name="l03016"></a><span class="lineno"> 3016</span> <span class="comment">// check if all parameters have subsequent numbers.</span></div>
<div class="line"><a id="l03017" name="l03017"></a><span class="lineno"> 3017</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size(); i++) {</div>
<div class="line"><a id="l03018" name="l03018"></a><span class="lineno"> 3018</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fNo != <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(i)+1) {</div>
<div class="line"><a id="l03019" name="l03019"></a><span class="lineno"> 3019</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03020" name="l03020"></a><span class="lineno"> 3020</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l03021" name="l03021"></a><span class="lineno"> 3021</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l03022" name="l03022"></a><span class="lineno"> 3022</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleFitParameterEntry: **ERROR**\n&quot;</span>;</div>
<div class="line"><a id="l03023" name="l03023"></a><span class="lineno"> 3023</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Sorry, you are assuming to much from this program, it cannot\n&quot;</span>;</div>
<div class="line"><a id="l03024" name="l03024"></a><span class="lineno"> 3024</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; handle none subsequent numbered parameters yet or in the near future.\n&quot;</span>;</div>
<div class="line"><a id="l03025" name="l03025"></a><span class="lineno"> 3025</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Found parameter &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fName.Data() &lt;&lt; <span class="stringliteral">&quot;, with\n&quot;</span>;</div>
<div class="line"><a id="l03026" name="l03026"></a><span class="lineno"> 3026</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; parameter number &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fNo &lt;&lt; <span class="stringliteral">&quot;, at paramter position &quot;</span> &lt;&lt; i+1 &lt;&lt; <span class="stringliteral">&quot;.\n&quot;</span>;</div>
<div class="line"><a id="l03027" name="l03027"></a><span class="lineno"> 3027</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; This needs to be fixed first.\n&quot;</span>;</div>
<div class="line"><a id="l03028" name="l03028"></a><span class="lineno"> 3028</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l03029" name="l03029"></a><span class="lineno"> 3029</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l03030" name="l03030"></a><span class="lineno"> 3030</span> }</div>
<div class="line"><a id="l03031" name="l03031"></a><span class="lineno"> 3031</span> }</div>
<div class="line"><a id="l03032" name="l03032"></a><span class="lineno"> 3032</span> </div>
<div class="line"><a id="l03033" name="l03033"></a><span class="lineno"> 3033</span> <span class="keywordflow">return</span> !error;</div>
<div class="line"><a id="l03034" name="l03034"></a><span class="lineno"> 3034</span>}</div>
</div>
<div class="line"><a id="l03035" name="l03035"></a><span class="lineno"> 3035</span> </div>
<div class="line"><a id="l03036" name="l03036"></a><span class="lineno"> 3036</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l03037" name="l03037"></a><span class="lineno"> 3037</span><span class="comment">// HandleTheoryEntry (private)</span></div>
<div class="line"><a id="l03038" name="l03038"></a><span class="lineno"> 3038</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen03047" data-start="{" data-end="}">
<div class="line"><a id="l03047" name="l03047"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a4c2d82614ab601c4670c105116b6898c"> 3047</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a4c2d82614ab601c4670c105116b6898c">PMsrHandler::HandleTheoryEntry</a>(<a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;lines)</div>
<div class="line"><a id="l03048" name="l03048"></a><span class="lineno"> 3048</span>{</div>
<div class="line"><a id="l03049" name="l03049"></a><span class="lineno"> 3049</span> <span class="comment">// If msr-file is used for musrFT only, nothing needs to be done here.</span></div>
<div class="line"><a id="l03050" name="l03050"></a><span class="lineno"> 3050</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>)</div>
<div class="line"><a id="l03051" name="l03051"></a><span class="lineno"> 3051</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l03052" name="l03052"></a><span class="lineno"> 3052</span> </div>
<div class="line"><a id="l03053" name="l03053"></a><span class="lineno"> 3053</span> <span class="comment">// store the theory lines</span></div>
<div class="line"><a id="l03054" name="l03054"></a><span class="lineno"> 3054</span> <a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a> = lines;</div>
<div class="line"><a id="l03055" name="l03055"></a><span class="lineno"> 3055</span> </div>
<div class="line"><a id="l03056" name="l03056"></a><span class="lineno"> 3056</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l03057" name="l03057"></a><span class="lineno"> 3057</span>}</div>
</div>
<div class="line"><a id="l03058" name="l03058"></a><span class="lineno"> 3058</span> </div>
<div class="line"><a id="l03059" name="l03059"></a><span class="lineno"> 3059</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l03060" name="l03060"></a><span class="lineno"> 3060</span><span class="comment">// HandleFunctionsEntry (private)</span></div>
<div class="line"><a id="l03061" name="l03061"></a><span class="lineno"> 3061</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen03071" data-start="{" data-end="}">
<div class="line"><a id="l03071" name="l03071"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#aace47bbf1d312c41435b186e4d727591"> 3071</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#aace47bbf1d312c41435b186e4d727591">PMsrHandler::HandleFunctionsEntry</a>(<a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;lines)</div>
<div class="line"><a id="l03072" name="l03072"></a><span class="lineno"> 3072</span>{</div>
<div class="line"><a id="l03073" name="l03073"></a><span class="lineno"> 3073</span> <span class="comment">// If msr-file is used for musrFT only, nothing needs to be done here.</span></div>
<div class="line"><a id="l03074" name="l03074"></a><span class="lineno"> 3074</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>)</div>
<div class="line"><a id="l03075" name="l03075"></a><span class="lineno"> 3075</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l03076" name="l03076"></a><span class="lineno"> 3076</span> </div>
<div class="line"><a id="l03077" name="l03077"></a><span class="lineno"> 3077</span> <span class="comment">// store the functions lines</span></div>
<div class="line"><a id="l03078" name="l03078"></a><span class="lineno"> 3078</span> <a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a> = lines;</div>
<div class="line"><a id="l03079" name="l03079"></a><span class="lineno"> 3079</span> </div>
<div class="line"><a id="l03080" name="l03080"></a><span class="lineno"> 3080</span> <span class="comment">// create function handler</span></div>
<div class="line"><a id="l03081" name="l03081"></a><span class="lineno"> 3081</span> <a class="code hl_variable" href="classPMsrHandler.html#a1bf73fef5ee4f532683348e69ecebe87">fFuncHandler</a> = std::make_unique&lt;PFunctionHandler&gt;(<a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>);</div>
<div class="line"><a id="l03082" name="l03082"></a><span class="lineno"> 3082</span> </div>
<div class="line"><a id="l03083" name="l03083"></a><span class="lineno"> 3083</span> <span class="comment">// do the parsing</span></div>
<div class="line"><a id="l03084" name="l03084"></a><span class="lineno"> 3084</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#a1bf73fef5ee4f532683348e69ecebe87">fFuncHandler</a>-&gt;DoParse()) {</div>
<div class="line"><a id="l03085" name="l03085"></a><span class="lineno"> 3085</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l03086" name="l03086"></a><span class="lineno"> 3086</span> }</div>
<div class="line"><a id="l03087" name="l03087"></a><span class="lineno"> 3087</span> </div>
<div class="line"><a id="l03088" name="l03088"></a><span class="lineno"> 3088</span> <span class="comment">// check if an empty FUNCTIONS block is present</span></div>
<div class="line"><a id="l03089" name="l03089"></a><span class="lineno"> 3089</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a1bf73fef5ee4f532683348e69ecebe87">fFuncHandler</a>-&gt;GetNoOfFuncs() == 0) &amp;&amp; !lines.empty()) {</div>
<div class="line"><a id="l03090" name="l03090"></a><span class="lineno"> 3090</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleFunctionsEntry: **WARNING** empty FUNCTIONS block found!&quot;</span>;</div>
<div class="line"><a id="l03091" name="l03091"></a><span class="lineno"> 3091</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l03092" name="l03092"></a><span class="lineno"> 3092</span> }</div>
<div class="line"><a id="l03093" name="l03093"></a><span class="lineno"> 3093</span> </div>
<div class="line"><a id="l03094" name="l03094"></a><span class="lineno"> 3094</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l03095" name="l03095"></a><span class="lineno"> 3095</span>}</div>
</div>
<div class="line"><a id="l03096" name="l03096"></a><span class="lineno"> 3096</span> </div>
<div class="line"><a id="l03097" name="l03097"></a><span class="lineno"> 3097</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l03098" name="l03098"></a><span class="lineno"> 3098</span><span class="comment">// HandleGlobalEntry (private)</span></div>
<div class="line"><a id="l03099" name="l03099"></a><span class="lineno"> 3099</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen03109" data-start="{" data-end="}">
<div class="line"><a id="l03109" name="l03109"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a239fde127411b103a52b4b8762ad130a"> 3109</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a239fde127411b103a52b4b8762ad130a">PMsrHandler::HandleGlobalEntry</a>(<a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;lines)</div>
<div class="line"><a id="l03110" name="l03110"></a><span class="lineno"> 3110</span>{</div>
<div class="line"><a id="l03111" name="l03111"></a><span class="lineno"> 3111</span> PMsrLines::iterator iter;</div>
<div class="line"><a id="l03112" name="l03112"></a><span class="lineno"> 3112</span> <a class="code hl_class" href="classPMsrGlobalBlock.html">PMsrGlobalBlock</a> global;</div>
<div class="line"><a id="l03113" name="l03113"></a><span class="lineno"> 3113</span> </div>
<div class="line"><a id="l03114" name="l03114"></a><span class="lineno"> 3114</span> Bool_t error = <span class="keyword">false</span>;</div>
<div class="line"><a id="l03115" name="l03115"></a><span class="lineno"> 3115</span> </div>
<div class="line"><a id="l03116" name="l03116"></a><span class="lineno"> 3116</span> TString str;</div>
<div class="line"><a id="l03117" name="l03117"></a><span class="lineno"> 3117</span> TObjArray *tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l03118" name="l03118"></a><span class="lineno"> 3118</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l03119" name="l03119"></a><span class="lineno"> 3119</span> Int_t ival = 0;</div>
<div class="line"><a id="l03120" name="l03120"></a><span class="lineno"> 3120</span> Double_t dval = 0.0;</div>
<div class="line"><a id="l03121" name="l03121"></a><span class="lineno"> 3121</span> UInt_t addT0Counter = 0;</div>
<div class="line"><a id="l03122" name="l03122"></a><span class="lineno"> 3122</span> </div>
<div class="line"><a id="l03123" name="l03123"></a><span class="lineno"> 3123</span> <span class="comment">// since this routine is called, a GLOBAL block is present</span></div>
<div class="line"><a id="l03124" name="l03124"></a><span class="lineno"> 3124</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#a35fceedc11d11ca81559e2cfec4b57d1">SetGlobalPresent</a>(<span class="keyword">true</span>);</div>
<div class="line"><a id="l03125" name="l03125"></a><span class="lineno"> 3125</span> </div>
<div class="line"><a id="l03126" name="l03126"></a><span class="lineno"> 3126</span> iter = lines.begin();</div>
<div class="line"><a id="l03127" name="l03127"></a><span class="lineno"> 3127</span> <span class="keywordflow">while</span> ((iter != lines.end()) &amp;&amp; !error) {</div>
<div class="line"><a id="l03128" name="l03128"></a><span class="lineno"> 3128</span> <span class="comment">// remove potential comment at the end of lines</span></div>
<div class="line"><a id="l03129" name="l03129"></a><span class="lineno"> 3129</span> str = iter-&gt;fLine;</div>
<div class="line"><a id="l03130" name="l03130"></a><span class="lineno"> 3130</span> Ssiz_t idx = str.Index(<span class="stringliteral">&quot;#&quot;</span>);</div>
<div class="line"><a id="l03131" name="l03131"></a><span class="lineno"> 3131</span> <span class="keywordflow">if</span> (idx != -1)</div>
<div class="line"><a id="l03132" name="l03132"></a><span class="lineno"> 3132</span> str.Remove(idx);</div>
<div class="line"><a id="l03133" name="l03133"></a><span class="lineno"> 3133</span> </div>
<div class="line"><a id="l03134" name="l03134"></a><span class="lineno"> 3134</span> <span class="comment">// tokenize line</span></div>
<div class="line"><a id="l03135" name="l03135"></a><span class="lineno"> 3135</span> tokens = str.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l03136" name="l03136"></a><span class="lineno"> 3136</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l03137" name="l03137"></a><span class="lineno"> 3137</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l03138" name="l03138"></a><span class="lineno"> 3138</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l03139" name="l03139"></a><span class="lineno"> 3139</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleGlobalEntry: **SEVERE ERROR** Couldn&#39;t tokenize line &quot;</span> &lt;&lt; iter-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div>
<div class="line"><a id="l03140" name="l03140"></a><span class="lineno"> 3140</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l03141" name="l03141"></a><span class="lineno"> 3141</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l03142" name="l03142"></a><span class="lineno"> 3142</span> }</div>
<div class="line"><a id="l03143" name="l03143"></a><span class="lineno"> 3143</span> </div>
<div class="line"><a id="l03144" name="l03144"></a><span class="lineno"> 3144</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;fittype&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// fittype</span></div>
<div class="line"><a id="l03145" name="l03145"></a><span class="lineno"> 3145</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03146" name="l03146"></a><span class="lineno"> 3146</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03147" name="l03147"></a><span class="lineno"> 3147</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03148" name="l03148"></a><span class="lineno"> 3148</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03149" name="l03149"></a><span class="lineno"> 3149</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03150" name="l03150"></a><span class="lineno"> 3150</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03151" name="l03151"></a><span class="lineno"> 3151</span> Int_t fittype = str.Atoi();</div>
<div class="line"><a id="l03152" name="l03152"></a><span class="lineno"> 3152</span> <span class="keywordflow">if</span> ((fittype == <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a>) ||</div>
<div class="line"><a id="l03153" name="l03153"></a><span class="lineno"> 3153</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>) ||</div>
<div class="line"><a id="l03154" name="l03154"></a><span class="lineno"> 3154</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a>) ||</div>
<div class="line"><a id="l03155" name="l03155"></a><span class="lineno"> 3155</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>) ||</div>
<div class="line"><a id="l03156" name="l03156"></a><span class="lineno"> 3156</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a>) ||</div>
<div class="line"><a id="l03157" name="l03157"></a><span class="lineno"> 3157</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a>) ||</div>
<div class="line"><a id="l03158" name="l03158"></a><span class="lineno"> 3158</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a>)) {</div>
<div class="line"><a id="l03159" name="l03159"></a><span class="lineno"> 3159</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#a3ec671251f1c0bf111af5d25c0161774">SetFitType</a>(fittype);</div>
<div class="line"><a id="l03160" name="l03160"></a><span class="lineno"> 3160</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03161" name="l03161"></a><span class="lineno"> 3161</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03162" name="l03162"></a><span class="lineno"> 3162</span> }</div>
<div class="line"><a id="l03163" name="l03163"></a><span class="lineno"> 3163</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03164" name="l03164"></a><span class="lineno"> 3164</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03165" name="l03165"></a><span class="lineno"> 3165</span> }</div>
<div class="line"><a id="l03166" name="l03166"></a><span class="lineno"> 3166</span> }</div>
<div class="line"><a id="l03167" name="l03167"></a><span class="lineno"> 3167</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;rrf_freq&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03168" name="l03168"></a><span class="lineno"> 3168</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 3) {</div>
<div class="line"><a id="l03169" name="l03169"></a><span class="lineno"> 3169</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03170" name="l03170"></a><span class="lineno"> 3170</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03171" name="l03171"></a><span class="lineno"> 3171</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03172" name="l03172"></a><span class="lineno"> 3172</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03173" name="l03173"></a><span class="lineno"> 3173</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l03174" name="l03174"></a><span class="lineno"> 3174</span> dval = str.Atof();</div>
<div class="line"><a id="l03175" name="l03175"></a><span class="lineno"> 3175</span> <span class="keywordflow">if</span> (dval &lt;= 0.0)</div>
<div class="line"><a id="l03176" name="l03176"></a><span class="lineno"> 3176</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03177" name="l03177"></a><span class="lineno"> 3177</span> }</div>
<div class="line"><a id="l03178" name="l03178"></a><span class="lineno"> 3178</span> <span class="keywordflow">if</span> (!error) {</div>
<div class="line"><a id="l03179" name="l03179"></a><span class="lineno"> 3179</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2));</div>
<div class="line"><a id="l03180" name="l03180"></a><span class="lineno"> 3180</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03181" name="l03181"></a><span class="lineno"> 3181</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#a1f3fe612d27a5b26e812bd5c9302aea4">SetRRFFreq</a>(dval, str.Data());</div>
<div class="line"><a id="l03182" name="l03182"></a><span class="lineno"> 3182</span> <span class="keywordflow">if</span> (global.<a class="code hl_function" href="classPMsrGlobalBlock.html#afef14551c982f5898c9c7f2d555fc6cd">GetRRFFreq</a>(str.Data()) == <a class="code hl_define" href="PMusr_8h.html#ae852b87a5874b4c1a94e4d3a44b6adbc">RRF_FREQ_UNDEF</a>)</div>
<div class="line"><a id="l03183" name="l03183"></a><span class="lineno"> 3183</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03184" name="l03184"></a><span class="lineno"> 3184</span> }</div>
<div class="line"><a id="l03185" name="l03185"></a><span class="lineno"> 3185</span> }</div>
<div class="line"><a id="l03186" name="l03186"></a><span class="lineno"> 3186</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;rrf_packing&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03187" name="l03187"></a><span class="lineno"> 3187</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03188" name="l03188"></a><span class="lineno"> 3188</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03189" name="l03189"></a><span class="lineno"> 3189</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03190" name="l03190"></a><span class="lineno"> 3190</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03191" name="l03191"></a><span class="lineno"> 3191</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03192" name="l03192"></a><span class="lineno"> 3192</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03193" name="l03193"></a><span class="lineno"> 3193</span> ival = str.Atoi();</div>
<div class="line"><a id="l03194" name="l03194"></a><span class="lineno"> 3194</span> <span class="keywordflow">if</span> (ival &gt; 0) {</div>
<div class="line"><a id="l03195" name="l03195"></a><span class="lineno"> 3195</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#aead098a08bbcbc94ad491bcf471f07e8">SetRRFPacking</a>(ival);</div>
<div class="line"><a id="l03196" name="l03196"></a><span class="lineno"> 3196</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03197" name="l03197"></a><span class="lineno"> 3197</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03198" name="l03198"></a><span class="lineno"> 3198</span> }</div>
<div class="line"><a id="l03199" name="l03199"></a><span class="lineno"> 3199</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03200" name="l03200"></a><span class="lineno"> 3200</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03201" name="l03201"></a><span class="lineno"> 3201</span> }</div>
<div class="line"><a id="l03202" name="l03202"></a><span class="lineno"> 3202</span> }</div>
<div class="line"><a id="l03203" name="l03203"></a><span class="lineno"> 3203</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;rrf_phase&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03204" name="l03204"></a><span class="lineno"> 3204</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03205" name="l03205"></a><span class="lineno"> 3205</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03206" name="l03206"></a><span class="lineno"> 3206</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03207" name="l03207"></a><span class="lineno"> 3207</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03208" name="l03208"></a><span class="lineno"> 3208</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03209" name="l03209"></a><span class="lineno"> 3209</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l03210" name="l03210"></a><span class="lineno"> 3210</span> dval = str.Atof();</div>
<div class="line"><a id="l03211" name="l03211"></a><span class="lineno"> 3211</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#adc08a10635747b97b8066273446ad428">SetRRFPhase</a>(dval);</div>
<div class="line"><a id="l03212" name="l03212"></a><span class="lineno"> 3212</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03213" name="l03213"></a><span class="lineno"> 3213</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03214" name="l03214"></a><span class="lineno"> 3214</span> }</div>
<div class="line"><a id="l03215" name="l03215"></a><span class="lineno"> 3215</span> }</div>
<div class="line"><a id="l03216" name="l03216"></a><span class="lineno"> 3216</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;data&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// data</span></div>
<div class="line"><a id="l03217" name="l03217"></a><span class="lineno"> 3217</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 3) {</div>
<div class="line"><a id="l03218" name="l03218"></a><span class="lineno"> 3218</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03219" name="l03219"></a><span class="lineno"> 3219</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03220" name="l03220"></a><span class="lineno"> 3220</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tokens-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l03221" name="l03221"></a><span class="lineno"> 3221</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03222" name="l03222"></a><span class="lineno"> 3222</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03223" name="l03223"></a><span class="lineno"> 3223</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03224" name="l03224"></a><span class="lineno"> 3224</span> ival = str.Atoi();</div>
<div class="line"><a id="l03225" name="l03225"></a><span class="lineno"> 3225</span> <span class="keywordflow">if</span> (ival &gt;= 0) {</div>
<div class="line"><a id="l03226" name="l03226"></a><span class="lineno"> 3226</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#a9f119993a072f84c4a0866dcda1dcee3">SetDataRange</a>(ival, i-1);</div>
<div class="line"><a id="l03227" name="l03227"></a><span class="lineno"> 3227</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03228" name="l03228"></a><span class="lineno"> 3228</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03229" name="l03229"></a><span class="lineno"> 3229</span> }</div>
<div class="line"><a id="l03230" name="l03230"></a><span class="lineno"> 3230</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03231" name="l03231"></a><span class="lineno"> 3231</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03232" name="l03232"></a><span class="lineno"> 3232</span> }</div>
<div class="line"><a id="l03233" name="l03233"></a><span class="lineno"> 3233</span> }</div>
<div class="line"><a id="l03234" name="l03234"></a><span class="lineno"> 3234</span> }</div>
<div class="line"><a id="l03235" name="l03235"></a><span class="lineno"> 3235</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;t0&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// t0</span></div>
<div class="line"><a id="l03236" name="l03236"></a><span class="lineno"> 3236</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03237" name="l03237"></a><span class="lineno"> 3237</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03238" name="l03238"></a><span class="lineno"> 3238</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03239" name="l03239"></a><span class="lineno"> 3239</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tokens-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l03240" name="l03240"></a><span class="lineno"> 3240</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03241" name="l03241"></a><span class="lineno"> 3241</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03242" name="l03242"></a><span class="lineno"> 3242</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l03243" name="l03243"></a><span class="lineno"> 3243</span> dval = str.Atof();</div>
<div class="line"><a id="l03244" name="l03244"></a><span class="lineno"> 3244</span> <span class="keywordflow">if</span> (dval &gt;= 0.0)</div>
<div class="line"><a id="l03245" name="l03245"></a><span class="lineno"> 3245</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#a18dc17d6c376684a3bc429bdf9e17302">SetT0Bin</a>(dval);</div>
<div class="line"><a id="l03246" name="l03246"></a><span class="lineno"> 3246</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03247" name="l03247"></a><span class="lineno"> 3247</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03248" name="l03248"></a><span class="lineno"> 3248</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03249" name="l03249"></a><span class="lineno"> 3249</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03250" name="l03250"></a><span class="lineno"> 3250</span> }</div>
<div class="line"><a id="l03251" name="l03251"></a><span class="lineno"> 3251</span> }</div>
<div class="line"><a id="l03252" name="l03252"></a><span class="lineno"> 3252</span> }</div>
<div class="line"><a id="l03253" name="l03253"></a><span class="lineno"> 3253</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;addt0&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// addt0</span></div>
<div class="line"><a id="l03254" name="l03254"></a><span class="lineno"> 3254</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03255" name="l03255"></a><span class="lineno"> 3255</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03256" name="l03256"></a><span class="lineno"> 3256</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03257" name="l03257"></a><span class="lineno"> 3257</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tokens-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l03258" name="l03258"></a><span class="lineno"> 3258</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03259" name="l03259"></a><span class="lineno"> 3259</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03260" name="l03260"></a><span class="lineno"> 3260</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l03261" name="l03261"></a><span class="lineno"> 3261</span> dval = str.Atof();</div>
<div class="line"><a id="l03262" name="l03262"></a><span class="lineno"> 3262</span> <span class="keywordflow">if</span> (dval &gt;= 0.0)</div>
<div class="line"><a id="l03263" name="l03263"></a><span class="lineno"> 3263</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#aeff1c165c264ce151b6a9153d029b1c6">SetAddT0Bin</a>(dval, addT0Counter, i-1);</div>
<div class="line"><a id="l03264" name="l03264"></a><span class="lineno"> 3264</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03265" name="l03265"></a><span class="lineno"> 3265</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03266" name="l03266"></a><span class="lineno"> 3266</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03267" name="l03267"></a><span class="lineno"> 3267</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03268" name="l03268"></a><span class="lineno"> 3268</span> }</div>
<div class="line"><a id="l03269" name="l03269"></a><span class="lineno"> 3269</span> }</div>
<div class="line"><a id="l03270" name="l03270"></a><span class="lineno"> 3270</span> }</div>
<div class="line"><a id="l03271" name="l03271"></a><span class="lineno"> 3271</span> addT0Counter++;</div>
<div class="line"><a id="l03272" name="l03272"></a><span class="lineno"> 3272</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;fit&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// fit range</span></div>
<div class="line"><a id="l03273" name="l03273"></a><span class="lineno"> 3273</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 3) {</div>
<div class="line"><a id="l03274" name="l03274"></a><span class="lineno"> 3274</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03275" name="l03275"></a><span class="lineno"> 3275</span> } <span class="keywordflow">else</span> { <span class="comment">// fit given in time, i.e. fit &lt;start&gt; &lt;end&gt;, where &lt;start&gt;, &lt;end&gt; are given as doubles</span></div>
<div class="line"><a id="l03276" name="l03276"></a><span class="lineno"> 3276</span> <span class="keywordflow">if</span> (iter-&gt;fLine.Contains(<span class="stringliteral">&quot;fgb&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// fit given in bins, i.e. fit fgb+n0 lgb-n1</span></div>
<div class="line"><a id="l03277" name="l03277"></a><span class="lineno"> 3277</span> <span class="comment">// check 1st entry, i.e. fgb[+n0]</span></div>
<div class="line"><a id="l03278" name="l03278"></a><span class="lineno"> 3278</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03279" name="l03279"></a><span class="lineno"> 3279</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03280" name="l03280"></a><span class="lineno"> 3280</span> Ssiz_t idx = str.First(<span class="stringliteral">&quot;+&quot;</span>);</div>
<div class="line"><a id="l03281" name="l03281"></a><span class="lineno"> 3281</span> TString numStr = str;</div>
<div class="line"><a id="l03282" name="l03282"></a><span class="lineno"> 3282</span> <span class="keywordflow">if</span> (idx &gt; -1) { <span class="comment">// &#39;+&#39; present hence extract n0</span></div>
<div class="line"><a id="l03283" name="l03283"></a><span class="lineno"> 3283</span> numStr.Remove(0,idx+1);</div>
<div class="line"><a id="l03284" name="l03284"></a><span class="lineno"> 3284</span> <span class="keywordflow">if</span> (numStr.IsFloat()) {</div>
<div class="line"><a id="l03285" name="l03285"></a><span class="lineno"> 3285</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#aede891efa2253d429cc5082ff21ebaf8">SetFitRangeOffset</a>(numStr.Atoi(), 0);</div>
<div class="line"><a id="l03286" name="l03286"></a><span class="lineno"> 3286</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03287" name="l03287"></a><span class="lineno"> 3287</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03288" name="l03288"></a><span class="lineno"> 3288</span> }</div>
<div class="line"><a id="l03289" name="l03289"></a><span class="lineno"> 3289</span> } <span class="keywordflow">else</span> { <span class="comment">// n0 == 0</span></div>
<div class="line"><a id="l03290" name="l03290"></a><span class="lineno"> 3290</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#aede891efa2253d429cc5082ff21ebaf8">SetFitRangeOffset</a>(0, 0);</div>
<div class="line"><a id="l03291" name="l03291"></a><span class="lineno"> 3291</span> }</div>
<div class="line"><a id="l03292" name="l03292"></a><span class="lineno"> 3292</span> <span class="comment">// check 2nd entry, i.e. lgb[-n1]</span></div>
<div class="line"><a id="l03293" name="l03293"></a><span class="lineno"> 3293</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2));</div>
<div class="line"><a id="l03294" name="l03294"></a><span class="lineno"> 3294</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03295" name="l03295"></a><span class="lineno"> 3295</span> idx = str.First(<span class="stringliteral">&quot;-&quot;</span>);</div>
<div class="line"><a id="l03296" name="l03296"></a><span class="lineno"> 3296</span> numStr = str;</div>
<div class="line"><a id="l03297" name="l03297"></a><span class="lineno"> 3297</span> <span class="keywordflow">if</span> (idx &gt; -1) { <span class="comment">// &#39;-&#39; present hence extract n1</span></div>
<div class="line"><a id="l03298" name="l03298"></a><span class="lineno"> 3298</span> numStr.Remove(0,idx+1);</div>
<div class="line"><a id="l03299" name="l03299"></a><span class="lineno"> 3299</span> <span class="keywordflow">if</span> (numStr.IsFloat()) {</div>
<div class="line"><a id="l03300" name="l03300"></a><span class="lineno"> 3300</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#aede891efa2253d429cc5082ff21ebaf8">SetFitRangeOffset</a>(numStr.Atoi(), 1);</div>
<div class="line"><a id="l03301" name="l03301"></a><span class="lineno"> 3301</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03302" name="l03302"></a><span class="lineno"> 3302</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03303" name="l03303"></a><span class="lineno"> 3303</span> }</div>
<div class="line"><a id="l03304" name="l03304"></a><span class="lineno"> 3304</span> } <span class="keywordflow">else</span> { <span class="comment">// n0 == 0</span></div>
<div class="line"><a id="l03305" name="l03305"></a><span class="lineno"> 3305</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#aede891efa2253d429cc5082ff21ebaf8">SetFitRangeOffset</a>(0, 0);</div>
<div class="line"><a id="l03306" name="l03306"></a><span class="lineno"> 3306</span> }</div>
<div class="line"><a id="l03307" name="l03307"></a><span class="lineno"> 3307</span> <span class="keywordflow">if</span> (!error)</div>
<div class="line"><a id="l03308" name="l03308"></a><span class="lineno"> 3308</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#a1ea5f7b3f9c87f3b5d4355f03ca11b2b">SetFitRangeInBins</a>(<span class="keyword">true</span>);</div>
<div class="line"><a id="l03309" name="l03309"></a><span class="lineno"> 3309</span> } <span class="keywordflow">else</span> { <span class="comment">// fit given in time, i.e. fit &lt;start&gt; &lt;end&gt;, where &lt;start&gt;, &lt;end&gt; are given as doubles</span></div>
<div class="line"><a id="l03310" name="l03310"></a><span class="lineno"> 3310</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;3; i++) {</div>
<div class="line"><a id="l03311" name="l03311"></a><span class="lineno"> 3311</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03312" name="l03312"></a><span class="lineno"> 3312</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03313" name="l03313"></a><span class="lineno"> 3313</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l03314" name="l03314"></a><span class="lineno"> 3314</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#a23ab4193c35453a46106df857a82474b">SetFitRange</a>(str.Atof(), i-1);</div>
<div class="line"><a id="l03315" name="l03315"></a><span class="lineno"> 3315</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03316" name="l03316"></a><span class="lineno"> 3316</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03317" name="l03317"></a><span class="lineno"> 3317</span> }</div>
<div class="line"><a id="l03318" name="l03318"></a><span class="lineno"> 3318</span> }</div>
<div class="line"><a id="l03319" name="l03319"></a><span class="lineno"> 3319</span> }</div>
<div class="line"><a id="l03320" name="l03320"></a><span class="lineno"> 3320</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;packing&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// packing</span></div>
<div class="line"><a id="l03321" name="l03321"></a><span class="lineno"> 3321</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03322" name="l03322"></a><span class="lineno"> 3322</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03323" name="l03323"></a><span class="lineno"> 3323</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03324" name="l03324"></a><span class="lineno"> 3324</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03325" name="l03325"></a><span class="lineno"> 3325</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03326" name="l03326"></a><span class="lineno"> 3326</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03327" name="l03327"></a><span class="lineno"> 3327</span> ival = str.Atoi();</div>
<div class="line"><a id="l03328" name="l03328"></a><span class="lineno"> 3328</span> <span class="keywordflow">if</span> (ival &gt;= 0) {</div>
<div class="line"><a id="l03329" name="l03329"></a><span class="lineno"> 3329</span> global.<a class="code hl_function" href="classPMsrGlobalBlock.html#ab4ba391cb9a9de6467a356a533e16c82">SetPacking</a>(ival);</div>
<div class="line"><a id="l03330" name="l03330"></a><span class="lineno"> 3330</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03331" name="l03331"></a><span class="lineno"> 3331</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03332" name="l03332"></a><span class="lineno"> 3332</span> }</div>
<div class="line"><a id="l03333" name="l03333"></a><span class="lineno"> 3333</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03334" name="l03334"></a><span class="lineno"> 3334</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03335" name="l03335"></a><span class="lineno"> 3335</span> }</div>
<div class="line"><a id="l03336" name="l03336"></a><span class="lineno"> 3336</span> }</div>
<div class="line"><a id="l03337" name="l03337"></a><span class="lineno"> 3337</span> }</div>
<div class="line"><a id="l03338" name="l03338"></a><span class="lineno"> 3338</span> </div>
<div class="line"><a id="l03339" name="l03339"></a><span class="lineno"> 3339</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l03340" name="l03340"></a><span class="lineno"> 3340</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l03341" name="l03341"></a><span class="lineno"> 3341</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l03342" name="l03342"></a><span class="lineno"> 3342</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l03343" name="l03343"></a><span class="lineno"> 3343</span> }</div>
<div class="line"><a id="l03344" name="l03344"></a><span class="lineno"> 3344</span> </div>
<div class="line"><a id="l03345" name="l03345"></a><span class="lineno"> 3345</span> ++iter;</div>
<div class="line"><a id="l03346" name="l03346"></a><span class="lineno"> 3346</span> }</div>
<div class="line"><a id="l03347" name="l03347"></a><span class="lineno"> 3347</span> </div>
<div class="line"><a id="l03348" name="l03348"></a><span class="lineno"> 3348</span> <span class="keywordflow">if</span> (error) {</div>
<div class="line"><a id="l03349" name="l03349"></a><span class="lineno"> 3349</span> --iter;</div>
<div class="line"><a id="l03350" name="l03350"></a><span class="lineno"> 3350</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l03351" name="l03351"></a><span class="lineno"> 3351</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l03352" name="l03352"></a><span class="lineno"> 3352</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleGlobalEntry: **ERROR** in line &quot;</span> &lt;&lt; iter-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;:\n&quot;</span>;</div>
<div class="line"><a id="l03353" name="l03353"></a><span class="lineno"> 3353</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; &#39;&quot;</span> &lt;&lt; iter-&gt;fLine.Data() &lt;&lt; <span class="stringliteral">&quot;&#39;\n&quot;</span>;</div>
<div class="line"><a id="l03354" name="l03354"></a><span class="lineno"> 3354</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; GLOBAL block syntax is too complex to print it here. Please check the manual.\n&quot;</span>;</div>
<div class="line"><a id="l03355" name="l03355"></a><span class="lineno"> 3355</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l03356" name="l03356"></a><span class="lineno"> 3356</span> } <span class="keywordflow">else</span> { <span class="comment">// save global</span></div>
<div class="line"><a id="l03357" name="l03357"></a><span class="lineno"> 3357</span> <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a> = global;</div>
<div class="line"><a id="l03358" name="l03358"></a><span class="lineno"> 3358</span> }</div>
<div class="line"><a id="l03359" name="l03359"></a><span class="lineno"> 3359</span> </div>
<div class="line"><a id="l03360" name="l03360"></a><span class="lineno"> 3360</span> <span class="keywordflow">return</span> !error;</div>
<div class="line"><a id="l03361" name="l03361"></a><span class="lineno"> 3361</span>}</div>
</div>
<div class="line"><a id="l03362" name="l03362"></a><span class="lineno"> 3362</span> </div>
<div class="line"><a id="l03363" name="l03363"></a><span class="lineno"> 3363</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l03364" name="l03364"></a><span class="lineno"> 3364</span><span class="comment">// HandleRunEntry (private)</span></div>
<div class="line"><a id="l03365" name="l03365"></a><span class="lineno"> 3365</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen03375" data-start="{" data-end="}">
<div class="line"><a id="l03375" name="l03375"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a873e748423c51f35745af6fad626512c"> 3375</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a873e748423c51f35745af6fad626512c">PMsrHandler::HandleRunEntry</a>(<a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;lines)</div>
<div class="line"><a id="l03376" name="l03376"></a><span class="lineno"> 3376</span>{</div>
<div class="line"><a id="l03377" name="l03377"></a><span class="lineno"> 3377</span> PMsrLines::iterator iter;</div>
<div class="line"><a id="l03378" name="l03378"></a><span class="lineno"> 3378</span> <a class="code hl_class" href="classPMsrRunBlock.html">PMsrRunBlock</a> param;</div>
<div class="line"><a id="l03379" name="l03379"></a><span class="lineno"> 3379</span> Bool_t first = <span class="keyword">true</span>; <span class="comment">// first run line tag</span></div>
<div class="line"><a id="l03380" name="l03380"></a><span class="lineno"> 3380</span> Bool_t error = <span class="keyword">false</span>;</div>
<div class="line"><a id="l03381" name="l03381"></a><span class="lineno"> 3381</span> Bool_t runLinePresent = <span class="keyword">false</span>;</div>
<div class="line"><a id="l03382" name="l03382"></a><span class="lineno"> 3382</span> </div>
<div class="line"><a id="l03383" name="l03383"></a><span class="lineno"> 3383</span> TString str, line;</div>
<div class="line"><a id="l03384" name="l03384"></a><span class="lineno"> 3384</span> TObjArray *tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l03385" name="l03385"></a><span class="lineno"> 3385</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l03386" name="l03386"></a><span class="lineno"> 3386</span> </div>
<div class="line"><a id="l03387" name="l03387"></a><span class="lineno"> 3387</span> UInt_t addT0Counter = 0;</div>
<div class="line"><a id="l03388" name="l03388"></a><span class="lineno"> 3388</span> </div>
<div class="line"><a id="l03389" name="l03389"></a><span class="lineno"> 3389</span> Int_t ival;</div>
<div class="line"><a id="l03390" name="l03390"></a><span class="lineno"> 3390</span> Double_t dval; </div>
<div class="line"><a id="l03391" name="l03391"></a><span class="lineno"> 3391</span> </div>
<div class="line"><a id="l03392" name="l03392"></a><span class="lineno"> 3392</span> iter = lines.begin();</div>
<div class="line"><a id="l03393" name="l03393"></a><span class="lineno"> 3393</span> <span class="keywordflow">while</span> ((iter != lines.end()) &amp;&amp; !error) {</div>
<div class="line"><a id="l03394" name="l03394"></a><span class="lineno"> 3394</span> <span class="comment">// remove potential comment at the end of lines</span></div>
<div class="line"><a id="l03395" name="l03395"></a><span class="lineno"> 3395</span> str = iter-&gt;fLine;</div>
<div class="line"><a id="l03396" name="l03396"></a><span class="lineno"> 3396</span> Ssiz_t idx = str.Index(<span class="stringliteral">&quot;#&quot;</span>);</div>
<div class="line"><a id="l03397" name="l03397"></a><span class="lineno"> 3397</span> <span class="keywordflow">if</span> (idx != -1)</div>
<div class="line"><a id="l03398" name="l03398"></a><span class="lineno"> 3398</span> str.Remove(idx);</div>
<div class="line"><a id="l03399" name="l03399"></a><span class="lineno"> 3399</span> idx = str.Index(<span class="stringliteral">&quot;(&quot;</span>);</div>
<div class="line"><a id="l03400" name="l03400"></a><span class="lineno"> 3400</span> <span class="keywordflow">if</span> (idx != -1)</div>
<div class="line"><a id="l03401" name="l03401"></a><span class="lineno"> 3401</span> str.Remove(idx);</div>
<div class="line"><a id="l03402" name="l03402"></a><span class="lineno"> 3402</span> </div>
<div class="line"><a id="l03403" name="l03403"></a><span class="lineno"> 3403</span> <span class="comment">// tokenize line</span></div>
<div class="line"><a id="l03404" name="l03404"></a><span class="lineno"> 3404</span> tokens = str.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l03405" name="l03405"></a><span class="lineno"> 3405</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l03406" name="l03406"></a><span class="lineno"> 3406</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l03407" name="l03407"></a><span class="lineno"> 3407</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l03408" name="l03408"></a><span class="lineno"> 3408</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleRunEntry: **SEVERE ERROR** Couldn&#39;t tokenize Parameters in line &quot;</span> &lt;&lt; iter-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div>
<div class="line"><a id="l03409" name="l03409"></a><span class="lineno"> 3409</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l03410" name="l03410"></a><span class="lineno"> 3410</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l03411" name="l03411"></a><span class="lineno"> 3411</span> }</div>
<div class="line"><a id="l03412" name="l03412"></a><span class="lineno"> 3412</span> </div>
<div class="line"><a id="l03413" name="l03413"></a><span class="lineno"> 3413</span> <span class="comment">// copy of the current line</span></div>
<div class="line"><a id="l03414" name="l03414"></a><span class="lineno"> 3414</span> line = iter-&gt;fLine;</div>
<div class="line"><a id="l03415" name="l03415"></a><span class="lineno"> 3415</span> <span class="comment">// strip leading spaces from the begining</span></div>
<div class="line"><a id="l03416" name="l03416"></a><span class="lineno"> 3416</span> line.Remove(TString::kLeading, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l03417" name="l03417"></a><span class="lineno"> 3417</span> </div>
<div class="line"><a id="l03418" name="l03418"></a><span class="lineno"> 3418</span> <span class="comment">// RUN line ----------------------------------------------</span></div>
<div class="line"><a id="l03419" name="l03419"></a><span class="lineno"> 3419</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;run&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03420" name="l03420"></a><span class="lineno"> 3420</span> </div>
<div class="line"><a id="l03421" name="l03421"></a><span class="lineno"> 3421</span> runLinePresent = <span class="keyword">true</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03422" name="l03422"></a><span class="lineno"> 3422</span> </div>
<div class="line"><a id="l03423" name="l03423"></a><span class="lineno"> 3423</span> <span class="keywordflow">if</span> (!first) { <span class="comment">// not the first run in the list</span></div>
<div class="line"><a id="l03424" name="l03424"></a><span class="lineno"> 3424</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.push_back(param);</div>
<div class="line"><a id="l03425" name="l03425"></a><span class="lineno"> 3425</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a5b0dace287fc95cd8f1b197f2e0b5bb9">CleanUp</a>();</div>
<div class="line"><a id="l03426" name="l03426"></a><span class="lineno"> 3426</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03427" name="l03427"></a><span class="lineno"> 3427</span> first = <span class="keyword">false</span>;</div>
<div class="line"><a id="l03428" name="l03428"></a><span class="lineno"> 3428</span> }</div>
<div class="line"><a id="l03429" name="l03429"></a><span class="lineno"> 3429</span> </div>
<div class="line"><a id="l03430" name="l03430"></a><span class="lineno"> 3430</span> <span class="comment">// get run name, beamline, institute, and file-format</span></div>
<div class="line"><a id="l03431" name="l03431"></a><span class="lineno"> 3431</span> <span class="comment">// the path/filename could potentially contain spaces! Hence the run name needs to be reconstructed from the parsing</span></div>
<div class="line"><a id="l03432" name="l03432"></a><span class="lineno"> 3432</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 5) {</div>
<div class="line"><a id="l03433" name="l03433"></a><span class="lineno"> 3433</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03434" name="l03434"></a><span class="lineno"> 3434</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03435" name="l03435"></a><span class="lineno"> 3435</span> <span class="comment">// run name</span></div>
<div class="line"><a id="l03436" name="l03436"></a><span class="lineno"> 3436</span> str = TString(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l03437" name="l03437"></a><span class="lineno"> 3437</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tokens-&gt;GetEntries()-3; i++) {</div>
<div class="line"><a id="l03438" name="l03438"></a><span class="lineno"> 3438</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03439" name="l03439"></a><span class="lineno"> 3439</span> str += ostr-&gt;GetString();</div>
<div class="line"><a id="l03440" name="l03440"></a><span class="lineno"> 3440</span> <span class="keywordflow">if</span> (i&lt;tokens-&gt;GetEntries()-4)</div>
<div class="line"><a id="l03441" name="l03441"></a><span class="lineno"> 3441</span> str += TString(<span class="stringliteral">&quot; &quot;</span>);</div>
<div class="line"><a id="l03442" name="l03442"></a><span class="lineno"> 3442</span> }</div>
<div class="line"><a id="l03443" name="l03443"></a><span class="lineno"> 3443</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#ab6117e461dbe55be0b5ece5d2c8e13e3">SetRunName</a>(str);</div>
<div class="line"><a id="l03444" name="l03444"></a><span class="lineno"> 3444</span> <span class="comment">// beamline</span></div>
<div class="line"><a id="l03445" name="l03445"></a><span class="lineno"> 3445</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(tokens-&gt;GetEntries()-3));</div>
<div class="line"><a id="l03446" name="l03446"></a><span class="lineno"> 3446</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03447" name="l03447"></a><span class="lineno"> 3447</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a3344bab04054f7e40f07a53a840a58cb">SetBeamline</a>(str);</div>
<div class="line"><a id="l03448" name="l03448"></a><span class="lineno"> 3448</span> <span class="comment">// institute</span></div>
<div class="line"><a id="l03449" name="l03449"></a><span class="lineno"> 3449</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(tokens-&gt;GetEntries()-2));</div>
<div class="line"><a id="l03450" name="l03450"></a><span class="lineno"> 3450</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03451" name="l03451"></a><span class="lineno"> 3451</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#add9cea4d6ba191c335d5fe0a858b8da8">SetInstitute</a>(str);</div>
<div class="line"><a id="l03452" name="l03452"></a><span class="lineno"> 3452</span> <span class="comment">// data file format</span></div>
<div class="line"><a id="l03453" name="l03453"></a><span class="lineno"> 3453</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(tokens-&gt;GetEntries()-1));</div>
<div class="line"><a id="l03454" name="l03454"></a><span class="lineno"> 3454</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03455" name="l03455"></a><span class="lineno"> 3455</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a5de742e81ebac73e46c6f44251bdf5cf">SetFileFormat</a>(str);</div>
<div class="line"><a id="l03456" name="l03456"></a><span class="lineno"> 3456</span> }</div>
<div class="line"><a id="l03457" name="l03457"></a><span class="lineno"> 3457</span> </div>
<div class="line"><a id="l03458" name="l03458"></a><span class="lineno"> 3458</span> addT0Counter = 0; <span class="comment">// reset counter</span></div>
<div class="line"><a id="l03459" name="l03459"></a><span class="lineno"> 3459</span> }</div>
<div class="line"><a id="l03460" name="l03460"></a><span class="lineno"> 3460</span> </div>
<div class="line"><a id="l03461" name="l03461"></a><span class="lineno"> 3461</span> <span class="comment">// ADDRUN line ---------------------------------------------</span></div>
<div class="line"><a id="l03462" name="l03462"></a><span class="lineno"> 3462</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;addrun&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03463" name="l03463"></a><span class="lineno"> 3463</span> </div>
<div class="line"><a id="l03464" name="l03464"></a><span class="lineno"> 3464</span> <span class="keywordflow">if</span> (!runLinePresent) {</div>
<div class="line"><a id="l03465" name="l03465"></a><span class="lineno"> 3465</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l03466" name="l03466"></a><span class="lineno"> 3466</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l03467" name="l03467"></a><span class="lineno"> 3467</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleRunEntry: **ERROR** Found ADDRUN without prior RUN, or\n&quot;</span>;</div>
<div class="line"><a id="l03468" name="l03468"></a><span class="lineno"> 3468</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; ADDRUN lines intercepted by other stuff. All this is not allowed!\n&quot;</span>;</div>
<div class="line"><a id="l03469" name="l03469"></a><span class="lineno"> 3469</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; error in line &quot;</span> &lt;&lt; iter-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l03470" name="l03470"></a><span class="lineno"> 3470</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l03471" name="l03471"></a><span class="lineno"> 3471</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03472" name="l03472"></a><span class="lineno"> 3472</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l03473" name="l03473"></a><span class="lineno"> 3473</span> }</div>
<div class="line"><a id="l03474" name="l03474"></a><span class="lineno"> 3474</span> </div>
<div class="line"><a id="l03475" name="l03475"></a><span class="lineno"> 3475</span> <span class="comment">// get run name, beamline, institute, and file-format</span></div>
<div class="line"><a id="l03476" name="l03476"></a><span class="lineno"> 3476</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 5) {</div>
<div class="line"><a id="l03477" name="l03477"></a><span class="lineno"> 3477</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03478" name="l03478"></a><span class="lineno"> 3478</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03479" name="l03479"></a><span class="lineno"> 3479</span> <span class="comment">// run name</span></div>
<div class="line"><a id="l03480" name="l03480"></a><span class="lineno"> 3480</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03481" name="l03481"></a><span class="lineno"> 3481</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03482" name="l03482"></a><span class="lineno"> 3482</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#ab6117e461dbe55be0b5ece5d2c8e13e3">SetRunName</a>(str);</div>
<div class="line"><a id="l03483" name="l03483"></a><span class="lineno"> 3483</span> <span class="comment">// beamline</span></div>
<div class="line"><a id="l03484" name="l03484"></a><span class="lineno"> 3484</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2));</div>
<div class="line"><a id="l03485" name="l03485"></a><span class="lineno"> 3485</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03486" name="l03486"></a><span class="lineno"> 3486</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a3344bab04054f7e40f07a53a840a58cb">SetBeamline</a>(str);</div>
<div class="line"><a id="l03487" name="l03487"></a><span class="lineno"> 3487</span> <span class="comment">// institute</span></div>
<div class="line"><a id="l03488" name="l03488"></a><span class="lineno"> 3488</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(3));</div>
<div class="line"><a id="l03489" name="l03489"></a><span class="lineno"> 3489</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03490" name="l03490"></a><span class="lineno"> 3490</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#add9cea4d6ba191c335d5fe0a858b8da8">SetInstitute</a>(str);</div>
<div class="line"><a id="l03491" name="l03491"></a><span class="lineno"> 3491</span> <span class="comment">// data file format</span></div>
<div class="line"><a id="l03492" name="l03492"></a><span class="lineno"> 3492</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(4));</div>
<div class="line"><a id="l03493" name="l03493"></a><span class="lineno"> 3493</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03494" name="l03494"></a><span class="lineno"> 3494</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a5de742e81ebac73e46c6f44251bdf5cf">SetFileFormat</a>(str);</div>
<div class="line"><a id="l03495" name="l03495"></a><span class="lineno"> 3495</span> }</div>
<div class="line"><a id="l03496" name="l03496"></a><span class="lineno"> 3496</span> }</div>
<div class="line"><a id="l03497" name="l03497"></a><span class="lineno"> 3497</span> </div>
<div class="line"><a id="l03498" name="l03498"></a><span class="lineno"> 3498</span> <span class="comment">// fittype -------------------------------------------------</span></div>
<div class="line"><a id="l03499" name="l03499"></a><span class="lineno"> 3499</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;fittype&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03500" name="l03500"></a><span class="lineno"> 3500</span> </div>
<div class="line"><a id="l03501" name="l03501"></a><span class="lineno"> 3501</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03502" name="l03502"></a><span class="lineno"> 3502</span> </div>
<div class="line"><a id="l03503" name="l03503"></a><span class="lineno"> 3503</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03504" name="l03504"></a><span class="lineno"> 3504</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03505" name="l03505"></a><span class="lineno"> 3505</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03506" name="l03506"></a><span class="lineno"> 3506</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03507" name="l03507"></a><span class="lineno"> 3507</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03508" name="l03508"></a><span class="lineno"> 3508</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03509" name="l03509"></a><span class="lineno"> 3509</span> Int_t fittype = str.Atoi();</div>
<div class="line"><a id="l03510" name="l03510"></a><span class="lineno"> 3510</span> <span class="keywordflow">if</span> ((fittype == <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a>) ||</div>
<div class="line"><a id="l03511" name="l03511"></a><span class="lineno"> 3511</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>) ||</div>
<div class="line"><a id="l03512" name="l03512"></a><span class="lineno"> 3512</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a>) ||</div>
<div class="line"><a id="l03513" name="l03513"></a><span class="lineno"> 3513</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>) ||</div>
<div class="line"><a id="l03514" name="l03514"></a><span class="lineno"> 3514</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a>) ||</div>
<div class="line"><a id="l03515" name="l03515"></a><span class="lineno"> 3515</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a>) ||</div>
<div class="line"><a id="l03516" name="l03516"></a><span class="lineno"> 3516</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a>)) {</div>
<div class="line"><a id="l03517" name="l03517"></a><span class="lineno"> 3517</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a4415e435212e3491e50b82b95fa102c9">SetFitType</a>(fittype);</div>
<div class="line"><a id="l03518" name="l03518"></a><span class="lineno"> 3518</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03519" name="l03519"></a><span class="lineno"> 3519</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03520" name="l03520"></a><span class="lineno"> 3520</span> }</div>
<div class="line"><a id="l03521" name="l03521"></a><span class="lineno"> 3521</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03522" name="l03522"></a><span class="lineno"> 3522</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03523" name="l03523"></a><span class="lineno"> 3523</span> }</div>
<div class="line"><a id="l03524" name="l03524"></a><span class="lineno"> 3524</span> }</div>
<div class="line"><a id="l03525" name="l03525"></a><span class="lineno"> 3525</span> }</div>
<div class="line"><a id="l03526" name="l03526"></a><span class="lineno"> 3526</span> </div>
<div class="line"><a id="l03527" name="l03527"></a><span class="lineno"> 3527</span> <span class="comment">// alpha -------------------------------------------------</span></div>
<div class="line"><a id="l03528" name="l03528"></a><span class="lineno"> 3528</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;alpha&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03529" name="l03529"></a><span class="lineno"> 3529</span> </div>
<div class="line"><a id="l03530" name="l03530"></a><span class="lineno"> 3530</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03531" name="l03531"></a><span class="lineno"> 3531</span> </div>
<div class="line"><a id="l03532" name="l03532"></a><span class="lineno"> 3532</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03533" name="l03533"></a><span class="lineno"> 3533</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03534" name="l03534"></a><span class="lineno"> 3534</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03535" name="l03535"></a><span class="lineno"> 3535</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03536" name="l03536"></a><span class="lineno"> 3536</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03537" name="l03537"></a><span class="lineno"> 3537</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03538" name="l03538"></a><span class="lineno"> 3538</span> ival = str.Atoi();</div>
<div class="line"><a id="l03539" name="l03539"></a><span class="lineno"> 3539</span> <span class="keywordflow">if</span> (ival &gt; 0)</div>
<div class="line"><a id="l03540" name="l03540"></a><span class="lineno"> 3540</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#ad49cfa5ebe09503607c1e39b25628174">SetAlphaParamNo</a>(ival);</div>
<div class="line"><a id="l03541" name="l03541"></a><span class="lineno"> 3541</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03542" name="l03542"></a><span class="lineno"> 3542</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03543" name="l03543"></a><span class="lineno"> 3543</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;fun&quot;</span>)) {</div>
<div class="line"><a id="l03544" name="l03544"></a><span class="lineno"> 3544</span> Int_t no;</div>
<div class="line"><a id="l03545" name="l03545"></a><span class="lineno"> 3545</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;fun&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>, no))</div>
<div class="line"><a id="l03546" name="l03546"></a><span class="lineno"> 3546</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#ad49cfa5ebe09503607c1e39b25628174">SetAlphaParamNo</a>(no);</div>
<div class="line"><a id="l03547" name="l03547"></a><span class="lineno"> 3547</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03548" name="l03548"></a><span class="lineno"> 3548</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03549" name="l03549"></a><span class="lineno"> 3549</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03550" name="l03550"></a><span class="lineno"> 3550</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03551" name="l03551"></a><span class="lineno"> 3551</span> }</div>
<div class="line"><a id="l03552" name="l03552"></a><span class="lineno"> 3552</span> }</div>
<div class="line"><a id="l03553" name="l03553"></a><span class="lineno"> 3553</span> }</div>
<div class="line"><a id="l03554" name="l03554"></a><span class="lineno"> 3554</span> </div>
<div class="line"><a id="l03555" name="l03555"></a><span class="lineno"> 3555</span> <span class="comment">// beta -------------------------------------------------</span></div>
<div class="line"><a id="l03556" name="l03556"></a><span class="lineno"> 3556</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;beta&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03557" name="l03557"></a><span class="lineno"> 3557</span> </div>
<div class="line"><a id="l03558" name="l03558"></a><span class="lineno"> 3558</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03559" name="l03559"></a><span class="lineno"> 3559</span> </div>
<div class="line"><a id="l03560" name="l03560"></a><span class="lineno"> 3560</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03561" name="l03561"></a><span class="lineno"> 3561</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03562" name="l03562"></a><span class="lineno"> 3562</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03563" name="l03563"></a><span class="lineno"> 3563</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03564" name="l03564"></a><span class="lineno"> 3564</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03565" name="l03565"></a><span class="lineno"> 3565</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03566" name="l03566"></a><span class="lineno"> 3566</span> ival = str.Atoi();</div>
<div class="line"><a id="l03567" name="l03567"></a><span class="lineno"> 3567</span> <span class="keywordflow">if</span> (ival &gt; 0)</div>
<div class="line"><a id="l03568" name="l03568"></a><span class="lineno"> 3568</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#ac78f5087bbfc2d63617b5e3f79d88654">SetBetaParamNo</a>(ival);</div>
<div class="line"><a id="l03569" name="l03569"></a><span class="lineno"> 3569</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03570" name="l03570"></a><span class="lineno"> 3570</span> error = <span class="keyword">true</span>; </div>
<div class="line"><a id="l03571" name="l03571"></a><span class="lineno"> 3571</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;fun&quot;</span>)) {</div>
<div class="line"><a id="l03572" name="l03572"></a><span class="lineno"> 3572</span> Int_t no;</div>
<div class="line"><a id="l03573" name="l03573"></a><span class="lineno"> 3573</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;fun&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>, no))</div>
<div class="line"><a id="l03574" name="l03574"></a><span class="lineno"> 3574</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#ac78f5087bbfc2d63617b5e3f79d88654">SetBetaParamNo</a>(no);</div>
<div class="line"><a id="l03575" name="l03575"></a><span class="lineno"> 3575</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03576" name="l03576"></a><span class="lineno"> 3576</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03577" name="l03577"></a><span class="lineno"> 3577</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03578" name="l03578"></a><span class="lineno"> 3578</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03579" name="l03579"></a><span class="lineno"> 3579</span> }</div>
<div class="line"><a id="l03580" name="l03580"></a><span class="lineno"> 3580</span> }</div>
<div class="line"><a id="l03581" name="l03581"></a><span class="lineno"> 3581</span> }</div>
<div class="line"><a id="l03582" name="l03582"></a><span class="lineno"> 3582</span> </div>
<div class="line"><a id="l03583" name="l03583"></a><span class="lineno"> 3583</span> <span class="comment">// norm -------------------------------------------------</span></div>
<div class="line"><a id="l03584" name="l03584"></a><span class="lineno"> 3584</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;norm&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03585" name="l03585"></a><span class="lineno"> 3585</span> </div>
<div class="line"><a id="l03586" name="l03586"></a><span class="lineno"> 3586</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03587" name="l03587"></a><span class="lineno"> 3587</span> </div>
<div class="line"><a id="l03588" name="l03588"></a><span class="lineno"> 3588</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03589" name="l03589"></a><span class="lineno"> 3589</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03590" name="l03590"></a><span class="lineno"> 3590</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03591" name="l03591"></a><span class="lineno"> 3591</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03592" name="l03592"></a><span class="lineno"> 3592</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03593" name="l03593"></a><span class="lineno"> 3593</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03594" name="l03594"></a><span class="lineno"> 3594</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#aee15618efd5fbcc23a5e4807f7980aa4">SetNormParamNo</a>(str.Atoi());</div>
<div class="line"><a id="l03595" name="l03595"></a><span class="lineno"> 3595</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;fun&quot;</span>)) {</div>
<div class="line"><a id="l03596" name="l03596"></a><span class="lineno"> 3596</span> Int_t no;</div>
<div class="line"><a id="l03597" name="l03597"></a><span class="lineno"> 3597</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;fun&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>, no))</div>
<div class="line"><a id="l03598" name="l03598"></a><span class="lineno"> 3598</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#aee15618efd5fbcc23a5e4807f7980aa4">SetNormParamNo</a>(no);</div>
<div class="line"><a id="l03599" name="l03599"></a><span class="lineno"> 3599</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03600" name="l03600"></a><span class="lineno"> 3600</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03601" name="l03601"></a><span class="lineno"> 3601</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03602" name="l03602"></a><span class="lineno"> 3602</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03603" name="l03603"></a><span class="lineno"> 3603</span> }</div>
<div class="line"><a id="l03604" name="l03604"></a><span class="lineno"> 3604</span> }</div>
<div class="line"><a id="l03605" name="l03605"></a><span class="lineno"> 3605</span> }</div>
<div class="line"><a id="l03606" name="l03606"></a><span class="lineno"> 3606</span> </div>
<div class="line"><a id="l03607" name="l03607"></a><span class="lineno"> 3607</span> <span class="comment">// backgr.fit --------------------------------------------</span></div>
<div class="line"><a id="l03608" name="l03608"></a><span class="lineno"> 3608</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;backgr.fit&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03609" name="l03609"></a><span class="lineno"> 3609</span> </div>
<div class="line"><a id="l03610" name="l03610"></a><span class="lineno"> 3610</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03611" name="l03611"></a><span class="lineno"> 3611</span> </div>
<div class="line"><a id="l03612" name="l03612"></a><span class="lineno"> 3612</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03613" name="l03613"></a><span class="lineno"> 3613</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03614" name="l03614"></a><span class="lineno"> 3614</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03615" name="l03615"></a><span class="lineno"> 3615</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03616" name="l03616"></a><span class="lineno"> 3616</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03617" name="l03617"></a><span class="lineno"> 3617</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03618" name="l03618"></a><span class="lineno"> 3618</span> ival = str.Atoi();</div>
<div class="line"><a id="l03619" name="l03619"></a><span class="lineno"> 3619</span> <span class="keywordflow">if</span> (ival &gt; 0)</div>
<div class="line"><a id="l03620" name="l03620"></a><span class="lineno"> 3620</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#aacda03c696ea44af482906569be298b1">SetBkgFitParamNo</a>(ival);</div>
<div class="line"><a id="l03621" name="l03621"></a><span class="lineno"> 3621</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03622" name="l03622"></a><span class="lineno"> 3622</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03623" name="l03623"></a><span class="lineno"> 3623</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03624" name="l03624"></a><span class="lineno"> 3624</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03625" name="l03625"></a><span class="lineno"> 3625</span> }</div>
<div class="line"><a id="l03626" name="l03626"></a><span class="lineno"> 3626</span> }</div>
<div class="line"><a id="l03627" name="l03627"></a><span class="lineno"> 3627</span> }</div>
<div class="line"><a id="l03628" name="l03628"></a><span class="lineno"> 3628</span> </div>
<div class="line"><a id="l03629" name="l03629"></a><span class="lineno"> 3629</span> <span class="comment">// lifetime ------------------------------------------------</span></div>
<div class="line"><a id="l03630" name="l03630"></a><span class="lineno"> 3630</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;lifetime &quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03631" name="l03631"></a><span class="lineno"> 3631</span> </div>
<div class="line"><a id="l03632" name="l03632"></a><span class="lineno"> 3632</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03633" name="l03633"></a><span class="lineno"> 3633</span> </div>
<div class="line"><a id="l03634" name="l03634"></a><span class="lineno"> 3634</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03635" name="l03635"></a><span class="lineno"> 3635</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03636" name="l03636"></a><span class="lineno"> 3636</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03637" name="l03637"></a><span class="lineno"> 3637</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03638" name="l03638"></a><span class="lineno"> 3638</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03639" name="l03639"></a><span class="lineno"> 3639</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03640" name="l03640"></a><span class="lineno"> 3640</span> ival = str.Atoi();</div>
<div class="line"><a id="l03641" name="l03641"></a><span class="lineno"> 3641</span> <span class="keywordflow">if</span> (ival &gt; 0)</div>
<div class="line"><a id="l03642" name="l03642"></a><span class="lineno"> 3642</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a049d76f0615256fceec7321f0a734033">SetLifetimeParamNo</a>(ival);</div>
<div class="line"><a id="l03643" name="l03643"></a><span class="lineno"> 3643</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03644" name="l03644"></a><span class="lineno"> 3644</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03645" name="l03645"></a><span class="lineno"> 3645</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03646" name="l03646"></a><span class="lineno"> 3646</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03647" name="l03647"></a><span class="lineno"> 3647</span> }</div>
<div class="line"><a id="l03648" name="l03648"></a><span class="lineno"> 3648</span> }</div>
<div class="line"><a id="l03649" name="l03649"></a><span class="lineno"> 3649</span> }</div>
<div class="line"><a id="l03650" name="l03650"></a><span class="lineno"> 3650</span> </div>
<div class="line"><a id="l03651" name="l03651"></a><span class="lineno"> 3651</span> <span class="comment">// lifetimecorrection ---------------------------------------</span></div>
<div class="line"><a id="l03652" name="l03652"></a><span class="lineno"> 3652</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;lifetimecorrection&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03653" name="l03653"></a><span class="lineno"> 3653</span> </div>
<div class="line"><a id="l03654" name="l03654"></a><span class="lineno"> 3654</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03655" name="l03655"></a><span class="lineno"> 3655</span> </div>
<div class="line"><a id="l03656" name="l03656"></a><span class="lineno"> 3656</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a928442354428bd8488b529c4a86f7a72">SetLifetimeCorrection</a>(<span class="keyword">true</span>);</div>
<div class="line"><a id="l03657" name="l03657"></a><span class="lineno"> 3657</span> }</div>
<div class="line"><a id="l03658" name="l03658"></a><span class="lineno"> 3658</span> </div>
<div class="line"><a id="l03659" name="l03659"></a><span class="lineno"> 3659</span> <span class="comment">// map ------------------------------------------------------</span></div>
<div class="line"><a id="l03660" name="l03660"></a><span class="lineno"> 3660</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;map&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03661" name="l03661"></a><span class="lineno"> 3661</span> </div>
<div class="line"><a id="l03662" name="l03662"></a><span class="lineno"> 3662</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03663" name="l03663"></a><span class="lineno"> 3663</span> </div>
<div class="line"><a id="l03664" name="l03664"></a><span class="lineno"> 3664</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tokens-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l03665" name="l03665"></a><span class="lineno"> 3665</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03666" name="l03666"></a><span class="lineno"> 3666</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03667" name="l03667"></a><span class="lineno"> 3667</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03668" name="l03668"></a><span class="lineno"> 3668</span> ival = str.Atoi();</div>
<div class="line"><a id="l03669" name="l03669"></a><span class="lineno"> 3669</span> <span class="keywordflow">if</span> (ival &gt;= 0)</div>
<div class="line"><a id="l03670" name="l03670"></a><span class="lineno"> 3670</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a7c0801d01ded655d142a6d08ec944e53">SetMap</a>(ival);</div>
<div class="line"><a id="l03671" name="l03671"></a><span class="lineno"> 3671</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03672" name="l03672"></a><span class="lineno"> 3672</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03673" name="l03673"></a><span class="lineno"> 3673</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03674" name="l03674"></a><span class="lineno"> 3674</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03675" name="l03675"></a><span class="lineno"> 3675</span> }</div>
<div class="line"><a id="l03676" name="l03676"></a><span class="lineno"> 3676</span> }</div>
<div class="line"><a id="l03677" name="l03677"></a><span class="lineno"> 3677</span> <span class="comment">// check map entries, i.e. if the map values are within parameter bounds</span></div>
<div class="line"><a id="l03678" name="l03678"></a><span class="lineno"> 3678</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>) {</div>
<div class="line"><a id="l03679" name="l03679"></a><span class="lineno"> 3679</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;param.<a class="code hl_function" href="classPMsrRunBlock.html#a02c15aace888f38a8fdf646d9ef3d6d2">GetMap</a>()-&gt;size(); i++) {</div>
<div class="line"><a id="l03680" name="l03680"></a><span class="lineno"> 3680</span> <span class="keywordflow">if</span> ((param.<a class="code hl_function" href="classPMsrRunBlock.html#a02c15aace888f38a8fdf646d9ef3d6d2">GetMap</a>(i) &lt; 0) || (param.<a class="code hl_function" href="classPMsrRunBlock.html#a02c15aace888f38a8fdf646d9ef3d6d2">GetMap</a>(i) &gt; <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size()))) {</div>
<div class="line"><a id="l03681" name="l03681"></a><span class="lineno"> 3681</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l03682" name="l03682"></a><span class="lineno"> 3682</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l03683" name="l03683"></a><span class="lineno"> 3683</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleRunEntry: **SEVERE ERROR** map value &quot;</span> &lt;&lt; param.<a class="code hl_function" href="classPMsrRunBlock.html#a02c15aace888f38a8fdf646d9ef3d6d2">GetMap</a>(i) &lt;&lt; <span class="stringliteral">&quot; in line &quot;</span> &lt;&lt; iter-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot; is out of range!\n&quot;</span>;</div>
<div class="line"><a id="l03684" name="l03684"></a><span class="lineno"> 3684</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l03685" name="l03685"></a><span class="lineno"> 3685</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03686" name="l03686"></a><span class="lineno"> 3686</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l03687" name="l03687"></a><span class="lineno"> 3687</span> }</div>
<div class="line"><a id="l03688" name="l03688"></a><span class="lineno"> 3688</span> }</div>
<div class="line"><a id="l03689" name="l03689"></a><span class="lineno"> 3689</span> }</div>
<div class="line"><a id="l03690" name="l03690"></a><span class="lineno"> 3690</span> }</div>
<div class="line"><a id="l03691" name="l03691"></a><span class="lineno"> 3691</span> </div>
<div class="line"><a id="l03692" name="l03692"></a><span class="lineno"> 3692</span> <span class="comment">// forward ------------------------------------------------</span></div>
<div class="line"><a id="l03693" name="l03693"></a><span class="lineno"> 3693</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;forward&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03694" name="l03694"></a><span class="lineno"> 3694</span> </div>
<div class="line"><a id="l03695" name="l03695"></a><span class="lineno"> 3695</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03696" name="l03696"></a><span class="lineno"> 3696</span> </div>
<div class="line"><a id="l03697" name="l03697"></a><span class="lineno"> 3697</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03698" name="l03698"></a><span class="lineno"> 3698</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03699" name="l03699"></a><span class="lineno"> 3699</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03700" name="l03700"></a><span class="lineno"> 3700</span> <a class="code hl_typedef" href="PMusr_8h.html#a01eec7e896afb5c4601dea91ee31477b">PUIntVector</a> group;</div>
<div class="line"><a id="l03701" name="l03701"></a><span class="lineno"> 3701</span> str = iter-&gt;fLine;</div>
<div class="line"><a id="l03702" name="l03702"></a><span class="lineno"> 3702</span> std::unique_ptr&lt;PStringNumberList&gt; rl = std::make_unique&lt;PStringNumberList&gt;(str.Data());</div>
<div class="line"><a id="l03703" name="l03703"></a><span class="lineno"> 3703</span> std::string errorMsg(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l03704" name="l03704"></a><span class="lineno"> 3704</span> <span class="keywordflow">if</span> (rl-&gt;Parse(errorMsg, <span class="keyword">true</span>)) {</div>
<div class="line"><a id="l03705" name="l03705"></a><span class="lineno"> 3705</span> group = rl-&gt;GetList();</div>
<div class="line"><a id="l03706" name="l03706"></a><span class="lineno"> 3706</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;group.size(); i++) {</div>
<div class="line"><a id="l03707" name="l03707"></a><span class="lineno"> 3707</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#af677aae7670b53e70cb426523912464c">SetForwardHistoNo</a>(group[i]);</div>
<div class="line"><a id="l03708" name="l03708"></a><span class="lineno"> 3708</span> }</div>
<div class="line"><a id="l03709" name="l03709"></a><span class="lineno"> 3709</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03710" name="l03710"></a><span class="lineno"> 3710</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03711" name="l03711"></a><span class="lineno"> 3711</span> }</div>
<div class="line"><a id="l03712" name="l03712"></a><span class="lineno"> 3712</span> group.clear();</div>
<div class="line"><a id="l03713" name="l03713"></a><span class="lineno"> 3713</span> }</div>
<div class="line"><a id="l03714" name="l03714"></a><span class="lineno"> 3714</span> }</div>
<div class="line"><a id="l03715" name="l03715"></a><span class="lineno"> 3715</span> </div>
<div class="line"><a id="l03716" name="l03716"></a><span class="lineno"> 3716</span> <span class="comment">// backward -----------------------------------------------</span></div>
<div class="line"><a id="l03717" name="l03717"></a><span class="lineno"> 3717</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;backward&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03718" name="l03718"></a><span class="lineno"> 3718</span> </div>
<div class="line"><a id="l03719" name="l03719"></a><span class="lineno"> 3719</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03720" name="l03720"></a><span class="lineno"> 3720</span> </div>
<div class="line"><a id="l03721" name="l03721"></a><span class="lineno"> 3721</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03722" name="l03722"></a><span class="lineno"> 3722</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03723" name="l03723"></a><span class="lineno"> 3723</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03724" name="l03724"></a><span class="lineno"> 3724</span> <a class="code hl_typedef" href="PMusr_8h.html#a01eec7e896afb5c4601dea91ee31477b">PUIntVector</a> group;</div>
<div class="line"><a id="l03725" name="l03725"></a><span class="lineno"> 3725</span> str = iter-&gt;fLine;</div>
<div class="line"><a id="l03726" name="l03726"></a><span class="lineno"> 3726</span> std::unique_ptr&lt;PStringNumberList&gt; rl = std::make_unique&lt;PStringNumberList&gt;(str.Data());</div>
<div class="line"><a id="l03727" name="l03727"></a><span class="lineno"> 3727</span> std::string errorMsg(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l03728" name="l03728"></a><span class="lineno"> 3728</span> <span class="keywordflow">if</span> (rl-&gt;Parse(errorMsg, <span class="keyword">true</span>)) {</div>
<div class="line"><a id="l03729" name="l03729"></a><span class="lineno"> 3729</span> group = rl-&gt;GetList();</div>
<div class="line"><a id="l03730" name="l03730"></a><span class="lineno"> 3730</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;group.size(); i++) {</div>
<div class="line"><a id="l03731" name="l03731"></a><span class="lineno"> 3731</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#ab1ccb75d8f6520c29e19f3e6c40aa607">SetBackwardHistoNo</a>(group[i]);</div>
<div class="line"><a id="l03732" name="l03732"></a><span class="lineno"> 3732</span> }</div>
<div class="line"><a id="l03733" name="l03733"></a><span class="lineno"> 3733</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03734" name="l03734"></a><span class="lineno"> 3734</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03735" name="l03735"></a><span class="lineno"> 3735</span> }</div>
<div class="line"><a id="l03736" name="l03736"></a><span class="lineno"> 3736</span> group.clear();</div>
<div class="line"><a id="l03737" name="l03737"></a><span class="lineno"> 3737</span> }</div>
<div class="line"><a id="l03738" name="l03738"></a><span class="lineno"> 3738</span> }</div>
<div class="line"><a id="l03739" name="l03739"></a><span class="lineno"> 3739</span> </div>
<div class="line"><a id="l03740" name="l03740"></a><span class="lineno"> 3740</span> <span class="comment">// backgr.fix ----------------------------------------------</span></div>
<div class="line"><a id="l03741" name="l03741"></a><span class="lineno"> 3741</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;backgr.fix&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03742" name="l03742"></a><span class="lineno"> 3742</span> </div>
<div class="line"><a id="l03743" name="l03743"></a><span class="lineno"> 3743</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03744" name="l03744"></a><span class="lineno"> 3744</span> </div>
<div class="line"><a id="l03745" name="l03745"></a><span class="lineno"> 3745</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03746" name="l03746"></a><span class="lineno"> 3746</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03747" name="l03747"></a><span class="lineno"> 3747</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03748" name="l03748"></a><span class="lineno"> 3748</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tokens-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l03749" name="l03749"></a><span class="lineno"> 3749</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03750" name="l03750"></a><span class="lineno"> 3750</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03751" name="l03751"></a><span class="lineno"> 3751</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l03752" name="l03752"></a><span class="lineno"> 3752</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a35991249cd157f495d7d90ffac8a47e7">SetBkgFix</a>(str.Atof(), i-1);</div>
<div class="line"><a id="l03753" name="l03753"></a><span class="lineno"> 3753</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03754" name="l03754"></a><span class="lineno"> 3754</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03755" name="l03755"></a><span class="lineno"> 3755</span> }</div>
<div class="line"><a id="l03756" name="l03756"></a><span class="lineno"> 3756</span> }</div>
<div class="line"><a id="l03757" name="l03757"></a><span class="lineno"> 3757</span> }</div>
<div class="line"><a id="l03758" name="l03758"></a><span class="lineno"> 3758</span> </div>
<div class="line"><a id="l03759" name="l03759"></a><span class="lineno"> 3759</span> <span class="comment">// background ---------------------------------------------</span></div>
<div class="line"><a id="l03760" name="l03760"></a><span class="lineno"> 3760</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;background&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03761" name="l03761"></a><span class="lineno"> 3761</span> </div>
<div class="line"><a id="l03762" name="l03762"></a><span class="lineno"> 3762</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03763" name="l03763"></a><span class="lineno"> 3763</span> </div>
<div class="line"><a id="l03764" name="l03764"></a><span class="lineno"> 3764</span> <span class="keywordflow">if</span> ((tokens-&gt;GetEntries() &lt; 3) || (tokens-&gt;GetEntries() % 2 != 1)) { <span class="comment">// odd number (&gt;=3) of entries needed</span></div>
<div class="line"><a id="l03765" name="l03765"></a><span class="lineno"> 3765</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03766" name="l03766"></a><span class="lineno"> 3766</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03767" name="l03767"></a><span class="lineno"> 3767</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tokens-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l03768" name="l03768"></a><span class="lineno"> 3768</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03769" name="l03769"></a><span class="lineno"> 3769</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03770" name="l03770"></a><span class="lineno"> 3770</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03771" name="l03771"></a><span class="lineno"> 3771</span> ival = str.Atoi();</div>
<div class="line"><a id="l03772" name="l03772"></a><span class="lineno"> 3772</span> <span class="keywordflow">if</span> (ival &gt; 0)</div>
<div class="line"><a id="l03773" name="l03773"></a><span class="lineno"> 3773</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#ad52fac95d967cb190d7d66594fa55e97">SetBkgRange</a>(ival, i-1);</div>
<div class="line"><a id="l03774" name="l03774"></a><span class="lineno"> 3774</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03775" name="l03775"></a><span class="lineno"> 3775</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03776" name="l03776"></a><span class="lineno"> 3776</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03777" name="l03777"></a><span class="lineno"> 3777</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03778" name="l03778"></a><span class="lineno"> 3778</span> }</div>
<div class="line"><a id="l03779" name="l03779"></a><span class="lineno"> 3779</span> }</div>
<div class="line"><a id="l03780" name="l03780"></a><span class="lineno"> 3780</span> }</div>
<div class="line"><a id="l03781" name="l03781"></a><span class="lineno"> 3781</span> }</div>
<div class="line"><a id="l03782" name="l03782"></a><span class="lineno"> 3782</span> </div>
<div class="line"><a id="l03783" name="l03783"></a><span class="lineno"> 3783</span> <span class="comment">// data --------------------------------------------------</span></div>
<div class="line"><a id="l03784" name="l03784"></a><span class="lineno"> 3784</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;data&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03785" name="l03785"></a><span class="lineno"> 3785</span> </div>
<div class="line"><a id="l03786" name="l03786"></a><span class="lineno"> 3786</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03787" name="l03787"></a><span class="lineno"> 3787</span> </div>
<div class="line"><a id="l03788" name="l03788"></a><span class="lineno"> 3788</span> <span class="keywordflow">if</span> ((tokens-&gt;GetEntries() &lt; 3) || (tokens-&gt;GetEntries() % 2 != 1)) { <span class="comment">// odd number (&gt;=3) of entries needed</span></div>
<div class="line"><a id="l03789" name="l03789"></a><span class="lineno"> 3789</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03790" name="l03790"></a><span class="lineno"> 3790</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03791" name="l03791"></a><span class="lineno"> 3791</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tokens-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l03792" name="l03792"></a><span class="lineno"> 3792</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03793" name="l03793"></a><span class="lineno"> 3793</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03794" name="l03794"></a><span class="lineno"> 3794</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03795" name="l03795"></a><span class="lineno"> 3795</span> ival = str.Atoi();</div>
<div class="line"><a id="l03796" name="l03796"></a><span class="lineno"> 3796</span> <span class="keywordflow">if</span> (ival &gt; 0)</div>
<div class="line"><a id="l03797" name="l03797"></a><span class="lineno"> 3797</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#ab222a210d3cbea75928631bad4d82ab9">SetDataRange</a>(ival, i-1);</div>
<div class="line"><a id="l03798" name="l03798"></a><span class="lineno"> 3798</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03799" name="l03799"></a><span class="lineno"> 3799</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03800" name="l03800"></a><span class="lineno"> 3800</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03801" name="l03801"></a><span class="lineno"> 3801</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03802" name="l03802"></a><span class="lineno"> 3802</span> }</div>
<div class="line"><a id="l03803" name="l03803"></a><span class="lineno"> 3803</span> }</div>
<div class="line"><a id="l03804" name="l03804"></a><span class="lineno"> 3804</span> }</div>
<div class="line"><a id="l03805" name="l03805"></a><span class="lineno"> 3805</span> }</div>
<div class="line"><a id="l03806" name="l03806"></a><span class="lineno"> 3806</span> </div>
<div class="line"><a id="l03807" name="l03807"></a><span class="lineno"> 3807</span> <span class="comment">// t0 -----------------------------------------------------</span></div>
<div class="line"><a id="l03808" name="l03808"></a><span class="lineno"> 3808</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;t0&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03809" name="l03809"></a><span class="lineno"> 3809</span> </div>
<div class="line"><a id="l03810" name="l03810"></a><span class="lineno"> 3810</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03811" name="l03811"></a><span class="lineno"> 3811</span> </div>
<div class="line"><a id="l03812" name="l03812"></a><span class="lineno"> 3812</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03813" name="l03813"></a><span class="lineno"> 3813</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03814" name="l03814"></a><span class="lineno"> 3814</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03815" name="l03815"></a><span class="lineno"> 3815</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tokens-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l03816" name="l03816"></a><span class="lineno"> 3816</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03817" name="l03817"></a><span class="lineno"> 3817</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03818" name="l03818"></a><span class="lineno"> 3818</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l03819" name="l03819"></a><span class="lineno"> 3819</span> dval = str.Atof();</div>
<div class="line"><a id="l03820" name="l03820"></a><span class="lineno"> 3820</span> <span class="keywordflow">if</span> (dval &gt;= 0.0)</div>
<div class="line"><a id="l03821" name="l03821"></a><span class="lineno"> 3821</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a9c78e217bed7559bf143ad137033e476">SetT0Bin</a>(dval);</div>
<div class="line"><a id="l03822" name="l03822"></a><span class="lineno"> 3822</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03823" name="l03823"></a><span class="lineno"> 3823</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03824" name="l03824"></a><span class="lineno"> 3824</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03825" name="l03825"></a><span class="lineno"> 3825</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03826" name="l03826"></a><span class="lineno"> 3826</span> }</div>
<div class="line"><a id="l03827" name="l03827"></a><span class="lineno"> 3827</span> }</div>
<div class="line"><a id="l03828" name="l03828"></a><span class="lineno"> 3828</span> }</div>
<div class="line"><a id="l03829" name="l03829"></a><span class="lineno"> 3829</span> }</div>
<div class="line"><a id="l03830" name="l03830"></a><span class="lineno"> 3830</span> </div>
<div class="line"><a id="l03831" name="l03831"></a><span class="lineno"> 3831</span> <span class="comment">// addt0 -----------------------------------------------------</span></div>
<div class="line"><a id="l03832" name="l03832"></a><span class="lineno"> 3832</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;addt0&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03833" name="l03833"></a><span class="lineno"> 3833</span> </div>
<div class="line"><a id="l03834" name="l03834"></a><span class="lineno"> 3834</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03835" name="l03835"></a><span class="lineno"> 3835</span> </div>
<div class="line"><a id="l03836" name="l03836"></a><span class="lineno"> 3836</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l03837" name="l03837"></a><span class="lineno"> 3837</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03838" name="l03838"></a><span class="lineno"> 3838</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03839" name="l03839"></a><span class="lineno"> 3839</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tokens-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l03840" name="l03840"></a><span class="lineno"> 3840</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03841" name="l03841"></a><span class="lineno"> 3841</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03842" name="l03842"></a><span class="lineno"> 3842</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l03843" name="l03843"></a><span class="lineno"> 3843</span> dval = str.Atof();</div>
<div class="line"><a id="l03844" name="l03844"></a><span class="lineno"> 3844</span> <span class="keywordflow">if</span> (dval &gt;= 0.0)</div>
<div class="line"><a id="l03845" name="l03845"></a><span class="lineno"> 3845</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#af9c7a5d82e508272c42266783f369782">SetAddT0Bin</a>(dval, addT0Counter, i-1);</div>
<div class="line"><a id="l03846" name="l03846"></a><span class="lineno"> 3846</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03847" name="l03847"></a><span class="lineno"> 3847</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03848" name="l03848"></a><span class="lineno"> 3848</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03849" name="l03849"></a><span class="lineno"> 3849</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03850" name="l03850"></a><span class="lineno"> 3850</span> }</div>
<div class="line"><a id="l03851" name="l03851"></a><span class="lineno"> 3851</span> }</div>
<div class="line"><a id="l03852" name="l03852"></a><span class="lineno"> 3852</span> }</div>
<div class="line"><a id="l03853" name="l03853"></a><span class="lineno"> 3853</span> </div>
<div class="line"><a id="l03854" name="l03854"></a><span class="lineno"> 3854</span> addT0Counter++;</div>
<div class="line"><a id="l03855" name="l03855"></a><span class="lineno"> 3855</span> }</div>
<div class="line"><a id="l03856" name="l03856"></a><span class="lineno"> 3856</span> </div>
<div class="line"><a id="l03857" name="l03857"></a><span class="lineno"> 3857</span> <span class="comment">// fit -----------------------------------------------------</span></div>
<div class="line"><a id="l03858" name="l03858"></a><span class="lineno"> 3858</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;fit &quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03859" name="l03859"></a><span class="lineno"> 3859</span> </div>
<div class="line"><a id="l03860" name="l03860"></a><span class="lineno"> 3860</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03861" name="l03861"></a><span class="lineno"> 3861</span> </div>
<div class="line"><a id="l03862" name="l03862"></a><span class="lineno"> 3862</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 3) {</div>
<div class="line"><a id="l03863" name="l03863"></a><span class="lineno"> 3863</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03864" name="l03864"></a><span class="lineno"> 3864</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03865" name="l03865"></a><span class="lineno"> 3865</span> <span class="keywordflow">if</span> (iter-&gt;fLine.Contains(<span class="stringliteral">&quot;fgb&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// fit given in bins, i.e. fit fgb+n0 lgb-n1</span></div>
<div class="line"><a id="l03866" name="l03866"></a><span class="lineno"> 3866</span> <span class="comment">// check 1st entry, i.e. fgb[+n0]</span></div>
<div class="line"><a id="l03867" name="l03867"></a><span class="lineno"> 3867</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03868" name="l03868"></a><span class="lineno"> 3868</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03869" name="l03869"></a><span class="lineno"> 3869</span> Ssiz_t idx = str.First(<span class="stringliteral">&quot;+&quot;</span>);</div>
<div class="line"><a id="l03870" name="l03870"></a><span class="lineno"> 3870</span> TString numStr = str;</div>
<div class="line"><a id="l03871" name="l03871"></a><span class="lineno"> 3871</span> <span class="keywordflow">if</span> (idx &gt; -1) { <span class="comment">// &#39;+&#39; present hence extract n0</span></div>
<div class="line"><a id="l03872" name="l03872"></a><span class="lineno"> 3872</span> numStr.Remove(0,idx+1);</div>
<div class="line"><a id="l03873" name="l03873"></a><span class="lineno"> 3873</span> <span class="keywordflow">if</span> (numStr.IsFloat()) {</div>
<div class="line"><a id="l03874" name="l03874"></a><span class="lineno"> 3874</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a270ddf17715644ba7d22ef38452546f8">SetFitRangeOffset</a>(numStr.Atoi(), 0);</div>
<div class="line"><a id="l03875" name="l03875"></a><span class="lineno"> 3875</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03876" name="l03876"></a><span class="lineno"> 3876</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03877" name="l03877"></a><span class="lineno"> 3877</span> }</div>
<div class="line"><a id="l03878" name="l03878"></a><span class="lineno"> 3878</span> } <span class="keywordflow">else</span> { <span class="comment">// n0 == 0</span></div>
<div class="line"><a id="l03879" name="l03879"></a><span class="lineno"> 3879</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a270ddf17715644ba7d22ef38452546f8">SetFitRangeOffset</a>(0, 0);</div>
<div class="line"><a id="l03880" name="l03880"></a><span class="lineno"> 3880</span> }</div>
<div class="line"><a id="l03881" name="l03881"></a><span class="lineno"> 3881</span> <span class="comment">// check 2nd entry, i.e. lgb[-n1]</span></div>
<div class="line"><a id="l03882" name="l03882"></a><span class="lineno"> 3882</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2));</div>
<div class="line"><a id="l03883" name="l03883"></a><span class="lineno"> 3883</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03884" name="l03884"></a><span class="lineno"> 3884</span> idx = str.First(<span class="stringliteral">&quot;-&quot;</span>);</div>
<div class="line"><a id="l03885" name="l03885"></a><span class="lineno"> 3885</span> numStr = str;</div>
<div class="line"><a id="l03886" name="l03886"></a><span class="lineno"> 3886</span> <span class="keywordflow">if</span> (idx &gt; -1) { <span class="comment">// &#39;-&#39; present hence extract n1</span></div>
<div class="line"><a id="l03887" name="l03887"></a><span class="lineno"> 3887</span> numStr.Remove(0,idx+1);</div>
<div class="line"><a id="l03888" name="l03888"></a><span class="lineno"> 3888</span> <span class="keywordflow">if</span> (numStr.IsFloat()) {</div>
<div class="line"><a id="l03889" name="l03889"></a><span class="lineno"> 3889</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a270ddf17715644ba7d22ef38452546f8">SetFitRangeOffset</a>(numStr.Atoi(), 1);</div>
<div class="line"><a id="l03890" name="l03890"></a><span class="lineno"> 3890</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03891" name="l03891"></a><span class="lineno"> 3891</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03892" name="l03892"></a><span class="lineno"> 3892</span> }</div>
<div class="line"><a id="l03893" name="l03893"></a><span class="lineno"> 3893</span> } <span class="keywordflow">else</span> { <span class="comment">// n0 == 0</span></div>
<div class="line"><a id="l03894" name="l03894"></a><span class="lineno"> 3894</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a270ddf17715644ba7d22ef38452546f8">SetFitRangeOffset</a>(0, 0);</div>
<div class="line"><a id="l03895" name="l03895"></a><span class="lineno"> 3895</span> }</div>
<div class="line"><a id="l03896" name="l03896"></a><span class="lineno"> 3896</span> </div>
<div class="line"><a id="l03897" name="l03897"></a><span class="lineno"> 3897</span> <span class="keywordflow">if</span> (!error)</div>
<div class="line"><a id="l03898" name="l03898"></a><span class="lineno"> 3898</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#af07f59cb453d538f6a6bbd5761701214">SetFitRangeInBins</a>(<span class="keyword">true</span>);</div>
<div class="line"><a id="l03899" name="l03899"></a><span class="lineno"> 3899</span> } <span class="keywordflow">else</span> { <span class="comment">// fit given in time, i.e. fit &lt;start&gt; &lt;end&gt;, where &lt;start&gt;, &lt;end&gt; are given as doubles</span></div>
<div class="line"><a id="l03900" name="l03900"></a><span class="lineno"> 3900</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;3; i++) {</div>
<div class="line"><a id="l03901" name="l03901"></a><span class="lineno"> 3901</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l03902" name="l03902"></a><span class="lineno"> 3902</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03903" name="l03903"></a><span class="lineno"> 3903</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l03904" name="l03904"></a><span class="lineno"> 3904</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a5861e51757f708b7278e40691d9d8915">SetFitRange</a>(str.Atof(), i-1);</div>
<div class="line"><a id="l03905" name="l03905"></a><span class="lineno"> 3905</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03906" name="l03906"></a><span class="lineno"> 3906</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03907" name="l03907"></a><span class="lineno"> 3907</span> }</div>
<div class="line"><a id="l03908" name="l03908"></a><span class="lineno"> 3908</span> }</div>
<div class="line"><a id="l03909" name="l03909"></a><span class="lineno"> 3909</span> }</div>
<div class="line"><a id="l03910" name="l03910"></a><span class="lineno"> 3910</span> }</div>
<div class="line"><a id="l03911" name="l03911"></a><span class="lineno"> 3911</span> </div>
<div class="line"><a id="l03912" name="l03912"></a><span class="lineno"> 3912</span> <span class="comment">// packing --------------------------------------------------</span></div>
<div class="line"><a id="l03913" name="l03913"></a><span class="lineno"> 3913</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;packing&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03914" name="l03914"></a><span class="lineno"> 3914</span> </div>
<div class="line"><a id="l03915" name="l03915"></a><span class="lineno"> 3915</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03916" name="l03916"></a><span class="lineno"> 3916</span> </div>
<div class="line"><a id="l03917" name="l03917"></a><span class="lineno"> 3917</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() != 2) {</div>
<div class="line"><a id="l03918" name="l03918"></a><span class="lineno"> 3918</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03919" name="l03919"></a><span class="lineno"> 3919</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03920" name="l03920"></a><span class="lineno"> 3920</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03921" name="l03921"></a><span class="lineno"> 3921</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03922" name="l03922"></a><span class="lineno"> 3922</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03923" name="l03923"></a><span class="lineno"> 3923</span> ival = str.Atoi();</div>
<div class="line"><a id="l03924" name="l03924"></a><span class="lineno"> 3924</span> <span class="keywordflow">if</span> (ival &gt; 0)</div>
<div class="line"><a id="l03925" name="l03925"></a><span class="lineno"> 3925</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a926c6320e89b6e28dc6e0305e62f6a16">SetPacking</a>(ival);</div>
<div class="line"><a id="l03926" name="l03926"></a><span class="lineno"> 3926</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03927" name="l03927"></a><span class="lineno"> 3927</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03928" name="l03928"></a><span class="lineno"> 3928</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03929" name="l03929"></a><span class="lineno"> 3929</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03930" name="l03930"></a><span class="lineno"> 3930</span> }</div>
<div class="line"><a id="l03931" name="l03931"></a><span class="lineno"> 3931</span> }</div>
<div class="line"><a id="l03932" name="l03932"></a><span class="lineno"> 3932</span> }</div>
<div class="line"><a id="l03933" name="l03933"></a><span class="lineno"> 3933</span> </div>
<div class="line"><a id="l03934" name="l03934"></a><span class="lineno"> 3934</span> <span class="comment">// xy-data -----------------------------------------------</span></div>
<div class="line"><a id="l03935" name="l03935"></a><span class="lineno"> 3935</span> <span class="keywordflow">if</span> (line.BeginsWith(<span class="stringliteral">&quot;xy-data&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l03936" name="l03936"></a><span class="lineno"> 3936</span> </div>
<div class="line"><a id="l03937" name="l03937"></a><span class="lineno"> 3937</span> runLinePresent = <span class="keyword">false</span>; <span class="comment">// this is needed to make sure that a run line is present before and ADDRUN is following</span></div>
<div class="line"><a id="l03938" name="l03938"></a><span class="lineno"> 3938</span> </div>
<div class="line"><a id="l03939" name="l03939"></a><span class="lineno"> 3939</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() != 3) { <span class="comment">// xy-data x-label y-label</span></div>
<div class="line"><a id="l03940" name="l03940"></a><span class="lineno"> 3940</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03941" name="l03941"></a><span class="lineno"> 3941</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03942" name="l03942"></a><span class="lineno"> 3942</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l03943" name="l03943"></a><span class="lineno"> 3943</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03944" name="l03944"></a><span class="lineno"> 3944</span> <span class="keywordflow">if</span> (str.IsDigit()) { <span class="comment">// xy-data indices given</span></div>
<div class="line"><a id="l03945" name="l03945"></a><span class="lineno"> 3945</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#ab2a97f12c03bb7a445c0a9721dafafba">SetXDataIndex</a>(str.Atoi()); <span class="comment">// x-index</span></div>
<div class="line"><a id="l03946" name="l03946"></a><span class="lineno"> 3946</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2));</div>
<div class="line"><a id="l03947" name="l03947"></a><span class="lineno"> 3947</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03948" name="l03948"></a><span class="lineno"> 3948</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l03949" name="l03949"></a><span class="lineno"> 3949</span> ival = str.Atoi();</div>
<div class="line"><a id="l03950" name="l03950"></a><span class="lineno"> 3950</span> <span class="keywordflow">if</span> (ival &gt; 0)</div>
<div class="line"><a id="l03951" name="l03951"></a><span class="lineno"> 3951</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a9270b38c3e95ef6f09dc783030444fd4">SetYDataIndex</a>(ival); <span class="comment">// y-index</span></div>
<div class="line"><a id="l03952" name="l03952"></a><span class="lineno"> 3952</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l03953" name="l03953"></a><span class="lineno"> 3953</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03954" name="l03954"></a><span class="lineno"> 3954</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03955" name="l03955"></a><span class="lineno"> 3955</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03956" name="l03956"></a><span class="lineno"> 3956</span> }</div>
<div class="line"><a id="l03957" name="l03957"></a><span class="lineno"> 3957</span> } <span class="keywordflow">else</span> { <span class="comment">// xy-data labels given</span></div>
<div class="line"><a id="l03958" name="l03958"></a><span class="lineno"> 3958</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a439b8fe0be8c63c8af559513256cb7d6">SetXDataLabel</a>(str); <span class="comment">// x-label</span></div>
<div class="line"><a id="l03959" name="l03959"></a><span class="lineno"> 3959</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2));</div>
<div class="line"><a id="l03960" name="l03960"></a><span class="lineno"> 3960</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l03961" name="l03961"></a><span class="lineno"> 3961</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#aca9123b5a2ea73f5fa96154065b7d294">SetYDataLabel</a>(str); <span class="comment">// y-label</span></div>
<div class="line"><a id="l03962" name="l03962"></a><span class="lineno"> 3962</span> }</div>
<div class="line"><a id="l03963" name="l03963"></a><span class="lineno"> 3963</span> }</div>
<div class="line"><a id="l03964" name="l03964"></a><span class="lineno"> 3964</span> }</div>
<div class="line"><a id="l03965" name="l03965"></a><span class="lineno"> 3965</span> </div>
<div class="line"><a id="l03966" name="l03966"></a><span class="lineno"> 3966</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l03967" name="l03967"></a><span class="lineno"> 3967</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l03968" name="l03968"></a><span class="lineno"> 3968</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l03969" name="l03969"></a><span class="lineno"> 3969</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l03970" name="l03970"></a><span class="lineno"> 3970</span> }</div>
<div class="line"><a id="l03971" name="l03971"></a><span class="lineno"> 3971</span> </div>
<div class="line"><a id="l03972" name="l03972"></a><span class="lineno"> 3972</span> ++iter;</div>
<div class="line"><a id="l03973" name="l03973"></a><span class="lineno"> 3973</span> }</div>
<div class="line"><a id="l03974" name="l03974"></a><span class="lineno"> 3974</span> </div>
<div class="line"><a id="l03975" name="l03975"></a><span class="lineno"> 3975</span> <span class="keywordflow">if</span> (error) {</div>
<div class="line"><a id="l03976" name="l03976"></a><span class="lineno"> 3976</span> --iter;</div>
<div class="line"><a id="l03977" name="l03977"></a><span class="lineno"> 3977</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l03978" name="l03978"></a><span class="lineno"> 3978</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l03979" name="l03979"></a><span class="lineno"> 3979</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleRunEntry: **ERROR** in line &quot;</span> &lt;&lt; iter-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;:\n&quot;</span>;</div>
<div class="line"><a id="l03980" name="l03980"></a><span class="lineno"> 3980</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; &quot;</span> &lt;&lt; iter-&gt;fLine.Data() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l03981" name="l03981"></a><span class="lineno"> 3981</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; RUN block syntax is too complex to print it here. Please check the manual.\n&quot;</span>;</div>
<div class="line"><a id="l03982" name="l03982"></a><span class="lineno"> 3982</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l03983" name="l03983"></a><span class="lineno"> 3983</span> } <span class="keywordflow">else</span> { <span class="comment">// save last run found</span></div>
<div class="line"><a id="l03984" name="l03984"></a><span class="lineno"> 3984</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.push_back(param);</div>
<div class="line"><a id="l03985" name="l03985"></a><span class="lineno"> 3985</span> param.<a class="code hl_function" href="classPMsrRunBlock.html#a5b0dace287fc95cd8f1b197f2e0b5bb9">CleanUp</a>();</div>
<div class="line"><a id="l03986" name="l03986"></a><span class="lineno"> 3986</span> }</div>
<div class="line"><a id="l03987" name="l03987"></a><span class="lineno"> 3987</span> </div>
<div class="line"><a id="l03988" name="l03988"></a><span class="lineno"> 3988</span> <span class="keywordflow">return</span> !error;</div>
<div class="line"><a id="l03989" name="l03989"></a><span class="lineno"> 3989</span>}</div>
</div>
<div class="line"><a id="l03990" name="l03990"></a><span class="lineno"> 3990</span> </div>
<div class="line"><a id="l03991" name="l03991"></a><span class="lineno"> 3991</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l03992" name="l03992"></a><span class="lineno"> 3992</span><span class="comment">// FilterNumber (private)</span></div>
<div class="line"><a id="l03993" name="l03993"></a><span class="lineno"> 3993</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen04009" data-start="{" data-end="}">
<div class="line"><a id="l04009" name="l04009"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d"> 4009</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">PMsrHandler::FilterNumber</a>(TString str, <span class="keyword">const</span> Char_t *filter, Int_t offset, Int_t &amp;no)</div>
<div class="line"><a id="l04010" name="l04010"></a><span class="lineno"> 4010</span>{</div>
<div class="line"><a id="l04011" name="l04011"></a><span class="lineno"> 4011</span> Int_t found, no_found=-1;</div>
<div class="line"><a id="l04012" name="l04012"></a><span class="lineno"> 4012</span> </div>
<div class="line"><a id="l04013" name="l04013"></a><span class="lineno"> 4013</span> <span class="comment">// copy str to an ordinary c-like string</span></div>
<div class="line"><a id="l04014" name="l04014"></a><span class="lineno"> 4014</span> Char_t *cstr, filterStr[32];</div>
<div class="line"><a id="l04015" name="l04015"></a><span class="lineno"> 4015</span> cstr = <span class="keyword">new</span> Char_t[str.Sizeof()];</div>
<div class="line"><a id="l04016" name="l04016"></a><span class="lineno"> 4016</span> strncpy(cstr, str.Data(), str.Sizeof());</div>
<div class="line"><a id="l04017" name="l04017"></a><span class="lineno"> 4017</span> snprintf(filterStr, <span class="keyword">sizeof</span>(filterStr), <span class="stringliteral">&quot;%s%%d&quot;</span>, filter);</div>
<div class="line"><a id="l04018" name="l04018"></a><span class="lineno"> 4018</span> </div>
<div class="line"><a id="l04019" name="l04019"></a><span class="lineno"> 4019</span> <span class="comment">// get number if present</span></div>
<div class="line"><a id="l04020" name="l04020"></a><span class="lineno"> 4020</span> found = sscanf(cstr, filterStr, &amp;no_found);</div>
<div class="line"><a id="l04021" name="l04021"></a><span class="lineno"> 4021</span> <span class="keywordflow">if</span> (found == 1)</div>
<div class="line"><a id="l04022" name="l04022"></a><span class="lineno"> 4022</span> <span class="keywordflow">if</span> (no_found &lt; 1000)</div>
<div class="line"><a id="l04023" name="l04023"></a><span class="lineno"> 4023</span> no = no_found + offset;</div>
<div class="line"><a id="l04024" name="l04024"></a><span class="lineno"> 4024</span> </div>
<div class="line"><a id="l04025" name="l04025"></a><span class="lineno"> 4025</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l04026" name="l04026"></a><span class="lineno"> 4026</span> <span class="keywordflow">if</span> (cstr) {</div>
<div class="line"><a id="l04027" name="l04027"></a><span class="lineno"> 4027</span> <span class="keyword">delete</span> [] cstr;</div>
<div class="line"><a id="l04028" name="l04028"></a><span class="lineno"> 4028</span> cstr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04029" name="l04029"></a><span class="lineno"> 4029</span> }</div>
<div class="line"><a id="l04030" name="l04030"></a><span class="lineno"> 4030</span> </div>
<div class="line"><a id="l04031" name="l04031"></a><span class="lineno"> 4031</span> <span class="keywordflow">if</span> ((no_found &lt; 0) || (no_found &gt; 1000))</div>
<div class="line"><a id="l04032" name="l04032"></a><span class="lineno"> 4032</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04033" name="l04033"></a><span class="lineno"> 4033</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04034" name="l04034"></a><span class="lineno"> 4034</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l04035" name="l04035"></a><span class="lineno"> 4035</span>}</div>
</div>
<div class="line"><a id="l04036" name="l04036"></a><span class="lineno"> 4036</span> </div>
<div class="line"><a id="l04037" name="l04037"></a><span class="lineno"> 4037</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l04038" name="l04038"></a><span class="lineno"> 4038</span><span class="comment">// HandleCommandsEntry (private)</span></div>
<div class="line"><a id="l04039" name="l04039"></a><span class="lineno"> 4039</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen04048" data-start="{" data-end="}">
<div class="line"><a id="l04048" name="l04048"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a762c39b9a043cf0e79b3d0905a3ed0a7"> 4048</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a762c39b9a043cf0e79b3d0905a3ed0a7">PMsrHandler::HandleCommandsEntry</a>(<a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;lines)</div>
<div class="line"><a id="l04049" name="l04049"></a><span class="lineno"> 4049</span>{</div>
<div class="line"><a id="l04050" name="l04050"></a><span class="lineno"> 4050</span> <span class="comment">// If msr-file is used for musrFT only, nothing needs to be done here.</span></div>
<div class="line"><a id="l04051" name="l04051"></a><span class="lineno"> 4051</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>)</div>
<div class="line"><a id="l04052" name="l04052"></a><span class="lineno"> 4052</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l04053" name="l04053"></a><span class="lineno"> 4053</span> </div>
<div class="line"><a id="l04054" name="l04054"></a><span class="lineno"> 4054</span> PMsrLines::iterator iter;</div>
<div class="line"><a id="l04055" name="l04055"></a><span class="lineno"> 4055</span> </div>
<div class="line"><a id="l04056" name="l04056"></a><span class="lineno"> 4056</span> <span class="keywordflow">if</span> (lines.empty()) {</div>
<div class="line"><a id="l04057" name="l04057"></a><span class="lineno"> 4057</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleCommandsEntry(): **WARNING**: There is no COMMAND block! Do you really want this?&quot;</span>;</div>
<div class="line"><a id="l04058" name="l04058"></a><span class="lineno"> 4058</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l04059" name="l04059"></a><span class="lineno"> 4059</span> }</div>
<div class="line"><a id="l04060" name="l04060"></a><span class="lineno"> 4060</span> </div>
<div class="line"><a id="l04061" name="l04061"></a><span class="lineno"> 4061</span> <span class="keywordflow">for</span> (iter = lines.begin(); iter != lines.end(); ++iter) {</div>
<div class="line"><a id="l04062" name="l04062"></a><span class="lineno"> 4062</span> <span class="keywordflow">if</span> (!iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;COMMANDS&quot;</span>))</div>
<div class="line"><a id="l04063" name="l04063"></a><span class="lineno"> 4063</span> <a class="code hl_variable" href="classPMsrHandler.html#aee75a17848bc7d4068180cd9a28e8c41">fCommands</a>.push_back(*iter);</div>
<div class="line"><a id="l04064" name="l04064"></a><span class="lineno"> 4064</span> }</div>
<div class="line"><a id="l04065" name="l04065"></a><span class="lineno"> 4065</span> </div>
<div class="line"><a id="l04066" name="l04066"></a><span class="lineno"> 4066</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l04067" name="l04067"></a><span class="lineno"> 4067</span>}</div>
</div>
<div class="line"><a id="l04068" name="l04068"></a><span class="lineno"> 4068</span> </div>
<div class="line"><a id="l04069" name="l04069"></a><span class="lineno"> 4069</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l04070" name="l04070"></a><span class="lineno"> 4070</span><span class="comment">// InitFourierParameterStructure (private)</span></div>
<div class="line"><a id="l04071" name="l04071"></a><span class="lineno"> 4071</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen04077" data-start="{" data-end="}">
<div class="line"><a id="l04077" name="l04077"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#ae0ccc718eb4b01b46bd3c0d15bed8a0f"> 4077</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#ae0ccc718eb4b01b46bd3c0d15bed8a0f">PMsrHandler::InitFourierParameterStructure</a>(<a class="code hl_struct" href="structPMsrFourierStructure.html">PMsrFourierStructure</a> &amp;fourier)</div>
<div class="line"><a id="l04078" name="l04078"></a><span class="lineno"> 4078</span>{</div>
<div class="line"><a id="l04079" name="l04079"></a><span class="lineno"> 4079</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a38b1f6970c3c0fa34e6235838dd9c030">fFourierBlockPresent</a> = <span class="keyword">false</span>; <span class="comment">// fourier block present</span></div>
<div class="line"><a id="l04080" name="l04080"></a><span class="lineno"> 4080</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ac266b4de23588ea3ee1d8cc09eb93ccb">fUnits</a> = <a class="code hl_define" href="PMusr_8h.html#ad37d51ad2c41abf13802bd81f699cbf6">FOURIER_UNIT_NOT_GIVEN</a>; <span class="comment">// fourier untis, default: NOT GIVEN</span></div>
<div class="line"><a id="l04081" name="l04081"></a><span class="lineno"> 4081</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a96618ca7ad239ae2ce75a1e64e356242">fFourierPower</a> = -1; <span class="comment">// zero padding, default: -1 = NOT GIVEN</span></div>
<div class="line"><a id="l04082" name="l04082"></a><span class="lineno"> 4082</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#af52dbec96fa224378066867fbee9d957">fDCCorrected</a> = <span class="keyword">false</span>; <span class="comment">// dc-corrected FFT, default: false</span></div>
<div class="line"><a id="l04083" name="l04083"></a><span class="lineno"> 4083</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#afea69c886a635db094a8a3cf1ed4c0a8">fApodization</a> = <a class="code hl_define" href="PMusr_8h.html#adb4554a81f1e69135973e8dfb0899be7">FOURIER_APOD_NOT_GIVEN</a>; <span class="comment">// apodization, default: NOT GIVEN</span></div>
<div class="line"><a id="l04084" name="l04084"></a><span class="lineno"> 4084</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a3128af6178d42373d5ed193f745c0df9">fPlotTag</a> = <a class="code hl_define" href="PMusr_8h.html#a4a86bb2ce7832ce23f784604c36d39ed">FOURIER_PLOT_NOT_GIVEN</a>; <span class="comment">// initial plot tag, default: NOT GIVEN</span></div>
<div class="line"><a id="l04085" name="l04085"></a><span class="lineno"> 4085</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ae1c193df0a19b2847faad97300ba3c71">fPhaseRef</a> = -1; <span class="comment">// initial phase reference -1 means: use absolute phases</span></div>
<div class="line"><a id="l04086" name="l04086"></a><span class="lineno"> 4086</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>.clear(); <span class="comment">// initial phase parameter no vector is empty</span></div>
<div class="line"><a id="l04087" name="l04087"></a><span class="lineno"> 4087</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a66c5ef93b0c30ea1dcdf91286f593acc">fPhase</a>.clear(); <span class="comment">// initial phase vector is empty</span></div>
<div class="line"><a id="l04088" name="l04088"></a><span class="lineno"> 4088</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;2; i++) {</div>
<div class="line"><a id="l04089" name="l04089"></a><span class="lineno"> 4089</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a66de32824be3fb74b3d51cec23c8ffd7">fRangeForPhaseCorrection</a>[i] = -1.0; <span class="comment">// frequency range for phase correction, default: {-1, -1} = NOT GIVEN</span></div>
<div class="line"><a id="l04090" name="l04090"></a><span class="lineno"> 4090</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a5b05da72c5e654261e7d53b2cd6591a7">fPlotRange</a>[i] = -1.0; <span class="comment">// fourier plot range, default: {-1, -1} = NOT GIVEN</span></div>
<div class="line"><a id="l04091" name="l04091"></a><span class="lineno"> 4091</span> }</div>
<div class="line"><a id="l04092" name="l04092"></a><span class="lineno"> 4092</span>}</div>
</div>
<div class="line"><a id="l04093" name="l04093"></a><span class="lineno"> 4093</span> </div>
<div class="line"><a id="l04094" name="l04094"></a><span class="lineno"> 4094</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l04095" name="l04095"></a><span class="lineno"> 4095</span><span class="comment">// RemoveComment (private)</span></div>
<div class="line"><a id="l04096" name="l04096"></a><span class="lineno"> 4096</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen04104" data-start="{" data-end="}">
<div class="line"><a id="l04104" name="l04104"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#aab35120ee133dc97daaed8060c255f65"> 4104</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#aab35120ee133dc97daaed8060c255f65">PMsrHandler::RemoveComment</a>(<span class="keyword">const</span> TString &amp;str, TString &amp;truncStr)</div>
<div class="line"><a id="l04105" name="l04105"></a><span class="lineno"> 4105</span>{</div>
<div class="line"><a id="l04106" name="l04106"></a><span class="lineno"> 4106</span> truncStr = str;</div>
<div class="line"><a id="l04107" name="l04107"></a><span class="lineno"> 4107</span> Ssiz_t idx = str.First(<span class="charliteral">&#39;#&#39;</span>); <span class="comment">// find the index of the comment character</span></div>
<div class="line"><a id="l04108" name="l04108"></a><span class="lineno"> 4108</span> </div>
<div class="line"><a id="l04109" name="l04109"></a><span class="lineno"> 4109</span> <span class="comment">// truncate string if comment is found</span></div>
<div class="line"><a id="l04110" name="l04110"></a><span class="lineno"> 4110</span> <span class="keywordflow">if</span> (idx &gt; 0) {</div>
<div class="line"><a id="l04111" name="l04111"></a><span class="lineno"> 4111</span> truncStr.Resize(idx-1);</div>
<div class="line"><a id="l04112" name="l04112"></a><span class="lineno"> 4112</span> }</div>
<div class="line"><a id="l04113" name="l04113"></a><span class="lineno"> 4113</span>}</div>
</div>
<div class="line"><a id="l04114" name="l04114"></a><span class="lineno"> 4114</span> </div>
<div class="line"><a id="l04115" name="l04115"></a><span class="lineno"> 4115</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l04116" name="l04116"></a><span class="lineno"> 4116</span><span class="comment">// ParseFourierPhaseValueVector (private)</span></div>
<div class="line"><a id="l04117" name="l04117"></a><span class="lineno"> 4117</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen04129" data-start="{" data-end="}">
<div class="line"><a id="l04129" name="l04129"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a07e23f3baef0ee7663bf8be5b92a5765"> 4129</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a07e23f3baef0ee7663bf8be5b92a5765">PMsrHandler::ParseFourierPhaseValueVector</a>(<a class="code hl_struct" href="structPMsrFourierStructure.html">PMsrFourierStructure</a> &amp;fourier, <span class="keyword">const</span> TString &amp;str, Bool_t &amp;error)</div>
<div class="line"><a id="l04130" name="l04130"></a><span class="lineno"> 4130</span>{</div>
<div class="line"><a id="l04131" name="l04131"></a><span class="lineno"> 4131</span> Bool_t result = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04132" name="l04132"></a><span class="lineno"> 4132</span> </div>
<div class="line"><a id="l04133" name="l04133"></a><span class="lineno"> 4133</span> TObjArray *tok = str.Tokenize(<span class="stringliteral">&quot; ,;\t&quot;</span>);</div>
<div class="line"><a id="l04134" name="l04134"></a><span class="lineno"> 4134</span> <span class="keywordflow">if</span> (tok == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l04135" name="l04135"></a><span class="lineno"> 4135</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04136" name="l04136"></a><span class="lineno"> 4136</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04137" name="l04137"></a><span class="lineno"> 4137</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseValueVector: **ERROR** couldn&#39;t tokenize Fourier phase line.\n\n&quot;</span>;</div>
<div class="line"><a id="l04138" name="l04138"></a><span class="lineno"> 4138</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04139" name="l04139"></a><span class="lineno"> 4139</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04140" name="l04140"></a><span class="lineno"> 4140</span> }</div>
<div class="line"><a id="l04141" name="l04141"></a><span class="lineno"> 4141</span> </div>
<div class="line"><a id="l04142" name="l04142"></a><span class="lineno"> 4142</span> <span class="comment">// make sure there are enough tokens</span></div>
<div class="line"><a id="l04143" name="l04143"></a><span class="lineno"> 4143</span> <span class="keywordflow">if</span> (tok-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l04144" name="l04144"></a><span class="lineno"> 4144</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04145" name="l04145"></a><span class="lineno"> 4145</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04146" name="l04146"></a><span class="lineno"> 4146</span> }</div>
<div class="line"><a id="l04147" name="l04147"></a><span class="lineno"> 4147</span> </div>
<div class="line"><a id="l04148" name="l04148"></a><span class="lineno"> 4148</span> <span class="comment">// convert all acceptable tokens</span></div>
<div class="line"><a id="l04149" name="l04149"></a><span class="lineno"> 4149</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04150" name="l04150"></a><span class="lineno"> 4150</span> TString sstr(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04151" name="l04151"></a><span class="lineno"> 4151</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tok-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l04152" name="l04152"></a><span class="lineno"> 4152</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tok-&gt;At(i));</div>
<div class="line"><a id="l04153" name="l04153"></a><span class="lineno"> 4153</span> sstr = ostr-&gt;GetString();</div>
<div class="line"><a id="l04154" name="l04154"></a><span class="lineno"> 4154</span> <span class="keywordflow">if</span> (sstr.IsFloat()) {</div>
<div class="line"><a id="l04155" name="l04155"></a><span class="lineno"> 4155</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a66c5ef93b0c30ea1dcdf91286f593acc">fPhase</a>.push_back(sstr.Atof());</div>
<div class="line"><a id="l04156" name="l04156"></a><span class="lineno"> 4156</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04157" name="l04157"></a><span class="lineno"> 4157</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l04158" name="l04158"></a><span class="lineno"> 4158</span> <span class="keywordflow">if</span> (i&gt;1) { <span class="comment">// make sure that no &#39;phase val, parX&#39; mixture is present</span></div>
<div class="line"><a id="l04159" name="l04159"></a><span class="lineno"> 4159</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04160" name="l04160"></a><span class="lineno"> 4160</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04161" name="l04161"></a><span class="lineno"> 4161</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseValueVector: **ERROR** in Fourier phase line.\n&quot;</span>;</div>
<div class="line"><a id="l04162" name="l04162"></a><span class="lineno"> 4162</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Attempt to mix val, parX? This is currently not supported.\n\n&quot;</span>;</div>
<div class="line"><a id="l04163" name="l04163"></a><span class="lineno"> 4163</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04164" name="l04164"></a><span class="lineno"> 4164</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04165" name="l04165"></a><span class="lineno"> 4165</span> }</div>
<div class="line"><a id="l04166" name="l04166"></a><span class="lineno"> 4166</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04167" name="l04167"></a><span class="lineno"> 4167</span> }</div>
<div class="line"><a id="l04168" name="l04168"></a><span class="lineno"> 4168</span> }</div>
<div class="line"><a id="l04169" name="l04169"></a><span class="lineno"> 4169</span> </div>
<div class="line"><a id="l04170" name="l04170"></a><span class="lineno"> 4170</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l04171" name="l04171"></a><span class="lineno"> 4171</span> <span class="keywordflow">if</span> (tok) {</div>
<div class="line"><a id="l04172" name="l04172"></a><span class="lineno"> 4172</span> <span class="keyword">delete</span> tok;</div>
<div class="line"><a id="l04173" name="l04173"></a><span class="lineno"> 4173</span> }</div>
<div class="line"><a id="l04174" name="l04174"></a><span class="lineno"> 4174</span> </div>
<div class="line"><a id="l04175" name="l04175"></a><span class="lineno"> 4175</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l04176" name="l04176"></a><span class="lineno"> 4176</span>}</div>
</div>
<div class="line"><a id="l04177" name="l04177"></a><span class="lineno"> 4177</span> </div>
<div class="line"><a id="l04178" name="l04178"></a><span class="lineno"> 4178</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l04179" name="l04179"></a><span class="lineno"> 4179</span><span class="comment">// ParseFourierPhaseParVector (private)</span></div>
<div class="line"><a id="l04180" name="l04180"></a><span class="lineno"> 4180</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen04194" data-start="{" data-end="}">
<div class="line"><a id="l04194" name="l04194"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a987f71daeebe57213ecc64640c22e1f1"> 4194</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a987f71daeebe57213ecc64640c22e1f1">PMsrHandler::ParseFourierPhaseParVector</a>(<a class="code hl_struct" href="structPMsrFourierStructure.html">PMsrFourierStructure</a> &amp;fourier, <span class="keyword">const</span> TString &amp;str, Bool_t &amp;error)</div>
<div class="line"><a id="l04195" name="l04195"></a><span class="lineno"> 4195</span>{</div>
<div class="line"><a id="l04196" name="l04196"></a><span class="lineno"> 4196</span> Bool_t result = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04197" name="l04197"></a><span class="lineno"> 4197</span> Int_t refCount = 0;</div>
<div class="line"><a id="l04198" name="l04198"></a><span class="lineno"> 4198</span> </div>
<div class="line"><a id="l04199" name="l04199"></a><span class="lineno"> 4199</span> TObjArray *tok = str.Tokenize(<span class="stringliteral">&quot; ,;\t&quot;</span>);</div>
<div class="line"><a id="l04200" name="l04200"></a><span class="lineno"> 4200</span> <span class="keywordflow">if</span> (tok == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l04201" name="l04201"></a><span class="lineno"> 4201</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04202" name="l04202"></a><span class="lineno"> 4202</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04203" name="l04203"></a><span class="lineno"> 4203</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseParVector: **ERROR** couldn&#39;t tokenize Fourier phase line.\n\n&quot;</span>;</div>
<div class="line"><a id="l04204" name="l04204"></a><span class="lineno"> 4204</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04205" name="l04205"></a><span class="lineno"> 4205</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04206" name="l04206"></a><span class="lineno"> 4206</span> }</div>
<div class="line"><a id="l04207" name="l04207"></a><span class="lineno"> 4207</span> </div>
<div class="line"><a id="l04208" name="l04208"></a><span class="lineno"> 4208</span> <span class="comment">// make sure there are enough tokens</span></div>
<div class="line"><a id="l04209" name="l04209"></a><span class="lineno"> 4209</span> <span class="keywordflow">if</span> (tok-&gt;GetEntries() &lt; 2) {</div>
<div class="line"><a id="l04210" name="l04210"></a><span class="lineno"> 4210</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04211" name="l04211"></a><span class="lineno"> 4211</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04212" name="l04212"></a><span class="lineno"> 4212</span> }</div>
<div class="line"><a id="l04213" name="l04213"></a><span class="lineno"> 4213</span> </div>
<div class="line"><a id="l04214" name="l04214"></a><span class="lineno"> 4214</span> <span class="comment">// check that all tokens start with par</span></div>
<div class="line"><a id="l04215" name="l04215"></a><span class="lineno"> 4215</span> TString sstr;</div>
<div class="line"><a id="l04216" name="l04216"></a><span class="lineno"> 4216</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tok-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l04217" name="l04217"></a><span class="lineno"> 4217</span> TObjString *ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tok-&gt;At(i));</div>
<div class="line"><a id="l04218" name="l04218"></a><span class="lineno"> 4218</span> sstr = ostr-&gt;GetString();</div>
<div class="line"><a id="l04219" name="l04219"></a><span class="lineno"> 4219</span> <span class="keywordflow">if</span> (!sstr.BeginsWith(<span class="stringliteral">&quot;par&quot;</span>)) {</div>
<div class="line"><a id="l04220" name="l04220"></a><span class="lineno"> 4220</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04221" name="l04221"></a><span class="lineno"> 4221</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04222" name="l04222"></a><span class="lineno"> 4222</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseParVector: **ERROR** found unhandable token &#39;&quot;</span> &lt;&lt; sstr &lt;&lt; <span class="stringliteral">&quot;&#39;\n&quot;</span>;</div>
<div class="line"><a id="l04223" name="l04223"></a><span class="lineno"> 4223</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04224" name="l04224"></a><span class="lineno"> 4224</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04225" name="l04225"></a><span class="lineno"> 4225</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l04226" name="l04226"></a><span class="lineno"> 4226</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04227" name="l04227"></a><span class="lineno"> 4227</span> }</div>
<div class="line"><a id="l04228" name="l04228"></a><span class="lineno"> 4228</span> </div>
<div class="line"><a id="l04229" name="l04229"></a><span class="lineno"> 4229</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;parR&quot;</span>)) {</div>
<div class="line"><a id="l04230" name="l04230"></a><span class="lineno"> 4230</span> refCount++;</div>
<div class="line"><a id="l04231" name="l04231"></a><span class="lineno"> 4231</span> }</div>
<div class="line"><a id="l04232" name="l04232"></a><span class="lineno"> 4232</span> </div>
<div class="line"><a id="l04233" name="l04233"></a><span class="lineno"> 4233</span> <span class="comment">// rule out par(X, offset, #Param) syntax</span></div>
<div class="line"><a id="l04234" name="l04234"></a><span class="lineno"> 4234</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;par(&quot;</span>)) {</div>
<div class="line"><a id="l04235" name="l04235"></a><span class="lineno"> 4235</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l04236" name="l04236"></a><span class="lineno"> 4236</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04237" name="l04237"></a><span class="lineno"> 4237</span> }</div>
<div class="line"><a id="l04238" name="l04238"></a><span class="lineno"> 4238</span> }</div>
<div class="line"><a id="l04239" name="l04239"></a><span class="lineno"> 4239</span> </div>
<div class="line"><a id="l04240" name="l04240"></a><span class="lineno"> 4240</span> <span class="keywordflow">if</span> (refCount &gt; 1) {</div>
<div class="line"><a id="l04241" name="l04241"></a><span class="lineno"> 4241</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04242" name="l04242"></a><span class="lineno"> 4242</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04243" name="l04243"></a><span class="lineno"> 4243</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseParVector: **ERROR** found multiple parR&#39;s! Only one reference phase is accepted.\n&quot;</span>;</div>
<div class="line"><a id="l04244" name="l04244"></a><span class="lineno"> 4244</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04245" name="l04245"></a><span class="lineno"> 4245</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l04246" name="l04246"></a><span class="lineno"> 4246</span> }</div>
<div class="line"><a id="l04247" name="l04247"></a><span class="lineno"> 4247</span> </div>
<div class="line"><a id="l04248" name="l04248"></a><span class="lineno"> 4248</span> <span class="comment">// check that token has the form parX, where X is an int</span></div>
<div class="line"><a id="l04249" name="l04249"></a><span class="lineno"> 4249</span> Int_t rmNoOf = 3;</div>
<div class="line"><a id="l04250" name="l04250"></a><span class="lineno"> 4250</span> <span class="keywordflow">if</span> (result != <span class="keyword">false</span>) {</div>
<div class="line"><a id="l04251" name="l04251"></a><span class="lineno"> 4251</span> <span class="keywordflow">for</span> (Int_t i=1; i&lt;tok-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l04252" name="l04252"></a><span class="lineno"> 4252</span> TObjString *ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tok-&gt;At(i));</div>
<div class="line"><a id="l04253" name="l04253"></a><span class="lineno"> 4253</span> sstr = ostr-&gt;GetString();</div>
<div class="line"><a id="l04254" name="l04254"></a><span class="lineno"> 4254</span> rmNoOf = 3;</div>
<div class="line"><a id="l04255" name="l04255"></a><span class="lineno"> 4255</span> <span class="keywordflow">if</span> (sstr.BeginsWith(<span class="stringliteral">&quot;parR&quot;</span>)) {</div>
<div class="line"><a id="l04256" name="l04256"></a><span class="lineno"> 4256</span> rmNoOf++;</div>
<div class="line"><a id="l04257" name="l04257"></a><span class="lineno"> 4257</span> }</div>
<div class="line"><a id="l04258" name="l04258"></a><span class="lineno"> 4258</span> sstr.Remove(0, rmNoOf); <span class="comment">// remove &#39;par&#39; of &#39;parR&#39; part. Rest should be an integer</span></div>
<div class="line"><a id="l04259" name="l04259"></a><span class="lineno"> 4259</span> <span class="keywordflow">if</span> (sstr.IsDigit()) {</div>
<div class="line"><a id="l04260" name="l04260"></a><span class="lineno"> 4260</span> <span class="keywordflow">if</span> (rmNoOf == 4) <span class="comment">// parR</span></div>
<div class="line"><a id="l04261" name="l04261"></a><span class="lineno"> 4261</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ae1c193df0a19b2847faad97300ba3c71">fPhaseRef</a> = sstr.Atoi();</div>
<div class="line"><a id="l04262" name="l04262"></a><span class="lineno"> 4262</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>.push_back(sstr.Atoi());</div>
<div class="line"><a id="l04263" name="l04263"></a><span class="lineno"> 4263</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04264" name="l04264"></a><span class="lineno"> 4264</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04265" name="l04265"></a><span class="lineno"> 4265</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04266" name="l04266"></a><span class="lineno"> 4266</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseParVector: **ERROR** found token &#39;&quot;</span> &lt;&lt; ostr-&gt;GetString() &lt;&lt; <span class="stringliteral">&quot;&#39; which is not parX with X an integer.\n&quot;</span>;</div>
<div class="line"><a id="l04267" name="l04267"></a><span class="lineno"> 4267</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04268" name="l04268"></a><span class="lineno"> 4268</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>.clear();</div>
<div class="line"><a id="l04269" name="l04269"></a><span class="lineno"> 4269</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04270" name="l04270"></a><span class="lineno"> 4270</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04271" name="l04271"></a><span class="lineno"> 4271</span> }</div>
<div class="line"><a id="l04272" name="l04272"></a><span class="lineno"> 4272</span> }</div>
<div class="line"><a id="l04273" name="l04273"></a><span class="lineno"> 4273</span> }</div>
<div class="line"><a id="l04274" name="l04274"></a><span class="lineno"> 4274</span> </div>
<div class="line"><a id="l04275" name="l04275"></a><span class="lineno"> 4275</span> <span class="keywordflow">if</span> (fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>.size() == tok-&gt;GetEntries()-1) { <span class="comment">// everything as expected</span></div>
<div class="line"><a id="l04276" name="l04276"></a><span class="lineno"> 4276</span> result = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04277" name="l04277"></a><span class="lineno"> 4277</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04278" name="l04278"></a><span class="lineno"> 4278</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l04279" name="l04279"></a><span class="lineno"> 4279</span> }</div>
<div class="line"><a id="l04280" name="l04280"></a><span class="lineno"> 4280</span> </div>
<div class="line"><a id="l04281" name="l04281"></a><span class="lineno"> 4281</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l04282" name="l04282"></a><span class="lineno"> 4282</span> <span class="keywordflow">if</span> (tok) {</div>
<div class="line"><a id="l04283" name="l04283"></a><span class="lineno"> 4283</span> <span class="keyword">delete</span> tok;</div>
<div class="line"><a id="l04284" name="l04284"></a><span class="lineno"> 4284</span> }</div>
<div class="line"><a id="l04285" name="l04285"></a><span class="lineno"> 4285</span> </div>
<div class="line"><a id="l04286" name="l04286"></a><span class="lineno"> 4286</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l04287" name="l04287"></a><span class="lineno"> 4287</span>}</div>
</div>
<div class="line"><a id="l04288" name="l04288"></a><span class="lineno"> 4288</span> </div>
<div class="line"><a id="l04289" name="l04289"></a><span class="lineno"> 4289</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l04290" name="l04290"></a><span class="lineno"> 4290</span><span class="comment">// ParseFourierPhaseParIterVector (private)</span></div>
<div class="line"><a id="l04291" name="l04291"></a><span class="lineno"> 4291</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen04303" data-start="{" data-end="}">
<div class="line"><a id="l04303" name="l04303"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a4f069e59410d0c18a699817119c334ec"> 4303</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a4f069e59410d0c18a699817119c334ec">PMsrHandler::ParseFourierPhaseParIterVector</a>(<a class="code hl_struct" href="structPMsrFourierStructure.html">PMsrFourierStructure</a> &amp;fourier, <span class="keyword">const</span> TString &amp;str, Bool_t &amp;error)</div>
<div class="line"><a id="l04304" name="l04304"></a><span class="lineno"> 4304</span>{</div>
<div class="line"><a id="l04305" name="l04305"></a><span class="lineno"> 4305</span> TString wstr = str;</div>
<div class="line"><a id="l04306" name="l04306"></a><span class="lineno"> 4306</span> </div>
<div class="line"><a id="l04307" name="l04307"></a><span class="lineno"> 4307</span> <span class="comment">// remove &#39;phase&#39; from string</span></div>
<div class="line"><a id="l04308" name="l04308"></a><span class="lineno"> 4308</span> wstr.Remove(0, 5);</div>
<div class="line"><a id="l04309" name="l04309"></a><span class="lineno"> 4309</span> wstr = wstr.Strip(TString::kLeading, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l04310" name="l04310"></a><span class="lineno"> 4310</span> </div>
<div class="line"><a id="l04311" name="l04311"></a><span class="lineno"> 4311</span> <span class="comment">// remove &#39;par(&#39; from string if present, otherwise and error is issued</span></div>
<div class="line"><a id="l04312" name="l04312"></a><span class="lineno"> 4312</span> <span class="keywordflow">if</span> (!wstr.BeginsWith(<span class="stringliteral">&quot;par(&quot;</span>) &amp;&amp; !wstr.BeginsWith(<span class="stringliteral">&quot;parR(&quot;</span>)) {</div>
<div class="line"><a id="l04313" name="l04313"></a><span class="lineno"> 4313</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04314" name="l04314"></a><span class="lineno"> 4314</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04315" name="l04315"></a><span class="lineno"> 4315</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseParIterVector: **ERROR** token should start with &#39;par(&#39; or &#39;parR(&#39;, found: &#39;&quot;</span> &lt;&lt; wstr &lt;&lt; <span class="stringliteral">&quot;&#39; -&gt; ERROR\n&quot;</span>;</div>
<div class="line"><a id="l04316" name="l04316"></a><span class="lineno"> 4316</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04317" name="l04317"></a><span class="lineno"> 4317</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04318" name="l04318"></a><span class="lineno"> 4318</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04319" name="l04319"></a><span class="lineno"> 4319</span> }</div>
<div class="line"><a id="l04320" name="l04320"></a><span class="lineno"> 4320</span> Int_t noOf = 4; <span class="comment">// number of characters to be removed</span></div>
<div class="line"><a id="l04321" name="l04321"></a><span class="lineno"> 4321</span> Bool_t relativePhase = <span class="keyword">false</span>; <span class="comment">// relative phase handling wished</span></div>
<div class="line"><a id="l04322" name="l04322"></a><span class="lineno"> 4322</span> <span class="keywordflow">if</span> (wstr.BeginsWith(<span class="stringliteral">&quot;parR(&quot;</span>)) {</div>
<div class="line"><a id="l04323" name="l04323"></a><span class="lineno"> 4323</span> noOf += 1;</div>
<div class="line"><a id="l04324" name="l04324"></a><span class="lineno"> 4324</span> relativePhase = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04325" name="l04325"></a><span class="lineno"> 4325</span> }</div>
<div class="line"><a id="l04326" name="l04326"></a><span class="lineno"> 4326</span> wstr.Remove(0, noOf);</div>
<div class="line"><a id="l04327" name="l04327"></a><span class="lineno"> 4327</span> </div>
<div class="line"><a id="l04328" name="l04328"></a><span class="lineno"> 4328</span> <span class="comment">// remove trailing white spaces</span></div>
<div class="line"><a id="l04329" name="l04329"></a><span class="lineno"> 4329</span> wstr = wstr.Strip(TString::kTrailing, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l04330" name="l04330"></a><span class="lineno"> 4330</span> </div>
<div class="line"><a id="l04331" name="l04331"></a><span class="lineno"> 4331</span> <span class="comment">// remove last &#39;)&#39;</span></div>
<div class="line"><a id="l04332" name="l04332"></a><span class="lineno"> 4332</span> Ssiz_t idx=wstr.Last(<span class="charliteral">&#39;)&#39;</span>);</div>
<div class="line"><a id="l04333" name="l04333"></a><span class="lineno"> 4333</span> wstr.Remove(idx, wstr.Length()-idx);</div>
<div class="line"><a id="l04334" name="l04334"></a><span class="lineno"> 4334</span> </div>
<div class="line"><a id="l04335" name="l04335"></a><span class="lineno"> 4335</span> <span class="comment">// tokenize rest which should have the form &#39;X0, offset, #Param&#39;</span></div>
<div class="line"><a id="l04336" name="l04336"></a><span class="lineno"> 4336</span> TObjArray *tok = wstr.Tokenize(<span class="stringliteral">&quot;,;&quot;</span>);</div>
<div class="line"><a id="l04337" name="l04337"></a><span class="lineno"> 4337</span> <span class="keywordflow">if</span> (tok == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l04338" name="l04338"></a><span class="lineno"> 4338</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04339" name="l04339"></a><span class="lineno"> 4339</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04340" name="l04340"></a><span class="lineno"> 4340</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseParIterVector: **ERROR** tokenize failed.\n&quot;</span>;</div>
<div class="line"><a id="l04341" name="l04341"></a><span class="lineno"> 4341</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04342" name="l04342"></a><span class="lineno"> 4342</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04343" name="l04343"></a><span class="lineno"> 4343</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04344" name="l04344"></a><span class="lineno"> 4344</span> }</div>
<div class="line"><a id="l04345" name="l04345"></a><span class="lineno"> 4345</span> </div>
<div class="line"><a id="l04346" name="l04346"></a><span class="lineno"> 4346</span> <span class="comment">// check for proper number of expected elements</span></div>
<div class="line"><a id="l04347" name="l04347"></a><span class="lineno"> 4347</span> <span class="keywordflow">if</span> (tok-&gt;GetEntries() != 3) {</div>
<div class="line"><a id="l04348" name="l04348"></a><span class="lineno"> 4348</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04349" name="l04349"></a><span class="lineno"> 4349</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04350" name="l04350"></a><span class="lineno"> 4350</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseParIterVector: **ERROR** wrong syntax for the expected par(X0, offset, #param).\n&quot;</span>;</div>
<div class="line"><a id="l04351" name="l04351"></a><span class="lineno"> 4351</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04352" name="l04352"></a><span class="lineno"> 4352</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04353" name="l04353"></a><span class="lineno"> 4353</span> <span class="keyword">delete</span> tok;</div>
<div class="line"><a id="l04354" name="l04354"></a><span class="lineno"> 4354</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04355" name="l04355"></a><span class="lineno"> 4355</span> }</div>
<div class="line"><a id="l04356" name="l04356"></a><span class="lineno"> 4356</span> </div>
<div class="line"><a id="l04357" name="l04357"></a><span class="lineno"> 4357</span> Int_t x0, offset, noParam;</div>
<div class="line"><a id="l04358" name="l04358"></a><span class="lineno"> 4358</span> </div>
<div class="line"><a id="l04359" name="l04359"></a><span class="lineno"> 4359</span> <span class="comment">// get X0</span></div>
<div class="line"><a id="l04360" name="l04360"></a><span class="lineno"> 4360</span> TObjString *ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tok-&gt;At(0));</div>
<div class="line"><a id="l04361" name="l04361"></a><span class="lineno"> 4361</span> wstr = ostr-&gt;GetString();</div>
<div class="line"><a id="l04362" name="l04362"></a><span class="lineno"> 4362</span> <span class="keywordflow">if</span> (wstr.IsDigit()) {</div>
<div class="line"><a id="l04363" name="l04363"></a><span class="lineno"> 4363</span> x0 = wstr.Atoi();</div>
<div class="line"><a id="l04364" name="l04364"></a><span class="lineno"> 4364</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04365" name="l04365"></a><span class="lineno"> 4365</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04366" name="l04366"></a><span class="lineno"> 4366</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04367" name="l04367"></a><span class="lineno"> 4367</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseParIterVector: **ERROR** X0=&#39;&quot;</span> &lt;&lt; wstr &lt;&lt; <span class="stringliteral">&quot;&#39; is not an integer.\n&quot;</span>;</div>
<div class="line"><a id="l04368" name="l04368"></a><span class="lineno"> 4368</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04369" name="l04369"></a><span class="lineno"> 4369</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04370" name="l04370"></a><span class="lineno"> 4370</span> <span class="keyword">delete</span> tok;</div>
<div class="line"><a id="l04371" name="l04371"></a><span class="lineno"> 4371</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04372" name="l04372"></a><span class="lineno"> 4372</span> }</div>
<div class="line"><a id="l04373" name="l04373"></a><span class="lineno"> 4373</span> </div>
<div class="line"><a id="l04374" name="l04374"></a><span class="lineno"> 4374</span> <span class="comment">// get offset</span></div>
<div class="line"><a id="l04375" name="l04375"></a><span class="lineno"> 4375</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tok-&gt;At(1));</div>
<div class="line"><a id="l04376" name="l04376"></a><span class="lineno"> 4376</span> wstr = ostr-&gt;GetString();</div>
<div class="line"><a id="l04377" name="l04377"></a><span class="lineno"> 4377</span> <span class="keywordflow">if</span> (wstr.IsDigit()) {</div>
<div class="line"><a id="l04378" name="l04378"></a><span class="lineno"> 4378</span> offset = wstr.Atoi();</div>
<div class="line"><a id="l04379" name="l04379"></a><span class="lineno"> 4379</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04380" name="l04380"></a><span class="lineno"> 4380</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04381" name="l04381"></a><span class="lineno"> 4381</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04382" name="l04382"></a><span class="lineno"> 4382</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseParIterVector: **ERROR** offset=&#39;&quot;</span> &lt;&lt; wstr &lt;&lt; <span class="stringliteral">&quot;&#39; is not an integer.\n&quot;</span>;</div>
<div class="line"><a id="l04383" name="l04383"></a><span class="lineno"> 4383</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04384" name="l04384"></a><span class="lineno"> 4384</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04385" name="l04385"></a><span class="lineno"> 4385</span> <span class="keyword">delete</span> tok;</div>
<div class="line"><a id="l04386" name="l04386"></a><span class="lineno"> 4386</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04387" name="l04387"></a><span class="lineno"> 4387</span> }</div>
<div class="line"><a id="l04388" name="l04388"></a><span class="lineno"> 4388</span> </div>
<div class="line"><a id="l04389" name="l04389"></a><span class="lineno"> 4389</span> <span class="comment">// get noParam</span></div>
<div class="line"><a id="l04390" name="l04390"></a><span class="lineno"> 4390</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tok-&gt;At(2));</div>
<div class="line"><a id="l04391" name="l04391"></a><span class="lineno"> 4391</span> wstr = ostr-&gt;GetString();</div>
<div class="line"><a id="l04392" name="l04392"></a><span class="lineno"> 4392</span> <span class="keywordflow">if</span> (wstr.IsDigit()) {</div>
<div class="line"><a id="l04393" name="l04393"></a><span class="lineno"> 4393</span> noParam = wstr.Atoi();</div>
<div class="line"><a id="l04394" name="l04394"></a><span class="lineno"> 4394</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04395" name="l04395"></a><span class="lineno"> 4395</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04396" name="l04396"></a><span class="lineno"> 4396</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04397" name="l04397"></a><span class="lineno"> 4397</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ParseFourierPhaseParIterVector: **ERROR** #Param=&#39;&quot;</span> &lt;&lt; wstr &lt;&lt; <span class="stringliteral">&quot;&#39; is not an integer.\n&quot;</span>;</div>
<div class="line"><a id="l04398" name="l04398"></a><span class="lineno"> 4398</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04399" name="l04399"></a><span class="lineno"> 4399</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04400" name="l04400"></a><span class="lineno"> 4400</span> <span class="keyword">delete</span> tok;</div>
<div class="line"><a id="l04401" name="l04401"></a><span class="lineno"> 4401</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04402" name="l04402"></a><span class="lineno"> 4402</span> }</div>
<div class="line"><a id="l04403" name="l04403"></a><span class="lineno"> 4403</span> </div>
<div class="line"><a id="l04404" name="l04404"></a><span class="lineno"> 4404</span> <span class="comment">// set the reference phase parameter number for &#39;parR&#39;</span></div>
<div class="line"><a id="l04405" name="l04405"></a><span class="lineno"> 4405</span> <span class="keywordflow">if</span> (relativePhase)</div>
<div class="line"><a id="l04406" name="l04406"></a><span class="lineno"> 4406</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ae1c193df0a19b2847faad97300ba3c71">fPhaseRef</a> = x0;</div>
<div class="line"><a id="l04407" name="l04407"></a><span class="lineno"> 4407</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04408" name="l04408"></a><span class="lineno"> 4408</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ae1c193df0a19b2847faad97300ba3c71">fPhaseRef</a> = -1;</div>
<div class="line"><a id="l04409" name="l04409"></a><span class="lineno"> 4409</span> </div>
<div class="line"><a id="l04410" name="l04410"></a><span class="lineno"> 4410</span> <span class="keywordflow">for</span> (Int_t i=0; i&lt;noParam; i++)</div>
<div class="line"><a id="l04411" name="l04411"></a><span class="lineno"> 4411</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>.push_back(x0 + i*offset);</div>
<div class="line"><a id="l04412" name="l04412"></a><span class="lineno"> 4412</span> </div>
<div class="line"><a id="l04413" name="l04413"></a><span class="lineno"> 4413</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l04414" name="l04414"></a><span class="lineno"> 4414</span> <span class="keywordflow">if</span> (tok) {</div>
<div class="line"><a id="l04415" name="l04415"></a><span class="lineno"> 4415</span> <span class="keyword">delete</span> tok;</div>
<div class="line"><a id="l04416" name="l04416"></a><span class="lineno"> 4416</span> }</div>
<div class="line"><a id="l04417" name="l04417"></a><span class="lineno"> 4417</span> </div>
<div class="line"><a id="l04418" name="l04418"></a><span class="lineno"> 4418</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l04419" name="l04419"></a><span class="lineno"> 4419</span>}</div>
</div>
<div class="line"><a id="l04420" name="l04420"></a><span class="lineno"> 4420</span> </div>
<div class="line"><a id="l04421" name="l04421"></a><span class="lineno"> 4421</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l04422" name="l04422"></a><span class="lineno"> 4422</span><span class="comment">// HandleFourierEntry (private)</span></div>
<div class="line"><a id="l04423" name="l04423"></a><span class="lineno"> 4423</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen04433" data-start="{" data-end="}">
<div class="line"><a id="l04433" name="l04433"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a39c148a0610711c98dd5b9fb13a2818f"> 4433</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a39c148a0610711c98dd5b9fb13a2818f">PMsrHandler::HandleFourierEntry</a>(<a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;lines)</div>
<div class="line"><a id="l04434" name="l04434"></a><span class="lineno"> 4434</span>{</div>
<div class="line"><a id="l04435" name="l04435"></a><span class="lineno"> 4435</span> Bool_t error = <span class="keyword">false</span>;</div>
<div class="line"><a id="l04436" name="l04436"></a><span class="lineno"> 4436</span> </div>
<div class="line"><a id="l04437" name="l04437"></a><span class="lineno"> 4437</span> <span class="keywordflow">if</span> (lines.empty()) <span class="comment">// no fourier block present</span></div>
<div class="line"><a id="l04438" name="l04438"></a><span class="lineno"> 4438</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l04439" name="l04439"></a><span class="lineno"> 4439</span> </div>
<div class="line"><a id="l04440" name="l04440"></a><span class="lineno"> 4440</span> <a class="code hl_struct" href="structPMsrFourierStructure.html">PMsrFourierStructure</a> fourier;</div>
<div class="line"><a id="l04441" name="l04441"></a><span class="lineno"> 4441</span> </div>
<div class="line"><a id="l04442" name="l04442"></a><span class="lineno"> 4442</span> <a class="code hl_function" href="classPMsrHandler.html#ae0ccc718eb4b01b46bd3c0d15bed8a0f">InitFourierParameterStructure</a>(fourier);</div>
<div class="line"><a id="l04443" name="l04443"></a><span class="lineno"> 4443</span> </div>
<div class="line"><a id="l04444" name="l04444"></a><span class="lineno"> 4444</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a38b1f6970c3c0fa34e6235838dd9c030">fFourierBlockPresent</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04445" name="l04445"></a><span class="lineno"> 4445</span> </div>
<div class="line"><a id="l04446" name="l04446"></a><span class="lineno"> 4446</span> PMsrLines::iterator iter;</div>
<div class="line"><a id="l04447" name="l04447"></a><span class="lineno"> 4447</span> </div>
<div class="line"><a id="l04448" name="l04448"></a><span class="lineno"> 4448</span> TObjArray *tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04449" name="l04449"></a><span class="lineno"> 4449</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04450" name="l04450"></a><span class="lineno"> 4450</span> TString str, pcStr=TString(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04451" name="l04451"></a><span class="lineno"> 4451</span> </div>
<div class="line"><a id="l04452" name="l04452"></a><span class="lineno"> 4452</span> Int_t ival;</div>
<div class="line"><a id="l04453" name="l04453"></a><span class="lineno"> 4453</span> </div>
<div class="line"><a id="l04454" name="l04454"></a><span class="lineno"> 4454</span> iter = lines.begin();</div>
<div class="line"><a id="l04455" name="l04455"></a><span class="lineno"> 4455</span> <span class="keywordflow">while</span> ((iter != lines.end()) &amp;&amp; !error) {</div>
<div class="line"><a id="l04456" name="l04456"></a><span class="lineno"> 4456</span> <span class="comment">// tokenize line</span></div>
<div class="line"><a id="l04457" name="l04457"></a><span class="lineno"> 4457</span> tokens = iter-&gt;fLine.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l04458" name="l04458"></a><span class="lineno"> 4458</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l04459" name="l04459"></a><span class="lineno"> 4459</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04460" name="l04460"></a><span class="lineno"> 4460</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04461" name="l04461"></a><span class="lineno"> 4461</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleFourierEntry: **SEVERE ERROR** Couldn&#39;t tokenize Parameters in line &quot;</span> &lt;&lt; iter-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div>
<div class="line"><a id="l04462" name="l04462"></a><span class="lineno"> 4462</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04463" name="l04463"></a><span class="lineno"> 4463</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04464" name="l04464"></a><span class="lineno"> 4464</span> }</div>
<div class="line"><a id="l04465" name="l04465"></a><span class="lineno"> 4465</span> </div>
<div class="line"><a id="l04466" name="l04466"></a><span class="lineno"> 4466</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;units&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// units</span></div>
<div class="line"><a id="l04467" name="l04467"></a><span class="lineno"> 4467</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) { <span class="comment">// units are missing</span></div>
<div class="line"><a id="l04468" name="l04468"></a><span class="lineno"> 4468</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04469" name="l04469"></a><span class="lineno"> 4469</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04470" name="l04470"></a><span class="lineno"> 4470</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04471" name="l04471"></a><span class="lineno"> 4471</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l04472" name="l04472"></a><span class="lineno"> 4472</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04473" name="l04473"></a><span class="lineno"> 4473</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;gauss&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04474" name="l04474"></a><span class="lineno"> 4474</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ac266b4de23588ea3ee1d8cc09eb93ccb">fUnits</a> = <a class="code hl_define" href="PMusr_8h.html#a471cf3179039d0b28e02b9554eab3021">FOURIER_UNIT_GAUSS</a>;</div>
<div class="line"><a id="l04475" name="l04475"></a><span class="lineno"> 4475</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;tesla&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04476" name="l04476"></a><span class="lineno"> 4476</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ac266b4de23588ea3ee1d8cc09eb93ccb">fUnits</a> = <a class="code hl_define" href="PMusr_8h.html#ad583569117484f3068f44927f59345e3">FOURIER_UNIT_TESLA</a>;</div>
<div class="line"><a id="l04477" name="l04477"></a><span class="lineno"> 4477</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;mhz&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04478" name="l04478"></a><span class="lineno"> 4478</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ac266b4de23588ea3ee1d8cc09eb93ccb">fUnits</a> = <a class="code hl_define" href="PMusr_8h.html#a32b38859b7d7cd6d73f22b8baab83e68">FOURIER_UNIT_FREQ</a>;</div>
<div class="line"><a id="l04479" name="l04479"></a><span class="lineno"> 4479</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;mc/s&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04480" name="l04480"></a><span class="lineno"> 4480</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ac266b4de23588ea3ee1d8cc09eb93ccb">fUnits</a> = <a class="code hl_define" href="PMusr_8h.html#a92465a516f14855a48c32bea2d59e4f5">FOURIER_UNIT_CYCLES</a>;</div>
<div class="line"><a id="l04481" name="l04481"></a><span class="lineno"> 4481</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04482" name="l04482"></a><span class="lineno"> 4482</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04483" name="l04483"></a><span class="lineno"> 4483</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04484" name="l04484"></a><span class="lineno"> 4484</span> }</div>
<div class="line"><a id="l04485" name="l04485"></a><span class="lineno"> 4485</span> }</div>
<div class="line"><a id="l04486" name="l04486"></a><span class="lineno"> 4486</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;fourier_power&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// fourier power (zero padding)</span></div>
<div class="line"><a id="l04487" name="l04487"></a><span class="lineno"> 4487</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) { <span class="comment">// fourier power exponent is missing</span></div>
<div class="line"><a id="l04488" name="l04488"></a><span class="lineno"> 4488</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04489" name="l04489"></a><span class="lineno"> 4489</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04490" name="l04490"></a><span class="lineno"> 4490</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04491" name="l04491"></a><span class="lineno"> 4491</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l04492" name="l04492"></a><span class="lineno"> 4492</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04493" name="l04493"></a><span class="lineno"> 4493</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l04494" name="l04494"></a><span class="lineno"> 4494</span> ival = str.Atoi();</div>
<div class="line"><a id="l04495" name="l04495"></a><span class="lineno"> 4495</span> <span class="keywordflow">if</span> ((ival &gt;= 0) &amp;&amp; (ival &lt;= 20)) {</div>
<div class="line"><a id="l04496" name="l04496"></a><span class="lineno"> 4496</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a96618ca7ad239ae2ce75a1e64e356242">fFourierPower</a> = ival;</div>
<div class="line"><a id="l04497" name="l04497"></a><span class="lineno"> 4497</span> } <span class="keywordflow">else</span> { <span class="comment">// fourier power out of range</span></div>
<div class="line"><a id="l04498" name="l04498"></a><span class="lineno"> 4498</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04499" name="l04499"></a><span class="lineno"> 4499</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04500" name="l04500"></a><span class="lineno"> 4500</span> }</div>
<div class="line"><a id="l04501" name="l04501"></a><span class="lineno"> 4501</span> } <span class="keywordflow">else</span> { <span class="comment">// fourier power not a number</span></div>
<div class="line"><a id="l04502" name="l04502"></a><span class="lineno"> 4502</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04503" name="l04503"></a><span class="lineno"> 4503</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04504" name="l04504"></a><span class="lineno"> 4504</span> }</div>
<div class="line"><a id="l04505" name="l04505"></a><span class="lineno"> 4505</span> }</div>
<div class="line"><a id="l04506" name="l04506"></a><span class="lineno"> 4506</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;dc-corrected&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// dc-corrected</span></div>
<div class="line"><a id="l04507" name="l04507"></a><span class="lineno"> 4507</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) { <span class="comment">// dc-corrected tag is missing</span></div>
<div class="line"><a id="l04508" name="l04508"></a><span class="lineno"> 4508</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04509" name="l04509"></a><span class="lineno"> 4509</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04510" name="l04510"></a><span class="lineno"> 4510</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04511" name="l04511"></a><span class="lineno"> 4511</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l04512" name="l04512"></a><span class="lineno"> 4512</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04513" name="l04513"></a><span class="lineno"> 4513</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;true&quot;</span>, TString::kIgnoreCase) || !str.CompareTo(<span class="stringliteral">&quot;1&quot;</span>)) {</div>
<div class="line"><a id="l04514" name="l04514"></a><span class="lineno"> 4514</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#af52dbec96fa224378066867fbee9d957">fDCCorrected</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04515" name="l04515"></a><span class="lineno"> 4515</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;false&quot;</span>, TString::kIgnoreCase) || !str.CompareTo(<span class="stringliteral">&quot;0&quot;</span>)) {</div>
<div class="line"><a id="l04516" name="l04516"></a><span class="lineno"> 4516</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#af52dbec96fa224378066867fbee9d957">fDCCorrected</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l04517" name="l04517"></a><span class="lineno"> 4517</span> } <span class="keywordflow">else</span> { <span class="comment">// unrecognized dc-corrected tag</span></div>
<div class="line"><a id="l04518" name="l04518"></a><span class="lineno"> 4518</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04519" name="l04519"></a><span class="lineno"> 4519</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04520" name="l04520"></a><span class="lineno"> 4520</span> }</div>
<div class="line"><a id="l04521" name="l04521"></a><span class="lineno"> 4521</span> }</div>
<div class="line"><a id="l04522" name="l04522"></a><span class="lineno"> 4522</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;apodization&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// apodization</span></div>
<div class="line"><a id="l04523" name="l04523"></a><span class="lineno"> 4523</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) { <span class="comment">// apodization tag is missing</span></div>
<div class="line"><a id="l04524" name="l04524"></a><span class="lineno"> 4524</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04525" name="l04525"></a><span class="lineno"> 4525</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04526" name="l04526"></a><span class="lineno"> 4526</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04527" name="l04527"></a><span class="lineno"> 4527</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l04528" name="l04528"></a><span class="lineno"> 4528</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04529" name="l04529"></a><span class="lineno"> 4529</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;none&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04530" name="l04530"></a><span class="lineno"> 4530</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#afea69c886a635db094a8a3cf1ed4c0a8">fApodization</a> = <a class="code hl_define" href="PMusr_8h.html#a901c9291fbd78931e65e862aacbeca98">FOURIER_APOD_NONE</a>;</div>
<div class="line"><a id="l04531" name="l04531"></a><span class="lineno"> 4531</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;weak&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04532" name="l04532"></a><span class="lineno"> 4532</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#afea69c886a635db094a8a3cf1ed4c0a8">fApodization</a> = <a class="code hl_define" href="PMusr_8h.html#a7ee8774df63a8af5e99328058ebb7ab2">FOURIER_APOD_WEAK</a>;</div>
<div class="line"><a id="l04533" name="l04533"></a><span class="lineno"> 4533</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;medium&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04534" name="l04534"></a><span class="lineno"> 4534</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#afea69c886a635db094a8a3cf1ed4c0a8">fApodization</a> = <a class="code hl_define" href="PMusr_8h.html#ac80c5f481d7bc0af56368b59dad88e42">FOURIER_APOD_MEDIUM</a>;</div>
<div class="line"><a id="l04535" name="l04535"></a><span class="lineno"> 4535</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;strong&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04536" name="l04536"></a><span class="lineno"> 4536</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#afea69c886a635db094a8a3cf1ed4c0a8">fApodization</a> = <a class="code hl_define" href="PMusr_8h.html#a9e30339c56f3061e468a489d8a24cd79">FOURIER_APOD_STRONG</a>;</div>
<div class="line"><a id="l04537" name="l04537"></a><span class="lineno"> 4537</span> } <span class="keywordflow">else</span> { <span class="comment">// unrecognized apodization tag</span></div>
<div class="line"><a id="l04538" name="l04538"></a><span class="lineno"> 4538</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04539" name="l04539"></a><span class="lineno"> 4539</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04540" name="l04540"></a><span class="lineno"> 4540</span> }</div>
<div class="line"><a id="l04541" name="l04541"></a><span class="lineno"> 4541</span> }</div>
<div class="line"><a id="l04542" name="l04542"></a><span class="lineno"> 4542</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;plot&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// plot tag</span></div>
<div class="line"><a id="l04543" name="l04543"></a><span class="lineno"> 4543</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) { <span class="comment">// plot tag is missing</span></div>
<div class="line"><a id="l04544" name="l04544"></a><span class="lineno"> 4544</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04545" name="l04545"></a><span class="lineno"> 4545</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04546" name="l04546"></a><span class="lineno"> 4546</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04547" name="l04547"></a><span class="lineno"> 4547</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l04548" name="l04548"></a><span class="lineno"> 4548</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04549" name="l04549"></a><span class="lineno"> 4549</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;real&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04550" name="l04550"></a><span class="lineno"> 4550</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a3128af6178d42373d5ed193f745c0df9">fPlotTag</a> = <a class="code hl_define" href="PMusr_8h.html#a727bcb40bd729656083fd581bd27def7">FOURIER_PLOT_REAL</a>;</div>
<div class="line"><a id="l04551" name="l04551"></a><span class="lineno"> 4551</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;imag&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04552" name="l04552"></a><span class="lineno"> 4552</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a3128af6178d42373d5ed193f745c0df9">fPlotTag</a> = <a class="code hl_define" href="PMusr_8h.html#abd8681e11bd419c4237d7e52530eb374">FOURIER_PLOT_IMAG</a>;</div>
<div class="line"><a id="l04553" name="l04553"></a><span class="lineno"> 4553</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;real_and_imag&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04554" name="l04554"></a><span class="lineno"> 4554</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a3128af6178d42373d5ed193f745c0df9">fPlotTag</a> = <a class="code hl_define" href="PMusr_8h.html#a33032114d90d686450cfa71bb7ca6ab3">FOURIER_PLOT_REAL_AND_IMAG</a>;</div>
<div class="line"><a id="l04555" name="l04555"></a><span class="lineno"> 4555</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;power&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04556" name="l04556"></a><span class="lineno"> 4556</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a3128af6178d42373d5ed193f745c0df9">fPlotTag</a> = <a class="code hl_define" href="PMusr_8h.html#a4dda98b3e47269c7ffb9ee8f7e7b405a">FOURIER_PLOT_POWER</a>;</div>
<div class="line"><a id="l04557" name="l04557"></a><span class="lineno"> 4557</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;phase&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04558" name="l04558"></a><span class="lineno"> 4558</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a3128af6178d42373d5ed193f745c0df9">fPlotTag</a> = <a class="code hl_define" href="PMusr_8h.html#ad274c4fe3bc865a43564b2f92a6c3c09">FOURIER_PLOT_PHASE</a>;</div>
<div class="line"><a id="l04559" name="l04559"></a><span class="lineno"> 4559</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;phase_opt_real&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04560" name="l04560"></a><span class="lineno"> 4560</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a3128af6178d42373d5ed193f745c0df9">fPlotTag</a> = <a class="code hl_define" href="PMusr_8h.html#a7b5cd7f1bcb3543b7fb8520387414faf">FOURIER_PLOT_PHASE_OPT_REAL</a>;</div>
<div class="line"><a id="l04561" name="l04561"></a><span class="lineno"> 4561</span> } <span class="keywordflow">else</span> { <span class="comment">// unrecognized plot tag</span></div>
<div class="line"><a id="l04562" name="l04562"></a><span class="lineno"> 4562</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04563" name="l04563"></a><span class="lineno"> 4563</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04564" name="l04564"></a><span class="lineno"> 4564</span> }</div>
<div class="line"><a id="l04565" name="l04565"></a><span class="lineno"> 4565</span> }</div>
<div class="line"><a id="l04566" name="l04566"></a><span class="lineno"> 4566</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;phase&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// phase</span></div>
<div class="line"><a id="l04567" name="l04567"></a><span class="lineno"> 4567</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) { <span class="comment">// phase value(s)/par(s) is(are) missing</span></div>
<div class="line"><a id="l04568" name="l04568"></a><span class="lineno"> 4568</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04569" name="l04569"></a><span class="lineno"> 4569</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04570" name="l04570"></a><span class="lineno"> 4570</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04571" name="l04571"></a><span class="lineno"> 4571</span> <span class="comment">// allowed phase parameter patterns:</span></div>
<div class="line"><a id="l04572" name="l04572"></a><span class="lineno"> 4572</span> <span class="comment">// (i) phase val [sep val sep val ...] [# comment], val=double, sep=&#39; ,;\t&#39;</span></div>
<div class="line"><a id="l04573" name="l04573"></a><span class="lineno"> 4573</span> <span class="comment">// (ii) phase parX0 [sep parX1 sep parX2 ...] [# comment], val=double, sep=&#39; ,;\t&#39;</span></div>
<div class="line"><a id="l04574" name="l04574"></a><span class="lineno"> 4574</span> <span class="comment">// (iii) phase par(X0 sep1 offset sep1 #param) [# comment], sep1= &#39;,;&#39;</span></div>
<div class="line"><a id="l04575" name="l04575"></a><span class="lineno"> 4575</span> </div>
<div class="line"><a id="l04576" name="l04576"></a><span class="lineno"> 4576</span> <span class="comment">// remove potential comment</span></div>
<div class="line"><a id="l04577" name="l04577"></a><span class="lineno"> 4577</span> TString wstr(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04578" name="l04578"></a><span class="lineno"> 4578</span> <a class="code hl_function" href="classPMsrHandler.html#aab35120ee133dc97daaed8060c255f65">RemoveComment</a>(iter-&gt;fLine, wstr);</div>
<div class="line"><a id="l04579" name="l04579"></a><span class="lineno"> 4579</span> </div>
<div class="line"><a id="l04580" name="l04580"></a><span class="lineno"> 4580</span> <span class="comment">// check for &#39;phase val ...&#39;</span></div>
<div class="line"><a id="l04581" name="l04581"></a><span class="lineno"> 4581</span> Bool_t result = <a class="code hl_function" href="classPMsrHandler.html#a07e23f3baef0ee7663bf8be5b92a5765">ParseFourierPhaseValueVector</a>(fourier, wstr, error);</div>
<div class="line"><a id="l04582" name="l04582"></a><span class="lineno"> 4582</span> <span class="keywordflow">if</span> (error)</div>
<div class="line"><a id="l04583" name="l04583"></a><span class="lineno"> 4583</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04584" name="l04584"></a><span class="lineno"> 4584</span> </div>
<div class="line"><a id="l04585" name="l04585"></a><span class="lineno"> 4585</span> <span class="comment">// check for &#39;phase parX0 ...&#39; if not already val are found</span></div>
<div class="line"><a id="l04586" name="l04586"></a><span class="lineno"> 4586</span> <span class="keywordflow">if</span> (!result) {</div>
<div class="line"><a id="l04587" name="l04587"></a><span class="lineno"> 4587</span> result = <a class="code hl_function" href="classPMsrHandler.html#a987f71daeebe57213ecc64640c22e1f1">ParseFourierPhaseParVector</a>(fourier, wstr, error);</div>
<div class="line"><a id="l04588" name="l04588"></a><span class="lineno"> 4588</span> <span class="keywordflow">if</span> (error)</div>
<div class="line"><a id="l04589" name="l04589"></a><span class="lineno"> 4589</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04590" name="l04590"></a><span class="lineno"> 4590</span> }</div>
<div class="line"><a id="l04591" name="l04591"></a><span class="lineno"> 4591</span> </div>
<div class="line"><a id="l04592" name="l04592"></a><span class="lineno"> 4592</span> <span class="comment">// check for &#39;phase par(X0, offset, #param)&#39; if not already covered by the previous ones</span></div>
<div class="line"><a id="l04593" name="l04593"></a><span class="lineno"> 4593</span> <span class="keywordflow">if</span> (!result) {</div>
<div class="line"><a id="l04594" name="l04594"></a><span class="lineno"> 4594</span> result = <a class="code hl_function" href="classPMsrHandler.html#a4f069e59410d0c18a699817119c334ec">ParseFourierPhaseParIterVector</a>(fourier, wstr, error);</div>
<div class="line"><a id="l04595" name="l04595"></a><span class="lineno"> 4595</span> }</div>
<div class="line"><a id="l04596" name="l04596"></a><span class="lineno"> 4596</span> </div>
<div class="line"><a id="l04597" name="l04597"></a><span class="lineno"> 4597</span> <span class="keywordflow">if</span> (!result || error) {</div>
<div class="line"><a id="l04598" name="l04598"></a><span class="lineno"> 4598</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04599" name="l04599"></a><span class="lineno"> 4599</span> }</div>
<div class="line"><a id="l04600" name="l04600"></a><span class="lineno"> 4600</span> </div>
<div class="line"><a id="l04601" name="l04601"></a><span class="lineno"> 4601</span> <span class="comment">// if parameter vector is given: check that all parameters are within range</span></div>
<div class="line"><a id="l04602" name="l04602"></a><span class="lineno"> 4602</span> <span class="keywordflow">if</span> (fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>.size() &gt; 0) {</div>
<div class="line"><a id="l04603" name="l04603"></a><span class="lineno"> 4603</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>.size(); i++) {</div>
<div class="line"><a id="l04604" name="l04604"></a><span class="lineno"> 4604</span> <span class="keywordflow">if</span> (fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>[i] &gt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size()) {</div>
<div class="line"><a id="l04605" name="l04605"></a><span class="lineno"> 4605</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04606" name="l04606"></a><span class="lineno"> 4606</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04607" name="l04607"></a><span class="lineno"> 4607</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleFourierEntry: found Fourier parameter entry par&quot;</span> &lt;&lt; fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>[i] &lt;&lt; <span class="stringliteral">&quot; &gt; #Param = &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l04608" name="l04608"></a><span class="lineno"> 4608</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04609" name="l04609"></a><span class="lineno"> 4609</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04610" name="l04610"></a><span class="lineno"> 4610</span> --iter;</div>
<div class="line"><a id="l04611" name="l04611"></a><span class="lineno"> 4611</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04612" name="l04612"></a><span class="lineno"> 4612</span> }</div>
<div class="line"><a id="l04613" name="l04613"></a><span class="lineno"> 4613</span> }</div>
<div class="line"><a id="l04614" name="l04614"></a><span class="lineno"> 4614</span> }</div>
<div class="line"><a id="l04615" name="l04615"></a><span class="lineno"> 4615</span> </div>
<div class="line"><a id="l04616" name="l04616"></a><span class="lineno"> 4616</span> <span class="comment">// if parameter vector is given -&gt; fill corresponding phase values</span></div>
<div class="line"><a id="l04617" name="l04617"></a><span class="lineno"> 4617</span> Double_t phaseRef = 0.0;</div>
<div class="line"><a id="l04618" name="l04618"></a><span class="lineno"> 4618</span> <span class="keywordflow">if</span> (fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>.size() &gt; 0) {</div>
<div class="line"><a id="l04619" name="l04619"></a><span class="lineno"> 4619</span> <span class="comment">// check if a relative parameter phase number is set</span></div>
<div class="line"><a id="l04620" name="l04620"></a><span class="lineno"> 4620</span> <span class="keywordflow">if</span> (fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ae1c193df0a19b2847faad97300ba3c71">fPhaseRef</a> != -1) {</div>
<div class="line"><a id="l04621" name="l04621"></a><span class="lineno"> 4621</span> phaseRef = <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ae1c193df0a19b2847faad97300ba3c71">fPhaseRef</a>-1].fValue;</div>
<div class="line"><a id="l04622" name="l04622"></a><span class="lineno"> 4622</span> }</div>
<div class="line"><a id="l04623" name="l04623"></a><span class="lineno"> 4623</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a66c5ef93b0c30ea1dcdf91286f593acc">fPhase</a>.clear();</div>
<div class="line"><a id="l04624" name="l04624"></a><span class="lineno"> 4624</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>.size(); i++) {</div>
<div class="line"><a id="l04625" name="l04625"></a><span class="lineno"> 4625</span> <span class="keywordflow">if</span> (fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#ae1c193df0a19b2847faad97300ba3c71">fPhaseRef</a> == fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>[i]) <span class="comment">// reference phase</span></div>
<div class="line"><a id="l04626" name="l04626"></a><span class="lineno"> 4626</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a66c5ef93b0c30ea1dcdf91286f593acc">fPhase</a>.push_back(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>[i]-1].fValue);</div>
<div class="line"><a id="l04627" name="l04627"></a><span class="lineno"> 4627</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04628" name="l04628"></a><span class="lineno"> 4628</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a66c5ef93b0c30ea1dcdf91286f593acc">fPhase</a>.push_back(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">fPhaseParamNo</a>[i]-1].fValue+phaseRef);</div>
<div class="line"><a id="l04629" name="l04629"></a><span class="lineno"> 4629</span> }</div>
<div class="line"><a id="l04630" name="l04630"></a><span class="lineno"> 4630</span> }</div>
<div class="line"><a id="l04631" name="l04631"></a><span class="lineno"> 4631</span> }</div>
<div class="line"><a id="l04632" name="l04632"></a><span class="lineno"> 4632</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;range_for_phase_correction&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04633" name="l04633"></a><span class="lineno"> 4633</span> <span class="comment">// keep the string. It can only be handled at the very end of the FOURIER block evaluation</span></div>
<div class="line"><a id="l04634" name="l04634"></a><span class="lineno"> 4634</span> <span class="comment">// since it needs potentially the range input and there is no guaranty this is already</span></div>
<div class="line"><a id="l04635" name="l04635"></a><span class="lineno"> 4635</span> <span class="comment">// available at this point.</span></div>
<div class="line"><a id="l04636" name="l04636"></a><span class="lineno"> 4636</span> pcStr = iter-&gt;fLine;</div>
<div class="line"><a id="l04637" name="l04637"></a><span class="lineno"> 4637</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;range&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// fourier plot range</span></div>
<div class="line"><a id="l04638" name="l04638"></a><span class="lineno"> 4638</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 3) { <span class="comment">// plot range values are missing</span></div>
<div class="line"><a id="l04639" name="l04639"></a><span class="lineno"> 4639</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04640" name="l04640"></a><span class="lineno"> 4640</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04641" name="l04641"></a><span class="lineno"> 4641</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04642" name="l04642"></a><span class="lineno"> 4642</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;2; i++) {</div>
<div class="line"><a id="l04643" name="l04643"></a><span class="lineno"> 4643</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i+1));</div>
<div class="line"><a id="l04644" name="l04644"></a><span class="lineno"> 4644</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04645" name="l04645"></a><span class="lineno"> 4645</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l04646" name="l04646"></a><span class="lineno"> 4646</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a5b05da72c5e654261e7d53b2cd6591a7">fPlotRange</a>[i] = str.Atof();</div>
<div class="line"><a id="l04647" name="l04647"></a><span class="lineno"> 4647</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04648" name="l04648"></a><span class="lineno"> 4648</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04649" name="l04649"></a><span class="lineno"> 4649</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04650" name="l04650"></a><span class="lineno"> 4650</span> }</div>
<div class="line"><a id="l04651" name="l04651"></a><span class="lineno"> 4651</span> }</div>
<div class="line"><a id="l04652" name="l04652"></a><span class="lineno"> 4652</span> }</div>
<div class="line"><a id="l04653" name="l04653"></a><span class="lineno"> 4653</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;fourier&quot;</span>, TString::kIgnoreCase) &amp;&amp; !iter-&gt;fLine.BeginsWith(<span class="stringliteral">&quot;#&quot;</span>) &amp;&amp;</div>
<div class="line"><a id="l04654" name="l04654"></a><span class="lineno"> 4654</span> !iter-&gt;fLine.IsWhitespace() &amp;&amp; (iter-&gt;fLine.Length() != 0)) { <span class="comment">// make</span></div>
<div class="line"><a id="l04655" name="l04655"></a><span class="lineno"> 4655</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04656" name="l04656"></a><span class="lineno"> 4656</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04657" name="l04657"></a><span class="lineno"> 4657</span> }</div>
<div class="line"><a id="l04658" name="l04658"></a><span class="lineno"> 4658</span> </div>
<div class="line"><a id="l04659" name="l04659"></a><span class="lineno"> 4659</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l04660" name="l04660"></a><span class="lineno"> 4660</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l04661" name="l04661"></a><span class="lineno"> 4661</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l04662" name="l04662"></a><span class="lineno"> 4662</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04663" name="l04663"></a><span class="lineno"> 4663</span> }</div>
<div class="line"><a id="l04664" name="l04664"></a><span class="lineno"> 4664</span> </div>
<div class="line"><a id="l04665" name="l04665"></a><span class="lineno"> 4665</span> ++iter;</div>
<div class="line"><a id="l04666" name="l04666"></a><span class="lineno"> 4666</span> }</div>
<div class="line"><a id="l04667" name="l04667"></a><span class="lineno"> 4667</span> </div>
<div class="line"><a id="l04668" name="l04668"></a><span class="lineno"> 4668</span> <span class="comment">// clean up after error</span></div>
<div class="line"><a id="l04669" name="l04669"></a><span class="lineno"> 4669</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l04670" name="l04670"></a><span class="lineno"> 4670</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l04671" name="l04671"></a><span class="lineno"> 4671</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04672" name="l04672"></a><span class="lineno"> 4672</span> }</div>
<div class="line"><a id="l04673" name="l04673"></a><span class="lineno"> 4673</span> </div>
<div class="line"><a id="l04674" name="l04674"></a><span class="lineno"> 4674</span> <span class="comment">// handle range_for_phase_correction if present</span></div>
<div class="line"><a id="l04675" name="l04675"></a><span class="lineno"> 4675</span> <span class="keywordflow">if</span> ((pcStr.Length() != 0) &amp;&amp; !error) {</div>
<div class="line"><a id="l04676" name="l04676"></a><span class="lineno"> 4676</span> <span class="comment">// tokenize line</span></div>
<div class="line"><a id="l04677" name="l04677"></a><span class="lineno"> 4677</span> tokens = pcStr.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l04678" name="l04678"></a><span class="lineno"> 4678</span> </div>
<div class="line"><a id="l04679" name="l04679"></a><span class="lineno"> 4679</span> <span class="keywordflow">switch</span> (tokens-&gt;GetEntries()) {</div>
<div class="line"><a id="l04680" name="l04680"></a><span class="lineno"> 4680</span> <span class="keywordflow">case</span> 2:</div>
<div class="line"><a id="l04681" name="l04681"></a><span class="lineno"> 4681</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l04682" name="l04682"></a><span class="lineno"> 4682</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04683" name="l04683"></a><span class="lineno"> 4683</span> <span class="keywordflow">if</span> (!str.CompareTo(<span class="stringliteral">&quot;all&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04684" name="l04684"></a><span class="lineno"> 4684</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a66de32824be3fb74b3d51cec23c8ffd7">fRangeForPhaseCorrection</a>[0] = fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a5b05da72c5e654261e7d53b2cd6591a7">fPlotRange</a>[0];</div>
<div class="line"><a id="l04685" name="l04685"></a><span class="lineno"> 4685</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a66de32824be3fb74b3d51cec23c8ffd7">fRangeForPhaseCorrection</a>[1] = fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a5b05da72c5e654261e7d53b2cd6591a7">fPlotRange</a>[1];</div>
<div class="line"><a id="l04686" name="l04686"></a><span class="lineno"> 4686</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04687" name="l04687"></a><span class="lineno"> 4687</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04688" name="l04688"></a><span class="lineno"> 4688</span> }</div>
<div class="line"><a id="l04689" name="l04689"></a><span class="lineno"> 4689</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04690" name="l04690"></a><span class="lineno"> 4690</span> <span class="keywordflow">case</span> 3:</div>
<div class="line"><a id="l04691" name="l04691"></a><span class="lineno"> 4691</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;2; i++) {</div>
<div class="line"><a id="l04692" name="l04692"></a><span class="lineno"> 4692</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i+1));</div>
<div class="line"><a id="l04693" name="l04693"></a><span class="lineno"> 4693</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04694" name="l04694"></a><span class="lineno"> 4694</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l04695" name="l04695"></a><span class="lineno"> 4695</span> fourier.<a class="code hl_variable" href="structPMsrFourierStructure.html#a66de32824be3fb74b3d51cec23c8ffd7">fRangeForPhaseCorrection</a>[i] = str.Atof();</div>
<div class="line"><a id="l04696" name="l04696"></a><span class="lineno"> 4696</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04697" name="l04697"></a><span class="lineno"> 4697</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04698" name="l04698"></a><span class="lineno"> 4698</span> }</div>
<div class="line"><a id="l04699" name="l04699"></a><span class="lineno"> 4699</span> }</div>
<div class="line"><a id="l04700" name="l04700"></a><span class="lineno"> 4700</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04701" name="l04701"></a><span class="lineno"> 4701</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l04702" name="l04702"></a><span class="lineno"> 4702</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04703" name="l04703"></a><span class="lineno"> 4703</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04704" name="l04704"></a><span class="lineno"> 4704</span> }</div>
<div class="line"><a id="l04705" name="l04705"></a><span class="lineno"> 4705</span> </div>
<div class="line"><a id="l04706" name="l04706"></a><span class="lineno"> 4706</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l04707" name="l04707"></a><span class="lineno"> 4707</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l04708" name="l04708"></a><span class="lineno"> 4708</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l04709" name="l04709"></a><span class="lineno"> 4709</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04710" name="l04710"></a><span class="lineno"> 4710</span> }</div>
<div class="line"><a id="l04711" name="l04711"></a><span class="lineno"> 4711</span> }</div>
<div class="line"><a id="l04712" name="l04712"></a><span class="lineno"> 4712</span> </div>
<div class="line"><a id="l04713" name="l04713"></a><span class="lineno"> 4713</span> <span class="keywordflow">if</span> (error) {</div>
<div class="line"><a id="l04714" name="l04714"></a><span class="lineno"> 4714</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04715" name="l04715"></a><span class="lineno"> 4715</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04716" name="l04716"></a><span class="lineno"> 4716</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleFourierEntry: **ERROR** in line &quot;</span> &lt;&lt; iter-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;:\n\n&quot;</span>;</div>
<div class="line"><a id="l04717" name="l04717"></a><span class="lineno"> 4717</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; &quot;</span> &lt;&lt; iter-&gt;fLine.Data() &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div>
<div class="line"><a id="l04718" name="l04718"></a><span class="lineno"> 4718</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; FOURIER block syntax, parameters in [] are optinal:\n\n&quot;</span>;</div>
<div class="line"><a id="l04719" name="l04719"></a><span class="lineno"> 4719</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; FOURIER\n&quot;</span>;</div>
<div class="line"><a id="l04720" name="l04720"></a><span class="lineno"> 4720</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [units Gauss | MHz | Mc/s]\n&quot;</span>;</div>
<div class="line"><a id="l04721" name="l04721"></a><span class="lineno"> 4721</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [fourier_power n # n is a number such that zero padding up to 2^n will be used]\n&quot;</span>;</div>
<div class="line"><a id="l04722" name="l04722"></a><span class="lineno"> 4722</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; n=0 means no zero padding\n&quot;</span>;</div>
<div class="line"><a id="l04723" name="l04723"></a><span class="lineno"> 4723</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; 0 &lt;= n &lt;= 20 are allowed values\n&quot;</span>;</div>
<div class="line"><a id="l04724" name="l04724"></a><span class="lineno"> 4724</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [dc-corrected true | false]\n&quot;</span>;</div>
<div class="line"><a id="l04725" name="l04725"></a><span class="lineno"> 4725</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [apodization none | weak | medium | strong]\n&quot;</span>;</div>
<div class="line"><a id="l04726" name="l04726"></a><span class="lineno"> 4726</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [plot real | imag | real_and_imag | power | phase | phase_opt_real]\n&quot;</span>;</div>
<div class="line"><a id="l04727" name="l04727"></a><span class="lineno"> 4727</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [phase valList | parList | parIterList [# comment]]\n&quot;</span>;</div>
<div class="line"><a id="l04728" name="l04728"></a><span class="lineno"> 4728</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; valList : val [sep val ... sep val]. sep=&#39; ,;\\t&#39;\n&quot;</span>;</div>
<div class="line"><a id="l04729" name="l04729"></a><span class="lineno"> 4729</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; parList : parX0 [sep parX1 ... sep parXn], Xi is the parameter number\n&quot;</span>;</div>
<div class="line"><a id="l04730" name="l04730"></a><span class="lineno"> 4730</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; parList : parRX0 sep parX1 ... sep parXn, parRX0 is the reference phase, e.g. parR3\n&quot;</span>;</div>
<div class="line"><a id="l04731" name="l04731"></a><span class="lineno"> 4731</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; parIterList : par(X0,offset,#param), with X0=first parameter number\n&quot;</span>;</div>
<div class="line"><a id="l04732" name="l04732"></a><span class="lineno"> 4732</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; offset=parameter offset, #param=number of phase parameters.\n&quot;</span>;</div>
<div class="line"><a id="l04733" name="l04733"></a><span class="lineno"> 4733</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [range_for_phase_correction min max | all]\n&quot;</span>;</div>
<div class="line"><a id="l04734" name="l04734"></a><span class="lineno"> 4734</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [range min max]\n&quot;</span>;</div>
<div class="line"><a id="l04735" name="l04735"></a><span class="lineno"> 4735</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04736" name="l04736"></a><span class="lineno"> 4736</span> } <span class="keywordflow">else</span> { <span class="comment">// save last run found</span></div>
<div class="line"><a id="l04737" name="l04737"></a><span class="lineno"> 4737</span> <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a> = fourier;</div>
<div class="line"><a id="l04738" name="l04738"></a><span class="lineno"> 4738</span> }</div>
<div class="line"><a id="l04739" name="l04739"></a><span class="lineno"> 4739</span> </div>
<div class="line"><a id="l04740" name="l04740"></a><span class="lineno"> 4740</span> <span class="keywordflow">return</span> !error;</div>
<div class="line"><a id="l04741" name="l04741"></a><span class="lineno"> 4741</span>}</div>
</div>
<div class="line"><a id="l04742" name="l04742"></a><span class="lineno"> 4742</span> </div>
<div class="line"><a id="l04743" name="l04743"></a><span class="lineno"> 4743</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l04744" name="l04744"></a><span class="lineno"> 4744</span><span class="comment">// HandlePlotEntry (private)</span></div>
<div class="line"><a id="l04745" name="l04745"></a><span class="lineno"> 4745</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen04755" data-start="{" data-end="}">
<div class="line"><a id="l04755" name="l04755"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#af7f875b77f31f2aad67fe83fb0b41135"> 4755</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#af7f875b77f31f2aad67fe83fb0b41135">PMsrHandler::HandlePlotEntry</a>(<a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;lines)</div>
<div class="line"><a id="l04756" name="l04756"></a><span class="lineno"> 4756</span>{</div>
<div class="line"><a id="l04757" name="l04757"></a><span class="lineno"> 4757</span> Bool_t error = <span class="keyword">false</span>;</div>
<div class="line"><a id="l04758" name="l04758"></a><span class="lineno"> 4758</span> </div>
<div class="line"><a id="l04759" name="l04759"></a><span class="lineno"> 4759</span> <a class="code hl_struct" href="structPMsrPlotStructure.html">PMsrPlotStructure</a> param;</div>
<div class="line"><a id="l04760" name="l04760"></a><span class="lineno"> 4760</span> </div>
<div class="line"><a id="l04761" name="l04761"></a><span class="lineno"> 4761</span> PMsrLines::iterator iter1;</div>
<div class="line"><a id="l04762" name="l04762"></a><span class="lineno"> 4762</span> PMsrLines::iterator iter2;</div>
<div class="line"><a id="l04763" name="l04763"></a><span class="lineno"> 4763</span> TObjArray *tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04764" name="l04764"></a><span class="lineno"> 4764</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04765" name="l04765"></a><span class="lineno"> 4765</span> TString str;</div>
<div class="line"><a id="l04766" name="l04766"></a><span class="lineno"> 4766</span> </div>
<div class="line"><a id="l04767" name="l04767"></a><span class="lineno"> 4767</span> <span class="keywordflow">if</span> (lines.empty()) {</div>
<div class="line"><a id="l04768" name="l04768"></a><span class="lineno"> 4768</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry(): **WARNING**: There is no PLOT block! Do you really want this?&quot;</span>;</div>
<div class="line"><a id="l04769" name="l04769"></a><span class="lineno"> 4769</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l04770" name="l04770"></a><span class="lineno"> 4770</span> }</div>
<div class="line"><a id="l04771" name="l04771"></a><span class="lineno"> 4771</span> </div>
<div class="line"><a id="l04772" name="l04772"></a><span class="lineno"> 4772</span> iter1 = lines.begin();</div>
<div class="line"><a id="l04773" name="l04773"></a><span class="lineno"> 4773</span> <span class="keywordflow">while</span> ((iter1 != lines.end()) &amp;&amp; !error) {</div>
<div class="line"><a id="l04774" name="l04774"></a><span class="lineno"> 4774</span> </div>
<div class="line"><a id="l04775" name="l04775"></a><span class="lineno"> 4775</span> <span class="comment">// initialize param structure</span></div>
<div class="line"><a id="l04776" name="l04776"></a><span class="lineno"> 4776</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a58fd72fc8692d7bde000aa3fce9d99ff">fPlotType</a> = -1;</div>
<div class="line"><a id="l04777" name="l04777"></a><span class="lineno"> 4777</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a97aa6529cb0e57d607b933655bf9f4be">fLifeTimeCorrection</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l04778" name="l04778"></a><span class="lineno"> 4778</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0940cc41f5b7bfe5e50a024541ae4477">fUseFitRanges</a> = <span class="keyword">false</span>; <span class="comment">// i.e. if not overwritten use the range info of the plot block</span></div>
<div class="line"><a id="l04779" name="l04779"></a><span class="lineno"> 4779</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a3cb1aab778d09c659d7229735c25bde9">fLogX</a> = <span class="keyword">false</span>; <span class="comment">// i.e. if not overwritten use linear x-axis</span></div>
<div class="line"><a id="l04780" name="l04780"></a><span class="lineno"> 4780</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a3a795e5640484393abef87d1834ba4ea">fLogY</a> = <span class="keyword">false</span>; <span class="comment">// i.e. if not overwritten use linear y-axis</span></div>
<div class="line"><a id="l04781" name="l04781"></a><span class="lineno"> 4781</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#ab4f87f33b4d516bdf474dcbc562e4d1e">fViewPacking</a> = -1; <span class="comment">// i.e. if not overwritten use the packing of the run blocks</span></div>
<div class="line"><a id="l04782" name="l04782"></a><span class="lineno"> 4782</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.clear();</div>
<div class="line"><a id="l04783" name="l04783"></a><span class="lineno"> 4783</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">fTmin</a>.clear();</div>
<div class="line"><a id="l04784" name="l04784"></a><span class="lineno"> 4784</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afc31a0ffeab7397933957bd7e9d57229">fTmax</a>.clear();</div>
<div class="line"><a id="l04785" name="l04785"></a><span class="lineno"> 4785</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>.clear();</div>
<div class="line"><a id="l04786" name="l04786"></a><span class="lineno"> 4786</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">fYmax</a>.clear();</div>
<div class="line"><a id="l04787" name="l04787"></a><span class="lineno"> 4787</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#aed150156ea7ef5832f2127302d626a6d">fRRFPacking</a> = 0; <span class="comment">// i.e. if not overwritten it will not be a valid RRF</span></div>
<div class="line"><a id="l04788" name="l04788"></a><span class="lineno"> 4788</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a733a2b209bffff0a65788df54fdcaf59">fRRFFreq</a> = 0.0; <span class="comment">// i.e. no RRF whished</span></div>
<div class="line"><a id="l04789" name="l04789"></a><span class="lineno"> 4789</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a1475dbbd76b8e02758d7082af58720d8">fRRFUnit</a> = <a class="code hl_define" href="PMusr_8h.html#a3bd32e010269f17c116726101bdf178e">RRF_UNIT_MHz</a>;</div>
<div class="line"><a id="l04790" name="l04790"></a><span class="lineno"> 4790</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a5a853b5f5f048933b8fe4c66057d7f17">fRRFPhaseParamNo</a> = 0; <span class="comment">// initial parameter no = 0 means not a parameter</span></div>
<div class="line"><a id="l04791" name="l04791"></a><span class="lineno"> 4791</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#acecffa230e3c4ca3bd5be55cd2fc3af3">fRRFPhase</a> = 0.0;</div>
<div class="line"><a id="l04792" name="l04792"></a><span class="lineno"> 4792</span> </div>
<div class="line"><a id="l04793" name="l04793"></a><span class="lineno"> 4793</span> <span class="comment">// find next plot if any is present</span></div>
<div class="line"><a id="l04794" name="l04794"></a><span class="lineno"> 4794</span> iter2 = iter1;</div>
<div class="line"><a id="l04795" name="l04795"></a><span class="lineno"> 4795</span> ++iter2;</div>
<div class="line"><a id="l04796" name="l04796"></a><span class="lineno"> 4796</span> <span class="keywordflow">for</span> ( ; iter2 != lines.end(); ++iter2) {</div>
<div class="line"><a id="l04797" name="l04797"></a><span class="lineno"> 4797</span> <span class="keywordflow">if</span> (iter2-&gt;fLine.Contains(<span class="stringliteral">&quot;PLOT&quot;</span>))</div>
<div class="line"><a id="l04798" name="l04798"></a><span class="lineno"> 4798</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04799" name="l04799"></a><span class="lineno"> 4799</span> }</div>
<div class="line"><a id="l04800" name="l04800"></a><span class="lineno"> 4800</span> </div>
<div class="line"><a id="l04801" name="l04801"></a><span class="lineno"> 4801</span> <span class="comment">// handle a single PLOT block</span></div>
<div class="line"><a id="l04802" name="l04802"></a><span class="lineno"> 4802</span> <span class="keywordflow">while</span> ((iter1 != iter2) &amp;&amp; !error) {</div>
<div class="line"><a id="l04803" name="l04803"></a><span class="lineno"> 4803</span> TString line = iter1-&gt;fLine;</div>
<div class="line"><a id="l04804" name="l04804"></a><span class="lineno"> 4804</span> <span class="keywordflow">if</span> (line.First(<span class="charliteral">&#39;#&#39;</span>) != -1) <span class="comment">// remove trailing comment before proceed</span></div>
<div class="line"><a id="l04805" name="l04805"></a><span class="lineno"> 4805</span> line.Resize(line.First(<span class="charliteral">&#39;#&#39;</span>));</div>
<div class="line"><a id="l04806" name="l04806"></a><span class="lineno"> 4806</span> </div>
<div class="line"><a id="l04807" name="l04807"></a><span class="lineno"> 4807</span> <span class="keywordflow">if</span> (line.Contains(<span class="stringliteral">&quot;PLOT&quot;</span>)) { <span class="comment">// handle plot header</span></div>
<div class="line"><a id="l04808" name="l04808"></a><span class="lineno"> 4808</span> tokens = line.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l04809" name="l04809"></a><span class="lineno"> 4809</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l04810" name="l04810"></a><span class="lineno"> 4810</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04811" name="l04811"></a><span class="lineno"> 4811</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04812" name="l04812"></a><span class="lineno"> 4812</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **SEVERE ERROR** Couldn&#39;t tokenize PLOT in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div>
<div class="line"><a id="l04813" name="l04813"></a><span class="lineno"> 4813</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04814" name="l04814"></a><span class="lineno"> 4814</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04815" name="l04815"></a><span class="lineno"> 4815</span> }</div>
<div class="line"><a id="l04816" name="l04816"></a><span class="lineno"> 4816</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() &lt; 2) { <span class="comment">// plot type missing</span></div>
<div class="line"><a id="l04817" name="l04817"></a><span class="lineno"> 4817</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04818" name="l04818"></a><span class="lineno"> 4818</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04819" name="l04819"></a><span class="lineno"> 4819</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l04820" name="l04820"></a><span class="lineno"> 4820</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04821" name="l04821"></a><span class="lineno"> 4821</span> <span class="keywordflow">if</span> (str.IsDigit())</div>
<div class="line"><a id="l04822" name="l04822"></a><span class="lineno"> 4822</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a58fd72fc8692d7bde000aa3fce9d99ff">fPlotType</a> = str.Atoi();</div>
<div class="line"><a id="l04823" name="l04823"></a><span class="lineno"> 4823</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04824" name="l04824"></a><span class="lineno"> 4824</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04825" name="l04825"></a><span class="lineno"> 4825</span> }</div>
<div class="line"><a id="l04826" name="l04826"></a><span class="lineno"> 4826</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l04827" name="l04827"></a><span class="lineno"> 4827</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l04828" name="l04828"></a><span class="lineno"> 4828</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l04829" name="l04829"></a><span class="lineno"> 4829</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04830" name="l04830"></a><span class="lineno"> 4830</span> }</div>
<div class="line"><a id="l04831" name="l04831"></a><span class="lineno"> 4831</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.Contains(<span class="stringliteral">&quot;lifetimecorrection&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04832" name="l04832"></a><span class="lineno"> 4832</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a97aa6529cb0e57d607b933655bf9f4be">fLifeTimeCorrection</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04833" name="l04833"></a><span class="lineno"> 4833</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.Contains(<span class="stringliteral">&quot;runs&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// handle plot runs</span></div>
<div class="line"><a id="l04834" name="l04834"></a><span class="lineno"> 4834</span> TComplex run;</div>
<div class="line"><a id="l04835" name="l04835"></a><span class="lineno"> 4835</span> std::unique_ptr&lt;PStringNumberList&gt; rl;</div>
<div class="line"><a id="l04836" name="l04836"></a><span class="lineno"> 4836</span> std::string errorMsg;</div>
<div class="line"><a id="l04837" name="l04837"></a><span class="lineno"> 4837</span> <a class="code hl_typedef" href="PMusr_8h.html#a01eec7e896afb5c4601dea91ee31477b">PUIntVector</a> runList;</div>
<div class="line"><a id="l04838" name="l04838"></a><span class="lineno"> 4838</span> <span class="keywordflow">switch</span> (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a58fd72fc8692d7bde000aa3fce9d99ff">fPlotType</a>) {</div>
<div class="line"><a id="l04839" name="l04839"></a><span class="lineno"> 4839</span> <span class="keywordflow">case</span> -1:</div>
<div class="line"><a id="l04840" name="l04840"></a><span class="lineno"> 4840</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04841" name="l04841"></a><span class="lineno"> 4841</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04842" name="l04842"></a><span class="lineno"> 4842</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a2b3dc68138682db0f77f2236f9cff537">MSR_PLOT_SINGLE_HISTO</a>: <span class="comment">// like: runs 1 5 13</span></div>
<div class="line"><a id="l04843" name="l04843"></a><span class="lineno"> 4843</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a8d2d7665dbbb2fc112549db6de5bb028">MSR_PLOT_SINGLE_HISTO_RRF</a>:</div>
<div class="line"><a id="l04844" name="l04844"></a><span class="lineno"> 4844</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a9709680f59e11e81807fab02e8440fb1">MSR_PLOT_ASYM</a>:</div>
<div class="line"><a id="l04845" name="l04845"></a><span class="lineno"> 4845</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ac9b291c6236d34786e6a35917fe7cef7">MSR_PLOT_BNMR</a>:</div>
<div class="line"><a id="l04846" name="l04846"></a><span class="lineno"> 4846</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a869fdf34c61edfdd4d3e166b1d59717d">MSR_PLOT_ASYM_RRF</a>:</div>
<div class="line"><a id="l04847" name="l04847"></a><span class="lineno"> 4847</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#aebf3b64dacc1fefcdb90b245db233ac1">MSR_PLOT_NON_MUSR</a>:</div>
<div class="line"><a id="l04848" name="l04848"></a><span class="lineno"> 4848</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#aae7003813b384b9f251e5d6dd9ce1e66">MSR_PLOT_MU_MINUS</a>:</div>
<div class="line"><a id="l04849" name="l04849"></a><span class="lineno"> 4849</span> rl = std::make_unique&lt;PStringNumberList&gt;(line.Data());</div>
<div class="line"><a id="l04850" name="l04850"></a><span class="lineno"> 4850</span> <span class="keywordflow">if</span> (!rl-&gt;Parse(errorMsg, <span class="keyword">true</span>)) {</div>
<div class="line"><a id="l04851" name="l04851"></a><span class="lineno"> 4851</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l04852" name="l04852"></a><span class="lineno"> 4852</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l04853" name="l04853"></a><span class="lineno"> 4853</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **SEVERE ERROR** Couldn&#39;t tokenize PLOT in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l04854" name="l04854"></a><span class="lineno"> 4854</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Error Message: &quot;</span> &lt;&lt; errorMsg;</div>
<div class="line"><a id="l04855" name="l04855"></a><span class="lineno"> 4855</span> std::cerr &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l04856" name="l04856"></a><span class="lineno"> 4856</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04857" name="l04857"></a><span class="lineno"> 4857</span> }</div>
<div class="line"><a id="l04858" name="l04858"></a><span class="lineno"> 4858</span> runList = rl-&gt;GetList();</div>
<div class="line"><a id="l04859" name="l04859"></a><span class="lineno"> 4859</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;runList.size(); i++) {</div>
<div class="line"><a id="l04860" name="l04860"></a><span class="lineno"> 4860</span> run = TComplex(runList[i], -1.0);</div>
<div class="line"><a id="l04861" name="l04861"></a><span class="lineno"> 4861</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.push_back(run);</div>
<div class="line"><a id="l04862" name="l04862"></a><span class="lineno"> 4862</span> }</div>
<div class="line"><a id="l04863" name="l04863"></a><span class="lineno"> 4863</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l04864" name="l04864"></a><span class="lineno"> 4864</span> runList.clear();</div>
<div class="line"><a id="l04865" name="l04865"></a><span class="lineno"> 4865</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04866" name="l04866"></a><span class="lineno"> 4866</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l04867" name="l04867"></a><span class="lineno"> 4867</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04868" name="l04868"></a><span class="lineno"> 4868</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l04869" name="l04869"></a><span class="lineno"> 4869</span> }</div>
<div class="line"><a id="l04870" name="l04870"></a><span class="lineno"> 4870</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.Contains(<span class="stringliteral">&quot;range &quot;</span>, TString::kIgnoreCase)) { <span class="comment">// handle plot range</span></div>
<div class="line"><a id="l04871" name="l04871"></a><span class="lineno"> 4871</span> <span class="comment">// remove previous entries</span></div>
<div class="line"><a id="l04872" name="l04872"></a><span class="lineno"> 4872</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">fTmin</a>.clear();</div>
<div class="line"><a id="l04873" name="l04873"></a><span class="lineno"> 4873</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afc31a0ffeab7397933957bd7e9d57229">fTmax</a>.clear();</div>
<div class="line"><a id="l04874" name="l04874"></a><span class="lineno"> 4874</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>.clear();</div>
<div class="line"><a id="l04875" name="l04875"></a><span class="lineno"> 4875</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">fYmax</a>.clear();</div>
<div class="line"><a id="l04876" name="l04876"></a><span class="lineno"> 4876</span> </div>
<div class="line"><a id="l04877" name="l04877"></a><span class="lineno"> 4877</span> tokens = line.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l04878" name="l04878"></a><span class="lineno"> 4878</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l04879" name="l04879"></a><span class="lineno"> 4879</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **SEVERE ERROR** Couldn&#39;t tokenize PLOT in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo;</div>
<div class="line"><a id="l04880" name="l04880"></a><span class="lineno"> 4880</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l04881" name="l04881"></a><span class="lineno"> 4881</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04882" name="l04882"></a><span class="lineno"> 4882</span> }</div>
<div class="line"><a id="l04883" name="l04883"></a><span class="lineno"> 4883</span> <span class="keywordflow">if</span> ((tokens-&gt;GetEntries() != 3) &amp;&amp; (tokens-&gt;GetEntries() != 5)) {</div>
<div class="line"><a id="l04884" name="l04884"></a><span class="lineno"> 4884</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04885" name="l04885"></a><span class="lineno"> 4885</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04886" name="l04886"></a><span class="lineno"> 4886</span> </div>
<div class="line"><a id="l04887" name="l04887"></a><span class="lineno"> 4887</span> <span class="comment">// handle t_min</span></div>
<div class="line"><a id="l04888" name="l04888"></a><span class="lineno"> 4888</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l04889" name="l04889"></a><span class="lineno"> 4889</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04890" name="l04890"></a><span class="lineno"> 4890</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l04891" name="l04891"></a><span class="lineno"> 4891</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">fTmin</a>.push_back(<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof()));</div>
<div class="line"><a id="l04892" name="l04892"></a><span class="lineno"> 4892</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04893" name="l04893"></a><span class="lineno"> 4893</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04894" name="l04894"></a><span class="lineno"> 4894</span> </div>
<div class="line"><a id="l04895" name="l04895"></a><span class="lineno"> 4895</span> <span class="comment">// handle t_max</span></div>
<div class="line"><a id="l04896" name="l04896"></a><span class="lineno"> 4896</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2));</div>
<div class="line"><a id="l04897" name="l04897"></a><span class="lineno"> 4897</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04898" name="l04898"></a><span class="lineno"> 4898</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l04899" name="l04899"></a><span class="lineno"> 4899</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afc31a0ffeab7397933957bd7e9d57229">fTmax</a>.push_back(<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof()));</div>
<div class="line"><a id="l04900" name="l04900"></a><span class="lineno"> 4900</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04901" name="l04901"></a><span class="lineno"> 4901</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04902" name="l04902"></a><span class="lineno"> 4902</span> </div>
<div class="line"><a id="l04903" name="l04903"></a><span class="lineno"> 4903</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() == 5) { <span class="comment">// y-axis interval given as well</span></div>
<div class="line"><a id="l04904" name="l04904"></a><span class="lineno"> 4904</span> </div>
<div class="line"><a id="l04905" name="l04905"></a><span class="lineno"> 4905</span> <span class="comment">// handle y_min</span></div>
<div class="line"><a id="l04906" name="l04906"></a><span class="lineno"> 4906</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(3));</div>
<div class="line"><a id="l04907" name="l04907"></a><span class="lineno"> 4907</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04908" name="l04908"></a><span class="lineno"> 4908</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l04909" name="l04909"></a><span class="lineno"> 4909</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>.push_back(<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof()));</div>
<div class="line"><a id="l04910" name="l04910"></a><span class="lineno"> 4910</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04911" name="l04911"></a><span class="lineno"> 4911</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04912" name="l04912"></a><span class="lineno"> 4912</span> </div>
<div class="line"><a id="l04913" name="l04913"></a><span class="lineno"> 4913</span> <span class="comment">// handle y_max</span></div>
<div class="line"><a id="l04914" name="l04914"></a><span class="lineno"> 4914</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(4));</div>
<div class="line"><a id="l04915" name="l04915"></a><span class="lineno"> 4915</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04916" name="l04916"></a><span class="lineno"> 4916</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l04917" name="l04917"></a><span class="lineno"> 4917</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">fYmax</a>.push_back(<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof()));</div>
<div class="line"><a id="l04918" name="l04918"></a><span class="lineno"> 4918</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04919" name="l04919"></a><span class="lineno"> 4919</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04920" name="l04920"></a><span class="lineno"> 4920</span> }</div>
<div class="line"><a id="l04921" name="l04921"></a><span class="lineno"> 4921</span> }</div>
<div class="line"><a id="l04922" name="l04922"></a><span class="lineno"> 4922</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l04923" name="l04923"></a><span class="lineno"> 4923</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l04924" name="l04924"></a><span class="lineno"> 4924</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l04925" name="l04925"></a><span class="lineno"> 4925</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04926" name="l04926"></a><span class="lineno"> 4926</span> }</div>
<div class="line"><a id="l04927" name="l04927"></a><span class="lineno"> 4927</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.Contains(<span class="stringliteral">&quot;sub_ranges&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04928" name="l04928"></a><span class="lineno"> 4928</span> <span class="comment">// remove previous entries</span></div>
<div class="line"><a id="l04929" name="l04929"></a><span class="lineno"> 4929</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">fTmin</a>.clear();</div>
<div class="line"><a id="l04930" name="l04930"></a><span class="lineno"> 4930</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afc31a0ffeab7397933957bd7e9d57229">fTmax</a>.clear();</div>
<div class="line"><a id="l04931" name="l04931"></a><span class="lineno"> 4931</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>.clear();</div>
<div class="line"><a id="l04932" name="l04932"></a><span class="lineno"> 4932</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">fYmax</a>.clear();</div>
<div class="line"><a id="l04933" name="l04933"></a><span class="lineno"> 4933</span> </div>
<div class="line"><a id="l04934" name="l04934"></a><span class="lineno"> 4934</span> tokens = line.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l04935" name="l04935"></a><span class="lineno"> 4935</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l04936" name="l04936"></a><span class="lineno"> 4936</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **SEVERE ERROR** Couldn&#39;t tokenize PLOT in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo;</div>
<div class="line"><a id="l04937" name="l04937"></a><span class="lineno"> 4937</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l04938" name="l04938"></a><span class="lineno"> 4938</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04939" name="l04939"></a><span class="lineno"> 4939</span> }</div>
<div class="line"><a id="l04940" name="l04940"></a><span class="lineno"> 4940</span> <span class="keywordflow">if</span> ((tokens-&gt;GetEntries() != <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(2*param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.size() + 1)) &amp;&amp; (tokens-&gt;GetEntries() != <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(2*param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.size() + 3))) {</div>
<div class="line"><a id="l04941" name="l04941"></a><span class="lineno"> 4941</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04942" name="l04942"></a><span class="lineno"> 4942</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04943" name="l04943"></a><span class="lineno"> 4943</span> <span class="comment">// get all the times</span></div>
<div class="line"><a id="l04944" name="l04944"></a><span class="lineno"> 4944</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l04945" name="l04945"></a><span class="lineno"> 4945</span> </div>
<div class="line"><a id="l04946" name="l04946"></a><span class="lineno"> 4946</span> <span class="comment">// handle t_min</span></div>
<div class="line"><a id="l04947" name="l04947"></a><span class="lineno"> 4947</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2*i+1));</div>
<div class="line"><a id="l04948" name="l04948"></a><span class="lineno"> 4948</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04949" name="l04949"></a><span class="lineno"> 4949</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l04950" name="l04950"></a><span class="lineno"> 4950</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">fTmin</a>.push_back(<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof()));</div>
<div class="line"><a id="l04951" name="l04951"></a><span class="lineno"> 4951</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04952" name="l04952"></a><span class="lineno"> 4952</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04953" name="l04953"></a><span class="lineno"> 4953</span> </div>
<div class="line"><a id="l04954" name="l04954"></a><span class="lineno"> 4954</span> <span class="comment">// handle t_max</span></div>
<div class="line"><a id="l04955" name="l04955"></a><span class="lineno"> 4955</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2*i+2));</div>
<div class="line"><a id="l04956" name="l04956"></a><span class="lineno"> 4956</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04957" name="l04957"></a><span class="lineno"> 4957</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l04958" name="l04958"></a><span class="lineno"> 4958</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afc31a0ffeab7397933957bd7e9d57229">fTmax</a>.push_back(<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof()));</div>
<div class="line"><a id="l04959" name="l04959"></a><span class="lineno"> 4959</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04960" name="l04960"></a><span class="lineno"> 4960</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04961" name="l04961"></a><span class="lineno"> 4961</span> }</div>
<div class="line"><a id="l04962" name="l04962"></a><span class="lineno"> 4962</span> </div>
<div class="line"><a id="l04963" name="l04963"></a><span class="lineno"> 4963</span> <span class="comment">// get y-range if present</span></div>
<div class="line"><a id="l04964" name="l04964"></a><span class="lineno"> 4964</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() == <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(2*param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.size() + 3)) {</div>
<div class="line"><a id="l04965" name="l04965"></a><span class="lineno"> 4965</span> </div>
<div class="line"><a id="l04966" name="l04966"></a><span class="lineno"> 4966</span> <span class="comment">// handle y_min</span></div>
<div class="line"><a id="l04967" name="l04967"></a><span class="lineno"> 4967</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2*param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.size()+1));</div>
<div class="line"><a id="l04968" name="l04968"></a><span class="lineno"> 4968</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04969" name="l04969"></a><span class="lineno"> 4969</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l04970" name="l04970"></a><span class="lineno"> 4970</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>.push_back(<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof()));</div>
<div class="line"><a id="l04971" name="l04971"></a><span class="lineno"> 4971</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04972" name="l04972"></a><span class="lineno"> 4972</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04973" name="l04973"></a><span class="lineno"> 4973</span> </div>
<div class="line"><a id="l04974" name="l04974"></a><span class="lineno"> 4974</span> <span class="comment">// handle y_max</span></div>
<div class="line"><a id="l04975" name="l04975"></a><span class="lineno"> 4975</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2*param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.size()+2));</div>
<div class="line"><a id="l04976" name="l04976"></a><span class="lineno"> 4976</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l04977" name="l04977"></a><span class="lineno"> 4977</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l04978" name="l04978"></a><span class="lineno"> 4978</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">fYmax</a>.push_back(<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof()));</div>
<div class="line"><a id="l04979" name="l04979"></a><span class="lineno"> 4979</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l04980" name="l04980"></a><span class="lineno"> 4980</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04981" name="l04981"></a><span class="lineno"> 4981</span> }</div>
<div class="line"><a id="l04982" name="l04982"></a><span class="lineno"> 4982</span> }</div>
<div class="line"><a id="l04983" name="l04983"></a><span class="lineno"> 4983</span> </div>
<div class="line"><a id="l04984" name="l04984"></a><span class="lineno"> 4984</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l04985" name="l04985"></a><span class="lineno"> 4985</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l04986" name="l04986"></a><span class="lineno"> 4986</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l04987" name="l04987"></a><span class="lineno"> 4987</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04988" name="l04988"></a><span class="lineno"> 4988</span> }</div>
<div class="line"><a id="l04989" name="l04989"></a><span class="lineno"> 4989</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (line.Contains(<span class="stringliteral">&quot;use_fit_ranges&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l04990" name="l04990"></a><span class="lineno"> 4990</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0940cc41f5b7bfe5e50a024541ae4477">fUseFitRanges</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l04991" name="l04991"></a><span class="lineno"> 4991</span> <span class="comment">// check if y-ranges are given</span></div>
<div class="line"><a id="l04992" name="l04992"></a><span class="lineno"> 4992</span> </div>
<div class="line"><a id="l04993" name="l04993"></a><span class="lineno"> 4993</span> tokens = line.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l04994" name="l04994"></a><span class="lineno"> 4994</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l04995" name="l04995"></a><span class="lineno"> 4995</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **SEVERE ERROR** Couldn&#39;t tokenize PLOT in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo;</div>
<div class="line"><a id="l04996" name="l04996"></a><span class="lineno"> 4996</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l04997" name="l04997"></a><span class="lineno"> 4997</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l04998" name="l04998"></a><span class="lineno"> 4998</span> }</div>
<div class="line"><a id="l04999" name="l04999"></a><span class="lineno"> 4999</span> </div>
<div class="line"><a id="l05000" name="l05000"></a><span class="lineno"> 5000</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() == 3) { <span class="comment">// i.e. use_fit_ranges ymin ymax</span></div>
<div class="line"><a id="l05001" name="l05001"></a><span class="lineno"> 5001</span> <span class="comment">// handle y_min</span></div>
<div class="line"><a id="l05002" name="l05002"></a><span class="lineno"> 5002</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l05003" name="l05003"></a><span class="lineno"> 5003</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05004" name="l05004"></a><span class="lineno"> 5004</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l05005" name="l05005"></a><span class="lineno"> 5005</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>.push_back(<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof()));</div>
<div class="line"><a id="l05006" name="l05006"></a><span class="lineno"> 5006</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l05007" name="l05007"></a><span class="lineno"> 5007</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05008" name="l05008"></a><span class="lineno"> 5008</span> </div>
<div class="line"><a id="l05009" name="l05009"></a><span class="lineno"> 5009</span> <span class="comment">// handle y_max</span></div>
<div class="line"><a id="l05010" name="l05010"></a><span class="lineno"> 5010</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2));</div>
<div class="line"><a id="l05011" name="l05011"></a><span class="lineno"> 5011</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05012" name="l05012"></a><span class="lineno"> 5012</span> <span class="keywordflow">if</span> (str.IsFloat())</div>
<div class="line"><a id="l05013" name="l05013"></a><span class="lineno"> 5013</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">fYmax</a>.push_back(<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(str.Atof()));</div>
<div class="line"><a id="l05014" name="l05014"></a><span class="lineno"> 5014</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l05015" name="l05015"></a><span class="lineno"> 5015</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05016" name="l05016"></a><span class="lineno"> 5016</span> }</div>
<div class="line"><a id="l05017" name="l05017"></a><span class="lineno"> 5017</span> </div>
<div class="line"><a id="l05018" name="l05018"></a><span class="lineno"> 5018</span> <span class="keywordflow">if</span> ((tokens-&gt;GetEntries() != 1) &amp;&amp; (tokens-&gt;GetEntries() != 3)) {</div>
<div class="line"><a id="l05019" name="l05019"></a><span class="lineno"> 5019</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **WARNING** use_fit_ranges with undefined additional parameters in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo;</div>
<div class="line"><a id="l05020" name="l05020"></a><span class="lineno"> 5020</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Will ignore this PLOT block command line, sorry.&quot;</span>;</div>
<div class="line"><a id="l05021" name="l05021"></a><span class="lineno"> 5021</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Proper syntax: use_fit_ranges [ymin ymax]&quot;</span>;</div>
<div class="line"><a id="l05022" name="l05022"></a><span class="lineno"> 5022</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Found: &#39;&quot;</span> &lt;&lt; iter1-&gt;fLine.Data() &lt;&lt; <span class="stringliteral">&quot;&#39;&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l05023" name="l05023"></a><span class="lineno"> 5023</span> }</div>
<div class="line"><a id="l05024" name="l05024"></a><span class="lineno"> 5024</span> </div>
<div class="line"><a id="l05025" name="l05025"></a><span class="lineno"> 5025</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l05026" name="l05026"></a><span class="lineno"> 5026</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05027" name="l05027"></a><span class="lineno"> 5027</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05028" name="l05028"></a><span class="lineno"> 5028</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05029" name="l05029"></a><span class="lineno"> 5029</span> }</div>
<div class="line"><a id="l05030" name="l05030"></a><span class="lineno"> 5030</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter1-&gt;fLine.Contains(<span class="stringliteral">&quot;logx&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l05031" name="l05031"></a><span class="lineno"> 5031</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a3cb1aab778d09c659d7229735c25bde9">fLogX</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05032" name="l05032"></a><span class="lineno"> 5032</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter1-&gt;fLine.Contains(<span class="stringliteral">&quot;logy&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l05033" name="l05033"></a><span class="lineno"> 5033</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a3a795e5640484393abef87d1834ba4ea">fLogY</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05034" name="l05034"></a><span class="lineno"> 5034</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter1-&gt;fLine.Contains(<span class="stringliteral">&quot;lifetimecorrection&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l05035" name="l05035"></a><span class="lineno"> 5035</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a97aa6529cb0e57d607b933655bf9f4be">fLifeTimeCorrection</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05036" name="l05036"></a><span class="lineno"> 5036</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter1-&gt;fLine.Contains(<span class="stringliteral">&quot;view_packing&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l05037" name="l05037"></a><span class="lineno"> 5037</span> tokens = iter1-&gt;fLine.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l05038" name="l05038"></a><span class="lineno"> 5038</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l05039" name="l05039"></a><span class="lineno"> 5039</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **SEVERE ERROR** Couldn&#39;t tokenize view_packing in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo;</div>
<div class="line"><a id="l05040" name="l05040"></a><span class="lineno"> 5040</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l05041" name="l05041"></a><span class="lineno"> 5041</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05042" name="l05042"></a><span class="lineno"> 5042</span> }</div>
<div class="line"><a id="l05043" name="l05043"></a><span class="lineno"> 5043</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() != 2) {</div>
<div class="line"><a id="l05044" name="l05044"></a><span class="lineno"> 5044</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05045" name="l05045"></a><span class="lineno"> 5045</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05046" name="l05046"></a><span class="lineno"> 5046</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l05047" name="l05047"></a><span class="lineno"> 5047</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05048" name="l05048"></a><span class="lineno"> 5048</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l05049" name="l05049"></a><span class="lineno"> 5049</span> Int_t val = str.Atoi();</div>
<div class="line"><a id="l05050" name="l05050"></a><span class="lineno"> 5050</span> <span class="keywordflow">if</span> (val &gt; 0)</div>
<div class="line"><a id="l05051" name="l05051"></a><span class="lineno"> 5051</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#ab4f87f33b4d516bdf474dcbc562e4d1e">fViewPacking</a> = val;</div>
<div class="line"><a id="l05052" name="l05052"></a><span class="lineno"> 5052</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l05053" name="l05053"></a><span class="lineno"> 5053</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05054" name="l05054"></a><span class="lineno"> 5054</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05055" name="l05055"></a><span class="lineno"> 5055</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05056" name="l05056"></a><span class="lineno"> 5056</span> }</div>
<div class="line"><a id="l05057" name="l05057"></a><span class="lineno"> 5057</span> }</div>
<div class="line"><a id="l05058" name="l05058"></a><span class="lineno"> 5058</span> </div>
<div class="line"><a id="l05059" name="l05059"></a><span class="lineno"> 5059</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l05060" name="l05060"></a><span class="lineno"> 5060</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05061" name="l05061"></a><span class="lineno"> 5061</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05062" name="l05062"></a><span class="lineno"> 5062</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05063" name="l05063"></a><span class="lineno"> 5063</span> }</div>
<div class="line"><a id="l05064" name="l05064"></a><span class="lineno"> 5064</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter1-&gt;fLine.Contains(<span class="stringliteral">&quot;rrf_freq&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l05065" name="l05065"></a><span class="lineno"> 5065</span> <span class="comment">// expected entry: rrf_freq value unit</span></div>
<div class="line"><a id="l05066" name="l05066"></a><span class="lineno"> 5066</span> <span class="comment">// allowed units: kHz, MHz, Mc/s, G, T</span></div>
<div class="line"><a id="l05067" name="l05067"></a><span class="lineno"> 5067</span> tokens = iter1-&gt;fLine.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l05068" name="l05068"></a><span class="lineno"> 5068</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l05069" name="l05069"></a><span class="lineno"> 5069</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **SEVERE ERROR** Couldn&#39;t tokenize rrf_freq in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo;</div>
<div class="line"><a id="l05070" name="l05070"></a><span class="lineno"> 5070</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l05071" name="l05071"></a><span class="lineno"> 5071</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05072" name="l05072"></a><span class="lineno"> 5072</span> }</div>
<div class="line"><a id="l05073" name="l05073"></a><span class="lineno"> 5073</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() != 3) {</div>
<div class="line"><a id="l05074" name="l05074"></a><span class="lineno"> 5074</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05075" name="l05075"></a><span class="lineno"> 5075</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05076" name="l05076"></a><span class="lineno"> 5076</span> <span class="comment">// get rrf frequency</span></div>
<div class="line"><a id="l05077" name="l05077"></a><span class="lineno"> 5077</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l05078" name="l05078"></a><span class="lineno"> 5078</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05079" name="l05079"></a><span class="lineno"> 5079</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l05080" name="l05080"></a><span class="lineno"> 5080</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a733a2b209bffff0a65788df54fdcaf59">fRRFFreq</a> = str.Atof();</div>
<div class="line"><a id="l05081" name="l05081"></a><span class="lineno"> 5081</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05082" name="l05082"></a><span class="lineno"> 5082</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05083" name="l05083"></a><span class="lineno"> 5083</span> }</div>
<div class="line"><a id="l05084" name="l05084"></a><span class="lineno"> 5084</span> <span class="comment">// get unit</span></div>
<div class="line"><a id="l05085" name="l05085"></a><span class="lineno"> 5085</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(2));</div>
<div class="line"><a id="l05086" name="l05086"></a><span class="lineno"> 5086</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05087" name="l05087"></a><span class="lineno"> 5087</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;kHz&quot;</span>, TString::kIgnoreCase))</div>
<div class="line"><a id="l05088" name="l05088"></a><span class="lineno"> 5088</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a1475dbbd76b8e02758d7082af58720d8">fRRFUnit</a> = <a class="code hl_define" href="PMusr_8h.html#ac4b4260127cc39f612b6c937b57f6b32">RRF_UNIT_kHz</a>;</div>
<div class="line"><a id="l05089" name="l05089"></a><span class="lineno"> 5089</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;MHz&quot;</span>, TString::kIgnoreCase))</div>
<div class="line"><a id="l05090" name="l05090"></a><span class="lineno"> 5090</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a1475dbbd76b8e02758d7082af58720d8">fRRFUnit</a> = <a class="code hl_define" href="PMusr_8h.html#a3bd32e010269f17c116726101bdf178e">RRF_UNIT_MHz</a>;</div>
<div class="line"><a id="l05091" name="l05091"></a><span class="lineno"> 5091</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;Mc/s&quot;</span>, TString::kIgnoreCase))</div>
<div class="line"><a id="l05092" name="l05092"></a><span class="lineno"> 5092</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a1475dbbd76b8e02758d7082af58720d8">fRRFUnit</a> = <a class="code hl_define" href="PMusr_8h.html#ab65df852710cfebd8322d1627790c73c">RRF_UNIT_Mcs</a>;</div>
<div class="line"><a id="l05093" name="l05093"></a><span class="lineno"> 5093</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;G&quot;</span>, TString::kIgnoreCase))</div>
<div class="line"><a id="l05094" name="l05094"></a><span class="lineno"> 5094</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a1475dbbd76b8e02758d7082af58720d8">fRRFUnit</a> = <a class="code hl_define" href="PMusr_8h.html#abc53e978fe8962769718e68b154f017a">RRF_UNIT_G</a>;</div>
<div class="line"><a id="l05095" name="l05095"></a><span class="lineno"> 5095</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;T&quot;</span>, TString::kIgnoreCase))</div>
<div class="line"><a id="l05096" name="l05096"></a><span class="lineno"> 5096</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a1475dbbd76b8e02758d7082af58720d8">fRRFUnit</a> = <a class="code hl_define" href="PMusr_8h.html#acfd8fca6cf586d9234b06002a3444965">RRF_UNIT_T</a>;</div>
<div class="line"><a id="l05097" name="l05097"></a><span class="lineno"> 5097</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l05098" name="l05098"></a><span class="lineno"> 5098</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05099" name="l05099"></a><span class="lineno"> 5099</span> }</div>
<div class="line"><a id="l05100" name="l05100"></a><span class="lineno"> 5100</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l05101" name="l05101"></a><span class="lineno"> 5101</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05102" name="l05102"></a><span class="lineno"> 5102</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05103" name="l05103"></a><span class="lineno"> 5103</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05104" name="l05104"></a><span class="lineno"> 5104</span> }</div>
<div class="line"><a id="l05105" name="l05105"></a><span class="lineno"> 5105</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter1-&gt;fLine.Contains(<span class="stringliteral">&quot;rrf_phase&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l05106" name="l05106"></a><span class="lineno"> 5106</span> <span class="comment">// expected entry: rrf_phase value. value given in units of degree. or</span></div>
<div class="line"><a id="l05107" name="l05107"></a><span class="lineno"> 5107</span> <span class="comment">// rrf_phase parX. where X is the parameter number, e.g. par3</span></div>
<div class="line"><a id="l05108" name="l05108"></a><span class="lineno"> 5108</span> tokens = iter1-&gt;fLine.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l05109" name="l05109"></a><span class="lineno"> 5109</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l05110" name="l05110"></a><span class="lineno"> 5110</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **SEVERE ERROR** Couldn&#39;t tokenize rrf_phase in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo;</div>
<div class="line"><a id="l05111" name="l05111"></a><span class="lineno"> 5111</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l05112" name="l05112"></a><span class="lineno"> 5112</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05113" name="l05113"></a><span class="lineno"> 5113</span> }</div>
<div class="line"><a id="l05114" name="l05114"></a><span class="lineno"> 5114</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() != 2) {</div>
<div class="line"><a id="l05115" name="l05115"></a><span class="lineno"> 5115</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05116" name="l05116"></a><span class="lineno"> 5116</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05117" name="l05117"></a><span class="lineno"> 5117</span> <span class="comment">// get rrf phase</span></div>
<div class="line"><a id="l05118" name="l05118"></a><span class="lineno"> 5118</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l05119" name="l05119"></a><span class="lineno"> 5119</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05120" name="l05120"></a><span class="lineno"> 5120</span> <span class="keywordflow">if</span> (str.IsFloat()) {</div>
<div class="line"><a id="l05121" name="l05121"></a><span class="lineno"> 5121</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#acecffa230e3c4ca3bd5be55cd2fc3af3">fRRFPhase</a> = str.Atof();</div>
<div class="line"><a id="l05122" name="l05122"></a><span class="lineno"> 5122</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05123" name="l05123"></a><span class="lineno"> 5123</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;par&quot;</span>, TString::kIgnoreCase)) { <span class="comment">// parameter value</span></div>
<div class="line"><a id="l05124" name="l05124"></a><span class="lineno"> 5124</span> Int_t no = 0;</div>
<div class="line"><a id="l05125" name="l05125"></a><span class="lineno"> 5125</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;par&quot;</span>, 0, no)) {</div>
<div class="line"><a id="l05126" name="l05126"></a><span class="lineno"> 5126</span> <span class="comment">// check that the parameter is in range</span></div>
<div class="line"><a id="l05127" name="l05127"></a><span class="lineno"> 5127</span> <span class="keywordflow">if</span> (<span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size()) &lt; no) {</div>
<div class="line"><a id="l05128" name="l05128"></a><span class="lineno"> 5128</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05129" name="l05129"></a><span class="lineno"> 5129</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05130" name="l05130"></a><span class="lineno"> 5130</span> <span class="comment">// keep the parameter number in case parX was used</span></div>
<div class="line"><a id="l05131" name="l05131"></a><span class="lineno"> 5131</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a5a853b5f5f048933b8fe4c66057d7f17">fRRFPhaseParamNo</a> = no;</div>
<div class="line"><a id="l05132" name="l05132"></a><span class="lineno"> 5132</span> <span class="comment">// get parameter value</span></div>
<div class="line"><a id="l05133" name="l05133"></a><span class="lineno"> 5133</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#acecffa230e3c4ca3bd5be55cd2fc3af3">fRRFPhase</a> = <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[no-1].fValue;</div>
<div class="line"><a id="l05134" name="l05134"></a><span class="lineno"> 5134</span> }</div>
<div class="line"><a id="l05135" name="l05135"></a><span class="lineno"> 5135</span> }</div>
<div class="line"><a id="l05136" name="l05136"></a><span class="lineno"> 5136</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05137" name="l05137"></a><span class="lineno"> 5137</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05138" name="l05138"></a><span class="lineno"> 5138</span> }</div>
<div class="line"><a id="l05139" name="l05139"></a><span class="lineno"> 5139</span> }</div>
<div class="line"><a id="l05140" name="l05140"></a><span class="lineno"> 5140</span> }</div>
<div class="line"><a id="l05141" name="l05141"></a><span class="lineno"> 5141</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l05142" name="l05142"></a><span class="lineno"> 5142</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05143" name="l05143"></a><span class="lineno"> 5143</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05144" name="l05144"></a><span class="lineno"> 5144</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05145" name="l05145"></a><span class="lineno"> 5145</span> }</div>
<div class="line"><a id="l05146" name="l05146"></a><span class="lineno"> 5146</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter1-&gt;fLine.Contains(<span class="stringliteral">&quot;rrf_packing&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l05147" name="l05147"></a><span class="lineno"> 5147</span> <span class="comment">// expected entry: rrf_phase value. value given in units of degree</span></div>
<div class="line"><a id="l05148" name="l05148"></a><span class="lineno"> 5148</span> tokens = iter1-&gt;fLine.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l05149" name="l05149"></a><span class="lineno"> 5149</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l05150" name="l05150"></a><span class="lineno"> 5150</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **SEVERE ERROR** Couldn&#39;t tokenize rrf_packing in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo;</div>
<div class="line"><a id="l05151" name="l05151"></a><span class="lineno"> 5151</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l05152" name="l05152"></a><span class="lineno"> 5152</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05153" name="l05153"></a><span class="lineno"> 5153</span> }</div>
<div class="line"><a id="l05154" name="l05154"></a><span class="lineno"> 5154</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries() != 2) {</div>
<div class="line"><a id="l05155" name="l05155"></a><span class="lineno"> 5155</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05156" name="l05156"></a><span class="lineno"> 5156</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05157" name="l05157"></a><span class="lineno"> 5157</span> <span class="comment">// get rrf packing</span></div>
<div class="line"><a id="l05158" name="l05158"></a><span class="lineno"> 5158</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1));</div>
<div class="line"><a id="l05159" name="l05159"></a><span class="lineno"> 5159</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05160" name="l05160"></a><span class="lineno"> 5160</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l05161" name="l05161"></a><span class="lineno"> 5161</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#aed150156ea7ef5832f2127302d626a6d">fRRFPacking</a> = str.Atoi();</div>
<div class="line"><a id="l05162" name="l05162"></a><span class="lineno"> 5162</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05163" name="l05163"></a><span class="lineno"> 5163</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05164" name="l05164"></a><span class="lineno"> 5164</span> }</div>
<div class="line"><a id="l05165" name="l05165"></a><span class="lineno"> 5165</span> }</div>
<div class="line"><a id="l05166" name="l05166"></a><span class="lineno"> 5166</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l05167" name="l05167"></a><span class="lineno"> 5167</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05168" name="l05168"></a><span class="lineno"> 5168</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05169" name="l05169"></a><span class="lineno"> 5169</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05170" name="l05170"></a><span class="lineno"> 5170</span> }</div>
<div class="line"><a id="l05171" name="l05171"></a><span class="lineno"> 5171</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05172" name="l05172"></a><span class="lineno"> 5172</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05173" name="l05173"></a><span class="lineno"> 5173</span> }</div>
<div class="line"><a id="l05174" name="l05174"></a><span class="lineno"> 5174</span> </div>
<div class="line"><a id="l05175" name="l05175"></a><span class="lineno"> 5175</span> ++iter1;</div>
<div class="line"><a id="l05176" name="l05176"></a><span class="lineno"> 5176</span> </div>
<div class="line"><a id="l05177" name="l05177"></a><span class="lineno"> 5177</span> }</div>
<div class="line"><a id="l05178" name="l05178"></a><span class="lineno"> 5178</span> </div>
<div class="line"><a id="l05179" name="l05179"></a><span class="lineno"> 5179</span> <span class="comment">// analyze if the plot block is valid</span></div>
<div class="line"><a id="l05180" name="l05180"></a><span class="lineno"> 5180</span> Double_t keep;</div>
<div class="line"><a id="l05181" name="l05181"></a><span class="lineno"> 5181</span> <span class="keywordflow">if</span> (!error) {</div>
<div class="line"><a id="l05182" name="l05182"></a><span class="lineno"> 5182</span> <span class="keywordflow">if</span> (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.empty()) { <span class="comment">// there was no run tag</span></div>
<div class="line"><a id="l05183" name="l05183"></a><span class="lineno"> 5183</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05184" name="l05184"></a><span class="lineno"> 5184</span> } <span class="keywordflow">else</span> { <span class="comment">// everything ok</span></div>
<div class="line"><a id="l05185" name="l05185"></a><span class="lineno"> 5185</span> <span class="keywordflow">if</span> ((param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">fTmin</a>.size() &gt; 0) || (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afc31a0ffeab7397933957bd7e9d57229">fTmax</a>.size() &gt; 0)) { <span class="comment">// if range is given, check that it is ordered properly</span></div>
<div class="line"><a id="l05186" name="l05186"></a><span class="lineno"> 5186</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">fTmin</a>.size(); i++) {</div>
<div class="line"><a id="l05187" name="l05187"></a><span class="lineno"> 5187</span> <span class="keywordflow">if</span> (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">fTmin</a>[i] &gt; param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afc31a0ffeab7397933957bd7e9d57229">fTmax</a>[i]) {</div>
<div class="line"><a id="l05188" name="l05188"></a><span class="lineno"> 5188</span> keep = param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">fTmin</a>[i];</div>
<div class="line"><a id="l05189" name="l05189"></a><span class="lineno"> 5189</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">fTmin</a>[i] = param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afc31a0ffeab7397933957bd7e9d57229">fTmax</a>[i];</div>
<div class="line"><a id="l05190" name="l05190"></a><span class="lineno"> 5190</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#afc31a0ffeab7397933957bd7e9d57229">fTmax</a>[i] = keep;</div>
<div class="line"><a id="l05191" name="l05191"></a><span class="lineno"> 5191</span> }</div>
<div class="line"><a id="l05192" name="l05192"></a><span class="lineno"> 5192</span> }</div>
<div class="line"><a id="l05193" name="l05193"></a><span class="lineno"> 5193</span> }</div>
<div class="line"><a id="l05194" name="l05194"></a><span class="lineno"> 5194</span> </div>
<div class="line"><a id="l05195" name="l05195"></a><span class="lineno"> 5195</span> <span class="keywordflow">if</span> ((param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>.size() &gt; 0) || (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">fYmax</a>.size() &gt; 0)) { <span class="comment">// if range is given, check that it is ordered properly</span></div>
<div class="line"><a id="l05196" name="l05196"></a><span class="lineno"> 5196</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>.size(); i++) {</div>
<div class="line"><a id="l05197" name="l05197"></a><span class="lineno"> 5197</span> <span class="keywordflow">if</span> (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>[i] &gt; param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">fYmax</a>[i]) {</div>
<div class="line"><a id="l05198" name="l05198"></a><span class="lineno"> 5198</span> keep = param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>[i];</div>
<div class="line"><a id="l05199" name="l05199"></a><span class="lineno"> 5199</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">fYmin</a>[i] = param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">fYmax</a>[i];</div>
<div class="line"><a id="l05200" name="l05200"></a><span class="lineno"> 5200</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">fYmax</a>[i] = keep;</div>
<div class="line"><a id="l05201" name="l05201"></a><span class="lineno"> 5201</span> }</div>
<div class="line"><a id="l05202" name="l05202"></a><span class="lineno"> 5202</span> }</div>
<div class="line"><a id="l05203" name="l05203"></a><span class="lineno"> 5203</span> }</div>
<div class="line"><a id="l05204" name="l05204"></a><span class="lineno"> 5204</span> </div>
<div class="line"><a id="l05205" name="l05205"></a><span class="lineno"> 5205</span> <span class="comment">// check RRF entries</span></div>
<div class="line"><a id="l05206" name="l05206"></a><span class="lineno"> 5206</span> <span class="keywordflow">if</span> (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a733a2b209bffff0a65788df54fdcaf59">fRRFFreq</a> != 0.0) {</div>
<div class="line"><a id="l05207" name="l05207"></a><span class="lineno"> 5207</span> <span class="keywordflow">if</span> (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#aed150156ea7ef5832f2127302d626a6d">fRRFPacking</a> == 0) {</div>
<div class="line"><a id="l05208" name="l05208"></a><span class="lineno"> 5208</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry(): **ERROR** found RRF frequency but no required RRF packing.&quot;</span>;</div>
<div class="line"><a id="l05209" name="l05209"></a><span class="lineno"> 5209</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Will ignore the RRF option.&quot;</span>;</div>
<div class="line"><a id="l05210" name="l05210"></a><span class="lineno"> 5210</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l05211" name="l05211"></a><span class="lineno"> 5211</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a733a2b209bffff0a65788df54fdcaf59">fRRFFreq</a> = 0.0;</div>
<div class="line"><a id="l05212" name="l05212"></a><span class="lineno"> 5212</span> }</div>
<div class="line"><a id="l05213" name="l05213"></a><span class="lineno"> 5213</span> }</div>
<div class="line"><a id="l05214" name="l05214"></a><span class="lineno"> 5214</span> </div>
<div class="line"><a id="l05215" name="l05215"></a><span class="lineno"> 5215</span> <span class="comment">// check if runs listed in the plot block indeed to exist</span></div>
<div class="line"><a id="l05216" name="l05216"></a><span class="lineno"> 5216</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l05217" name="l05217"></a><span class="lineno"> 5217</span> <span class="keywordflow">if</span> (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>[i] &gt; <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size())) {</div>
<div class="line"><a id="l05218" name="l05218"></a><span class="lineno"> 5218</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry(): **WARNING** found plot run number &quot;</span> &lt;&lt; param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>[i] &lt;&lt; <span class="stringliteral">&quot;.&quot;</span>;</div>
<div class="line"><a id="l05219" name="l05219"></a><span class="lineno"> 5219</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; There are only &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size() &lt;&lt; <span class="stringliteral">&quot; runs present, will ignore this run.&quot;</span>;</div>
<div class="line"><a id="l05220" name="l05220"></a><span class="lineno"> 5220</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l05221" name="l05221"></a><span class="lineno"> 5221</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.erase(param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.begin()+i);</div>
<div class="line"><a id="l05222" name="l05222"></a><span class="lineno"> 5222</span> i--;</div>
<div class="line"><a id="l05223" name="l05223"></a><span class="lineno"> 5223</span> }</div>
<div class="line"><a id="l05224" name="l05224"></a><span class="lineno"> 5224</span> <span class="keywordflow">if</span> (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>[i] == 0) {</div>
<div class="line"><a id="l05225" name="l05225"></a><span class="lineno"> 5225</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry(): **WARNING** found plot run number 0.&quot;</span>;</div>
<div class="line"><a id="l05226" name="l05226"></a><span class="lineno"> 5226</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Pot number needs to be &gt; 0. Will ignore this entry.&quot;</span>;</div>
<div class="line"><a id="l05227" name="l05227"></a><span class="lineno"> 5227</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l05228" name="l05228"></a><span class="lineno"> 5228</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.erase(param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.begin()+i);</div>
<div class="line"><a id="l05229" name="l05229"></a><span class="lineno"> 5229</span> i--;</div>
<div class="line"><a id="l05230" name="l05230"></a><span class="lineno"> 5230</span> }</div>
<div class="line"><a id="l05231" name="l05231"></a><span class="lineno"> 5231</span> }</div>
<div class="line"><a id="l05232" name="l05232"></a><span class="lineno"> 5232</span> </div>
<div class="line"><a id="l05233" name="l05233"></a><span class="lineno"> 5233</span> <span class="keywordflow">if</span> (param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.size() &gt; 0) {</div>
<div class="line"><a id="l05234" name="l05234"></a><span class="lineno"> 5234</span> <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>.push_back(param);</div>
<div class="line"><a id="l05235" name="l05235"></a><span class="lineno"> 5235</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05236" name="l05236"></a><span class="lineno"> 5236</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **ERROR** no valid PLOT block entries, will ignore the entire PLOT block.&quot;</span>;</div>
<div class="line"><a id="l05237" name="l05237"></a><span class="lineno"> 5237</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l05238" name="l05238"></a><span class="lineno"> 5238</span> }</div>
<div class="line"><a id="l05239" name="l05239"></a><span class="lineno"> 5239</span> }</div>
<div class="line"><a id="l05240" name="l05240"></a><span class="lineno"> 5240</span> }</div>
<div class="line"><a id="l05241" name="l05241"></a><span class="lineno"> 5241</span> </div>
<div class="line"><a id="l05242" name="l05242"></a><span class="lineno"> 5242</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>.size() == 0) {</div>
<div class="line"><a id="l05243" name="l05243"></a><span class="lineno"> 5243</span> error = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05244" name="l05244"></a><span class="lineno"> 5244</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **ERROR** no valid PLOT block at all present. Fix this first!&quot;</span>;</div>
<div class="line"><a id="l05245" name="l05245"></a><span class="lineno"> 5245</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l05246" name="l05246"></a><span class="lineno"> 5246</span> }</div>
<div class="line"><a id="l05247" name="l05247"></a><span class="lineno"> 5247</span> </div>
<div class="line"><a id="l05248" name="l05248"></a><span class="lineno"> 5248</span> <span class="keywordflow">if</span> (error) { <span class="comment">// print error message</span></div>
<div class="line"><a id="l05249" name="l05249"></a><span class="lineno"> 5249</span> --iter1;</div>
<div class="line"><a id="l05250" name="l05250"></a><span class="lineno"> 5250</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandlePlotEntry: **ERROR** in line &quot;</span> &lt;&lt; iter1-&gt;fLineNo &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; iter1-&gt;fLine.Data();</div>
<div class="line"><a id="l05251" name="l05251"></a><span class="lineno"> 5251</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; A PLOT block needs to have the following structure:&quot;</span>;</div>
<div class="line"><a id="l05252" name="l05252"></a><span class="lineno"> 5252</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l05253" name="l05253"></a><span class="lineno"> 5253</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PLOT &lt;plot_type&gt;&quot;</span>;</div>
<div class="line"><a id="l05254" name="l05254"></a><span class="lineno"> 5254</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; runs &lt;run_list&gt;&quot;</span>;</div>
<div class="line"><a id="l05255" name="l05255"></a><span class="lineno"> 5255</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [range tmin tmax [ymin ymax]]&quot;</span>;</div>
<div class="line"><a id="l05256" name="l05256"></a><span class="lineno"> 5256</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [sub_ranges tmin1 tmax1 tmin2 tmax2 ... tminN tmaxN [ymin ymax]&quot;</span>;</div>
<div class="line"><a id="l05257" name="l05257"></a><span class="lineno"> 5257</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [logx | logy]&quot;</span>;</div>
<div class="line"><a id="l05258" name="l05258"></a><span class="lineno"> 5258</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [use_fit_ranges [ymin ymax]]&quot;</span>;</div>
<div class="line"><a id="l05259" name="l05259"></a><span class="lineno"> 5259</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; [view_packing n]&quot;</span>;</div>
<div class="line"><a id="l05260" name="l05260"></a><span class="lineno"> 5260</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l05261" name="l05261"></a><span class="lineno"> 5261</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; where &lt;plot_type&gt; is: 0=single histo,&quot;</span>;</div>
<div class="line"><a id="l05262" name="l05262"></a><span class="lineno"> 5262</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; 1=RRF single histo,&quot;</span>;</div>
<div class="line"><a id="l05263" name="l05263"></a><span class="lineno"> 5263</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; 2=forward-backward asym,&quot;</span>;</div>
<div class="line"><a id="l05264" name="l05264"></a><span class="lineno"> 5264</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; 3=forward-backward RRF asym,&quot;</span>;</div>
<div class="line"><a id="l05265" name="l05265"></a><span class="lineno"> 5265</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; 4=mu minus single histo,&quot;</span>;</div>
<div class="line"><a id="l05266" name="l05266"></a><span class="lineno"> 5266</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; 5=forward-backward beta-NMR asym,&quot;</span>;</div>
<div class="line"><a id="l05267" name="l05267"></a><span class="lineno"> 5267</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; 8=non muSR.&quot;</span>;</div>
<div class="line"><a id="l05268" name="l05268"></a><span class="lineno"> 5268</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; &lt;run_list&gt; is the list of runs, e.g. runs 1 3&quot;</span>;</div>
<div class="line"><a id="l05269" name="l05269"></a><span class="lineno"> 5269</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; range is optional&quot;</span>;</div>
<div class="line"><a id="l05270" name="l05270"></a><span class="lineno"> 5270</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; sub_ranges (if present) will plot the N given runs each on its own sub-range&quot;</span>;</div>
<div class="line"><a id="l05271" name="l05271"></a><span class="lineno"> 5271</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; logx, logy (if present) will present the x-, y-axis in log-scale&quot;</span>;</div>
<div class="line"><a id="l05272" name="l05272"></a><span class="lineno"> 5272</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; use_fit_ranges (if present) will plot each run on its fit-range&quot;</span>;</div>
<div class="line"><a id="l05273" name="l05273"></a><span class="lineno"> 5273</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; view_packing n (if present) will bin all data by n (&gt; 0) rather than the binning of the fit&quot;</span>;</div>
<div class="line"><a id="l05274" name="l05274"></a><span class="lineno"> 5274</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l05275" name="l05275"></a><span class="lineno"> 5275</span> }</div>
<div class="line"><a id="l05276" name="l05276"></a><span class="lineno"> 5276</span> </div>
<div class="line"><a id="l05277" name="l05277"></a><span class="lineno"> 5277</span> param.<a class="code hl_variable" href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">fRuns</a>.clear();</div>
<div class="line"><a id="l05278" name="l05278"></a><span class="lineno"> 5278</span> </div>
<div class="line"><a id="l05279" name="l05279"></a><span class="lineno"> 5279</span> }</div>
<div class="line"><a id="l05280" name="l05280"></a><span class="lineno"> 5280</span> </div>
<div class="line"><a id="l05281" name="l05281"></a><span class="lineno"> 5281</span> <span class="keywordflow">return</span> !error;</div>
<div class="line"><a id="l05282" name="l05282"></a><span class="lineno"> 5282</span>}</div>
</div>
<div class="line"><a id="l05283" name="l05283"></a><span class="lineno"> 5283</span> </div>
<div class="line"><a id="l05284" name="l05284"></a><span class="lineno"> 5284</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l05285" name="l05285"></a><span class="lineno"> 5285</span><span class="comment">// HandleStatisticEntry (private)</span></div>
<div class="line"><a id="l05286" name="l05286"></a><span class="lineno"> 5286</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen05296" data-start="{" data-end="}">
<div class="line"><a id="l05296" name="l05296"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a7fdffca9382c5994d6bd6e83b0c45d1c"> 5296</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a7fdffca9382c5994d6bd6e83b0c45d1c">PMsrHandler::HandleStatisticEntry</a>(<a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;lines)</div>
<div class="line"><a id="l05297" name="l05297"></a><span class="lineno"> 5297</span>{</div>
<div class="line"><a id="l05298" name="l05298"></a><span class="lineno"> 5298</span> <span class="comment">// If msr-file is used for musrFT only, nothing needs to be done here.</span></div>
<div class="line"><a id="l05299" name="l05299"></a><span class="lineno"> 5299</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>)</div>
<div class="line"><a id="l05300" name="l05300"></a><span class="lineno"> 5300</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l05301" name="l05301"></a><span class="lineno"> 5301</span> </div>
<div class="line"><a id="l05302" name="l05302"></a><span class="lineno"> 5302</span> <span class="keywordflow">if</span> (lines.empty()) {</div>
<div class="line"><a id="l05303" name="l05303"></a><span class="lineno"> 5303</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleStatisticEntry: **WARNING** There is no STATISTIC block! Do you really want this?&quot;</span>;</div>
<div class="line"><a id="l05304" name="l05304"></a><span class="lineno"> 5304</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l05305" name="l05305"></a><span class="lineno"> 5305</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fValid = <span class="keyword">false</span>;</div>
<div class="line"><a id="l05306" name="l05306"></a><span class="lineno"> 5306</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l05307" name="l05307"></a><span class="lineno"> 5307</span> }</div>
<div class="line"><a id="l05308" name="l05308"></a><span class="lineno"> 5308</span> </div>
<div class="line"><a id="l05309" name="l05309"></a><span class="lineno"> 5309</span> Char_t str[128];</div>
<div class="line"><a id="l05310" name="l05310"></a><span class="lineno"> 5310</span> Char_t date[128];</div>
<div class="line"><a id="l05311" name="l05311"></a><span class="lineno"> 5311</span> Char_t time[128];</div>
<div class="line"><a id="l05312" name="l05312"></a><span class="lineno"> 5312</span> Int_t <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a>;</div>
<div class="line"><a id="l05313" name="l05313"></a><span class="lineno"> 5313</span> Double_t dval;</div>
<div class="line"><a id="l05314" name="l05314"></a><span class="lineno"> 5314</span> UInt_t ival;</div>
<div class="line"><a id="l05315" name="l05315"></a><span class="lineno"> 5315</span> TString tstr;</div>
<div class="line"><a id="l05316" name="l05316"></a><span class="lineno"> 5316</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;lines.size(); i++) {</div>
<div class="line"><a id="l05317" name="l05317"></a><span class="lineno"> 5317</span> <span class="comment">// check if the statistic block line is illegal</span></div>
<div class="line"><a id="l05318" name="l05318"></a><span class="lineno"> 5318</span> tstr = lines[i].fLine;</div>
<div class="line"><a id="l05319" name="l05319"></a><span class="lineno"> 5319</span> tstr.Remove(TString::kLeading, <span class="charliteral">&#39; &#39;</span>);</div>
<div class="line"><a id="l05320" name="l05320"></a><span class="lineno"> 5320</span> <span class="keywordflow">if</span> (tstr.Length() &gt; 0) {</div>
<div class="line"><a id="l05321" name="l05321"></a><span class="lineno"> 5321</span> <span class="keywordflow">if</span> (!tstr.BeginsWith(<span class="stringliteral">&quot;#&quot;</span>) &amp;&amp; !tstr.BeginsWith(<span class="stringliteral">&quot;STATISTIC&quot;</span>) &amp;&amp; !tstr.BeginsWith(<span class="stringliteral">&quot;chisq&quot;</span>) &amp;&amp;</div>
<div class="line"><a id="l05322" name="l05322"></a><span class="lineno"> 5322</span> !tstr.BeginsWith(<span class="stringliteral">&quot;maxLH&quot;</span>) &amp;&amp; !tstr.BeginsWith(<span class="stringliteral">&quot;*** FIT DID NOT CONVERGE ***&quot;</span>) &amp;&amp;</div>
<div class="line"><a id="l05323" name="l05323"></a><span class="lineno"> 5323</span> !tstr.BeginsWith(<span class="stringliteral">&quot;expected chisq&quot;</span>) &amp;&amp; !tstr.BeginsWith(<span class="stringliteral">&quot;expected maxLH&quot;</span>) &amp;&amp;</div>
<div class="line"><a id="l05324" name="l05324"></a><span class="lineno"> 5324</span> !tstr.BeginsWith(<span class="stringliteral">&quot;run block&quot;</span>)) {</div>
<div class="line"><a id="l05325" name="l05325"></a><span class="lineno"> 5325</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::HandleStatisticEntry: **SYNTAX ERROR** in line &quot;</span> &lt;&lt; lines[i].fLineNo;</div>
<div class="line"><a id="l05326" name="l05326"></a><span class="lineno"> 5326</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; &#39;&quot;</span> &lt;&lt; lines[i].fLine.Data() &lt;&lt; <span class="stringliteral">&quot;&#39;&quot;</span>;</div>
<div class="line"><a id="l05327" name="l05327"></a><span class="lineno"> 5327</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; not a valid STATISTIC block line&quot;</span>;</div>
<div class="line"><a id="l05328" name="l05328"></a><span class="lineno"> 5328</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; If you do not understand this, just remove the STATISTIC block, musrfit will recreate after fitting&quot;</span>;</div>
<div class="line"><a id="l05329" name="l05329"></a><span class="lineno"> 5329</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l05330" name="l05330"></a><span class="lineno"> 5330</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05331" name="l05331"></a><span class="lineno"> 5331</span> }</div>
<div class="line"><a id="l05332" name="l05332"></a><span class="lineno"> 5332</span> }</div>
<div class="line"><a id="l05333" name="l05333"></a><span class="lineno"> 5333</span> </div>
<div class="line"><a id="l05334" name="l05334"></a><span class="lineno"> 5334</span> <span class="comment">// filter date and chisq etc from strings</span></div>
<div class="line"><a id="l05335" name="l05335"></a><span class="lineno"> 5335</span> <span class="comment">// extract date and time</span></div>
<div class="line"><a id="l05336" name="l05336"></a><span class="lineno"> 5336</span> <span class="keywordflow">if</span> (lines[i].fLine.Contains(<span class="stringliteral">&quot;STATISTIC&quot;</span>)) {</div>
<div class="line"><a id="l05337" name="l05337"></a><span class="lineno"> 5337</span> <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> = sscanf(lines[i].fLine.Data(), <span class="stringliteral">&quot;STATISTIC --- %s%s&quot;</span>, date, time);</div>
<div class="line"><a id="l05338" name="l05338"></a><span class="lineno"> 5338</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> == 2) {</div>
<div class="line"><a id="l05339" name="l05339"></a><span class="lineno"> 5339</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fDate = TString(date)+TString(<span class="stringliteral">&quot;, &quot;</span>)+TString(time);</div>
<div class="line"><a id="l05340" name="l05340"></a><span class="lineno"> 5340</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05341" name="l05341"></a><span class="lineno"> 5341</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fDate = TString(<span class="stringliteral">&quot;????-??-??, ??:??:??&quot;</span>);</div>
<div class="line"><a id="l05342" name="l05342"></a><span class="lineno"> 5342</span> }</div>
<div class="line"><a id="l05343" name="l05343"></a><span class="lineno"> 5343</span> }</div>
<div class="line"><a id="l05344" name="l05344"></a><span class="lineno"> 5344</span> <span class="comment">// extract chisq</span></div>
<div class="line"><a id="l05345" name="l05345"></a><span class="lineno"> 5345</span> <span class="keywordflow">if</span> (lines[i].fLine.Contains(<span class="stringliteral">&quot;chisq =&quot;</span>)) {</div>
<div class="line"><a id="l05346" name="l05346"></a><span class="lineno"> 5346</span> <span class="keywordflow">if</span> (lines[i].fLine.Contains(<span class="stringliteral">&quot;expected&quot;</span>)) { <span class="comment">// expected chisq</span></div>
<div class="line"><a id="l05347" name="l05347"></a><span class="lineno"> 5347</span> strncpy(str, lines[i].fLine.Data(), <span class="keyword">sizeof</span>(str));</div>
<div class="line"><a id="l05348" name="l05348"></a><span class="lineno"> 5348</span> <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> = sscanf(str+lines[i].fLine.Index(<span class="stringliteral">&quot;chisq = &quot;</span>)+8, <span class="stringliteral">&quot;%lf&quot;</span>, &amp;dval);</div>
<div class="line"><a id="l05349" name="l05349"></a><span class="lineno"> 5349</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> == 1) {</div>
<div class="line"><a id="l05350" name="l05350"></a><span class="lineno"> 5350</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected = dval;</div>
<div class="line"><a id="l05351" name="l05351"></a><span class="lineno"> 5351</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05352" name="l05352"></a><span class="lineno"> 5352</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMinExpected = -1.0;</div>
<div class="line"><a id="l05353" name="l05353"></a><span class="lineno"> 5353</span> }</div>
<div class="line"><a id="l05354" name="l05354"></a><span class="lineno"> 5354</span> } <span class="keywordflow">else</span> { <span class="comment">// chisq</span></div>
<div class="line"><a id="l05355" name="l05355"></a><span class="lineno"> 5355</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fValid = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05356" name="l05356"></a><span class="lineno"> 5356</span> strncpy(str, lines[i].fLine.Data(), <span class="keyword">sizeof</span>(str));</div>
<div class="line"><a id="l05357" name="l05357"></a><span class="lineno"> 5357</span> <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> = sscanf(str+lines[i].fLine.Index(<span class="stringliteral">&quot;chisq = &quot;</span>)+8, <span class="stringliteral">&quot;%lf&quot;</span>, &amp;dval);</div>
<div class="line"><a id="l05358" name="l05358"></a><span class="lineno"> 5358</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> == 1) {</div>
<div class="line"><a id="l05359" name="l05359"></a><span class="lineno"> 5359</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin = dval;</div>
<div class="line"><a id="l05360" name="l05360"></a><span class="lineno"> 5360</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05361" name="l05361"></a><span class="lineno"> 5361</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin = -1.0;</div>
<div class="line"><a id="l05362" name="l05362"></a><span class="lineno"> 5362</span> }</div>
<div class="line"><a id="l05363" name="l05363"></a><span class="lineno"> 5363</span> }</div>
<div class="line"><a id="l05364" name="l05364"></a><span class="lineno"> 5364</span> }</div>
<div class="line"><a id="l05365" name="l05365"></a><span class="lineno"> 5365</span> <span class="comment">// extract maxLH</span></div>
<div class="line"><a id="l05366" name="l05366"></a><span class="lineno"> 5366</span> <span class="keywordflow">if</span> (lines[i].fLine.Contains(<span class="stringliteral">&quot;maxLH =&quot;</span>)) {</div>
<div class="line"><a id="l05367" name="l05367"></a><span class="lineno"> 5367</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fValid = <span class="keyword">true</span>;</div>
<div class="line"><a id="l05368" name="l05368"></a><span class="lineno"> 5368</span> strncpy(str, lines[i].fLine.Data(), <span class="keyword">sizeof</span>(str));</div>
<div class="line"><a id="l05369" name="l05369"></a><span class="lineno"> 5369</span> <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> = sscanf(str+lines[i].fLine.Index(<span class="stringliteral">&quot;maxLH = &quot;</span>)+8, <span class="stringliteral">&quot;%lf&quot;</span>, &amp;dval);</div>
<div class="line"><a id="l05370" name="l05370"></a><span class="lineno"> 5370</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> == 1) {</div>
<div class="line"><a id="l05371" name="l05371"></a><span class="lineno"> 5371</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin = dval;</div>
<div class="line"><a id="l05372" name="l05372"></a><span class="lineno"> 5372</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05373" name="l05373"></a><span class="lineno"> 5373</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fMin = -1.0;</div>
<div class="line"><a id="l05374" name="l05374"></a><span class="lineno"> 5374</span> }</div>
<div class="line"><a id="l05375" name="l05375"></a><span class="lineno"> 5375</span> }</div>
<div class="line"><a id="l05376" name="l05376"></a><span class="lineno"> 5376</span> <span class="comment">// extract NDF</span></div>
<div class="line"><a id="l05377" name="l05377"></a><span class="lineno"> 5377</span> <span class="keywordflow">if</span> (lines[i].fLine.Contains(<span class="stringliteral">&quot;, NDF =&quot;</span>)) {</div>
<div class="line"><a id="l05378" name="l05378"></a><span class="lineno"> 5378</span> strncpy(str, lines[i].fLine.Data(), <span class="keyword">sizeof</span>(str));</div>
<div class="line"><a id="l05379" name="l05379"></a><span class="lineno"> 5379</span> <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> = sscanf(str+lines[i].fLine.Index(<span class="stringliteral">&quot;, NDF = &quot;</span>)+8, <span class="stringliteral">&quot;%u&quot;</span>, &amp;ival);</div>
<div class="line"><a id="l05380" name="l05380"></a><span class="lineno"> 5380</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> == 1) {</div>
<div class="line"><a id="l05381" name="l05381"></a><span class="lineno"> 5381</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf = ival;</div>
<div class="line"><a id="l05382" name="l05382"></a><span class="lineno"> 5382</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05383" name="l05383"></a><span class="lineno"> 5383</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fNdf = 0;</div>
<div class="line"><a id="l05384" name="l05384"></a><span class="lineno"> 5384</span> }</div>
<div class="line"><a id="l05385" name="l05385"></a><span class="lineno"> 5385</span> }</div>
<div class="line"><a id="l05386" name="l05386"></a><span class="lineno"> 5386</span> <span class="comment">// keep string</span></div>
<div class="line"><a id="l05387" name="l05387"></a><span class="lineno"> 5387</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fStatLines.push_back(lines[i]);</div>
<div class="line"><a id="l05388" name="l05388"></a><span class="lineno"> 5388</span> }</div>
<div class="line"><a id="l05389" name="l05389"></a><span class="lineno"> 5389</span> </div>
<div class="line"><a id="l05390" name="l05390"></a><span class="lineno"> 5390</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l05391" name="l05391"></a><span class="lineno"> 5391</span>}</div>
</div>
<div class="line"><a id="l05392" name="l05392"></a><span class="lineno"> 5392</span> </div>
<div class="line"><a id="l05393" name="l05393"></a><span class="lineno"> 5393</span> </div>
<div class="line"><a id="l05394" name="l05394"></a><span class="lineno"> 5394</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l05395" name="l05395"></a><span class="lineno"> 5395</span><span class="comment">// GetNoOfFitParameters (public)</span></div>
<div class="line"><a id="l05396" name="l05396"></a><span class="lineno"> 5396</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen05402" data-start="{" data-end="}">
<div class="line"><a id="l05402" name="l05402"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a0206f29dec252a797038832e75d236ba"> 5402</a></span>UInt_t <a class="code hl_function" href="classPMsrHandler.html#a0206f29dec252a797038832e75d236ba">PMsrHandler::GetNoOfFitParameters</a>(UInt_t idx)</div>
<div class="line"><a id="l05403" name="l05403"></a><span class="lineno"> 5403</span>{</div>
<div class="line"><a id="l05404" name="l05404"></a><span class="lineno"> 5404</span> UInt_t noOfFitParameters = 0;</div>
<div class="line"><a id="l05405" name="l05405"></a><span class="lineno"> 5405</span> <a class="code hl_typedef" href="PMusr_8h.html#a01eec7e896afb5c4601dea91ee31477b">PUIntVector</a> paramVector;</div>
<div class="line"><a id="l05406" name="l05406"></a><span class="lineno"> 5406</span> <a class="code hl_typedef" href="PMusr_8h.html#a01eec7e896afb5c4601dea91ee31477b">PUIntVector</a> funVector;</div>
<div class="line"><a id="l05407" name="l05407"></a><span class="lineno"> 5407</span> <a class="code hl_typedef" href="PMusr_8h.html#a01eec7e896afb5c4601dea91ee31477b">PUIntVector</a> mapVector;</div>
<div class="line"><a id="l05408" name="l05408"></a><span class="lineno"> 5408</span> TObjArray *tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05409" name="l05409"></a><span class="lineno"> 5409</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05410" name="l05410"></a><span class="lineno"> 5410</span> TString str;</div>
<div class="line"><a id="l05411" name="l05411"></a><span class="lineno"> 5411</span> UInt_t k, dval;</div>
<div class="line"><a id="l05412" name="l05412"></a><span class="lineno"> 5412</span> Int_t <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a>, pos;</div>
<div class="line"><a id="l05413" name="l05413"></a><span class="lineno"> 5413</span> </div>
<div class="line"><a id="l05414" name="l05414"></a><span class="lineno"> 5414</span> <span class="comment">// check that idx is valid</span></div>
<div class="line"><a id="l05415" name="l05415"></a><span class="lineno"> 5415</span> <span class="keywordflow">if</span> (idx &gt;= <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size()) {</div>
<div class="line"><a id="l05416" name="l05416"></a><span class="lineno"> 5416</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::GetNoOfFitParameters() **ERROR** idx=&quot;</span> &lt;&lt; idx &lt;&lt; <span class="stringliteral">&quot;, out of range fRuns.size()=&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size();</div>
<div class="line"><a id="l05417" name="l05417"></a><span class="lineno"> 5417</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l05418" name="l05418"></a><span class="lineno"> 5418</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l05419" name="l05419"></a><span class="lineno"> 5419</span> }</div>
<div class="line"><a id="l05420" name="l05420"></a><span class="lineno"> 5420</span> </div>
<div class="line"><a id="l05421" name="l05421"></a><span class="lineno"> 5421</span> <span class="comment">// get N0 parameter, possible parameter number or function (single histo fit)</span></div>
<div class="line"><a id="l05422" name="l05422"></a><span class="lineno"> 5422</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetNormParamNo() != -1) {</div>
<div class="line"><a id="l05423" name="l05423"></a><span class="lineno"> 5423</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetNormParamNo() &lt; <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>) <span class="comment">// parameter</span></div>
<div class="line"><a id="l05424" name="l05424"></a><span class="lineno"> 5424</span> paramVector.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetNormParamNo());</div>
<div class="line"><a id="l05425" name="l05425"></a><span class="lineno"> 5425</span> <span class="keywordflow">else</span> <span class="comment">// function</span></div>
<div class="line"><a id="l05426" name="l05426"></a><span class="lineno"> 5426</span> funVector.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetNormParamNo() - <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>);</div>
<div class="line"><a id="l05427" name="l05427"></a><span class="lineno"> 5427</span> }</div>
<div class="line"><a id="l05428" name="l05428"></a><span class="lineno"> 5428</span> </div>
<div class="line"><a id="l05429" name="l05429"></a><span class="lineno"> 5429</span> <span class="comment">// get background parameter, for the case the background is fitted (single histo fit)</span></div>
<div class="line"><a id="l05430" name="l05430"></a><span class="lineno"> 5430</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetBkgFitParamNo() != -1)</div>
<div class="line"><a id="l05431" name="l05431"></a><span class="lineno"> 5431</span> paramVector.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetBkgFitParamNo());</div>
<div class="line"><a id="l05432" name="l05432"></a><span class="lineno"> 5432</span> </div>
<div class="line"><a id="l05433" name="l05433"></a><span class="lineno"> 5433</span> <span class="comment">// get alpha parameter if present (asymmetry fit)</span></div>
<div class="line"><a id="l05434" name="l05434"></a><span class="lineno"> 5434</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetAlphaParamNo() != -1) {</div>
<div class="line"><a id="l05435" name="l05435"></a><span class="lineno"> 5435</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetAlphaParamNo() &lt; <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>) <span class="comment">// parameter</span></div>
<div class="line"><a id="l05436" name="l05436"></a><span class="lineno"> 5436</span> paramVector.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetAlphaParamNo());</div>
<div class="line"><a id="l05437" name="l05437"></a><span class="lineno"> 5437</span> <span class="keywordflow">else</span> <span class="comment">// function</span></div>
<div class="line"><a id="l05438" name="l05438"></a><span class="lineno"> 5438</span> funVector.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetAlphaParamNo() - <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>);</div>
<div class="line"><a id="l05439" name="l05439"></a><span class="lineno"> 5439</span> }</div>
<div class="line"><a id="l05440" name="l05440"></a><span class="lineno"> 5440</span> </div>
<div class="line"><a id="l05441" name="l05441"></a><span class="lineno"> 5441</span> <span class="comment">// get beta parameter if present (asymmetry fit)</span></div>
<div class="line"><a id="l05442" name="l05442"></a><span class="lineno"> 5442</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetBetaParamNo() != -1) {</div>
<div class="line"><a id="l05443" name="l05443"></a><span class="lineno"> 5443</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetBetaParamNo() &lt; <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>) <span class="comment">// parameter</span></div>
<div class="line"><a id="l05444" name="l05444"></a><span class="lineno"> 5444</span> paramVector.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetBetaParamNo());</div>
<div class="line"><a id="l05445" name="l05445"></a><span class="lineno"> 5445</span> <span class="keywordflow">else</span> <span class="comment">// function</span></div>
<div class="line"><a id="l05446" name="l05446"></a><span class="lineno"> 5446</span> funVector.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetBetaParamNo() - <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>);</div>
<div class="line"><a id="l05447" name="l05447"></a><span class="lineno"> 5447</span> }</div>
<div class="line"><a id="l05448" name="l05448"></a><span class="lineno"> 5448</span> </div>
<div class="line"><a id="l05449" name="l05449"></a><span class="lineno"> 5449</span> <span class="comment">// go through the theory block and collect parameters</span></div>
<div class="line"><a id="l05450" name="l05450"></a><span class="lineno"> 5450</span> <span class="comment">// possible entries: number -&gt; parameter, fun&lt;number&gt; -&gt; function, map&lt;number&gt; -&gt; maps</span></div>
<div class="line"><a id="l05451" name="l05451"></a><span class="lineno"> 5451</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>.size(); i++) {</div>
<div class="line"><a id="l05452" name="l05452"></a><span class="lineno"> 5452</span> <span class="comment">// remove potential comments</span></div>
<div class="line"><a id="l05453" name="l05453"></a><span class="lineno"> 5453</span> str = <a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>[i].fLine;</div>
<div class="line"><a id="l05454" name="l05454"></a><span class="lineno"> 5454</span> pos = str.Index(<span class="charliteral">&#39;#&#39;</span>);</div>
<div class="line"><a id="l05455" name="l05455"></a><span class="lineno"> 5455</span> <span class="keywordflow">if</span> (pos &gt;= 0)</div>
<div class="line"><a id="l05456" name="l05456"></a><span class="lineno"> 5456</span> str.Resize(pos);</div>
<div class="line"><a id="l05457" name="l05457"></a><span class="lineno"> 5457</span> <span class="comment">// tokenize</span></div>
<div class="line"><a id="l05458" name="l05458"></a><span class="lineno"> 5458</span> tokens = str.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l05459" name="l05459"></a><span class="lineno"> 5459</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l05460" name="l05460"></a><span class="lineno"> 5460</span> mapVector.clear();</div>
<div class="line"><a id="l05461" name="l05461"></a><span class="lineno"> 5461</span> funVector.clear();</div>
<div class="line"><a id="l05462" name="l05462"></a><span class="lineno"> 5462</span> paramVector.clear();</div>
<div class="line"><a id="l05463" name="l05463"></a><span class="lineno"> 5463</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l05464" name="l05464"></a><span class="lineno"> 5464</span> }</div>
<div class="line"><a id="l05465" name="l05465"></a><span class="lineno"> 5465</span> </div>
<div class="line"><a id="l05466" name="l05466"></a><span class="lineno"> 5466</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;tokens-&gt;GetEntries(); j++) {</div>
<div class="line"><a id="l05467" name="l05467"></a><span class="lineno"> 5467</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(j));</div>
<div class="line"><a id="l05468" name="l05468"></a><span class="lineno"> 5468</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05469" name="l05469"></a><span class="lineno"> 5469</span> <span class="comment">// check for parameter number</span></div>
<div class="line"><a id="l05470" name="l05470"></a><span class="lineno"> 5470</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l05471" name="l05471"></a><span class="lineno"> 5471</span> dval = str.Atoi();</div>
<div class="line"><a id="l05472" name="l05472"></a><span class="lineno"> 5472</span> paramVector.push_back(dval);</div>
<div class="line"><a id="l05473" name="l05473"></a><span class="lineno"> 5473</span> }</div>
<div class="line"><a id="l05474" name="l05474"></a><span class="lineno"> 5474</span> </div>
<div class="line"><a id="l05475" name="l05475"></a><span class="lineno"> 5475</span> <span class="comment">// check for map</span></div>
<div class="line"><a id="l05476" name="l05476"></a><span class="lineno"> 5476</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;map&quot;</span>)) {</div>
<div class="line"><a id="l05477" name="l05477"></a><span class="lineno"> 5477</span> <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> = sscanf(str.Data(), <span class="stringliteral">&quot;map%d&quot;</span>, &amp;dval);</div>
<div class="line"><a id="l05478" name="l05478"></a><span class="lineno"> 5478</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> == 1) {</div>
<div class="line"><a id="l05479" name="l05479"></a><span class="lineno"> 5479</span> mapVector.push_back(dval);</div>
<div class="line"><a id="l05480" name="l05480"></a><span class="lineno"> 5480</span> }</div>
<div class="line"><a id="l05481" name="l05481"></a><span class="lineno"> 5481</span> }</div>
<div class="line"><a id="l05482" name="l05482"></a><span class="lineno"> 5482</span> </div>
<div class="line"><a id="l05483" name="l05483"></a><span class="lineno"> 5483</span> <span class="comment">// check for function</span></div>
<div class="line"><a id="l05484" name="l05484"></a><span class="lineno"> 5484</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;fun&quot;</span>)) {</div>
<div class="line"><a id="l05485" name="l05485"></a><span class="lineno"> 5485</span> <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> = sscanf(str.Data(), <span class="stringliteral">&quot;fun%d&quot;</span>, &amp;dval);</div>
<div class="line"><a id="l05486" name="l05486"></a><span class="lineno"> 5486</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> == 1) {</div>
<div class="line"><a id="l05487" name="l05487"></a><span class="lineno"> 5487</span> funVector.push_back(dval);</div>
<div class="line"><a id="l05488" name="l05488"></a><span class="lineno"> 5488</span> }</div>
<div class="line"><a id="l05489" name="l05489"></a><span class="lineno"> 5489</span> }</div>
<div class="line"><a id="l05490" name="l05490"></a><span class="lineno"> 5490</span> }</div>
<div class="line"><a id="l05491" name="l05491"></a><span class="lineno"> 5491</span> </div>
<div class="line"><a id="l05492" name="l05492"></a><span class="lineno"> 5492</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05493" name="l05493"></a><span class="lineno"> 5493</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05494" name="l05494"></a><span class="lineno"> 5494</span> }</div>
<div class="line"><a id="l05495" name="l05495"></a><span class="lineno"> 5495</span> </div>
<div class="line"><a id="l05496" name="l05496"></a><span class="lineno"> 5496</span> <span class="comment">// go through the function block and collect parameters</span></div>
<div class="line"><a id="l05497" name="l05497"></a><span class="lineno"> 5497</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;funVector.size(); i++) {</div>
<div class="line"><a id="l05498" name="l05498"></a><span class="lineno"> 5498</span> <span class="comment">// find the proper function in the function block</span></div>
<div class="line"><a id="l05499" name="l05499"></a><span class="lineno"> 5499</span> <span class="keywordflow">for</span> (k=0; k&lt;<a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>.size(); k++) {</div>
<div class="line"><a id="l05500" name="l05500"></a><span class="lineno"> 5500</span> <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> = sscanf(<a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>[k].fLine.Data(), <span class="stringliteral">&quot;fun%d&quot;</span>, &amp;dval);</div>
<div class="line"><a id="l05501" name="l05501"></a><span class="lineno"> 5501</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> == 1) {</div>
<div class="line"><a id="l05502" name="l05502"></a><span class="lineno"> 5502</span> <span class="keywordflow">if</span> (dval == funVector[i])</div>
<div class="line"><a id="l05503" name="l05503"></a><span class="lineno"> 5503</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l05504" name="l05504"></a><span class="lineno"> 5504</span> }</div>
<div class="line"><a id="l05505" name="l05505"></a><span class="lineno"> 5505</span> }</div>
<div class="line"><a id="l05506" name="l05506"></a><span class="lineno"> 5506</span> </div>
<div class="line"><a id="l05507" name="l05507"></a><span class="lineno"> 5507</span> <span class="comment">// check if everything has been found at all</span></div>
<div class="line"><a id="l05508" name="l05508"></a><span class="lineno"> 5508</span> <span class="keywordflow">if</span> (k == <a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>.size()) {</div>
<div class="line"><a id="l05509" name="l05509"></a><span class="lineno"> 5509</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::GetNoOfFitParameters() **ERROR** couldn&#39;t find fun&quot;</span> &lt;&lt; funVector[i];</div>
<div class="line"><a id="l05510" name="l05510"></a><span class="lineno"> 5510</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l05511" name="l05511"></a><span class="lineno"> 5511</span> </div>
<div class="line"><a id="l05512" name="l05512"></a><span class="lineno"> 5512</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l05513" name="l05513"></a><span class="lineno"> 5513</span> mapVector.clear();</div>
<div class="line"><a id="l05514" name="l05514"></a><span class="lineno"> 5514</span> funVector.clear();</div>
<div class="line"><a id="l05515" name="l05515"></a><span class="lineno"> 5515</span> paramVector.clear();</div>
<div class="line"><a id="l05516" name="l05516"></a><span class="lineno"> 5516</span> </div>
<div class="line"><a id="l05517" name="l05517"></a><span class="lineno"> 5517</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l05518" name="l05518"></a><span class="lineno"> 5518</span> }</div>
<div class="line"><a id="l05519" name="l05519"></a><span class="lineno"> 5519</span> </div>
<div class="line"><a id="l05520" name="l05520"></a><span class="lineno"> 5520</span> <span class="comment">// remove potential comments</span></div>
<div class="line"><a id="l05521" name="l05521"></a><span class="lineno"> 5521</span> str = <a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>[k].fLine;</div>
<div class="line"><a id="l05522" name="l05522"></a><span class="lineno"> 5522</span> pos = str.Index(<span class="charliteral">&#39;#&#39;</span>);</div>
<div class="line"><a id="l05523" name="l05523"></a><span class="lineno"> 5523</span> <span class="keywordflow">if</span> (pos &gt;= 0)</div>
<div class="line"><a id="l05524" name="l05524"></a><span class="lineno"> 5524</span> str.Resize(pos);</div>
<div class="line"><a id="l05525" name="l05525"></a><span class="lineno"> 5525</span> </div>
<div class="line"><a id="l05526" name="l05526"></a><span class="lineno"> 5526</span> <span class="comment">// tokenize</span></div>
<div class="line"><a id="l05527" name="l05527"></a><span class="lineno"> 5527</span> tokens = str.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l05528" name="l05528"></a><span class="lineno"> 5528</span> <span class="keywordflow">if</span> (!tokens) {</div>
<div class="line"><a id="l05529" name="l05529"></a><span class="lineno"> 5529</span> mapVector.clear();</div>
<div class="line"><a id="l05530" name="l05530"></a><span class="lineno"> 5530</span> funVector.clear();</div>
<div class="line"><a id="l05531" name="l05531"></a><span class="lineno"> 5531</span> paramVector.clear();</div>
<div class="line"><a id="l05532" name="l05532"></a><span class="lineno"> 5532</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l05533" name="l05533"></a><span class="lineno"> 5533</span> }</div>
<div class="line"><a id="l05534" name="l05534"></a><span class="lineno"> 5534</span> </div>
<div class="line"><a id="l05535" name="l05535"></a><span class="lineno"> 5535</span> <span class="comment">// filter out parameters and maps</span></div>
<div class="line"><a id="l05536" name="l05536"></a><span class="lineno"> 5536</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;tokens-&gt;GetEntries(); j++) {</div>
<div class="line"><a id="l05537" name="l05537"></a><span class="lineno"> 5537</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(j));</div>
<div class="line"><a id="l05538" name="l05538"></a><span class="lineno"> 5538</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05539" name="l05539"></a><span class="lineno"> 5539</span> </div>
<div class="line"><a id="l05540" name="l05540"></a><span class="lineno"> 5540</span> <span class="comment">// check for parameter</span></div>
<div class="line"><a id="l05541" name="l05541"></a><span class="lineno"> 5541</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;par&quot;</span>)) {</div>
<div class="line"><a id="l05542" name="l05542"></a><span class="lineno"> 5542</span> <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> = sscanf(str.Data(), <span class="stringliteral">&quot;par%d&quot;</span>, &amp;dval);</div>
<div class="line"><a id="l05543" name="l05543"></a><span class="lineno"> 5543</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> == 1)</div>
<div class="line"><a id="l05544" name="l05544"></a><span class="lineno"> 5544</span> paramVector.push_back(dval);</div>
<div class="line"><a id="l05545" name="l05545"></a><span class="lineno"> 5545</span> }</div>
<div class="line"><a id="l05546" name="l05546"></a><span class="lineno"> 5546</span> </div>
<div class="line"><a id="l05547" name="l05547"></a><span class="lineno"> 5547</span> <span class="comment">// check for map</span></div>
<div class="line"><a id="l05548" name="l05548"></a><span class="lineno"> 5548</span> <span class="keywordflow">if</span> (str.BeginsWith(<span class="stringliteral">&quot;map&quot;</span>)) {</div>
<div class="line"><a id="l05549" name="l05549"></a><span class="lineno"> 5549</span> <a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> = sscanf(str.Data(), <span class="stringliteral">&quot;map%d&quot;</span>, &amp;dval);</div>
<div class="line"><a id="l05550" name="l05550"></a><span class="lineno"> 5550</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a> == 1)</div>
<div class="line"><a id="l05551" name="l05551"></a><span class="lineno"> 5551</span> mapVector.push_back(dval);</div>
<div class="line"><a id="l05552" name="l05552"></a><span class="lineno"> 5552</span> }</div>
<div class="line"><a id="l05553" name="l05553"></a><span class="lineno"> 5553</span> }</div>
<div class="line"><a id="l05554" name="l05554"></a><span class="lineno"> 5554</span> }</div>
<div class="line"><a id="l05555" name="l05555"></a><span class="lineno"> 5555</span> </div>
<div class="line"><a id="l05556" name="l05556"></a><span class="lineno"> 5556</span> <span class="comment">// go through the map and collect parameters</span></div>
<div class="line"><a id="l05557" name="l05557"></a><span class="lineno"> 5557</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;mapVector.size(); i++) {</div>
<div class="line"><a id="l05558" name="l05558"></a><span class="lineno"> 5558</span> paramVector.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].GetMap(mapVector[i]-1));</div>
<div class="line"><a id="l05559" name="l05559"></a><span class="lineno"> 5559</span> }</div>
<div class="line"><a id="l05560" name="l05560"></a><span class="lineno"> 5560</span> </div>
<div class="line"><a id="l05561" name="l05561"></a><span class="lineno"> 5561</span> <span class="comment">// eliminated multiple identical entries in paramVector</span></div>
<div class="line"><a id="l05562" name="l05562"></a><span class="lineno"> 5562</span> <a class="code hl_typedef" href="PMusr_8h.html#a01eec7e896afb5c4601dea91ee31477b">PUIntVector</a> param;</div>
<div class="line"><a id="l05563" name="l05563"></a><span class="lineno"> 5563</span> param.push_back(paramVector[0]);</div>
<div class="line"><a id="l05564" name="l05564"></a><span class="lineno"> 5564</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;paramVector.size(); i++) {</div>
<div class="line"><a id="l05565" name="l05565"></a><span class="lineno"> 5565</span> <span class="keywordflow">for</span> (k=0; k&lt;param.size(); k++) {</div>
<div class="line"><a id="l05566" name="l05566"></a><span class="lineno"> 5566</span> <span class="keywordflow">if</span> (param[k] == paramVector[i])</div>
<div class="line"><a id="l05567" name="l05567"></a><span class="lineno"> 5567</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l05568" name="l05568"></a><span class="lineno"> 5568</span> }</div>
<div class="line"><a id="l05569" name="l05569"></a><span class="lineno"> 5569</span> <span class="keywordflow">if</span> (k == param.size())</div>
<div class="line"><a id="l05570" name="l05570"></a><span class="lineno"> 5570</span> param.push_back(paramVector[i]);</div>
<div class="line"><a id="l05571" name="l05571"></a><span class="lineno"> 5571</span> }</div>
<div class="line"><a id="l05572" name="l05572"></a><span class="lineno"> 5572</span> </div>
<div class="line"><a id="l05573" name="l05573"></a><span class="lineno"> 5573</span> <span class="comment">// calculate the number of fit parameters with step != 0</span></div>
<div class="line"><a id="l05574" name="l05574"></a><span class="lineno"> 5574</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;param.size(); i++) {</div>
<div class="line"><a id="l05575" name="l05575"></a><span class="lineno"> 5575</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[param[i]-1].fStep != 0.0)</div>
<div class="line"><a id="l05576" name="l05576"></a><span class="lineno"> 5576</span> noOfFitParameters++;</div>
<div class="line"><a id="l05577" name="l05577"></a><span class="lineno"> 5577</span> }</div>
<div class="line"><a id="l05578" name="l05578"></a><span class="lineno"> 5578</span> </div>
<div class="line"><a id="l05579" name="l05579"></a><span class="lineno"> 5579</span> <span class="comment">// cleanup</span></div>
<div class="line"><a id="l05580" name="l05580"></a><span class="lineno"> 5580</span> param.clear();</div>
<div class="line"><a id="l05581" name="l05581"></a><span class="lineno"> 5581</span> mapVector.clear();</div>
<div class="line"><a id="l05582" name="l05582"></a><span class="lineno"> 5582</span> funVector.clear();</div>
<div class="line"><a id="l05583" name="l05583"></a><span class="lineno"> 5583</span> paramVector.clear();</div>
<div class="line"><a id="l05584" name="l05584"></a><span class="lineno"> 5584</span> </div>
<div class="line"><a id="l05585" name="l05585"></a><span class="lineno"> 5585</span> <span class="keywordflow">return</span> noOfFitParameters;</div>
<div class="line"><a id="l05586" name="l05586"></a><span class="lineno"> 5586</span>}</div>
</div>
<div class="line"><a id="l05587" name="l05587"></a><span class="lineno"> 5587</span> </div>
<div class="line"><a id="l05588" name="l05588"></a><span class="lineno"> 5588</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l05589" name="l05589"></a><span class="lineno"> 5589</span><span class="comment">// FillParameterInUse (private)</span></div>
<div class="line"><a id="l05590" name="l05590"></a><span class="lineno"> 5590</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen05599" data-start="{" data-end="}">
<div class="line"><a id="l05599" name="l05599"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a2be4d72bcc88ec4c9d36510e7f4b877d"> 5599</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#a2be4d72bcc88ec4c9d36510e7f4b877d">PMsrHandler::FillParameterInUse</a>(<a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;theory, <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;funcs, <a class="code hl_typedef" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> &amp;run)</div>
<div class="line"><a id="l05600" name="l05600"></a><span class="lineno"> 5600</span>{</div>
<div class="line"><a id="l05601" name="l05601"></a><span class="lineno"> 5601</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> map;</div>
<div class="line"><a id="l05602" name="l05602"></a><span class="lineno"> 5602</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> fun;</div>
<div class="line"><a id="l05603" name="l05603"></a><span class="lineno"> 5603</span> PMsrLines::iterator iter;</div>
<div class="line"><a id="l05604" name="l05604"></a><span class="lineno"> 5604</span> TObjArray *tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05605" name="l05605"></a><span class="lineno"> 5605</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05606" name="l05606"></a><span class="lineno"> 5606</span> TString str;</div>
<div class="line"><a id="l05607" name="l05607"></a><span class="lineno"> 5607</span> Int_t ival, funNo;</div>
<div class="line"><a id="l05608" name="l05608"></a><span class="lineno"> 5608</span> </div>
<div class="line"><a id="l05609" name="l05609"></a><span class="lineno"> 5609</span> <span class="comment">// create and initialize fParamInUse vector</span></div>
<div class="line"><a id="l05610" name="l05610"></a><span class="lineno"> 5610</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size(); i++)</div>
<div class="line"><a id="l05611" name="l05611"></a><span class="lineno"> 5611</span> <a class="code hl_variable" href="classPMsrHandler.html#a5572493b4e1136c537713beeab849780">fParamInUse</a>.push_back(0);</div>
<div class="line"><a id="l05612" name="l05612"></a><span class="lineno"> 5612</span> </div>
<div class="line"><a id="l05613" name="l05613"></a><span class="lineno"> 5613</span> <span class="comment">// go through all the theory lines ------------------------------------</span></div>
<div class="line"><a id="l05614" name="l05614"></a><span class="lineno"> 5614</span> <span class="keywordflow">for</span> (iter = theory.begin(); iter != theory.end(); ++iter) {</div>
<div class="line"><a id="l05615" name="l05615"></a><span class="lineno"> 5615</span> <span class="comment">// remove potential comments</span></div>
<div class="line"><a id="l05616" name="l05616"></a><span class="lineno"> 5616</span> str = iter-&gt;fLine;</div>
<div class="line"><a id="l05617" name="l05617"></a><span class="lineno"> 5617</span> <span class="keywordflow">if</span> (str.First(<span class="charliteral">&#39;#&#39;</span>) != -1)</div>
<div class="line"><a id="l05618" name="l05618"></a><span class="lineno"> 5618</span> str.Resize(str.First(<span class="charliteral">&#39;#&#39;</span>));</div>
<div class="line"><a id="l05619" name="l05619"></a><span class="lineno"> 5619</span> </div>
<div class="line"><a id="l05620" name="l05620"></a><span class="lineno"> 5620</span> <span class="comment">// everything to lower case</span></div>
<div class="line"><a id="l05621" name="l05621"></a><span class="lineno"> 5621</span> str.ToLower();</div>
<div class="line"><a id="l05622" name="l05622"></a><span class="lineno"> 5622</span> </div>
<div class="line"><a id="l05623" name="l05623"></a><span class="lineno"> 5623</span> <span class="comment">// tokenize string</span></div>
<div class="line"><a id="l05624" name="l05624"></a><span class="lineno"> 5624</span> tokens = str.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l05625" name="l05625"></a><span class="lineno"> 5625</span> <span class="keywordflow">if</span> (!tokens)</div>
<div class="line"><a id="l05626" name="l05626"></a><span class="lineno"> 5626</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05627" name="l05627"></a><span class="lineno"> 5627</span> </div>
<div class="line"><a id="l05628" name="l05628"></a><span class="lineno"> 5628</span> <span class="comment">// filter param no, map no, and fun no</span></div>
<div class="line"><a id="l05629" name="l05629"></a><span class="lineno"> 5629</span> <span class="keywordflow">for</span> (Int_t i=0; i&lt;tokens-&gt;GetEntries(); i++) {</div>
<div class="line"><a id="l05630" name="l05630"></a><span class="lineno"> 5630</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(i));</div>
<div class="line"><a id="l05631" name="l05631"></a><span class="lineno"> 5631</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05632" name="l05632"></a><span class="lineno"> 5632</span> <span class="keywordflow">if</span> (str.IsDigit()) { <span class="comment">// parameter number</span></div>
<div class="line"><a id="l05633" name="l05633"></a><span class="lineno"> 5633</span> ival = str.Atoi();</div>
<div class="line"><a id="l05634" name="l05634"></a><span class="lineno"> 5634</span> <span class="keywordflow">if</span> ((ival &gt; 0) &amp;&amp; (ival &lt; <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size())+1)) {</div>
<div class="line"><a id="l05635" name="l05635"></a><span class="lineno"> 5635</span> <a class="code hl_variable" href="classPMsrHandler.html#a5572493b4e1136c537713beeab849780">fParamInUse</a>[ival-1]++;</div>
<div class="line"><a id="l05636" name="l05636"></a><span class="lineno"> 5636</span> }</div>
<div class="line"><a id="l05637" name="l05637"></a><span class="lineno"> 5637</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;map&quot;</span>)) { <span class="comment">// map</span></div>
<div class="line"><a id="l05638" name="l05638"></a><span class="lineno"> 5638</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;map&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a03f3ac8cee4b8e9f4f0b002f980d51a1">MSR_PARAM_MAP_OFFSET</a>, ival))</div>
<div class="line"><a id="l05639" name="l05639"></a><span class="lineno"> 5639</span> map.push_back(ival-<a class="code hl_define" href="PMusr_8h.html#a03f3ac8cee4b8e9f4f0b002f980d51a1">MSR_PARAM_MAP_OFFSET</a>);</div>
<div class="line"><a id="l05640" name="l05640"></a><span class="lineno"> 5640</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;fun&quot;</span>)) { <span class="comment">// fun</span></div>
<div class="line"><a id="l05641" name="l05641"></a><span class="lineno"> 5641</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;fun&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>, ival))</div>
<div class="line"><a id="l05642" name="l05642"></a><span class="lineno"> 5642</span> fun.push_back(ival-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>);</div>
<div class="line"><a id="l05643" name="l05643"></a><span class="lineno"> 5643</span> }</div>
<div class="line"><a id="l05644" name="l05644"></a><span class="lineno"> 5644</span> }</div>
<div class="line"><a id="l05645" name="l05645"></a><span class="lineno"> 5645</span> </div>
<div class="line"><a id="l05646" name="l05646"></a><span class="lineno"> 5646</span> <span class="comment">// delete tokens</span></div>
<div class="line"><a id="l05647" name="l05647"></a><span class="lineno"> 5647</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05648" name="l05648"></a><span class="lineno"> 5648</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05649" name="l05649"></a><span class="lineno"> 5649</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05650" name="l05650"></a><span class="lineno"> 5650</span> }</div>
<div class="line"><a id="l05651" name="l05651"></a><span class="lineno"> 5651</span> }</div>
<div class="line"><a id="l05652" name="l05652"></a><span class="lineno"> 5652</span> </div>
<div class="line"><a id="l05653" name="l05653"></a><span class="lineno"> 5653</span> <span class="comment">// go through all the function lines: 1st time -----------------------------</span></div>
<div class="line"><a id="l05654" name="l05654"></a><span class="lineno"> 5654</span> <span class="keywordflow">for</span> (iter = funcs.begin(); iter != funcs.end(); ++iter) {</div>
<div class="line"><a id="l05655" name="l05655"></a><span class="lineno"> 5655</span> <span class="comment">// remove potential comments</span></div>
<div class="line"><a id="l05656" name="l05656"></a><span class="lineno"> 5656</span> str = iter-&gt;fLine;</div>
<div class="line"><a id="l05657" name="l05657"></a><span class="lineno"> 5657</span> <span class="keywordflow">if</span> (str.First(<span class="charliteral">&#39;#&#39;</span>) != -1)</div>
<div class="line"><a id="l05658" name="l05658"></a><span class="lineno"> 5658</span> str.Resize(str.First(<span class="charliteral">&#39;#&#39;</span>));</div>
<div class="line"><a id="l05659" name="l05659"></a><span class="lineno"> 5659</span> </div>
<div class="line"><a id="l05660" name="l05660"></a><span class="lineno"> 5660</span> <span class="comment">// everything to lower case</span></div>
<div class="line"><a id="l05661" name="l05661"></a><span class="lineno"> 5661</span> str.ToLower();</div>
<div class="line"><a id="l05662" name="l05662"></a><span class="lineno"> 5662</span> </div>
<div class="line"><a id="l05663" name="l05663"></a><span class="lineno"> 5663</span> tokens = str.Tokenize(<span class="stringliteral">&quot; /t&quot;</span>);</div>
<div class="line"><a id="l05664" name="l05664"></a><span class="lineno"> 5664</span> <span class="keywordflow">if</span> (!tokens)</div>
<div class="line"><a id="l05665" name="l05665"></a><span class="lineno"> 5665</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05666" name="l05666"></a><span class="lineno"> 5666</span> </div>
<div class="line"><a id="l05667" name="l05667"></a><span class="lineno"> 5667</span> <span class="comment">// filter fun number</span></div>
<div class="line"><a id="l05668" name="l05668"></a><span class="lineno"> 5668</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(0));</div>
<div class="line"><a id="l05669" name="l05669"></a><span class="lineno"> 5669</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05670" name="l05670"></a><span class="lineno"> 5670</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;fun&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>, funNo))</div>
<div class="line"><a id="l05671" name="l05671"></a><span class="lineno"> 5671</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05672" name="l05672"></a><span class="lineno"> 5672</span> funNo -= <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>;</div>
<div class="line"><a id="l05673" name="l05673"></a><span class="lineno"> 5673</span> </div>
<div class="line"><a id="l05674" name="l05674"></a><span class="lineno"> 5674</span> <span class="comment">// check if fun number is used, and if yes, filter parameter numbers and maps</span></div>
<div class="line"><a id="l05675" name="l05675"></a><span class="lineno"> 5675</span> TString sstr;</div>
<div class="line"><a id="l05676" name="l05676"></a><span class="lineno"> 5676</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;fun.size(); i++) {</div>
<div class="line"><a id="l05677" name="l05677"></a><span class="lineno"> 5677</span> <span class="keywordflow">if</span> (fun[i] == funNo) { <span class="comment">// function number found</span></div>
<div class="line"><a id="l05678" name="l05678"></a><span class="lineno"> 5678</span> <span class="comment">// filter for parX</span></div>
<div class="line"><a id="l05679" name="l05679"></a><span class="lineno"> 5679</span> sstr = iter-&gt;fLine;</div>
<div class="line"><a id="l05680" name="l05680"></a><span class="lineno"> 5680</span> Char_t sval[128];</div>
<div class="line"><a id="l05681" name="l05681"></a><span class="lineno"> 5681</span> <span class="keywordflow">while</span> (sstr.Index(<span class="stringliteral">&quot;par&quot;</span>) != -1) {</div>
<div class="line"><a id="l05682" name="l05682"></a><span class="lineno"> 5682</span> memset(sval, 0, <span class="keyword">sizeof</span>(sval));</div>
<div class="line"><a id="l05683" name="l05683"></a><span class="lineno"> 5683</span> sstr = &amp;sstr[sstr.Index(<span class="stringliteral">&quot;par&quot;</span>)+3]; <span class="comment">// trunc sstr</span></div>
<div class="line"><a id="l05684" name="l05684"></a><span class="lineno"> 5684</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;sstr.Sizeof(); j++) {</div>
<div class="line"><a id="l05685" name="l05685"></a><span class="lineno"> 5685</span> <span class="keywordflow">if</span> (!isdigit(sstr[j]))</div>
<div class="line"><a id="l05686" name="l05686"></a><span class="lineno"> 5686</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l05687" name="l05687"></a><span class="lineno"> 5687</span> sval[j] = sstr[j];</div>
<div class="line"><a id="l05688" name="l05688"></a><span class="lineno"> 5688</span> }</div>
<div class="line"><a id="l05689" name="l05689"></a><span class="lineno"> 5689</span> sscanf(sval, <span class="stringliteral">&quot;%d&quot;</span>, &amp;ival);</div>
<div class="line"><a id="l05690" name="l05690"></a><span class="lineno"> 5690</span> <a class="code hl_variable" href="classPMsrHandler.html#a5572493b4e1136c537713beeab849780">fParamInUse</a>[ival-1]++;</div>
<div class="line"><a id="l05691" name="l05691"></a><span class="lineno"> 5691</span> }</div>
<div class="line"><a id="l05692" name="l05692"></a><span class="lineno"> 5692</span> </div>
<div class="line"><a id="l05693" name="l05693"></a><span class="lineno"> 5693</span> <span class="comment">// filter for mapX</span></div>
<div class="line"><a id="l05694" name="l05694"></a><span class="lineno"> 5694</span> sstr = iter-&gt;fLine;</div>
<div class="line"><a id="l05695" name="l05695"></a><span class="lineno"> 5695</span> <span class="keywordflow">while</span> (sstr.Index(<span class="stringliteral">&quot;map&quot;</span>) != -1) {</div>
<div class="line"><a id="l05696" name="l05696"></a><span class="lineno"> 5696</span> memset(sval, 0, <span class="keyword">sizeof</span>(sval));</div>
<div class="line"><a id="l05697" name="l05697"></a><span class="lineno"> 5697</span> sstr = &amp;sstr[sstr.Index(<span class="stringliteral">&quot;map&quot;</span>)+3]; <span class="comment">// trunc sstr</span></div>
<div class="line"><a id="l05698" name="l05698"></a><span class="lineno"> 5698</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;sstr.Sizeof(); j++) {</div>
<div class="line"><a id="l05699" name="l05699"></a><span class="lineno"> 5699</span> <span class="keywordflow">if</span> (!isdigit(sstr[j]))</div>
<div class="line"><a id="l05700" name="l05700"></a><span class="lineno"> 5700</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l05701" name="l05701"></a><span class="lineno"> 5701</span> sval[j] = sstr[j];</div>
<div class="line"><a id="l05702" name="l05702"></a><span class="lineno"> 5702</span> }</div>
<div class="line"><a id="l05703" name="l05703"></a><span class="lineno"> 5703</span> sscanf(sval, <span class="stringliteral">&quot;%d&quot;</span>, &amp;ival);</div>
<div class="line"><a id="l05704" name="l05704"></a><span class="lineno"> 5704</span> <span class="comment">// check if map value already in map, otherwise add it</span></div>
<div class="line"><a id="l05705" name="l05705"></a><span class="lineno"> 5705</span> <span class="keywordflow">if</span> (ival &gt; 0) {</div>
<div class="line"><a id="l05706" name="l05706"></a><span class="lineno"> 5706</span> UInt_t pos;</div>
<div class="line"><a id="l05707" name="l05707"></a><span class="lineno"> 5707</span> <span class="keywordflow">for</span> (pos=0; pos&lt;map.size(); pos++) {</div>
<div class="line"><a id="l05708" name="l05708"></a><span class="lineno"> 5708</span> <span class="keywordflow">if</span> (ival == map[pos])</div>
<div class="line"><a id="l05709" name="l05709"></a><span class="lineno"> 5709</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l05710" name="l05710"></a><span class="lineno"> 5710</span> }</div>
<div class="line"><a id="l05711" name="l05711"></a><span class="lineno"> 5711</span> <span class="keywordflow">if</span> (pos == map.size()) { <span class="comment">// new map value</span></div>
<div class="line"><a id="l05712" name="l05712"></a><span class="lineno"> 5712</span> map.push_back(ival);</div>
<div class="line"><a id="l05713" name="l05713"></a><span class="lineno"> 5713</span> }</div>
<div class="line"><a id="l05714" name="l05714"></a><span class="lineno"> 5714</span> }</div>
<div class="line"><a id="l05715" name="l05715"></a><span class="lineno"> 5715</span> }</div>
<div class="line"><a id="l05716" name="l05716"></a><span class="lineno"> 5716</span> <span class="keywordflow">break</span>; <span class="comment">// since function was found, break the loop</span></div>
<div class="line"><a id="l05717" name="l05717"></a><span class="lineno"> 5717</span> }</div>
<div class="line"><a id="l05718" name="l05718"></a><span class="lineno"> 5718</span> }</div>
<div class="line"><a id="l05719" name="l05719"></a><span class="lineno"> 5719</span> </div>
<div class="line"><a id="l05720" name="l05720"></a><span class="lineno"> 5720</span> <span class="comment">// delete tokens</span></div>
<div class="line"><a id="l05721" name="l05721"></a><span class="lineno"> 5721</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05722" name="l05722"></a><span class="lineno"> 5722</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05723" name="l05723"></a><span class="lineno"> 5723</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05724" name="l05724"></a><span class="lineno"> 5724</span> }</div>
<div class="line"><a id="l05725" name="l05725"></a><span class="lineno"> 5725</span> }</div>
<div class="line"><a id="l05726" name="l05726"></a><span class="lineno"> 5726</span> </div>
<div class="line"><a id="l05727" name="l05727"></a><span class="lineno"> 5727</span> <span class="comment">// go through all the run block lines -------------------------------------</span></div>
<div class="line"><a id="l05728" name="l05728"></a><span class="lineno"> 5728</span> <span class="keywordflow">for</span> (iter = run.begin(); iter != run.end(); ++iter) {</div>
<div class="line"><a id="l05729" name="l05729"></a><span class="lineno"> 5729</span> <span class="comment">// remove potential comments</span></div>
<div class="line"><a id="l05730" name="l05730"></a><span class="lineno"> 5730</span> str = iter-&gt;fLine;</div>
<div class="line"><a id="l05731" name="l05731"></a><span class="lineno"> 5731</span> <span class="keywordflow">if</span> (str.First(<span class="charliteral">&#39;#&#39;</span>) != -1)</div>
<div class="line"><a id="l05732" name="l05732"></a><span class="lineno"> 5732</span> str.Resize(str.First(<span class="charliteral">&#39;#&#39;</span>));</div>
<div class="line"><a id="l05733" name="l05733"></a><span class="lineno"> 5733</span> </div>
<div class="line"><a id="l05734" name="l05734"></a><span class="lineno"> 5734</span> <span class="comment">// everything to lower case</span></div>
<div class="line"><a id="l05735" name="l05735"></a><span class="lineno"> 5735</span> str.ToLower();</div>
<div class="line"><a id="l05736" name="l05736"></a><span class="lineno"> 5736</span> </div>
<div class="line"><a id="l05737" name="l05737"></a><span class="lineno"> 5737</span> <span class="comment">// handle everything but the maps</span></div>
<div class="line"><a id="l05738" name="l05738"></a><span class="lineno"> 5738</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;alpha&quot;</span>) || str.Contains(<span class="stringliteral">&quot;beta&quot;</span>) ||</div>
<div class="line"><a id="l05739" name="l05739"></a><span class="lineno"> 5739</span> str.Contains(<span class="stringliteral">&quot;alpha2&quot;</span>) || str.Contains(<span class="stringliteral">&quot;beta2&quot;</span>) ||</div>
<div class="line"><a id="l05740" name="l05740"></a><span class="lineno"> 5740</span> str.Contains(<span class="stringliteral">&quot;norm&quot;</span>) || str.Contains(<span class="stringliteral">&quot;backgr.fit&quot;</span>) ||</div>
<div class="line"><a id="l05741" name="l05741"></a><span class="lineno"> 5741</span> str.Contains(<span class="stringliteral">&quot;lifetime &quot;</span>)) {</div>
<div class="line"><a id="l05742" name="l05742"></a><span class="lineno"> 5742</span> <span class="comment">// tokenize string</span></div>
<div class="line"><a id="l05743" name="l05743"></a><span class="lineno"> 5743</span> tokens = str.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l05744" name="l05744"></a><span class="lineno"> 5744</span> <span class="keywordflow">if</span> (!tokens)</div>
<div class="line"><a id="l05745" name="l05745"></a><span class="lineno"> 5745</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05746" name="l05746"></a><span class="lineno"> 5746</span> <span class="keywordflow">if</span> (tokens-&gt;GetEntries()&lt;2)</div>
<div class="line"><a id="l05747" name="l05747"></a><span class="lineno"> 5747</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05748" name="l05748"></a><span class="lineno"> 5748</span> </div>
<div class="line"><a id="l05749" name="l05749"></a><span class="lineno"> 5749</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(1)); <span class="comment">// parameter number or function</span></div>
<div class="line"><a id="l05750" name="l05750"></a><span class="lineno"> 5750</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05751" name="l05751"></a><span class="lineno"> 5751</span> <span class="comment">// check if parameter number</span></div>
<div class="line"><a id="l05752" name="l05752"></a><span class="lineno"> 5752</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l05753" name="l05753"></a><span class="lineno"> 5753</span> ival = str.Atoi();</div>
<div class="line"><a id="l05754" name="l05754"></a><span class="lineno"> 5754</span> <a class="code hl_variable" href="classPMsrHandler.html#a5572493b4e1136c537713beeab849780">fParamInUse</a>[ival-1]++;</div>
<div class="line"><a id="l05755" name="l05755"></a><span class="lineno"> 5755</span> }</div>
<div class="line"><a id="l05756" name="l05756"></a><span class="lineno"> 5756</span> <span class="comment">// check if fun</span></div>
<div class="line"><a id="l05757" name="l05757"></a><span class="lineno"> 5757</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;fun&quot;</span>)) {</div>
<div class="line"><a id="l05758" name="l05758"></a><span class="lineno"> 5758</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;fun&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>, ival)) {</div>
<div class="line"><a id="l05759" name="l05759"></a><span class="lineno"> 5759</span> fun.push_back(ival-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>);</div>
<div class="line"><a id="l05760" name="l05760"></a><span class="lineno"> 5760</span> }</div>
<div class="line"><a id="l05761" name="l05761"></a><span class="lineno"> 5761</span> }</div>
<div class="line"><a id="l05762" name="l05762"></a><span class="lineno"> 5762</span> </div>
<div class="line"><a id="l05763" name="l05763"></a><span class="lineno"> 5763</span> <span class="comment">// delete tokens</span></div>
<div class="line"><a id="l05764" name="l05764"></a><span class="lineno"> 5764</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05765" name="l05765"></a><span class="lineno"> 5765</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05766" name="l05766"></a><span class="lineno"> 5766</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05767" name="l05767"></a><span class="lineno"> 5767</span> }</div>
<div class="line"><a id="l05768" name="l05768"></a><span class="lineno"> 5768</span> }</div>
<div class="line"><a id="l05769" name="l05769"></a><span class="lineno"> 5769</span> </div>
<div class="line"><a id="l05770" name="l05770"></a><span class="lineno"> 5770</span> <span class="comment">// handle the maps</span></div>
<div class="line"><a id="l05771" name="l05771"></a><span class="lineno"> 5771</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;map&quot;</span>)) {</div>
<div class="line"><a id="l05772" name="l05772"></a><span class="lineno"> 5772</span> <span class="comment">// tokenize string</span></div>
<div class="line"><a id="l05773" name="l05773"></a><span class="lineno"> 5773</span> tokens = str.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l05774" name="l05774"></a><span class="lineno"> 5774</span> <span class="keywordflow">if</span> (!tokens)</div>
<div class="line"><a id="l05775" name="l05775"></a><span class="lineno"> 5775</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05776" name="l05776"></a><span class="lineno"> 5776</span> </div>
<div class="line"><a id="l05777" name="l05777"></a><span class="lineno"> 5777</span> <span class="comment">// get the parameter number via map</span></div>
<div class="line"><a id="l05778" name="l05778"></a><span class="lineno"> 5778</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;map.size(); i++) {</div>
<div class="line"><a id="l05779" name="l05779"></a><span class="lineno"> 5779</span> <span class="keywordflow">if</span> (map[i] == 0)</div>
<div class="line"><a id="l05780" name="l05780"></a><span class="lineno"> 5780</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05781" name="l05781"></a><span class="lineno"> 5781</span> <span class="keywordflow">if</span> (map[i] &lt; tokens-&gt;GetEntries()) {</div>
<div class="line"><a id="l05782" name="l05782"></a><span class="lineno"> 5782</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(map[i]));</div>
<div class="line"><a id="l05783" name="l05783"></a><span class="lineno"> 5783</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05784" name="l05784"></a><span class="lineno"> 5784</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l05785" name="l05785"></a><span class="lineno"> 5785</span> ival = str.Atoi();</div>
<div class="line"><a id="l05786" name="l05786"></a><span class="lineno"> 5786</span> <span class="keywordflow">if</span> (ival &gt; 0) {</div>
<div class="line"><a id="l05787" name="l05787"></a><span class="lineno"> 5787</span> <a class="code hl_variable" href="classPMsrHandler.html#a5572493b4e1136c537713beeab849780">fParamInUse</a>[ival-1]++; <span class="comment">// this is OK since map is ranging from 1 ..</span></div>
<div class="line"><a id="l05788" name="l05788"></a><span class="lineno"> 5788</span> }</div>
<div class="line"><a id="l05789" name="l05789"></a><span class="lineno"> 5789</span> }</div>
<div class="line"><a id="l05790" name="l05790"></a><span class="lineno"> 5790</span> }</div>
<div class="line"><a id="l05791" name="l05791"></a><span class="lineno"> 5791</span> }</div>
<div class="line"><a id="l05792" name="l05792"></a><span class="lineno"> 5792</span> </div>
<div class="line"><a id="l05793" name="l05793"></a><span class="lineno"> 5793</span> <span class="comment">// delete tokens</span></div>
<div class="line"><a id="l05794" name="l05794"></a><span class="lineno"> 5794</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05795" name="l05795"></a><span class="lineno"> 5795</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05796" name="l05796"></a><span class="lineno"> 5796</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05797" name="l05797"></a><span class="lineno"> 5797</span> }</div>
<div class="line"><a id="l05798" name="l05798"></a><span class="lineno"> 5798</span> }</div>
<div class="line"><a id="l05799" name="l05799"></a><span class="lineno"> 5799</span> }</div>
<div class="line"><a id="l05800" name="l05800"></a><span class="lineno"> 5800</span> </div>
<div class="line"><a id="l05801" name="l05801"></a><span class="lineno"> 5801</span> <span class="comment">// go through all the function lines: 2nd time -----------------------------</span></div>
<div class="line"><a id="l05802" name="l05802"></a><span class="lineno"> 5802</span> <span class="keywordflow">for</span> (iter = funcs.begin(); iter != funcs.end(); ++iter) {</div>
<div class="line"><a id="l05803" name="l05803"></a><span class="lineno"> 5803</span> <span class="comment">// remove potential comments</span></div>
<div class="line"><a id="l05804" name="l05804"></a><span class="lineno"> 5804</span> str = iter-&gt;fLine;</div>
<div class="line"><a id="l05805" name="l05805"></a><span class="lineno"> 5805</span> <span class="keywordflow">if</span> (str.First(<span class="charliteral">&#39;#&#39;</span>) != -1)</div>
<div class="line"><a id="l05806" name="l05806"></a><span class="lineno"> 5806</span> str.Resize(str.First(<span class="charliteral">&#39;#&#39;</span>));</div>
<div class="line"><a id="l05807" name="l05807"></a><span class="lineno"> 5807</span> </div>
<div class="line"><a id="l05808" name="l05808"></a><span class="lineno"> 5808</span> <span class="comment">// everything to lower case</span></div>
<div class="line"><a id="l05809" name="l05809"></a><span class="lineno"> 5809</span> str.ToLower();</div>
<div class="line"><a id="l05810" name="l05810"></a><span class="lineno"> 5810</span> </div>
<div class="line"><a id="l05811" name="l05811"></a><span class="lineno"> 5811</span> tokens = str.Tokenize(<span class="stringliteral">&quot; /t&quot;</span>);</div>
<div class="line"><a id="l05812" name="l05812"></a><span class="lineno"> 5812</span> <span class="keywordflow">if</span> (!tokens)</div>
<div class="line"><a id="l05813" name="l05813"></a><span class="lineno"> 5813</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05814" name="l05814"></a><span class="lineno"> 5814</span> </div>
<div class="line"><a id="l05815" name="l05815"></a><span class="lineno"> 5815</span> <span class="comment">// filter fun number</span></div>
<div class="line"><a id="l05816" name="l05816"></a><span class="lineno"> 5816</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(0));</div>
<div class="line"><a id="l05817" name="l05817"></a><span class="lineno"> 5817</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05818" name="l05818"></a><span class="lineno"> 5818</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;fun&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>, funNo))</div>
<div class="line"><a id="l05819" name="l05819"></a><span class="lineno"> 5819</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05820" name="l05820"></a><span class="lineno"> 5820</span> funNo -= <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>;</div>
<div class="line"><a id="l05821" name="l05821"></a><span class="lineno"> 5821</span> </div>
<div class="line"><a id="l05822" name="l05822"></a><span class="lineno"> 5822</span> <span class="comment">// check if fun number is used, and if yes, filter parameter numbers and maps</span></div>
<div class="line"><a id="l05823" name="l05823"></a><span class="lineno"> 5823</span> TString sstr;</div>
<div class="line"><a id="l05824" name="l05824"></a><span class="lineno"> 5824</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;fun.size(); i++) {</div>
<div class="line"><a id="l05825" name="l05825"></a><span class="lineno"> 5825</span> <span class="keywordflow">if</span> (fun[i] == funNo) { <span class="comment">// function number found</span></div>
<div class="line"><a id="l05826" name="l05826"></a><span class="lineno"> 5826</span> <span class="comment">// filter for parX</span></div>
<div class="line"><a id="l05827" name="l05827"></a><span class="lineno"> 5827</span> sstr = iter-&gt;fLine;</div>
<div class="line"><a id="l05828" name="l05828"></a><span class="lineno"> 5828</span> Char_t sval[128];</div>
<div class="line"><a id="l05829" name="l05829"></a><span class="lineno"> 5829</span> <span class="keywordflow">while</span> (sstr.Index(<span class="stringliteral">&quot;par&quot;</span>) != -1) {</div>
<div class="line"><a id="l05830" name="l05830"></a><span class="lineno"> 5830</span> memset(sval, 0, <span class="keyword">sizeof</span>(sval));</div>
<div class="line"><a id="l05831" name="l05831"></a><span class="lineno"> 5831</span> sstr = &amp;sstr[sstr.Index(<span class="stringliteral">&quot;par&quot;</span>)+3]; <span class="comment">// trunc sstr</span></div>
<div class="line"><a id="l05832" name="l05832"></a><span class="lineno"> 5832</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;sstr.Sizeof(); j++) {</div>
<div class="line"><a id="l05833" name="l05833"></a><span class="lineno"> 5833</span> <span class="keywordflow">if</span> (!isdigit(sstr[j]))</div>
<div class="line"><a id="l05834" name="l05834"></a><span class="lineno"> 5834</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l05835" name="l05835"></a><span class="lineno"> 5835</span> sval[j] = sstr[j];</div>
<div class="line"><a id="l05836" name="l05836"></a><span class="lineno"> 5836</span> }</div>
<div class="line"><a id="l05837" name="l05837"></a><span class="lineno"> 5837</span> sscanf(sval, <span class="stringliteral">&quot;%d&quot;</span>, &amp;ival);</div>
<div class="line"><a id="l05838" name="l05838"></a><span class="lineno"> 5838</span> <a class="code hl_variable" href="classPMsrHandler.html#a5572493b4e1136c537713beeab849780">fParamInUse</a>[ival-1]++;</div>
<div class="line"><a id="l05839" name="l05839"></a><span class="lineno"> 5839</span> }</div>
<div class="line"><a id="l05840" name="l05840"></a><span class="lineno"> 5840</span> </div>
<div class="line"><a id="l05841" name="l05841"></a><span class="lineno"> 5841</span> <span class="comment">// filter for mapX</span></div>
<div class="line"><a id="l05842" name="l05842"></a><span class="lineno"> 5842</span> sstr = iter-&gt;fLine;</div>
<div class="line"><a id="l05843" name="l05843"></a><span class="lineno"> 5843</span> <span class="keywordflow">while</span> (sstr.Index(<span class="stringliteral">&quot;map&quot;</span>) != -1) {</div>
<div class="line"><a id="l05844" name="l05844"></a><span class="lineno"> 5844</span> memset(sval, 0, <span class="keyword">sizeof</span>(sval));</div>
<div class="line"><a id="l05845" name="l05845"></a><span class="lineno"> 5845</span> sstr = &amp;sstr[sstr.Index(<span class="stringliteral">&quot;map&quot;</span>)+3]; <span class="comment">// trunc sstr</span></div>
<div class="line"><a id="l05846" name="l05846"></a><span class="lineno"> 5846</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;sstr.Sizeof(); j++) {</div>
<div class="line"><a id="l05847" name="l05847"></a><span class="lineno"> 5847</span> <span class="keywordflow">if</span> (!isdigit(sstr[j]))</div>
<div class="line"><a id="l05848" name="l05848"></a><span class="lineno"> 5848</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l05849" name="l05849"></a><span class="lineno"> 5849</span> sval[j] = sstr[j];</div>
<div class="line"><a id="l05850" name="l05850"></a><span class="lineno"> 5850</span> }</div>
<div class="line"><a id="l05851" name="l05851"></a><span class="lineno"> 5851</span> sscanf(sval, <span class="stringliteral">&quot;%d&quot;</span>, &amp;ival);</div>
<div class="line"><a id="l05852" name="l05852"></a><span class="lineno"> 5852</span> <span class="comment">// check if map value already in map, otherwise add it</span></div>
<div class="line"><a id="l05853" name="l05853"></a><span class="lineno"> 5853</span> <span class="keywordflow">if</span> (ival &gt; 0) {</div>
<div class="line"><a id="l05854" name="l05854"></a><span class="lineno"> 5854</span> UInt_t pos;</div>
<div class="line"><a id="l05855" name="l05855"></a><span class="lineno"> 5855</span> <span class="keywordflow">for</span> (pos=0; pos&lt;map.size(); pos++) {</div>
<div class="line"><a id="l05856" name="l05856"></a><span class="lineno"> 5856</span> <span class="keywordflow">if</span> (ival == map[pos])</div>
<div class="line"><a id="l05857" name="l05857"></a><span class="lineno"> 5857</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l05858" name="l05858"></a><span class="lineno"> 5858</span> }</div>
<div class="line"><a id="l05859" name="l05859"></a><span class="lineno"> 5859</span> <span class="keywordflow">if</span> (<span class="keyword">static_cast&lt;</span>UInt_t<span class="keyword">&gt;</span>(pos) == map.size()) { <span class="comment">// new map value</span></div>
<div class="line"><a id="l05860" name="l05860"></a><span class="lineno"> 5860</span> map.push_back(ival);</div>
<div class="line"><a id="l05861" name="l05861"></a><span class="lineno"> 5861</span> }</div>
<div class="line"><a id="l05862" name="l05862"></a><span class="lineno"> 5862</span> }</div>
<div class="line"><a id="l05863" name="l05863"></a><span class="lineno"> 5863</span> }</div>
<div class="line"><a id="l05864" name="l05864"></a><span class="lineno"> 5864</span> }</div>
<div class="line"><a id="l05865" name="l05865"></a><span class="lineno"> 5865</span> }</div>
<div class="line"><a id="l05866" name="l05866"></a><span class="lineno"> 5866</span> </div>
<div class="line"><a id="l05867" name="l05867"></a><span class="lineno"> 5867</span> <span class="comment">// delete tokens</span></div>
<div class="line"><a id="l05868" name="l05868"></a><span class="lineno"> 5868</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05869" name="l05869"></a><span class="lineno"> 5869</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05870" name="l05870"></a><span class="lineno"> 5870</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05871" name="l05871"></a><span class="lineno"> 5871</span> }</div>
<div class="line"><a id="l05872" name="l05872"></a><span class="lineno"> 5872</span> }</div>
<div class="line"><a id="l05873" name="l05873"></a><span class="lineno"> 5873</span> </div>
<div class="line"><a id="l05874" name="l05874"></a><span class="lineno"> 5874</span> <span class="comment">// go through all the run block lines 2nd time to filter remaining maps</span></div>
<div class="line"><a id="l05875" name="l05875"></a><span class="lineno"> 5875</span> <span class="keywordflow">for</span> (iter = run.begin(); iter != run.end(); ++iter) {</div>
<div class="line"><a id="l05876" name="l05876"></a><span class="lineno"> 5876</span> <span class="comment">// remove potential comments</span></div>
<div class="line"><a id="l05877" name="l05877"></a><span class="lineno"> 5877</span> str = iter-&gt;fLine;</div>
<div class="line"><a id="l05878" name="l05878"></a><span class="lineno"> 5878</span> <span class="keywordflow">if</span> (str.First(<span class="charliteral">&#39;#&#39;</span>) != -1)</div>
<div class="line"><a id="l05879" name="l05879"></a><span class="lineno"> 5879</span> str.Resize(str.First(<span class="charliteral">&#39;#&#39;</span>));</div>
<div class="line"><a id="l05880" name="l05880"></a><span class="lineno"> 5880</span> </div>
<div class="line"><a id="l05881" name="l05881"></a><span class="lineno"> 5881</span> <span class="comment">// everything to lower case</span></div>
<div class="line"><a id="l05882" name="l05882"></a><span class="lineno"> 5882</span> str.ToLower();</div>
<div class="line"><a id="l05883" name="l05883"></a><span class="lineno"> 5883</span> </div>
<div class="line"><a id="l05884" name="l05884"></a><span class="lineno"> 5884</span> <span class="comment">// handle the maps</span></div>
<div class="line"><a id="l05885" name="l05885"></a><span class="lineno"> 5885</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;map&quot;</span>)) {</div>
<div class="line"><a id="l05886" name="l05886"></a><span class="lineno"> 5886</span> <span class="comment">// tokenize string</span></div>
<div class="line"><a id="l05887" name="l05887"></a><span class="lineno"> 5887</span> tokens = str.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l05888" name="l05888"></a><span class="lineno"> 5888</span> <span class="keywordflow">if</span> (!tokens)</div>
<div class="line"><a id="l05889" name="l05889"></a><span class="lineno"> 5889</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05890" name="l05890"></a><span class="lineno"> 5890</span> </div>
<div class="line"><a id="l05891" name="l05891"></a><span class="lineno"> 5891</span> <span class="comment">// get the parameter number via map</span></div>
<div class="line"><a id="l05892" name="l05892"></a><span class="lineno"> 5892</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;map.size(); i++) {</div>
<div class="line"><a id="l05893" name="l05893"></a><span class="lineno"> 5893</span> <span class="keywordflow">if</span> (map[i] == 0)</div>
<div class="line"><a id="l05894" name="l05894"></a><span class="lineno"> 5894</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l05895" name="l05895"></a><span class="lineno"> 5895</span> <span class="keywordflow">if</span> (map[i] &lt; tokens-&gt;GetEntries()) {</div>
<div class="line"><a id="l05896" name="l05896"></a><span class="lineno"> 5896</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(map[i]));</div>
<div class="line"><a id="l05897" name="l05897"></a><span class="lineno"> 5897</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l05898" name="l05898"></a><span class="lineno"> 5898</span> <span class="keywordflow">if</span> (str.IsDigit()) {</div>
<div class="line"><a id="l05899" name="l05899"></a><span class="lineno"> 5899</span> ival = str.Atoi();</div>
<div class="line"><a id="l05900" name="l05900"></a><span class="lineno"> 5900</span> <span class="keywordflow">if</span> (ival &gt; 0) {</div>
<div class="line"><a id="l05901" name="l05901"></a><span class="lineno"> 5901</span> <a class="code hl_variable" href="classPMsrHandler.html#a5572493b4e1136c537713beeab849780">fParamInUse</a>[ival-1]++; <span class="comment">// this is OK since map is ranging from 1 ..</span></div>
<div class="line"><a id="l05902" name="l05902"></a><span class="lineno"> 5902</span> }</div>
<div class="line"><a id="l05903" name="l05903"></a><span class="lineno"> 5903</span> }</div>
<div class="line"><a id="l05904" name="l05904"></a><span class="lineno"> 5904</span> }</div>
<div class="line"><a id="l05905" name="l05905"></a><span class="lineno"> 5905</span> }</div>
<div class="line"><a id="l05906" name="l05906"></a><span class="lineno"> 5906</span> </div>
<div class="line"><a id="l05907" name="l05907"></a><span class="lineno"> 5907</span> <span class="comment">// delete tokens</span></div>
<div class="line"><a id="l05908" name="l05908"></a><span class="lineno"> 5908</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l05909" name="l05909"></a><span class="lineno"> 5909</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l05910" name="l05910"></a><span class="lineno"> 5910</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l05911" name="l05911"></a><span class="lineno"> 5911</span> }</div>
<div class="line"><a id="l05912" name="l05912"></a><span class="lineno"> 5912</span> }</div>
<div class="line"><a id="l05913" name="l05913"></a><span class="lineno"> 5913</span> }</div>
<div class="line"><a id="l05914" name="l05914"></a><span class="lineno"> 5914</span> </div>
<div class="line"><a id="l05915" name="l05915"></a><span class="lineno"> 5915</span> <span class="comment">// if unused parameters are present, set the step value to 0.0</span></div>
<div class="line"><a id="l05916" name="l05916"></a><span class="lineno"> 5916</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size(); i++) {</div>
<div class="line"><a id="l05917" name="l05917"></a><span class="lineno"> 5917</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classPMsrHandler.html#adc7f5aaa3801924bd4282a57a7d47967">ParameterInUse</a>(i)) {</div>
<div class="line"><a id="l05918" name="l05918"></a><span class="lineno"> 5918</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fStep != 0.0) {</div>
<div class="line"><a id="l05919" name="l05919"></a><span class="lineno"> 5919</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; **WARNING** : Parameter No &quot;</span> &lt;&lt; i+1 &lt;&lt; <span class="stringliteral">&quot; is not used at all, will fix it&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l05920" name="l05920"></a><span class="lineno"> 5920</span> <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fStep = 0.0;</div>
<div class="line"><a id="l05921" name="l05921"></a><span class="lineno"> 5921</span> }</div>
<div class="line"><a id="l05922" name="l05922"></a><span class="lineno"> 5922</span> }</div>
<div class="line"><a id="l05923" name="l05923"></a><span class="lineno"> 5923</span> }</div>
<div class="line"><a id="l05924" name="l05924"></a><span class="lineno"> 5924</span> </div>
<div class="line"><a id="l05925" name="l05925"></a><span class="lineno"> 5925</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l05926" name="l05926"></a><span class="lineno"> 5926</span> map.clear();</div>
<div class="line"><a id="l05927" name="l05927"></a><span class="lineno"> 5927</span> fun.clear();</div>
<div class="line"><a id="l05928" name="l05928"></a><span class="lineno"> 5928</span>}</div>
</div>
<div class="line"><a id="l05929" name="l05929"></a><span class="lineno"> 5929</span> </div>
<div class="line"><a id="l05930" name="l05930"></a><span class="lineno"> 5930</span> </div>
<div class="line"><a id="l05931" name="l05931"></a><span class="lineno"> 5931</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l05932" name="l05932"></a><span class="lineno"> 5932</span><span class="comment">// CheckRunBlockIntegrity (public)</span></div>
<div class="line"><a id="l05933" name="l05933"></a><span class="lineno"> 5933</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen05942" data-start="{" data-end="}">
<div class="line"><a id="l05942" name="l05942"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a3f76e69febb24fca2cb02808bbee4dc6"> 5942</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a3f76e69febb24fca2cb02808bbee4dc6">PMsrHandler::CheckRunBlockIntegrity</a>()</div>
<div class="line"><a id="l05943" name="l05943"></a><span class="lineno"> 5943</span>{</div>
<div class="line"><a id="l05944" name="l05944"></a><span class="lineno"> 5944</span> <span class="comment">// go through all the present RUN blocks</span></div>
<div class="line"><a id="l05945" name="l05945"></a><span class="lineno"> 5945</span> Int_t fitType = 0;</div>
<div class="line"><a id="l05946" name="l05946"></a><span class="lineno"> 5946</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l05947" name="l05947"></a><span class="lineno"> 5947</span> <span class="comment">// check if fittype is defined</span></div>
<div class="line"><a id="l05948" name="l05948"></a><span class="lineno"> 5948</span> fitType = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitType();</div>
<div class="line"><a id="l05949" name="l05949"></a><span class="lineno"> 5949</span> <span class="keywordflow">if</span> (fitType == -1) { <span class="comment">// fittype not given in the run block</span></div>
<div class="line"><a id="l05950" name="l05950"></a><span class="lineno"> 5950</span> fitType = <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType();</div>
<div class="line"><a id="l05951" name="l05951"></a><span class="lineno"> 5951</span> <span class="keywordflow">if</span> (fitType == -1) {</div>
<div class="line"><a id="l05952" name="l05952"></a><span class="lineno"> 5952</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** fittype is neither defined in RUN block number &quot;</span> &lt;&lt; i+1 &lt;&lt; <span class="stringliteral">&quot;, nor in the GLOBAL block.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l05953" name="l05953"></a><span class="lineno"> 5953</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05954" name="l05954"></a><span class="lineno"> 5954</span> }</div>
<div class="line"><a id="l05955" name="l05955"></a><span class="lineno"> 5955</span> }</div>
<div class="line"><a id="l05956" name="l05956"></a><span class="lineno"> 5956</span> </div>
<div class="line"><a id="l05957" name="l05957"></a><span class="lineno"> 5957</span> <span class="comment">// check for the different fittypes differently</span></div>
<div class="line"><a id="l05958" name="l05958"></a><span class="lineno"> 5958</span> Int_t detectorGroups = 1; <span class="comment">// number of detectors tp be grouped</span></div>
<div class="line"><a id="l05959" name="l05959"></a><span class="lineno"> 5959</span> <span class="keywordflow">switch</span> (fitType) {</div>
<div class="line"><a id="l05960" name="l05960"></a><span class="lineno"> 5960</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#aa117ff4cf485e7b1a7dda31c1acc4269">PRUN_SINGLE_HISTO</a>:</div>
<div class="line"><a id="l05961" name="l05961"></a><span class="lineno"> 5961</span> <span class="comment">// check of norm is present</span></div>
<div class="line"><a id="l05962" name="l05962"></a><span class="lineno"> 5962</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() == -1) &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>) {</div>
<div class="line"><a id="l05963" name="l05963"></a><span class="lineno"> 5963</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l05964" name="l05964"></a><span class="lineno"> 5964</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Norm parameter number not defined. Necessary for single histogram fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l05965" name="l05965"></a><span class="lineno"> 5965</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05966" name="l05966"></a><span class="lineno"> 5966</span> }</div>
<div class="line"><a id="l05967" name="l05967"></a><span class="lineno"> 5967</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>) { <span class="comment">// next check NOT needed for Fourier only</span></div>
<div class="line"><a id="l05968" name="l05968"></a><span class="lineno"> 5968</span> <span class="comment">// check if norm parameter is given that it is either a valid function of a fit parameter present</span></div>
<div class="line"><a id="l05969" name="l05969"></a><span class="lineno"> 5969</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() &lt; <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>) { <span class="comment">// parameter number</span></div>
<div class="line"><a id="l05970" name="l05970"></a><span class="lineno"> 5970</span> <span class="comment">// check that norm parameter number is not larger than the number of parameters</span></div>
<div class="line"><a id="l05971" name="l05971"></a><span class="lineno"> 5971</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() &gt; <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size())) {</div>
<div class="line"><a id="l05972" name="l05972"></a><span class="lineno"> 5972</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l05973" name="l05973"></a><span class="lineno"> 5973</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Norm parameter number &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() &lt;&lt; <span class="stringliteral">&quot; is larger than the number of fit parameters (&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size() &lt;&lt; <span class="stringliteral">&quot;).&quot;</span>;</div>
<div class="line"><a id="l05974" name="l05974"></a><span class="lineno"> 5974</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Consider to check the manual ;-)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l05975" name="l05975"></a><span class="lineno"> 5975</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05976" name="l05976"></a><span class="lineno"> 5976</span> }</div>
<div class="line"><a id="l05977" name="l05977"></a><span class="lineno"> 5977</span> } <span class="keywordflow">else</span> { <span class="comment">// function norm</span></div>
<div class="line"><a id="l05978" name="l05978"></a><span class="lineno"> 5978</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo()-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a> &gt; <a class="code hl_function" href="classPMsrHandler.html#a32965aaf3c2895e302132e9df02cc33e">GetNoOfFuncs</a>()) {</div>
<div class="line"><a id="l05979" name="l05979"></a><span class="lineno"> 5979</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l05980" name="l05980"></a><span class="lineno"> 5980</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Norm parameter function number &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo()-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a> &lt;&lt; <span class="stringliteral">&quot; is larger than the number of functions (&quot;</span> &lt;&lt; <a class="code hl_function" href="classPMsrHandler.html#a32965aaf3c2895e302132e9df02cc33e">GetNoOfFuncs</a>() &lt;&lt; <span class="stringliteral">&quot;).&quot;</span>;</div>
<div class="line"><a id="l05981" name="l05981"></a><span class="lineno"> 5981</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Consider to check the manual ;-)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l05982" name="l05982"></a><span class="lineno"> 5982</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05983" name="l05983"></a><span class="lineno"> 5983</span> }</div>
<div class="line"><a id="l05984" name="l05984"></a><span class="lineno"> 5984</span> }</div>
<div class="line"><a id="l05985" name="l05985"></a><span class="lineno"> 5985</span> }</div>
<div class="line"><a id="l05986" name="l05986"></a><span class="lineno"> 5986</span> <span class="comment">// check that there is a forward parameter number</span></div>
<div class="line"><a id="l05987" name="l05987"></a><span class="lineno"> 5987</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNo() == -1) {</div>
<div class="line"><a id="l05988" name="l05988"></a><span class="lineno"> 5988</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l05989" name="l05989"></a><span class="lineno"> 5989</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; forward parameter number not defined. Necessary for single histogram fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l05990" name="l05990"></a><span class="lineno"> 5990</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05991" name="l05991"></a><span class="lineno"> 5991</span> }</div>
<div class="line"><a id="l05992" name="l05992"></a><span class="lineno"> 5992</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() &gt; <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size())) &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>) {</div>
<div class="line"><a id="l05993" name="l05993"></a><span class="lineno"> 5993</span> <span class="comment">// check if forward histogram number is a function</span></div>
<div class="line"><a id="l05994" name="l05994"></a><span class="lineno"> 5994</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() - <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a> &gt; <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size())) {</div>
<div class="line"><a id="l05995" name="l05995"></a><span class="lineno"> 5995</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l05996" name="l05996"></a><span class="lineno"> 5996</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; forward histogram number &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() &lt;&lt; <span class="stringliteral">&quot; is larger than the number of fit parameters (&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size() &lt;&lt; <span class="stringliteral">&quot;).&quot;</span>;</div>
<div class="line"><a id="l05997" name="l05997"></a><span class="lineno"> 5997</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Consider to check the manual ;-)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l05998" name="l05998"></a><span class="lineno"> 5998</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05999" name="l05999"></a><span class="lineno"> 5999</span> }</div>
<div class="line"><a id="l06000" name="l06000"></a><span class="lineno"> 6000</span> }</div>
<div class="line"><a id="l06001" name="l06001"></a><span class="lineno"> 6001</span> <span class="comment">// check fit range</span></div>
<div class="line"><a id="l06002" name="l06002"></a><span class="lineno"> 6002</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].IsFitRangeInBin() &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>) { <span class="comment">// fit range given as times in usec (RUN block)</span></div>
<div class="line"><a id="l06003" name="l06003"></a><span class="lineno"> 6003</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) { <span class="comment">// check fit range in RUN block</span></div>
<div class="line"><a id="l06004" name="l06004"></a><span class="lineno"> 6004</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.IsFitRangeInBin()) { <span class="comment">// fit range given as times in usec (GLOBAL block)</span></div>
<div class="line"><a id="l06005" name="l06005"></a><span class="lineno"> 6005</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) { <span class="comment">// check fit range in GLOBAL block</span></div>
<div class="line"><a id="l06006" name="l06006"></a><span class="lineno"> 6006</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06007" name="l06007"></a><span class="lineno"> 6007</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot; Fit range is not defined. Necessary for single histogram fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06008" name="l06008"></a><span class="lineno"> 6008</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06009" name="l06009"></a><span class="lineno"> 6009</span> }</div>
<div class="line"><a id="l06010" name="l06010"></a><span class="lineno"> 6010</span> }</div>
<div class="line"><a id="l06011" name="l06011"></a><span class="lineno"> 6011</span> }</div>
<div class="line"><a id="l06012" name="l06012"></a><span class="lineno"> 6012</span> }</div>
<div class="line"><a id="l06013" name="l06013"></a><span class="lineno"> 6013</span> <span class="comment">// check number of T0&#39;s provided</span></div>
<div class="line"><a id="l06014" name="l06014"></a><span class="lineno"> 6014</span> detectorGroups = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize();</div>
<div class="line"><a id="l06015" name="l06015"></a><span class="lineno"> 6015</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; detectorGroups) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; detectorGroups)) {</div>
<div class="line"><a id="l06016" name="l06016"></a><span class="lineno"> 6016</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06017" name="l06017"></a><span class="lineno"> 6017</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; detectorGroups)</div>
<div class="line"><a id="l06018" name="l06018"></a><span class="lineno"> 6018</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In RUN Block &quot;</span> &lt;&lt; i+1 &lt;&lt; <span class="stringliteral">&quot;: found &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting max. &quot;</span> &lt;&lt; detectorGroups &lt;&lt; <span class="stringliteral">&quot; entries.&quot;</span>;</div>
<div class="line"><a id="l06019" name="l06019"></a><span class="lineno"> 6019</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; 1)</div>
<div class="line"><a id="l06020" name="l06020"></a><span class="lineno"> 6020</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In GLOBAL block: found &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting max. &quot;</span> &lt;&lt; detectorGroups &lt;&lt; <span class="stringliteral">&quot; entries. Needs to be fixed.&quot;</span>;</div>
<div class="line"><a id="l06021" name="l06021"></a><span class="lineno"> 6021</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In case you added runs, please use the key word &#39;addt0&#39; to add the t0&#39;s of the runs to be added.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06022" name="l06022"></a><span class="lineno"> 6022</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06023" name="l06023"></a><span class="lineno"> 6023</span> }</div>
<div class="line"><a id="l06024" name="l06024"></a><span class="lineno"> 6024</span> </div>
<div class="line"><a id="l06025" name="l06025"></a><span class="lineno"> 6025</span> <span class="comment">// check packing</span></div>
<div class="line"><a id="l06026" name="l06026"></a><span class="lineno"> 6026</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetPacking() == -1) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetPacking() == -1)) {</div>
<div class="line"><a id="l06027" name="l06027"></a><span class="lineno"> 6027</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **WARNING** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06028" name="l06028"></a><span class="lineno"> 6028</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Packing is neither defined here, nor in the GLOBAL block, will set it to 1.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06029" name="l06029"></a><span class="lineno"> 6029</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].SetPacking(1);</div>
<div class="line"><a id="l06030" name="l06030"></a><span class="lineno"> 6030</span> }</div>
<div class="line"><a id="l06031" name="l06031"></a><span class="lineno"> 6031</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06032" name="l06032"></a><span class="lineno"> 6032</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a70bc988063e28e81fdac34260fb8e88c">PRUN_SINGLE_HISTO_RRF</a>:</div>
<div class="line"><a id="l06033" name="l06033"></a><span class="lineno"> 6033</span> <span class="comment">// check that there is a forward parameter number</span></div>
<div class="line"><a id="l06034" name="l06034"></a><span class="lineno"> 6034</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNo() == -1) {</div>
<div class="line"><a id="l06035" name="l06035"></a><span class="lineno"> 6035</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06036" name="l06036"></a><span class="lineno"> 6036</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; forward parameter number not defined. Necessary for single histogram RRF fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06037" name="l06037"></a><span class="lineno"> 6037</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06038" name="l06038"></a><span class="lineno"> 6038</span> }</div>
<div class="line"><a id="l06039" name="l06039"></a><span class="lineno"> 6039</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() &gt; <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size())) &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>) {</div>
<div class="line"><a id="l06040" name="l06040"></a><span class="lineno"> 6040</span> <span class="comment">// check if forward histogram number is a function</span></div>
<div class="line"><a id="l06041" name="l06041"></a><span class="lineno"> 6041</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() - <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a> &gt; <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size())) {</div>
<div class="line"><a id="l06042" name="l06042"></a><span class="lineno"> 6042</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06043" name="l06043"></a><span class="lineno"> 6043</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; forward histogram number &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() &lt;&lt; <span class="stringliteral">&quot; is larger than the number of fit parameters (&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size() &lt;&lt; <span class="stringliteral">&quot;).&quot;</span>;</div>
<div class="line"><a id="l06044" name="l06044"></a><span class="lineno"> 6044</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Consider to check the manual ;-)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06045" name="l06045"></a><span class="lineno"> 6045</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06046" name="l06046"></a><span class="lineno"> 6046</span> }</div>
<div class="line"><a id="l06047" name="l06047"></a><span class="lineno"> 6047</span> }</div>
<div class="line"><a id="l06048" name="l06048"></a><span class="lineno"> 6048</span> <span class="comment">// check fit range</span></div>
<div class="line"><a id="l06049" name="l06049"></a><span class="lineno"> 6049</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].IsFitRangeInBin() &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>) { <span class="comment">// fit range given as times in usec (RUN block)</span></div>
<div class="line"><a id="l06050" name="l06050"></a><span class="lineno"> 6050</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) { <span class="comment">// check fit range in RUN block</span></div>
<div class="line"><a id="l06051" name="l06051"></a><span class="lineno"> 6051</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.IsFitRangeInBin()) { <span class="comment">// fit range given as times in usec (GLOBAL block)</span></div>
<div class="line"><a id="l06052" name="l06052"></a><span class="lineno"> 6052</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) { <span class="comment">// check fit range in GLOBAL block</span></div>
<div class="line"><a id="l06053" name="l06053"></a><span class="lineno"> 6053</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06054" name="l06054"></a><span class="lineno"> 6054</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot; Fit range is not defined. Necessary for single histogram fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06055" name="l06055"></a><span class="lineno"> 6055</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06056" name="l06056"></a><span class="lineno"> 6056</span> }</div>
<div class="line"><a id="l06057" name="l06057"></a><span class="lineno"> 6057</span> }</div>
<div class="line"><a id="l06058" name="l06058"></a><span class="lineno"> 6058</span> }</div>
<div class="line"><a id="l06059" name="l06059"></a><span class="lineno"> 6059</span> }</div>
<div class="line"><a id="l06060" name="l06060"></a><span class="lineno"> 6060</span> <span class="comment">// check number of T0&#39;s provided</span></div>
<div class="line"><a id="l06061" name="l06061"></a><span class="lineno"> 6061</span> detectorGroups = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize();</div>
<div class="line"><a id="l06062" name="l06062"></a><span class="lineno"> 6062</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; detectorGroups) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; detectorGroups)) {</div>
<div class="line"><a id="l06063" name="l06063"></a><span class="lineno"> 6063</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06064" name="l06064"></a><span class="lineno"> 6064</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; detectorGroups)</div>
<div class="line"><a id="l06065" name="l06065"></a><span class="lineno"> 6065</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In RUN Block &quot;</span> &lt;&lt; i+1 &lt;&lt; <span class="stringliteral">&quot;: found &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting max. &quot;</span> &lt;&lt; detectorGroups &lt;&lt; <span class="stringliteral">&quot; entries.&quot;</span>;</div>
<div class="line"><a id="l06066" name="l06066"></a><span class="lineno"> 6066</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; 1)</div>
<div class="line"><a id="l06067" name="l06067"></a><span class="lineno"> 6067</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In GLOBAL block: found &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting max. &quot;</span> &lt;&lt; detectorGroups &lt;&lt; <span class="stringliteral">&quot; entries. Needs to be fixed.&quot;</span>;</div>
<div class="line"><a id="l06068" name="l06068"></a><span class="lineno"> 6068</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In case you added runs, please use the key word &#39;addt0&#39; to add the t0&#39;s of the runs to be added.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06069" name="l06069"></a><span class="lineno"> 6069</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06070" name="l06070"></a><span class="lineno"> 6070</span> }</div>
<div class="line"><a id="l06071" name="l06071"></a><span class="lineno"> 6071</span> <span class="comment">// check that RRF frequency is given</span></div>
<div class="line"><a id="l06072" name="l06072"></a><span class="lineno"> 6072</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnitTag() == <a class="code hl_define" href="PMusr_8h.html#adec5527824b02ad7a7053851aa890c99">RRF_UNIT_UNDEF</a>) {</div>
<div class="line"><a id="l06073" name="l06073"></a><span class="lineno"> 6073</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF frequency found in the GLOBAL block.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06074" name="l06074"></a><span class="lineno"> 6074</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06075" name="l06075"></a><span class="lineno"> 6075</span> }</div>
<div class="line"><a id="l06076" name="l06076"></a><span class="lineno"> 6076</span> <span class="comment">// check that RRF packing is given</span></div>
<div class="line"><a id="l06077" name="l06077"></a><span class="lineno"> 6077</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPacking() == -1) {</div>
<div class="line"><a id="l06078" name="l06078"></a><span class="lineno"> 6078</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF packing found in the GLOBAL block.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06079" name="l06079"></a><span class="lineno"> 6079</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06080" name="l06080"></a><span class="lineno"> 6080</span> }</div>
<div class="line"><a id="l06081" name="l06081"></a><span class="lineno"> 6081</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06082" name="l06082"></a><span class="lineno"> 6082</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a095a28397cda63a2dbdefe840224c878">PRUN_ASYMMETRY</a>:</div>
<div class="line"><a id="l06083" name="l06083"></a><span class="lineno"> 6083</span> <span class="comment">// check alpha</span></div>
<div class="line"><a id="l06084" name="l06084"></a><span class="lineno"> 6084</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAlphaParamNo() == -1) &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>) {</div>
<div class="line"><a id="l06085" name="l06085"></a><span class="lineno"> 6085</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06086" name="l06086"></a><span class="lineno"> 6086</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; alpha parameter number missing which is needed for an asymmetry fit.&quot;</span>;</div>
<div class="line"><a id="l06087" name="l06087"></a><span class="lineno"> 6087</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Consider to check the manual ;-)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06088" name="l06088"></a><span class="lineno"> 6088</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06089" name="l06089"></a><span class="lineno"> 6089</span> }</div>
<div class="line"><a id="l06090" name="l06090"></a><span class="lineno"> 6090</span> <span class="comment">// check that there is a forward parameter number</span></div>
<div class="line"><a id="l06091" name="l06091"></a><span class="lineno"> 6091</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNo() == -1) {</div>
<div class="line"><a id="l06092" name="l06092"></a><span class="lineno"> 6092</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06093" name="l06093"></a><span class="lineno"> 6093</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; forward histogram number not defined. Necessary for asymmetry fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06094" name="l06094"></a><span class="lineno"> 6094</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06095" name="l06095"></a><span class="lineno"> 6095</span> }</div>
<div class="line"><a id="l06096" name="l06096"></a><span class="lineno"> 6096</span> <span class="comment">// check that there is a backward parameter number</span></div>
<div class="line"><a id="l06097" name="l06097"></a><span class="lineno"> 6097</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNo() == -1) {</div>
<div class="line"><a id="l06098" name="l06098"></a><span class="lineno"> 6098</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06099" name="l06099"></a><span class="lineno"> 6099</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; backward histogram number not defined. Necessary for asymmetry fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06100" name="l06100"></a><span class="lineno"> 6100</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06101" name="l06101"></a><span class="lineno"> 6101</span> }</div>
<div class="line"><a id="l06102" name="l06102"></a><span class="lineno"> 6102</span> <span class="comment">// check fit range</span></div>
<div class="line"><a id="l06103" name="l06103"></a><span class="lineno"> 6103</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].IsFitRangeInBin()) { <span class="comment">// fit range given as times in usec</span></div>
<div class="line"><a id="l06104" name="l06104"></a><span class="lineno"> 6104</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) {</div>
<div class="line"><a id="l06105" name="l06105"></a><span class="lineno"> 6105</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) {</div>
<div class="line"><a id="l06106" name="l06106"></a><span class="lineno"> 6106</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06107" name="l06107"></a><span class="lineno"> 6107</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Fit range is not defined, also NOT present in the GLOBAL block. Necessary for asymmetry fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06108" name="l06108"></a><span class="lineno"> 6108</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06109" name="l06109"></a><span class="lineno"> 6109</span> }</div>
<div class="line"><a id="l06110" name="l06110"></a><span class="lineno"> 6110</span> }</div>
<div class="line"><a id="l06111" name="l06111"></a><span class="lineno"> 6111</span> }</div>
<div class="line"><a id="l06112" name="l06112"></a><span class="lineno"> 6112</span> <span class="comment">// check number of T0&#39;s provided</span></div>
<div class="line"><a id="l06113" name="l06113"></a><span class="lineno"> 6113</span> detectorGroups = 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize();</div>
<div class="line"><a id="l06114" name="l06114"></a><span class="lineno"> 6114</span> <span class="keywordflow">if</span> (detectorGroups &lt; 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize())</div>
<div class="line"><a id="l06115" name="l06115"></a><span class="lineno"> 6115</span> detectorGroups = 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize();</div>
<div class="line"><a id="l06116" name="l06116"></a><span class="lineno"> 6116</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; detectorGroups) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; detectorGroups)) {</div>
<div class="line"><a id="l06117" name="l06117"></a><span class="lineno"> 6117</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06118" name="l06118"></a><span class="lineno"> 6118</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; detectorGroups)</div>
<div class="line"><a id="l06119" name="l06119"></a><span class="lineno"> 6119</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In RUN Block &quot;</span> &lt;&lt; i+1 &lt;&lt; <span class="stringliteral">&quot;: found &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting max. &quot;</span> &lt;&lt; detectorGroups &lt;&lt; <span class="stringliteral">&quot; entries.&quot;</span>;</div>
<div class="line"><a id="l06120" name="l06120"></a><span class="lineno"> 6120</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; 1)</div>
<div class="line"><a id="l06121" name="l06121"></a><span class="lineno"> 6121</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In GLOBAL block: found &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting max. &quot;</span> &lt;&lt; detectorGroups &lt;&lt; <span class="stringliteral">&quot; entries. Needs to be fixed.&quot;</span>;</div>
<div class="line"><a id="l06122" name="l06122"></a><span class="lineno"> 6122</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In case you added runs, please use the key word &#39;addt0&#39; to add the t0&#39;s of the runs to be added.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06123" name="l06123"></a><span class="lineno"> 6123</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06124" name="l06124"></a><span class="lineno"> 6124</span> }</div>
<div class="line"><a id="l06125" name="l06125"></a><span class="lineno"> 6125</span> <span class="comment">// check packing</span></div>
<div class="line"><a id="l06126" name="l06126"></a><span class="lineno"> 6126</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetPacking() == -1) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetPacking() == -1)) {</div>
<div class="line"><a id="l06127" name="l06127"></a><span class="lineno"> 6127</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **WARNING** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06128" name="l06128"></a><span class="lineno"> 6128</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Packing is neither defined here, nor in the GLOBAL block, will set it to 1.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06129" name="l06129"></a><span class="lineno"> 6129</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].SetPacking(1);</div>
<div class="line"><a id="l06130" name="l06130"></a><span class="lineno"> 6130</span> }</div>
<div class="line"><a id="l06131" name="l06131"></a><span class="lineno"> 6131</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06132" name="l06132"></a><span class="lineno"> 6132</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#ad51f3ed9e812c03a5fe8b3b4f87b8ab7">PRUN_ASYMMETRY_BNMR</a>:</div>
<div class="line"><a id="l06133" name="l06133"></a><span class="lineno"> 6133</span> <span class="comment">// check alpha</span></div>
<div class="line"><a id="l06134" name="l06134"></a><span class="lineno"> 6134</span> <span class="comment">// if ((fRuns[i].GetAlphaParamNo() == -1) &amp;&amp; !fFourierOnly) {</span></div>
<div class="line"><a id="l06135" name="l06135"></a><span class="lineno"> 6135</span> <span class="comment">// std::cerr &lt;&lt; std::endl &lt;&lt; &quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot; &lt;&lt; i+1;</span></div>
<div class="line"><a id="l06136" name="l06136"></a><span class="lineno"> 6136</span> <span class="comment">// std::cerr &lt;&lt; std::endl &lt;&lt; &quot;&gt;&gt; alpha parameter number missing which is needed for an asymmetry fit.&quot;;</span></div>
<div class="line"><a id="l06137" name="l06137"></a><span class="lineno"> 6137</span> <span class="comment">// std::cerr &lt;&lt; std::endl &lt;&lt; &quot;&gt;&gt; Consider to check the manual ;-)&quot; &lt;&lt; std::endl;</span></div>
<div class="line"><a id="l06138" name="l06138"></a><span class="lineno"> 6138</span> <span class="comment">// return false;</span></div>
<div class="line"><a id="l06139" name="l06139"></a><span class="lineno"> 6139</span> <span class="comment">// }</span></div>
<div class="line"><a id="l06140" name="l06140"></a><span class="lineno"> 6140</span> <span class="comment">// check that there is a forward parameter number</span></div>
<div class="line"><a id="l06141" name="l06141"></a><span class="lineno"> 6141</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNo() == -1) {</div>
<div class="line"><a id="l06142" name="l06142"></a><span class="lineno"> 6142</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06143" name="l06143"></a><span class="lineno"> 6143</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; forward histogram number not defined. Necessary for asymmetry fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06144" name="l06144"></a><span class="lineno"> 6144</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06145" name="l06145"></a><span class="lineno"> 6145</span> }</div>
<div class="line"><a id="l06146" name="l06146"></a><span class="lineno"> 6146</span> <span class="comment">// check that there is a backward parameter number</span></div>
<div class="line"><a id="l06147" name="l06147"></a><span class="lineno"> 6147</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNo() == -1) {</div>
<div class="line"><a id="l06148" name="l06148"></a><span class="lineno"> 6148</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06149" name="l06149"></a><span class="lineno"> 6149</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; backward histogram number not defined. Necessary for asymmetry fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06150" name="l06150"></a><span class="lineno"> 6150</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06151" name="l06151"></a><span class="lineno"> 6151</span> }</div>
<div class="line"><a id="l06152" name="l06152"></a><span class="lineno"> 6152</span> <span class="comment">// check fit range</span></div>
<div class="line"><a id="l06153" name="l06153"></a><span class="lineno"> 6153</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].IsFitRangeInBin()) { <span class="comment">// fit range given as times in usec</span></div>
<div class="line"><a id="l06154" name="l06154"></a><span class="lineno"> 6154</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) {</div>
<div class="line"><a id="l06155" name="l06155"></a><span class="lineno"> 6155</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) {</div>
<div class="line"><a id="l06156" name="l06156"></a><span class="lineno"> 6156</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06157" name="l06157"></a><span class="lineno"> 6157</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Fit range is not defined, also NOT present in the GLOBAL block. Necessary for asymmetry fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06158" name="l06158"></a><span class="lineno"> 6158</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06159" name="l06159"></a><span class="lineno"> 6159</span> }</div>
<div class="line"><a id="l06160" name="l06160"></a><span class="lineno"> 6160</span> }</div>
<div class="line"><a id="l06161" name="l06161"></a><span class="lineno"> 6161</span> }</div>
<div class="line"><a id="l06162" name="l06162"></a><span class="lineno"> 6162</span> <span class="comment">// check number of T0&#39;s provided</span></div>
<div class="line"><a id="l06163" name="l06163"></a><span class="lineno"> 6163</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize()) &amp;&amp;</div>
<div class="line"><a id="l06164" name="l06164"></a><span class="lineno"> 6164</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize())) {</div>
<div class="line"><a id="l06165" name="l06165"></a><span class="lineno"> 6165</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06166" name="l06166"></a><span class="lineno"> 6166</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Found &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting only &quot;</span> &lt;&lt; 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize() &lt;&lt; <span class="stringliteral">&quot; in forward. Needs to be fixed.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06167" name="l06167"></a><span class="lineno"> 6167</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In GLOBAL block: &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting only &quot;</span> &lt;&lt; 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize() &lt;&lt; <span class="stringliteral">&quot;. Needs to be fixed.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06168" name="l06168"></a><span class="lineno"> 6168</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06169" name="l06169"></a><span class="lineno"> 6169</span> }</div>
<div class="line"><a id="l06170" name="l06170"></a><span class="lineno"> 6170</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize()) &amp;&amp;</div>
<div class="line"><a id="l06171" name="l06171"></a><span class="lineno"> 6171</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize())) {</div>
<div class="line"><a id="l06172" name="l06172"></a><span class="lineno"> 6172</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06173" name="l06173"></a><span class="lineno"> 6173</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Found &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting only &quot;</span> &lt;&lt; 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize() &lt;&lt; <span class="stringliteral">&quot; in backward. Needs to be fixed.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06174" name="l06174"></a><span class="lineno"> 6174</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In GLOBAL block: &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting only &quot;</span> &lt;&lt; 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize() &lt;&lt; <span class="stringliteral">&quot;. Needs to be fixed.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06175" name="l06175"></a><span class="lineno"> 6175</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06176" name="l06176"></a><span class="lineno"> 6176</span> }</div>
<div class="line"><a id="l06177" name="l06177"></a><span class="lineno"> 6177</span> <span class="comment">// check packing</span></div>
<div class="line"><a id="l06178" name="l06178"></a><span class="lineno"> 6178</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetPacking() == -1) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetPacking() == -1)) {</div>
<div class="line"><a id="l06179" name="l06179"></a><span class="lineno"> 6179</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **WARNING** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06180" name="l06180"></a><span class="lineno"> 6180</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Packing is neither defined here, nor in the GLOBAL block, will set it to 1.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06181" name="l06181"></a><span class="lineno"> 6181</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].SetPacking(1);</div>
<div class="line"><a id="l06182" name="l06182"></a><span class="lineno"> 6182</span> }</div>
<div class="line"><a id="l06183" name="l06183"></a><span class="lineno"> 6183</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06184" name="l06184"></a><span class="lineno"> 6184</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a35904f5e5aa68eaa070b898f4b97ec62">PRUN_ASYMMETRY_RRF</a>:</div>
<div class="line"><a id="l06185" name="l06185"></a><span class="lineno"> 6185</span> <span class="comment">// check alpha</span></div>
<div class="line"><a id="l06186" name="l06186"></a><span class="lineno"> 6186</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAlphaParamNo() == -1) &amp;&amp; !<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>) {</div>
<div class="line"><a id="l06187" name="l06187"></a><span class="lineno"> 6187</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06188" name="l06188"></a><span class="lineno"> 6188</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; alpha parameter number missing which is needed for an asymmetry RRF fit.&quot;</span>;</div>
<div class="line"><a id="l06189" name="l06189"></a><span class="lineno"> 6189</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Consider to check the manual ;-)&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06190" name="l06190"></a><span class="lineno"> 6190</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06191" name="l06191"></a><span class="lineno"> 6191</span> }</div>
<div class="line"><a id="l06192" name="l06192"></a><span class="lineno"> 6192</span> <span class="comment">// check that there is a forward parameter number</span></div>
<div class="line"><a id="l06193" name="l06193"></a><span class="lineno"> 6193</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNo() == -1) {</div>
<div class="line"><a id="l06194" name="l06194"></a><span class="lineno"> 6194</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06195" name="l06195"></a><span class="lineno"> 6195</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; forward histogram number not defined. Necessary for asymmetry RRF fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06196" name="l06196"></a><span class="lineno"> 6196</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06197" name="l06197"></a><span class="lineno"> 6197</span> }</div>
<div class="line"><a id="l06198" name="l06198"></a><span class="lineno"> 6198</span> <span class="comment">// check that there is a backward parameter number</span></div>
<div class="line"><a id="l06199" name="l06199"></a><span class="lineno"> 6199</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNo() == -1) {</div>
<div class="line"><a id="l06200" name="l06200"></a><span class="lineno"> 6200</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06201" name="l06201"></a><span class="lineno"> 6201</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; backward histogram number not defined. Necessary for asymmetry RRF fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06202" name="l06202"></a><span class="lineno"> 6202</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06203" name="l06203"></a><span class="lineno"> 6203</span> }</div>
<div class="line"><a id="l06204" name="l06204"></a><span class="lineno"> 6204</span> <span class="comment">// check fit range</span></div>
<div class="line"><a id="l06205" name="l06205"></a><span class="lineno"> 6205</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].IsFitRangeInBin()) { <span class="comment">// fit range given as times in usec</span></div>
<div class="line"><a id="l06206" name="l06206"></a><span class="lineno"> 6206</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) {</div>
<div class="line"><a id="l06207" name="l06207"></a><span class="lineno"> 6207</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) {</div>
<div class="line"><a id="l06208" name="l06208"></a><span class="lineno"> 6208</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06209" name="l06209"></a><span class="lineno"> 6209</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Fit range is not defined, also NOT present in the GLOBAL block. Necessary for asymmetry RRF fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06210" name="l06210"></a><span class="lineno"> 6210</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06211" name="l06211"></a><span class="lineno"> 6211</span> }</div>
<div class="line"><a id="l06212" name="l06212"></a><span class="lineno"> 6212</span> }</div>
<div class="line"><a id="l06213" name="l06213"></a><span class="lineno"> 6213</span> }</div>
<div class="line"><a id="l06214" name="l06214"></a><span class="lineno"> 6214</span> <span class="comment">// check number of T0&#39;s provided</span></div>
<div class="line"><a id="l06215" name="l06215"></a><span class="lineno"> 6215</span> detectorGroups = 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize();</div>
<div class="line"><a id="l06216" name="l06216"></a><span class="lineno"> 6216</span> <span class="keywordflow">if</span> (detectorGroups &lt; 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize())</div>
<div class="line"><a id="l06217" name="l06217"></a><span class="lineno"> 6217</span> detectorGroups = 2*<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize();</div>
<div class="line"><a id="l06218" name="l06218"></a><span class="lineno"> 6218</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; detectorGroups) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; detectorGroups)) {</div>
<div class="line"><a id="l06219" name="l06219"></a><span class="lineno"> 6219</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06220" name="l06220"></a><span class="lineno"> 6220</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &gt; detectorGroups)</div>
<div class="line"><a id="l06221" name="l06221"></a><span class="lineno"> 6221</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In RUN Block &quot;</span> &lt;&lt; i+1 &lt;&lt; <span class="stringliteral">&quot;: found &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting max. &quot;</span> &lt;&lt; detectorGroups &lt;&lt; <span class="stringliteral">&quot; entries.&quot;</span>;</div>
<div class="line"><a id="l06222" name="l06222"></a><span class="lineno"> 6222</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &gt; 1)</div>
<div class="line"><a id="l06223" name="l06223"></a><span class="lineno"> 6223</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In GLOBAL block: found &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetT0BinSize() &lt;&lt; <span class="stringliteral">&quot; T0 entries. Expecting max. &quot;</span> &lt;&lt; detectorGroups &lt;&lt; <span class="stringliteral">&quot; entries. Needs to be fixed.&quot;</span>;</div>
<div class="line"><a id="l06224" name="l06224"></a><span class="lineno"> 6224</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; In case you added runs, please use the key word &#39;addt0&#39; to add the t0&#39;s of the runs to be added.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06225" name="l06225"></a><span class="lineno"> 6225</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06226" name="l06226"></a><span class="lineno"> 6226</span> }</div>
<div class="line"><a id="l06227" name="l06227"></a><span class="lineno"> 6227</span> <span class="comment">// check that RRF frequency is given</span></div>
<div class="line"><a id="l06228" name="l06228"></a><span class="lineno"> 6228</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnitTag() == <a class="code hl_define" href="PMusr_8h.html#adec5527824b02ad7a7053851aa890c99">RRF_UNIT_UNDEF</a>) {</div>
<div class="line"><a id="l06229" name="l06229"></a><span class="lineno"> 6229</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF frequency found in the GLOBAL block.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06230" name="l06230"></a><span class="lineno"> 6230</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06231" name="l06231"></a><span class="lineno"> 6231</span> }</div>
<div class="line"><a id="l06232" name="l06232"></a><span class="lineno"> 6232</span> <span class="comment">// check that RRF packing is given</span></div>
<div class="line"><a id="l06233" name="l06233"></a><span class="lineno"> 6233</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPacking() == -1) {</div>
<div class="line"><a id="l06234" name="l06234"></a><span class="lineno"> 6234</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF packing found in the GLOBAL block.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06235" name="l06235"></a><span class="lineno"> 6235</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06236" name="l06236"></a><span class="lineno"> 6236</span> }</div>
<div class="line"><a id="l06237" name="l06237"></a><span class="lineno"> 6237</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06238" name="l06238"></a><span class="lineno"> 6238</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a28dabeb092db6158025b2ab8898af09e">PRUN_MU_MINUS</a>:</div>
<div class="line"><a id="l06239" name="l06239"></a><span class="lineno"> 6239</span> <span class="comment">// needs eventually to be implemented</span></div>
<div class="line"><a id="l06240" name="l06240"></a><span class="lineno"> 6240</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06241" name="l06241"></a><span class="lineno"> 6241</span> <span class="keywordflow">case</span> <a class="code hl_define" href="PMusr_8h.html#a9abfa090fd8fcf7ff4f99556ff76cf58">PRUN_NON_MUSR</a>:</div>
<div class="line"><a id="l06242" name="l06242"></a><span class="lineno"> 6242</span> <span class="comment">// check xy-data</span></div>
<div class="line"><a id="l06243" name="l06243"></a><span class="lineno"> 6243</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetXDataIndex() == -1) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetXDataLabel()-&gt;Length() == 0)) {</div>
<div class="line"><a id="l06244" name="l06244"></a><span class="lineno"> 6244</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06245" name="l06245"></a><span class="lineno"> 6245</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; xy-data is missing. Necessary for non muSR fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06246" name="l06246"></a><span class="lineno"> 6246</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06247" name="l06247"></a><span class="lineno"> 6247</span> }</div>
<div class="line"><a id="l06248" name="l06248"></a><span class="lineno"> 6248</span> <span class="comment">// check fit range</span></div>
<div class="line"><a id="l06249" name="l06249"></a><span class="lineno"> 6249</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) {</div>
<div class="line"><a id="l06250" name="l06250"></a><span class="lineno"> 6250</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(0) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>) || (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitRange(1) == <a class="code hl_define" href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a>)) {</div>
<div class="line"><a id="l06251" name="l06251"></a><span class="lineno"> 6251</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06252" name="l06252"></a><span class="lineno"> 6252</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Fit range is not defined, neither in the RUN block, nor in the GLOBAL block.&quot;</span>;</div>
<div class="line"><a id="l06253" name="l06253"></a><span class="lineno"> 6253</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Necessary for non muSR fits.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06254" name="l06254"></a><span class="lineno"> 6254</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06255" name="l06255"></a><span class="lineno"> 6255</span> }</div>
<div class="line"><a id="l06256" name="l06256"></a><span class="lineno"> 6256</span> }</div>
<div class="line"><a id="l06257" name="l06257"></a><span class="lineno"> 6257</span> <span class="comment">// check packing</span></div>
<div class="line"><a id="l06258" name="l06258"></a><span class="lineno"> 6258</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetPacking() == -1) {</div>
<div class="line"><a id="l06259" name="l06259"></a><span class="lineno"> 6259</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetPacking() == -1) {</div>
<div class="line"><a id="l06260" name="l06260"></a><span class="lineno"> 6260</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **WARNING** in RUN block number &quot;</span> &lt;&lt; i+1;</div>
<div class="line"><a id="l06261" name="l06261"></a><span class="lineno"> 6261</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Packing is not defined, will set it to 1.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06262" name="l06262"></a><span class="lineno"> 6262</span> <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].SetPacking(1);</div>
<div class="line"><a id="l06263" name="l06263"></a><span class="lineno"> 6263</span> }</div>
<div class="line"><a id="l06264" name="l06264"></a><span class="lineno"> 6264</span> }</div>
<div class="line"><a id="l06265" name="l06265"></a><span class="lineno"> 6265</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06266" name="l06266"></a><span class="lineno"> 6266</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l06267" name="l06267"></a><span class="lineno"> 6267</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRunBlockIntegrity(): **ERROR** fittype &quot;</span> &lt;&lt; fitType &lt;&lt; <span class="stringliteral">&quot; undefined.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l06268" name="l06268"></a><span class="lineno"> 6268</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06269" name="l06269"></a><span class="lineno"> 6269</span> }</div>
<div class="line"><a id="l06270" name="l06270"></a><span class="lineno"> 6270</span> </div>
<div class="line"><a id="l06271" name="l06271"></a><span class="lineno"> 6271</span> }</div>
<div class="line"><a id="l06272" name="l06272"></a><span class="lineno"> 6272</span> </div>
<div class="line"><a id="l06273" name="l06273"></a><span class="lineno"> 6273</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l06274" name="l06274"></a><span class="lineno"> 6274</span>}</div>
</div>
<div class="line"><a id="l06275" name="l06275"></a><span class="lineno"> 6275</span> </div>
<div class="line"><a id="l06276" name="l06276"></a><span class="lineno"> 6276</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06277" name="l06277"></a><span class="lineno"> 6277</span><span class="comment">// CheckUniquenessOfParamNames (private)</span></div>
<div class="line"><a id="l06278" name="l06278"></a><span class="lineno"> 6278</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06290" data-start="{" data-end="}">
<div class="line"><a id="l06290" name="l06290"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#afd6b7a00e3c8325d70b27820803f3e13"> 6290</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#afd6b7a00e3c8325d70b27820803f3e13">PMsrHandler::CheckUniquenessOfParamNames</a>(UInt_t &amp;parX, UInt_t &amp;parY)</div>
<div class="line"><a id="l06291" name="l06291"></a><span class="lineno"> 6291</span>{</div>
<div class="line"><a id="l06292" name="l06292"></a><span class="lineno"> 6292</span> Bool_t unique = <span class="keyword">true</span>;</div>
<div class="line"><a id="l06293" name="l06293"></a><span class="lineno"> 6293</span> </div>
<div class="line"><a id="l06294" name="l06294"></a><span class="lineno"> 6294</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size()-1; i++) {</div>
<div class="line"><a id="l06295" name="l06295"></a><span class="lineno"> 6295</span> <span class="keywordflow">for</span> (UInt_t j=i+1; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>.size(); j++) {</div>
<div class="line"><a id="l06296" name="l06296"></a><span class="lineno"> 6296</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[i].fName.CompareTo(<a class="code hl_variable" href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">fParam</a>[j].fName) == 0) { <span class="comment">// equal</span></div>
<div class="line"><a id="l06297" name="l06297"></a><span class="lineno"> 6297</span> unique = <span class="keyword">false</span>;</div>
<div class="line"><a id="l06298" name="l06298"></a><span class="lineno"> 6298</span> parX = i;</div>
<div class="line"><a id="l06299" name="l06299"></a><span class="lineno"> 6299</span> parY = j;</div>
<div class="line"><a id="l06300" name="l06300"></a><span class="lineno"> 6300</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06301" name="l06301"></a><span class="lineno"> 6301</span> }</div>
<div class="line"><a id="l06302" name="l06302"></a><span class="lineno"> 6302</span> }</div>
<div class="line"><a id="l06303" name="l06303"></a><span class="lineno"> 6303</span> }</div>
<div class="line"><a id="l06304" name="l06304"></a><span class="lineno"> 6304</span> </div>
<div class="line"><a id="l06305" name="l06305"></a><span class="lineno"> 6305</span> <span class="keywordflow">return</span> unique;</div>
<div class="line"><a id="l06306" name="l06306"></a><span class="lineno"> 6306</span>}</div>
</div>
<div class="line"><a id="l06307" name="l06307"></a><span class="lineno"> 6307</span> </div>
<div class="line"><a id="l06308" name="l06308"></a><span class="lineno"> 6308</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06309" name="l06309"></a><span class="lineno"> 6309</span><span class="comment">// CheckMaps (private)</span></div>
<div class="line"><a id="l06310" name="l06310"></a><span class="lineno"> 6310</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06319" data-start="{" data-end="}">
<div class="line"><a id="l06319" name="l06319"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a00a9099bd78e612927ebb0a68b18dccc"> 6319</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a00a9099bd78e612927ebb0a68b18dccc">PMsrHandler::CheckMaps</a>()</div>
<div class="line"><a id="l06320" name="l06320"></a><span class="lineno"> 6320</span>{</div>
<div class="line"><a id="l06321" name="l06321"></a><span class="lineno"> 6321</span> Bool_t result = <span class="keyword">true</span>;</div>
<div class="line"><a id="l06322" name="l06322"></a><span class="lineno"> 6322</span> </div>
<div class="line"><a id="l06323" name="l06323"></a><span class="lineno"> 6323</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> mapVec;</div>
<div class="line"><a id="l06324" name="l06324"></a><span class="lineno"> 6324</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> mapBlock;</div>
<div class="line"><a id="l06325" name="l06325"></a><span class="lineno"> 6325</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> mapLineNo;</div>
<div class="line"><a id="l06326" name="l06326"></a><span class="lineno"> 6326</span> </div>
<div class="line"><a id="l06327" name="l06327"></a><span class="lineno"> 6327</span> TObjArray *tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l06328" name="l06328"></a><span class="lineno"> 6328</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l06329" name="l06329"></a><span class="lineno"> 6329</span> TString str;</div>
<div class="line"><a id="l06330" name="l06330"></a><span class="lineno"> 6330</span> </div>
<div class="line"><a id="l06331" name="l06331"></a><span class="lineno"> 6331</span> Int_t no;</div>
<div class="line"><a id="l06332" name="l06332"></a><span class="lineno"> 6332</span> </div>
<div class="line"><a id="l06333" name="l06333"></a><span class="lineno"> 6333</span> <span class="comment">// check if map is present in the theory-block</span></div>
<div class="line"><a id="l06334" name="l06334"></a><span class="lineno"> 6334</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>.size(); i++) {</div>
<div class="line"><a id="l06335" name="l06335"></a><span class="lineno"> 6335</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>[i].fLine.Contains(<span class="stringliteral">&quot;map&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l06336" name="l06336"></a><span class="lineno"> 6336</span> <span class="comment">// map found hence filter out map number</span></div>
<div class="line"><a id="l06337" name="l06337"></a><span class="lineno"> 6337</span> tokens = <a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>[i].fLine.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l06338" name="l06338"></a><span class="lineno"> 6338</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;tokens-&gt;GetEntries(); j++) {</div>
<div class="line"><a id="l06339" name="l06339"></a><span class="lineno"> 6339</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(j));</div>
<div class="line"><a id="l06340" name="l06340"></a><span class="lineno"> 6340</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l06341" name="l06341"></a><span class="lineno"> 6341</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;map&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l06342" name="l06342"></a><span class="lineno"> 6342</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;map&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a03f3ac8cee4b8e9f4f0b002f980d51a1">MSR_PARAM_MAP_OFFSET</a>, no)) {</div>
<div class="line"><a id="l06343" name="l06343"></a><span class="lineno"> 6343</span> mapVec.push_back(no);</div>
<div class="line"><a id="l06344" name="l06344"></a><span class="lineno"> 6344</span> mapBlock.push_back(0); <span class="comment">// 0 = theory-block</span></div>
<div class="line"><a id="l06345" name="l06345"></a><span class="lineno"> 6345</span> mapLineNo.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>[i].fLineNo);</div>
<div class="line"><a id="l06346" name="l06346"></a><span class="lineno"> 6346</span> }</div>
<div class="line"><a id="l06347" name="l06347"></a><span class="lineno"> 6347</span> }</div>
<div class="line"><a id="l06348" name="l06348"></a><span class="lineno"> 6348</span> }</div>
<div class="line"><a id="l06349" name="l06349"></a><span class="lineno"> 6349</span> <span class="comment">// clean up tokens</span></div>
<div class="line"><a id="l06350" name="l06350"></a><span class="lineno"> 6350</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l06351" name="l06351"></a><span class="lineno"> 6351</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l06352" name="l06352"></a><span class="lineno"> 6352</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l06353" name="l06353"></a><span class="lineno"> 6353</span> }</div>
<div class="line"><a id="l06354" name="l06354"></a><span class="lineno"> 6354</span> }</div>
<div class="line"><a id="l06355" name="l06355"></a><span class="lineno"> 6355</span> }</div>
<div class="line"><a id="l06356" name="l06356"></a><span class="lineno"> 6356</span> </div>
<div class="line"><a id="l06357" name="l06357"></a><span class="lineno"> 6357</span> <span class="comment">// check if map is present in the function-block</span></div>
<div class="line"><a id="l06358" name="l06358"></a><span class="lineno"> 6358</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>.size(); i++) {</div>
<div class="line"><a id="l06359" name="l06359"></a><span class="lineno"> 6359</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>[i].fLine.Contains(<span class="stringliteral">&quot;map&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l06360" name="l06360"></a><span class="lineno"> 6360</span> <span class="comment">// map found hence filter out map number</span></div>
<div class="line"><a id="l06361" name="l06361"></a><span class="lineno"> 6361</span> tokens = <a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>[i].fLine.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l06362" name="l06362"></a><span class="lineno"> 6362</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;tokens-&gt;GetEntries(); j++) {</div>
<div class="line"><a id="l06363" name="l06363"></a><span class="lineno"> 6363</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(j));</div>
<div class="line"><a id="l06364" name="l06364"></a><span class="lineno"> 6364</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l06365" name="l06365"></a><span class="lineno"> 6365</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;map&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l06366" name="l06366"></a><span class="lineno"> 6366</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;map&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a03f3ac8cee4b8e9f4f0b002f980d51a1">MSR_PARAM_MAP_OFFSET</a>, no)) {</div>
<div class="line"><a id="l06367" name="l06367"></a><span class="lineno"> 6367</span> mapVec.push_back(no);</div>
<div class="line"><a id="l06368" name="l06368"></a><span class="lineno"> 6368</span> mapBlock.push_back(1); <span class="comment">// 1 = theory-block</span></div>
<div class="line"><a id="l06369" name="l06369"></a><span class="lineno"> 6369</span> mapLineNo.push_back(<a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>[i].fLineNo);</div>
<div class="line"><a id="l06370" name="l06370"></a><span class="lineno"> 6370</span> }</div>
<div class="line"><a id="l06371" name="l06371"></a><span class="lineno"> 6371</span> }</div>
<div class="line"><a id="l06372" name="l06372"></a><span class="lineno"> 6372</span> }</div>
<div class="line"><a id="l06373" name="l06373"></a><span class="lineno"> 6373</span> <span class="comment">// clean up tokens</span></div>
<div class="line"><a id="l06374" name="l06374"></a><span class="lineno"> 6374</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l06375" name="l06375"></a><span class="lineno"> 6375</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l06376" name="l06376"></a><span class="lineno"> 6376</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l06377" name="l06377"></a><span class="lineno"> 6377</span> }</div>
<div class="line"><a id="l06378" name="l06378"></a><span class="lineno"> 6378</span> }</div>
<div class="line"><a id="l06379" name="l06379"></a><span class="lineno"> 6379</span> }</div>
<div class="line"><a id="l06380" name="l06380"></a><span class="lineno"> 6380</span> </div>
<div class="line"><a id="l06381" name="l06381"></a><span class="lineno"> 6381</span> <span class="comment">// check if present maps are found in the run-block</span></div>
<div class="line"><a id="l06382" name="l06382"></a><span class="lineno"> 6382</span> Bool_t found;</div>
<div class="line"><a id="l06383" name="l06383"></a><span class="lineno"> 6383</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;mapVec.size(); i++) { <span class="comment">// loop over found maps in theory- and function-block</span></div>
<div class="line"><a id="l06384" name="l06384"></a><span class="lineno"> 6384</span> found = <span class="keyword">false</span>;</div>
<div class="line"><a id="l06385" name="l06385"></a><span class="lineno"> 6385</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); j++) { <span class="comment">// loop over all run-blocks</span></div>
<div class="line"><a id="l06386" name="l06386"></a><span class="lineno"> 6386</span> <span class="keywordflow">if</span> ((mapVec[i]-<a class="code hl_define" href="PMusr_8h.html#a03f3ac8cee4b8e9f4f0b002f980d51a1">MSR_PARAM_MAP_OFFSET</a>-1 &lt; <span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[j].GetMap()-&gt;size())) &amp;&amp;</div>
<div class="line"><a id="l06387" name="l06387"></a><span class="lineno"> 6387</span> (mapVec[i]-<a class="code hl_define" href="PMusr_8h.html#a03f3ac8cee4b8e9f4f0b002f980d51a1">MSR_PARAM_MAP_OFFSET</a>-1 &gt;= 0)) { <span class="comment">// map value smaller than run-block map length</span></div>
<div class="line"><a id="l06388" name="l06388"></a><span class="lineno"> 6388</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[j].GetMap(mapVec[i]-<a class="code hl_define" href="PMusr_8h.html#a03f3ac8cee4b8e9f4f0b002f980d51a1">MSR_PARAM_MAP_OFFSET</a>-1) != 0) { <span class="comment">// map value in the run-block != 0</span></div>
<div class="line"><a id="l06389" name="l06389"></a><span class="lineno"> 6389</span> found = <span class="keyword">true</span>;</div>
<div class="line"><a id="l06390" name="l06390"></a><span class="lineno"> 6390</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06391" name="l06391"></a><span class="lineno"> 6391</span> }</div>
<div class="line"><a id="l06392" name="l06392"></a><span class="lineno"> 6392</span> }</div>
<div class="line"><a id="l06393" name="l06393"></a><span class="lineno"> 6393</span> }</div>
<div class="line"><a id="l06394" name="l06394"></a><span class="lineno"> 6394</span> <span class="keywordflow">if</span> (!found) { <span class="comment">// map not found</span></div>
<div class="line"><a id="l06395" name="l06395"></a><span class="lineno"> 6395</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l06396" name="l06396"></a><span class="lineno"> 6396</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckMaps: **ERROR** map&quot;</span> &lt;&lt; mapVec[i]-<a class="code hl_define" href="PMusr_8h.html#a03f3ac8cee4b8e9f4f0b002f980d51a1">MSR_PARAM_MAP_OFFSET</a> &lt;&lt; <span class="stringliteral">&quot; found in the &quot;</span>;</div>
<div class="line"><a id="l06397" name="l06397"></a><span class="lineno"> 6397</span> <span class="keywordflow">if</span> (mapBlock[i] == 0)</div>
<div class="line"><a id="l06398" name="l06398"></a><span class="lineno"> 6398</span> std::cerr &lt;&lt; <span class="stringliteral">&quot;theory-block &quot;</span>;</div>
<div class="line"><a id="l06399" name="l06399"></a><span class="lineno"> 6399</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l06400" name="l06400"></a><span class="lineno"> 6400</span> std::cerr &lt;&lt; <span class="stringliteral">&quot;functions-block &quot;</span>;</div>
<div class="line"><a id="l06401" name="l06401"></a><span class="lineno"> 6401</span> std::cerr &lt;&lt; <span class="stringliteral">&quot;in line &quot;</span> &lt;&lt; mapLineNo[i] &lt;&lt; <span class="stringliteral">&quot; is not present in the run-block!&quot;</span>;</div>
<div class="line"><a id="l06402" name="l06402"></a><span class="lineno"> 6402</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l06403" name="l06403"></a><span class="lineno"> 6403</span> <span class="keywordflow">if</span> (mapVec[i]-<a class="code hl_define" href="PMusr_8h.html#a03f3ac8cee4b8e9f4f0b002f980d51a1">MSR_PARAM_MAP_OFFSET</a> == 0) {</div>
<div class="line"><a id="l06404" name="l06404"></a><span class="lineno"> 6404</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; by the way: map must be &gt; 0 ...&quot;</span>;</div>
<div class="line"><a id="l06405" name="l06405"></a><span class="lineno"> 6405</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l06406" name="l06406"></a><span class="lineno"> 6406</span> }</div>
<div class="line"><a id="l06407" name="l06407"></a><span class="lineno"> 6407</span> }</div>
<div class="line"><a id="l06408" name="l06408"></a><span class="lineno"> 6408</span> }</div>
<div class="line"><a id="l06409" name="l06409"></a><span class="lineno"> 6409</span> </div>
<div class="line"><a id="l06410" name="l06410"></a><span class="lineno"> 6410</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l06411" name="l06411"></a><span class="lineno"> 6411</span> mapVec.clear();</div>
<div class="line"><a id="l06412" name="l06412"></a><span class="lineno"> 6412</span> mapBlock.clear();</div>
<div class="line"><a id="l06413" name="l06413"></a><span class="lineno"> 6413</span> mapLineNo.clear();</div>
<div class="line"><a id="l06414" name="l06414"></a><span class="lineno"> 6414</span> </div>
<div class="line"><a id="l06415" name="l06415"></a><span class="lineno"> 6415</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l06416" name="l06416"></a><span class="lineno"> 6416</span>}</div>
</div>
<div class="line"><a id="l06417" name="l06417"></a><span class="lineno"> 6417</span> </div>
<div class="line"><a id="l06418" name="l06418"></a><span class="lineno"> 6418</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06419" name="l06419"></a><span class="lineno"> 6419</span><span class="comment">// CheckFuncs (private)</span></div>
<div class="line"><a id="l06420" name="l06420"></a><span class="lineno"> 6420</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06429" data-start="{" data-end="}">
<div class="line"><a id="l06429" name="l06429"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#aca2df2dd83d8d98c9b3cd970ddc194a5"> 6429</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#aca2df2dd83d8d98c9b3cd970ddc194a5">PMsrHandler::CheckFuncs</a>()</div>
<div class="line"><a id="l06430" name="l06430"></a><span class="lineno"> 6430</span>{</div>
<div class="line"><a id="l06431" name="l06431"></a><span class="lineno"> 6431</span> Bool_t result = <span class="keyword">true</span>;</div>
<div class="line"><a id="l06432" name="l06432"></a><span class="lineno"> 6432</span> </div>
<div class="line"><a id="l06433" name="l06433"></a><span class="lineno"> 6433</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">fFourierOnly</a>)</div>
<div class="line"><a id="l06434" name="l06434"></a><span class="lineno"> 6434</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l06435" name="l06435"></a><span class="lineno"> 6435</span> </div>
<div class="line"><a id="l06436" name="l06436"></a><span class="lineno"> 6436</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> funVec;</div>
<div class="line"><a id="l06437" name="l06437"></a><span class="lineno"> 6437</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> funBlock;</div>
<div class="line"><a id="l06438" name="l06438"></a><span class="lineno"> 6438</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> funLineBlockNo;</div>
<div class="line"><a id="l06439" name="l06439"></a><span class="lineno"> 6439</span> </div>
<div class="line"><a id="l06440" name="l06440"></a><span class="lineno"> 6440</span> TObjArray *tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l06441" name="l06441"></a><span class="lineno"> 6441</span> TObjString *ostr = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l06442" name="l06442"></a><span class="lineno"> 6442</span> TString str;</div>
<div class="line"><a id="l06443" name="l06443"></a><span class="lineno"> 6443</span> </div>
<div class="line"><a id="l06444" name="l06444"></a><span class="lineno"> 6444</span> Int_t no;</div>
<div class="line"><a id="l06445" name="l06445"></a><span class="lineno"> 6445</span> </div>
<div class="line"><a id="l06446" name="l06446"></a><span class="lineno"> 6446</span> <span class="comment">// check if func is present in the theory-block</span></div>
<div class="line"><a id="l06447" name="l06447"></a><span class="lineno"> 6447</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>.size(); i++) {</div>
<div class="line"><a id="l06448" name="l06448"></a><span class="lineno"> 6448</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>[i].fLine.Contains(<span class="stringliteral">&quot;fun&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l06449" name="l06449"></a><span class="lineno"> 6449</span> <span class="comment">// func found hence filter out func number</span></div>
<div class="line"><a id="l06450" name="l06450"></a><span class="lineno"> 6450</span> tokens = <a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>[i].fLine.Tokenize(<span class="stringliteral">&quot; \t&quot;</span>);</div>
<div class="line"><a id="l06451" name="l06451"></a><span class="lineno"> 6451</span> <span class="keywordflow">for</span> (Int_t j=0; j&lt;tokens-&gt;GetEntries(); j++) {</div>
<div class="line"><a id="l06452" name="l06452"></a><span class="lineno"> 6452</span> ostr = <span class="keyword">dynamic_cast&lt;</span>TObjString*<span class="keyword">&gt;</span>(tokens-&gt;At(j));</div>
<div class="line"><a id="l06453" name="l06453"></a><span class="lineno"> 6453</span> str = ostr-&gt;GetString();</div>
<div class="line"><a id="l06454" name="l06454"></a><span class="lineno"> 6454</span> <span class="keywordflow">if</span> (str.Contains(<span class="stringliteral">&quot;fun&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l06455" name="l06455"></a><span class="lineno"> 6455</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">FilterNumber</a>(str, <span class="stringliteral">&quot;fun&quot;</span>, <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>, no)) {</div>
<div class="line"><a id="l06456" name="l06456"></a><span class="lineno"> 6456</span> funVec.push_back(no);</div>
<div class="line"><a id="l06457" name="l06457"></a><span class="lineno"> 6457</span> funBlock.push_back(0); <span class="comment">// 0 = theory-block</span></div>
<div class="line"><a id="l06458" name="l06458"></a><span class="lineno"> 6458</span> funLineBlockNo.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">fTheory</a>[i].fLineNo);</div>
<div class="line"><a id="l06459" name="l06459"></a><span class="lineno"> 6459</span> }</div>
<div class="line"><a id="l06460" name="l06460"></a><span class="lineno"> 6460</span> }</div>
<div class="line"><a id="l06461" name="l06461"></a><span class="lineno"> 6461</span> }</div>
<div class="line"><a id="l06462" name="l06462"></a><span class="lineno"> 6462</span> <span class="comment">// clean up tokens</span></div>
<div class="line"><a id="l06463" name="l06463"></a><span class="lineno"> 6463</span> <span class="keywordflow">if</span> (tokens) {</div>
<div class="line"><a id="l06464" name="l06464"></a><span class="lineno"> 6464</span> <span class="keyword">delete</span> tokens;</div>
<div class="line"><a id="l06465" name="l06465"></a><span class="lineno"> 6465</span> tokens = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l06466" name="l06466"></a><span class="lineno"> 6466</span> }</div>
<div class="line"><a id="l06467" name="l06467"></a><span class="lineno"> 6467</span> }</div>
<div class="line"><a id="l06468" name="l06468"></a><span class="lineno"> 6468</span> }</div>
<div class="line"><a id="l06469" name="l06469"></a><span class="lineno"> 6469</span> </div>
<div class="line"><a id="l06470" name="l06470"></a><span class="lineno"> 6470</span> <span class="comment">// check if func is present in the run-block</span></div>
<div class="line"><a id="l06471" name="l06471"></a><span class="lineno"> 6471</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l06472" name="l06472"></a><span class="lineno"> 6472</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo() &gt;= <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>) { <span class="comment">// function found</span></div>
<div class="line"><a id="l06473" name="l06473"></a><span class="lineno"> 6473</span> funVec.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetNormParamNo());</div>
<div class="line"><a id="l06474" name="l06474"></a><span class="lineno"> 6474</span> funBlock.push_back(1); <span class="comment">// 1 = run-block</span></div>
<div class="line"><a id="l06475" name="l06475"></a><span class="lineno"> 6475</span> funLineBlockNo.push_back(i+1);</div>
<div class="line"><a id="l06476" name="l06476"></a><span class="lineno"> 6476</span> }</div>
<div class="line"><a id="l06477" name="l06477"></a><span class="lineno"> 6477</span> }</div>
<div class="line"><a id="l06478" name="l06478"></a><span class="lineno"> 6478</span> </div>
<div class="line"><a id="l06479" name="l06479"></a><span class="lineno"> 6479</span> <span class="comment">// check if present funcs are found in the functions-block</span></div>
<div class="line"><a id="l06480" name="l06480"></a><span class="lineno"> 6480</span> Bool_t found;</div>
<div class="line"><a id="l06481" name="l06481"></a><span class="lineno"> 6481</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;funVec.size(); i++) { <span class="comment">// loop over found funcs in theory- and run-block</span></div>
<div class="line"><a id="l06482" name="l06482"></a><span class="lineno"> 6482</span> found = <span class="keyword">false</span>;</div>
<div class="line"><a id="l06483" name="l06483"></a><span class="lineno"> 6483</span> <span class="comment">// check if function is present in the functions-block</span></div>
<div class="line"><a id="l06484" name="l06484"></a><span class="lineno"> 6484</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>.size(); j++) {</div>
<div class="line"><a id="l06485" name="l06485"></a><span class="lineno"> 6485</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>[j].fLine.BeginsWith(<span class="stringliteral">&quot;#&quot;</span>) || <a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>[j].fLine.IsWhitespace())</div>
<div class="line"><a id="l06486" name="l06486"></a><span class="lineno"> 6486</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l06487" name="l06487"></a><span class="lineno"> 6487</span> str = TString(<span class="stringliteral">&quot;fun&quot;</span>);</div>
<div class="line"><a id="l06488" name="l06488"></a><span class="lineno"> 6488</span> str += funVec[i] - <a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a>;</div>
<div class="line"><a id="l06489" name="l06489"></a><span class="lineno"> 6489</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">fFunctions</a>[j].fLine.Contains(str, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l06490" name="l06490"></a><span class="lineno"> 6490</span> found = <span class="keyword">true</span>;</div>
<div class="line"><a id="l06491" name="l06491"></a><span class="lineno"> 6491</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06492" name="l06492"></a><span class="lineno"> 6492</span> }</div>
<div class="line"><a id="l06493" name="l06493"></a><span class="lineno"> 6493</span> }</div>
<div class="line"><a id="l06494" name="l06494"></a><span class="lineno"> 6494</span> <span class="keywordflow">if</span> (!found) { <span class="comment">// func not found</span></div>
<div class="line"><a id="l06495" name="l06495"></a><span class="lineno"> 6495</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l06496" name="l06496"></a><span class="lineno"> 6496</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckFuncs: **ERROR** fun&quot;</span> &lt;&lt; funVec[i]-<a class="code hl_define" href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a> &lt;&lt; <span class="stringliteral">&quot; found in the &quot;</span>;</div>
<div class="line"><a id="l06497" name="l06497"></a><span class="lineno"> 6497</span> <span class="keywordflow">if</span> (funBlock[i] == 0)</div>
<div class="line"><a id="l06498" name="l06498"></a><span class="lineno"> 6498</span> std::cerr &lt;&lt; <span class="stringliteral">&quot;theory-block in line &quot;</span> &lt;&lt; funLineBlockNo[i] &lt;&lt; <span class="stringliteral">&quot; is not present in the functions-block!&quot;</span>;</div>
<div class="line"><a id="l06499" name="l06499"></a><span class="lineno"> 6499</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l06500" name="l06500"></a><span class="lineno"> 6500</span> std::cerr &lt;&lt; <span class="stringliteral">&quot;run-block No &quot;</span> &lt;&lt; funLineBlockNo[i] &lt;&lt; <span class="stringliteral">&quot; (norm) is not present in the functions-block!&quot;</span>;</div>
<div class="line"><a id="l06501" name="l06501"></a><span class="lineno"> 6501</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l06502" name="l06502"></a><span class="lineno"> 6502</span> }</div>
<div class="line"><a id="l06503" name="l06503"></a><span class="lineno"> 6503</span> }</div>
<div class="line"><a id="l06504" name="l06504"></a><span class="lineno"> 6504</span> </div>
<div class="line"><a id="l06505" name="l06505"></a><span class="lineno"> 6505</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l06506" name="l06506"></a><span class="lineno"> 6506</span> funVec.clear();</div>
<div class="line"><a id="l06507" name="l06507"></a><span class="lineno"> 6507</span> funBlock.clear();</div>
<div class="line"><a id="l06508" name="l06508"></a><span class="lineno"> 6508</span> funLineBlockNo.clear();</div>
<div class="line"><a id="l06509" name="l06509"></a><span class="lineno"> 6509</span> </div>
<div class="line"><a id="l06510" name="l06510"></a><span class="lineno"> 6510</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l06511" name="l06511"></a><span class="lineno"> 6511</span>}</div>
</div>
<div class="line"><a id="l06512" name="l06512"></a><span class="lineno"> 6512</span> </div>
<div class="line"><a id="l06513" name="l06513"></a><span class="lineno"> 6513</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06514" name="l06514"></a><span class="lineno"> 6514</span><span class="comment">// CheckHistoGrouping (private)</span></div>
<div class="line"><a id="l06515" name="l06515"></a><span class="lineno"> 6515</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06523" data-start="{" data-end="}">
<div class="line"><a id="l06523" name="l06523"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a0967149b447dfd2daaddc04e17c00010"> 6523</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a0967149b447dfd2daaddc04e17c00010">PMsrHandler::CheckHistoGrouping</a>()</div>
<div class="line"><a id="l06524" name="l06524"></a><span class="lineno"> 6524</span>{</div>
<div class="line"><a id="l06525" name="l06525"></a><span class="lineno"> 6525</span> Bool_t result = <span class="keyword">true</span>;</div>
<div class="line"><a id="l06526" name="l06526"></a><span class="lineno"> 6526</span> </div>
<div class="line"><a id="l06527" name="l06527"></a><span class="lineno"> 6527</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) { </div>
<div class="line"><a id="l06528" name="l06528"></a><span class="lineno"> 6528</span> <span class="comment">// check grouping entries are not identical, e.g. forward 1 1 2</span></div>
<div class="line"><a id="l06529" name="l06529"></a><span class="lineno"> 6529</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize() &gt; 1) {</div>
<div class="line"><a id="l06530" name="l06530"></a><span class="lineno"> 6530</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize(); j++) {</div>
<div class="line"><a id="l06531" name="l06531"></a><span class="lineno"> 6531</span> <span class="keywordflow">for</span> (UInt_t k=j+1; k&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNoSize(); k++) {</div>
<div class="line"><a id="l06532" name="l06532"></a><span class="lineno"> 6532</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNo(j) == <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetForwardHistoNo(k)) {</div>
<div class="line"><a id="l06533" name="l06533"></a><span class="lineno"> 6533</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckHistoGrouping: **WARNING** grouping identical histograms!!&quot;</span>;</div>
<div class="line"><a id="l06534" name="l06534"></a><span class="lineno"> 6534</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; run no &quot;</span> &lt;&lt; i+1 &lt;&lt; <span class="stringliteral">&quot;, forward histo &quot;</span> &lt;&lt; j+1 &lt;&lt; <span class="stringliteral">&quot; == forward histo &quot;</span> &lt;&lt; k+1 &lt;&lt; <span class="stringliteral">&quot;.&quot;</span>;</div>
<div class="line"><a id="l06535" name="l06535"></a><span class="lineno"> 6535</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; this really doesn&#39;t make any sense, but you are the boss.&quot;</span>;</div>
<div class="line"><a id="l06536" name="l06536"></a><span class="lineno"> 6536</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l06537" name="l06537"></a><span class="lineno"> 6537</span> }</div>
<div class="line"><a id="l06538" name="l06538"></a><span class="lineno"> 6538</span> }</div>
<div class="line"><a id="l06539" name="l06539"></a><span class="lineno"> 6539</span> }</div>
<div class="line"><a id="l06540" name="l06540"></a><span class="lineno"> 6540</span> }</div>
<div class="line"><a id="l06541" name="l06541"></a><span class="lineno"> 6541</span> </div>
<div class="line"><a id="l06542" name="l06542"></a><span class="lineno"> 6542</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize() &gt; 1) {</div>
<div class="line"><a id="l06543" name="l06543"></a><span class="lineno"> 6543</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize(); j++) {</div>
<div class="line"><a id="l06544" name="l06544"></a><span class="lineno"> 6544</span> <span class="keywordflow">for</span> (UInt_t k=j+1; k&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNoSize(); k++) {</div>
<div class="line"><a id="l06545" name="l06545"></a><span class="lineno"> 6545</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNo(j) == <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetBackwardHistoNo(k)) {</div>
<div class="line"><a id="l06546" name="l06546"></a><span class="lineno"> 6546</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckHistoGrouping: **WARNING** grouping identical histograms!!&quot;</span>;</div>
<div class="line"><a id="l06547" name="l06547"></a><span class="lineno"> 6547</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; run no &quot;</span> &lt;&lt; i+1 &lt;&lt; <span class="stringliteral">&quot;, backward histo &quot;</span> &lt;&lt; j+1 &lt;&lt; <span class="stringliteral">&quot; == backward histo &quot;</span> &lt;&lt; k+1 &lt;&lt; <span class="stringliteral">&quot;.&quot;</span>;</div>
<div class="line"><a id="l06548" name="l06548"></a><span class="lineno"> 6548</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; this really doesn&#39;t make any sense, but you are the boss.&quot;</span>;</div>
<div class="line"><a id="l06549" name="l06549"></a><span class="lineno"> 6549</span> std::cerr &lt;&lt; std::endl;</div>
<div class="line"><a id="l06550" name="l06550"></a><span class="lineno"> 6550</span> }</div>
<div class="line"><a id="l06551" name="l06551"></a><span class="lineno"> 6551</span> }</div>
<div class="line"><a id="l06552" name="l06552"></a><span class="lineno"> 6552</span> }</div>
<div class="line"><a id="l06553" name="l06553"></a><span class="lineno"> 6553</span> }</div>
<div class="line"><a id="l06554" name="l06554"></a><span class="lineno"> 6554</span> }</div>
<div class="line"><a id="l06555" name="l06555"></a><span class="lineno"> 6555</span> </div>
<div class="line"><a id="l06556" name="l06556"></a><span class="lineno"> 6556</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l06557" name="l06557"></a><span class="lineno"> 6557</span>}</div>
</div>
<div class="line"><a id="l06558" name="l06558"></a><span class="lineno"> 6558</span> </div>
<div class="line"><a id="l06559" name="l06559"></a><span class="lineno"> 6559</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06560" name="l06560"></a><span class="lineno"> 6560</span><span class="comment">// CheckAddRunParameters (private)</span></div>
<div class="line"><a id="l06561" name="l06561"></a><span class="lineno"> 6561</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06569" data-start="{" data-end="}">
<div class="line"><a id="l06569" name="l06569"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a41bac601ee826c7a0d82c3c3d597cc13"> 6569</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a41bac601ee826c7a0d82c3c3d597cc13">PMsrHandler::CheckAddRunParameters</a>()</div>
<div class="line"><a id="l06570" name="l06570"></a><span class="lineno"> 6570</span>{</div>
<div class="line"><a id="l06571" name="l06571"></a><span class="lineno"> 6571</span> Bool_t result = <span class="keyword">true</span>;</div>
<div class="line"><a id="l06572" name="l06572"></a><span class="lineno"> 6572</span> </div>
<div class="line"><a id="l06573" name="l06573"></a><span class="lineno"> 6573</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l06574" name="l06574"></a><span class="lineno"> 6574</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetRunNameSize() &gt; 1) {</div>
<div class="line"><a id="l06575" name="l06575"></a><span class="lineno"> 6575</span> <span class="comment">// check concerning the addt0 tags</span></div>
<div class="line"><a id="l06576" name="l06576"></a><span class="lineno"> 6576</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAddT0BinEntries() != 0) {</div>
<div class="line"><a id="l06577" name="l06577"></a><span class="lineno"> 6577</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetAddT0BinEntries() != <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetRunNameSize()-1) {</div>
<div class="line"><a id="l06578" name="l06578"></a><span class="lineno"> 6578</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l06579" name="l06579"></a><span class="lineno"> 6579</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l06580" name="l06580"></a><span class="lineno"> 6580</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckAddRunParameters: **ERROR** # of addt0 != # of addruns.\n&quot;</span>;</div>
<div class="line"><a id="l06581" name="l06581"></a><span class="lineno"> 6581</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Run #&quot;</span> &lt;&lt; i+1 &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l06582" name="l06582"></a><span class="lineno"> 6582</span> std::cerr &lt;&lt; std::endl &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l06583" name="l06583"></a><span class="lineno"> 6583</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l06584" name="l06584"></a><span class="lineno"> 6584</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06585" name="l06585"></a><span class="lineno"> 6585</span> }</div>
<div class="line"><a id="l06586" name="l06586"></a><span class="lineno"> 6586</span> }</div>
<div class="line"><a id="l06587" name="l06587"></a><span class="lineno"> 6587</span> }</div>
<div class="line"><a id="l06588" name="l06588"></a><span class="lineno"> 6588</span> }</div>
<div class="line"><a id="l06589" name="l06589"></a><span class="lineno"> 6589</span> </div>
<div class="line"><a id="l06590" name="l06590"></a><span class="lineno"> 6590</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l06591" name="l06591"></a><span class="lineno"> 6591</span>}</div>
</div>
<div class="line"><a id="l06592" name="l06592"></a><span class="lineno"> 6592</span> </div>
<div class="line"><a id="l06593" name="l06593"></a><span class="lineno"> 6593</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06594" name="l06594"></a><span class="lineno"> 6594</span><span class="comment">// CheckMaxLikelihood (private)</span></div>
<div class="line"><a id="l06595" name="l06595"></a><span class="lineno"> 6595</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06601" data-start="{" data-end="}">
<div class="line"><a id="l06601" name="l06601"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a98a7a888a875bab36b365be8ecaf2513"> 6601</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#a98a7a888a875bab36b365be8ecaf2513">PMsrHandler::CheckMaxLikelihood</a>()</div>
<div class="line"><a id="l06602" name="l06602"></a><span class="lineno"> 6602</span>{</div>
<div class="line"><a id="l06603" name="l06603"></a><span class="lineno"> 6603</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq) {</div>
<div class="line"><a id="l06604" name="l06604"></a><span class="lineno"> 6604</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l06605" name="l06605"></a><span class="lineno"> 6605</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitType() != <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a>) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType() != <a class="code hl_define" href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a>) &amp;&amp;</div>
<div class="line"><a id="l06606" name="l06606"></a><span class="lineno"> 6606</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitType() != <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a>) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType() != <a class="code hl_define" href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a>)) {</div>
<div class="line"><a id="l06607" name="l06607"></a><span class="lineno"> 6607</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l06608" name="l06608"></a><span class="lineno"> 6608</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l06609" name="l06609"></a><span class="lineno"> 6609</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckMaxLikelihood: **WARNING**: Maximum Log Likelihood Fit is only implemented\n&quot;</span>;</div>
<div class="line"><a id="l06610" name="l06610"></a><span class="lineno"> 6610</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; for Single Histogram and Mu Minus Fits. Will fall back to Chi Square Fit.\n&quot;</span>;</div>
<div class="line"><a id="l06611" name="l06611"></a><span class="lineno"> 6611</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l06612" name="l06612"></a><span class="lineno"> 6612</span> <a class="code hl_variable" href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">fStatistic</a>.fChisq = <span class="keyword">true</span>;</div>
<div class="line"><a id="l06613" name="l06613"></a><span class="lineno"> 6613</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06614" name="l06614"></a><span class="lineno"> 6614</span> }</div>
<div class="line"><a id="l06615" name="l06615"></a><span class="lineno"> 6615</span> }</div>
<div class="line"><a id="l06616" name="l06616"></a><span class="lineno"> 6616</span> }</div>
<div class="line"><a id="l06617" name="l06617"></a><span class="lineno"> 6617</span>}</div>
</div>
<div class="line"><a id="l06618" name="l06618"></a><span class="lineno"> 6618</span> </div>
<div class="line"><a id="l06619" name="l06619"></a><span class="lineno"> 6619</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06620" name="l06620"></a><span class="lineno"> 6620</span><span class="comment">// CheckRRFSettings (private)</span></div>
<div class="line"><a id="l06621" name="l06621"></a><span class="lineno"> 6621</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06626" data-start="{" data-end="}">
<div class="line"><a id="l06626" name="l06626"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a0ef6b14d858347ea96372a90e2a9a6cf"> 6626</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a0ef6b14d858347ea96372a90e2a9a6cf">PMsrHandler::CheckRRFSettings</a>()</div>
<div class="line"><a id="l06627" name="l06627"></a><span class="lineno"> 6627</span>{</div>
<div class="line"><a id="l06628" name="l06628"></a><span class="lineno"> 6628</span> Bool_t result = <span class="keyword">true</span>;</div>
<div class="line"><a id="l06629" name="l06629"></a><span class="lineno"> 6629</span> Int_t fittype = <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType();</div>
<div class="line"><a id="l06630" name="l06630"></a><span class="lineno"> 6630</span> </div>
<div class="line"><a id="l06631" name="l06631"></a><span class="lineno"> 6631</span> <span class="comment">// first set of tests: if RRF parameters are set, check if RRF fit is chosen.</span></div>
<div class="line"><a id="l06632" name="l06632"></a><span class="lineno"> 6632</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFFreq(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnit().Data()) != <a class="code hl_define" href="PMusr_8h.html#ae852b87a5874b4c1a94e4d3a44b6adbc">RRF_FREQ_UNDEF</a>) {</div>
<div class="line"><a id="l06633" name="l06633"></a><span class="lineno"> 6633</span> <span class="keywordflow">if</span> (fittype != -1) { <span class="comment">// check if GLOBAL fittype is set</span></div>
<div class="line"><a id="l06634" name="l06634"></a><span class="lineno"> 6634</span> <span class="keywordflow">if</span> ((fittype != <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>) &amp;&amp;</div>
<div class="line"><a id="l06635" name="l06635"></a><span class="lineno"> 6635</span> (fittype != <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>)) {</div>
<div class="line"><a id="l06636" name="l06636"></a><span class="lineno"> 6636</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRRFSettings: **ERROR** found GLOBAL fittype &quot;</span> &lt;&lt; fittype &lt;&lt; <span class="stringliteral">&quot; and&quot;</span>;</div>
<div class="line"><a id="l06637" name="l06637"></a><span class="lineno"> 6637</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; RRF settings in the GLOBAL section. This is NOT compatible. Fix it first.&quot;</span>;</div>
<div class="line"><a id="l06638" name="l06638"></a><span class="lineno"> 6638</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l06639" name="l06639"></a><span class="lineno"> 6639</span> }</div>
<div class="line"><a id="l06640" name="l06640"></a><span class="lineno"> 6640</span> } <span class="keywordflow">else</span> { <span class="comment">// GLOBAL fittype is NOT set</span></div>
<div class="line"><a id="l06641" name="l06641"></a><span class="lineno"> 6641</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l06642" name="l06642"></a><span class="lineno"> 6642</span> fittype = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitType();</div>
<div class="line"><a id="l06643" name="l06643"></a><span class="lineno"> 6643</span> <span class="keywordflow">if</span> ((fittype != <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>) &amp;&amp;</div>
<div class="line"><a id="l06644" name="l06644"></a><span class="lineno"> 6644</span> (fittype != <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>)) {</div>
<div class="line"><a id="l06645" name="l06645"></a><span class="lineno"> 6645</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRRFSettings: **ERROR** found RUN with fittype &quot;</span> &lt;&lt; fittype &lt;&lt; <span class="stringliteral">&quot; and&quot;</span>;</div>
<div class="line"><a id="l06646" name="l06646"></a><span class="lineno"> 6646</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; RRF settings in the GLOBAL section. This is NOT compatible. Fix it first.&quot;</span>;</div>
<div class="line"><a id="l06647" name="l06647"></a><span class="lineno"> 6647</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l06648" name="l06648"></a><span class="lineno"> 6648</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06649" name="l06649"></a><span class="lineno"> 6649</span> }</div>
<div class="line"><a id="l06650" name="l06650"></a><span class="lineno"> 6650</span> }</div>
<div class="line"><a id="l06651" name="l06651"></a><span class="lineno"> 6651</span> }</div>
<div class="line"><a id="l06652" name="l06652"></a><span class="lineno"> 6652</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l06653" name="l06653"></a><span class="lineno"> 6653</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPacking() != -1) {</div>
<div class="line"><a id="l06654" name="l06654"></a><span class="lineno"> 6654</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRRFSettings: **WARNING** found in the GLOBAL section rrf_packing, without&quot;</span>;</div>
<div class="line"><a id="l06655" name="l06655"></a><span class="lineno"> 6655</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; rrf_freq. Doesn&#39;t make any sense. Will drop rrf_packing&quot;</span>;</div>
<div class="line"><a id="l06656" name="l06656"></a><span class="lineno"> 6656</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l06657" name="l06657"></a><span class="lineno"> 6657</span> <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.SetRRFPacking(-1);</div>
<div class="line"><a id="l06658" name="l06658"></a><span class="lineno"> 6658</span> }</div>
<div class="line"><a id="l06659" name="l06659"></a><span class="lineno"> 6659</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPhase() != 0.0) {</div>
<div class="line"><a id="l06660" name="l06660"></a><span class="lineno"> 6660</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRRFSettings: **WARNING** found in the GLOBAL section rrf_phase, without&quot;</span>;</div>
<div class="line"><a id="l06661" name="l06661"></a><span class="lineno"> 6661</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; rrf_freq. Doesn&#39;t make any sense. Will drop rrf_phase&quot;</span>;</div>
<div class="line"><a id="l06662" name="l06662"></a><span class="lineno"> 6662</span> std::cerr &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l06663" name="l06663"></a><span class="lineno"> 6663</span> <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.SetRRFPhase(0.0);</div>
<div class="line"><a id="l06664" name="l06664"></a><span class="lineno"> 6664</span> }</div>
<div class="line"><a id="l06665" name="l06665"></a><span class="lineno"> 6665</span> }</div>
<div class="line"><a id="l06666" name="l06666"></a><span class="lineno"> 6666</span> </div>
<div class="line"><a id="l06667" name="l06667"></a><span class="lineno"> 6667</span> <span class="comment">// if not a RRF fit, done at this point</span></div>
<div class="line"><a id="l06668" name="l06668"></a><span class="lineno"> 6668</span> <span class="keywordflow">if</span> ((fittype != <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>) &amp;&amp;</div>
<div class="line"><a id="l06669" name="l06669"></a><span class="lineno"> 6669</span> (fittype != <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>)) {</div>
<div class="line"><a id="l06670" name="l06670"></a><span class="lineno"> 6670</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l06671" name="l06671"></a><span class="lineno"> 6671</span> }</div>
<div class="line"><a id="l06672" name="l06672"></a><span class="lineno"> 6672</span> </div>
<div class="line"><a id="l06673" name="l06673"></a><span class="lineno"> 6673</span> <span class="comment">// second set of tests: if RRF fit is chosen, do I find the necessary RRF parameters?</span></div>
<div class="line"><a id="l06674" name="l06674"></a><span class="lineno"> 6674</span> fittype = <a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetFitType();</div>
<div class="line"><a id="l06675" name="l06675"></a><span class="lineno"> 6675</span> <span class="keywordflow">if</span> ((fittype == <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>) ||</div>
<div class="line"><a id="l06676" name="l06676"></a><span class="lineno"> 6676</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>)) { <span class="comment">// make sure RRF freq and RRF packing are set</span></div>
<div class="line"><a id="l06677" name="l06677"></a><span class="lineno"> 6677</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFFreq(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnit().Data()) == <a class="code hl_define" href="PMusr_8h.html#ae852b87a5874b4c1a94e4d3a44b6adbc">RRF_FREQ_UNDEF</a>) {</div>
<div class="line"><a id="l06678" name="l06678"></a><span class="lineno"> 6678</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but&quot;</span>;</div>
<div class="line"><a id="l06679" name="l06679"></a><span class="lineno"> 6679</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; no RRF frequency found in the GLOBAL section! Fix it.&quot;</span>;</div>
<div class="line"><a id="l06680" name="l06680"></a><span class="lineno"> 6680</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06681" name="l06681"></a><span class="lineno"> 6681</span> }</div>
<div class="line"><a id="l06682" name="l06682"></a><span class="lineno"> 6682</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPacking() == -1) {</div>
<div class="line"><a id="l06683" name="l06683"></a><span class="lineno"> 6683</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but&quot;</span>;</div>
<div class="line"><a id="l06684" name="l06684"></a><span class="lineno"> 6684</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; no RRF packing found in the GLOBAL section! Fix it.&quot;</span>;</div>
<div class="line"><a id="l06685" name="l06685"></a><span class="lineno"> 6685</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06686" name="l06686"></a><span class="lineno"> 6686</span> }</div>
<div class="line"><a id="l06687" name="l06687"></a><span class="lineno"> 6687</span> } <span class="keywordflow">else</span> { <span class="comment">// check single runs for RRF</span></div>
<div class="line"><a id="l06688" name="l06688"></a><span class="lineno"> 6688</span> UInt_t rrfFitCounter = 0;</div>
<div class="line"><a id="l06689" name="l06689"></a><span class="lineno"> 6689</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size(); i++) {</div>
<div class="line"><a id="l06690" name="l06690"></a><span class="lineno"> 6690</span> fittype = <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[i].GetFitType();</div>
<div class="line"><a id="l06691" name="l06691"></a><span class="lineno"> 6691</span> <span class="keywordflow">if</span> ((fittype == <a class="code hl_define" href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a>) ||</div>
<div class="line"><a id="l06692" name="l06692"></a><span class="lineno"> 6692</span> (fittype == <a class="code hl_define" href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a>)) { <span class="comment">// make sure RRF freq and RRF packing are set</span></div>
<div class="line"><a id="l06693" name="l06693"></a><span class="lineno"> 6693</span> rrfFitCounter++;</div>
<div class="line"><a id="l06694" name="l06694"></a><span class="lineno"> 6694</span> }</div>
<div class="line"><a id="l06695" name="l06695"></a><span class="lineno"> 6695</span> }</div>
<div class="line"><a id="l06696" name="l06696"></a><span class="lineno"> 6696</span> <span class="keywordflow">if</span> (rrfFitCounter != <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size()) {</div>
<div class="line"><a id="l06697" name="l06697"></a><span class="lineno"> 6697</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRRFSettings: **ERROR** #Runs (&quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>.size() &lt;&lt; <span class="stringliteral">&quot;) != # RRF fits found (&quot;</span> &lt;&lt; rrfFitCounter &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div>
<div class="line"><a id="l06698" name="l06698"></a><span class="lineno"> 6698</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; This is currently not supported.&quot;</span>;</div>
<div class="line"><a id="l06699" name="l06699"></a><span class="lineno"> 6699</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06700" name="l06700"></a><span class="lineno"> 6700</span> }</div>
<div class="line"><a id="l06701" name="l06701"></a><span class="lineno"> 6701</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFFreq(<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFUnit().Data()) == <a class="code hl_define" href="PMusr_8h.html#ae852b87a5874b4c1a94e4d3a44b6adbc">RRF_FREQ_UNDEF</a>) {</div>
<div class="line"><a id="l06702" name="l06702"></a><span class="lineno"> 6702</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but&quot;</span>;</div>
<div class="line"><a id="l06703" name="l06703"></a><span class="lineno"> 6703</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; no RRF frequency found in the GLOBAL section! Fix it.&quot;</span>;</div>
<div class="line"><a id="l06704" name="l06704"></a><span class="lineno"> 6704</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06705" name="l06705"></a><span class="lineno"> 6705</span> }</div>
<div class="line"><a id="l06706" name="l06706"></a><span class="lineno"> 6706</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">fGlobal</a>.GetRRFPacking() == -1) {</div>
<div class="line"><a id="l06707" name="l06707"></a><span class="lineno"> 6707</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but&quot;</span>;</div>
<div class="line"><a id="l06708" name="l06708"></a><span class="lineno"> 6708</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; no RRF packing found in the GLOBAL section! Fix it.&quot;</span>;</div>
<div class="line"><a id="l06709" name="l06709"></a><span class="lineno"> 6709</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06710" name="l06710"></a><span class="lineno"> 6710</span> }</div>
<div class="line"><a id="l06711" name="l06711"></a><span class="lineno"> 6711</span> }</div>
<div class="line"><a id="l06712" name="l06712"></a><span class="lineno"> 6712</span> </div>
<div class="line"><a id="l06713" name="l06713"></a><span class="lineno"> 6713</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l06714" name="l06714"></a><span class="lineno"> 6714</span>}</div>
</div>
<div class="line"><a id="l06715" name="l06715"></a><span class="lineno"> 6715</span> </div>
<div class="line"><a id="l06716" name="l06716"></a><span class="lineno"> 6716</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06717" name="l06717"></a><span class="lineno"> 6717</span><span class="comment">// CheckRealFFT (private)</span></div>
<div class="line"><a id="l06718" name="l06718"></a><span class="lineno"> 6718</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06724" data-start="{" data-end="}">
<div class="line"><a id="l06724" name="l06724"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a7deba85e7a5b0ce45cbeae312162f529"> 6724</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a7deba85e7a5b0ce45cbeae312162f529">PMsrHandler::CheckRealFFT</a>()</div>
<div class="line"><a id="l06725" name="l06725"></a><span class="lineno"> 6725</span>{</div>
<div class="line"><a id="l06726" name="l06726"></a><span class="lineno"> 6726</span> <span class="comment">// if no Fourier block is present, nothing needs to be checked</span></div>
<div class="line"><a id="l06727" name="l06727"></a><span class="lineno"> 6727</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fFourierBlockPresent)</div>
<div class="line"><a id="l06728" name="l06728"></a><span class="lineno"> 6728</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l06729" name="l06729"></a><span class="lineno"> 6729</span> </div>
<div class="line"><a id="l06730" name="l06730"></a><span class="lineno"> 6730</span> <span class="comment">// if Fourier is set to power spectra, no phase checks are needed</span></div>
<div class="line"><a id="l06731" name="l06731"></a><span class="lineno"> 6731</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPlotTag == <a class="code hl_define" href="PMusr_8h.html#a4dda98b3e47269c7ffb9ee8f7e7b405a">FOURIER_PLOT_POWER</a>)</div>
<div class="line"><a id="l06732" name="l06732"></a><span class="lineno"> 6732</span> <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a id="l06733" name="l06733"></a><span class="lineno"> 6733</span> </div>
<div class="line"><a id="l06734" name="l06734"></a><span class="lineno"> 6734</span> <span class="comment">// check if the given phases in the Fourier block are in agreement with the Plot block settings</span></div>
<div class="line"><a id="l06735" name="l06735"></a><span class="lineno"> 6735</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase.size() &gt; 1) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>.size() &gt; 0)) {</div>
<div class="line"><a id="l06736" name="l06736"></a><span class="lineno"> 6736</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase.size() != <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[0].fRuns.size()) {</div>
<div class="line"><a id="l06737" name="l06737"></a><span class="lineno"> 6737</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l06738" name="l06738"></a><span class="lineno"> 6738</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear(); </div>
<div class="line"><a id="l06739" name="l06739"></a><span class="lineno"> 6739</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ReadMsrFile: **ERROR** if more than one phase is given in the Fourier block,\n&quot;</span>;</div>
<div class="line"><a id="l06740" name="l06740"></a><span class="lineno"> 6740</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; it needs to correspond to the number of runs in the Plot block!\n&quot;</span>;</div>
<div class="line"><a id="l06741" name="l06741"></a><span class="lineno"> 6741</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; currently:\n&quot;</span>;</div>
<div class="line"><a id="l06742" name="l06742"></a><span class="lineno"> 6742</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; number of runs in the PLOT block: &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[0].fRuns.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l06743" name="l06743"></a><span class="lineno"> 6743</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; number of phases in the FOURIER block: &quot;</span> &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l06744" name="l06744"></a><span class="lineno"> 6744</span> std::cerr &lt;&lt; std::endl &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l06745" name="l06745"></a><span class="lineno"> 6745</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06746" name="l06746"></a><span class="lineno"> 6746</span> }</div>
<div class="line"><a id="l06747" name="l06747"></a><span class="lineno"> 6747</span> }</div>
<div class="line"><a id="l06748" name="l06748"></a><span class="lineno"> 6748</span> </div>
<div class="line"><a id="l06749" name="l06749"></a><span class="lineno"> 6749</span> <span class="comment">// make sure that FOURIER phases are defined</span></div>
<div class="line"><a id="l06750" name="l06750"></a><span class="lineno"> 6750</span> <span class="keywordflow">if</span> ((<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhase.size() == 0) &amp;&amp; (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size() == 0)) {</div>
<div class="line"><a id="l06751" name="l06751"></a><span class="lineno"> 6751</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l06752" name="l06752"></a><span class="lineno"> 6752</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.clear();</div>
<div class="line"><a id="l06753" name="l06753"></a><span class="lineno"> 6753</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::ReadMsrFile: **ERROR** for FOURIER plot != POWER,\n&quot;</span>;</div>
<div class="line"><a id="l06754" name="l06754"></a><span class="lineno"> 6754</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; phases need to be defined in the FOURIER block!\n&quot;</span>;</div>
<div class="line"><a id="l06755" name="l06755"></a><span class="lineno"> 6755</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; Examples:\n&quot;</span>;</div>
<div class="line"><a id="l06756" name="l06756"></a><span class="lineno"> 6756</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; phase parR7 par9 par13 par16\n&quot;</span>;</div>
<div class="line"><a id="l06757" name="l06757"></a><span class="lineno"> 6757</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; where parR7 is the reference phase, and the others the relative phases.\n&quot;</span>;</div>
<div class="line"><a id="l06758" name="l06758"></a><span class="lineno"> 6758</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; I.e. phase of run 2: parR7 + par9, etc.\n&quot;</span>;</div>
<div class="line"><a id="l06759" name="l06759"></a><span class="lineno"> 6759</span> <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a> &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; For further details see the docu.\n&quot;</span>;</div>
<div class="line"><a id="l06760" name="l06760"></a><span class="lineno"> 6760</span> std::cerr &lt;&lt; std::endl &lt;&lt; <a class="code hl_variable" href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">fLastErrorMsg</a>.str();</div>
<div class="line"><a id="l06761" name="l06761"></a><span class="lineno"> 6761</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l06762" name="l06762"></a><span class="lineno"> 6762</span> }</div>
<div class="line"><a id="l06763" name="l06763"></a><span class="lineno"> 6763</span> </div>
<div class="line"><a id="l06764" name="l06764"></a><span class="lineno"> 6764</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l06765" name="l06765"></a><span class="lineno"> 6765</span>}</div>
</div>
<div class="line"><a id="l06766" name="l06766"></a><span class="lineno"> 6766</span> </div>
<div class="line"><a id="l06767" name="l06767"></a><span class="lineno"> 6767</span> </div>
<div class="line"><a id="l06768" name="l06768"></a><span class="lineno"> 6768</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06769" name="l06769"></a><span class="lineno"> 6769</span><span class="comment">// GetGroupingString (public)</span></div>
<div class="line"><a id="l06770" name="l06770"></a><span class="lineno"> 6770</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06778" data-start="{" data-end="}">
<div class="line"><a id="l06778" name="l06778"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#ab9e9f58b5cb0f31d332dfcfeb464dcff"> 6778</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#ab9e9f58b5cb0f31d332dfcfeb464dcff">PMsrHandler::GetGroupingString</a>(Int_t runNo, TString detector, TString &amp;groupingStr)</div>
<div class="line"><a id="l06779" name="l06779"></a><span class="lineno"> 6779</span>{</div>
<div class="line"><a id="l06780" name="l06780"></a><span class="lineno"> 6780</span> <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> grouping;</div>
<div class="line"><a id="l06781" name="l06781"></a><span class="lineno"> 6781</span> </div>
<div class="line"><a id="l06782" name="l06782"></a><span class="lineno"> 6782</span> <span class="keywordflow">if</span> (!detector.CompareTo(<span class="stringliteral">&quot;forward&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l06783" name="l06783"></a><span class="lineno"> 6783</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetForwardHistoNoSize(); i++)</div>
<div class="line"><a id="l06784" name="l06784"></a><span class="lineno"> 6784</span> grouping.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetForwardHistoNo(i));</div>
<div class="line"><a id="l06785" name="l06785"></a><span class="lineno"> 6785</span> <a class="code hl_function" href="classPMsrHandler.html#add33e34a48c2aa3fddd87314c185789d">MakeDetectorGroupingString</a>(<span class="stringliteral">&quot;forward&quot;</span>, grouping, groupingStr, <span class="keyword">false</span>);</div>
<div class="line"><a id="l06786" name="l06786"></a><span class="lineno"> 6786</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!detector.CompareTo(<span class="stringliteral">&quot;backward&quot;</span>, TString::kIgnoreCase)) {</div>
<div class="line"><a id="l06787" name="l06787"></a><span class="lineno"> 6787</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBackwardHistoNoSize(); i++)</div>
<div class="line"><a id="l06788" name="l06788"></a><span class="lineno"> 6788</span> grouping.push_back(<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[runNo].GetBackwardHistoNo(i));</div>
<div class="line"><a id="l06789" name="l06789"></a><span class="lineno"> 6789</span> <a class="code hl_function" href="classPMsrHandler.html#add33e34a48c2aa3fddd87314c185789d">MakeDetectorGroupingString</a>(<span class="stringliteral">&quot;backward&quot;</span>, grouping, groupingStr, <span class="keyword">false</span>);</div>
<div class="line"><a id="l06790" name="l06790"></a><span class="lineno"> 6790</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l06791" name="l06791"></a><span class="lineno"> 6791</span> groupingStr = <span class="stringliteral">&quot;**ERROR** unkown detector. Allow forward/backward.&quot;</span>;</div>
<div class="line"><a id="l06792" name="l06792"></a><span class="lineno"> 6792</span> }</div>
<div class="line"><a id="l06793" name="l06793"></a><span class="lineno"> 6793</span> </div>
<div class="line"><a id="l06794" name="l06794"></a><span class="lineno"> 6794</span> <span class="comment">// clean up</span></div>
<div class="line"><a id="l06795" name="l06795"></a><span class="lineno"> 6795</span> grouping.clear();</div>
<div class="line"><a id="l06796" name="l06796"></a><span class="lineno"> 6796</span>}</div>
</div>
<div class="line"><a id="l06797" name="l06797"></a><span class="lineno"> 6797</span> </div>
<div class="line"><a id="l06798" name="l06798"></a><span class="lineno"> 6798</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06799" name="l06799"></a><span class="lineno"> 6799</span><span class="comment">// EstimateN0 (public)</span></div>
<div class="line"><a id="l06800" name="l06800"></a><span class="lineno"> 6800</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06804" data-start="{" data-end="}">
<div class="line"><a id="l06804" name="l06804"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a0f099093e0e72a761305117beba46c88"> 6804</a></span>Bool_t <a class="code hl_function" href="classPMsrHandler.html#a0f099093e0e72a761305117beba46c88">PMsrHandler::EstimateN0</a>()</div>
<div class="line"><a id="l06805" name="l06805"></a><span class="lineno"> 6805</span>{</div>
<div class="line"><a id="l06806" name="l06806"></a><span class="lineno"> 6806</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a> == <span class="keyword">nullptr</span>)</div>
<div class="line"><a id="l06807" name="l06807"></a><span class="lineno"> 6807</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l06808" name="l06808"></a><span class="lineno"> 6808</span> </div>
<div class="line"><a id="l06809" name="l06809"></a><span class="lineno"> 6809</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">fStartupOptions</a>-&gt;estimateN0;</div>
<div class="line"><a id="l06810" name="l06810"></a><span class="lineno"> 6810</span>}</div>
</div>
<div class="line"><a id="l06811" name="l06811"></a><span class="lineno"> 6811</span> </div>
<div class="line"><a id="l06812" name="l06812"></a><span class="lineno"> 6812</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06813" name="l06813"></a><span class="lineno"> 6813</span><span class="comment">// NeededPrecision (private)</span></div>
<div class="line"><a id="l06814" name="l06814"></a><span class="lineno"> 6814</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06824" data-start="{" data-end="}">
<div class="line"><a id="l06824" name="l06824"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a022ce5f2a8b6b8b08e1981db1de853dc"> 6824</a></span>UInt_t <a class="code hl_function" href="classPMsrHandler.html#a022ce5f2a8b6b8b08e1981db1de853dc">PMsrHandler::NeededPrecision</a>(Double_t dval, UInt_t precLimit)</div>
<div class="line"><a id="l06825" name="l06825"></a><span class="lineno"> 6825</span>{</div>
<div class="line"><a id="l06826" name="l06826"></a><span class="lineno"> 6826</span> UInt_t prec=0;</div>
<div class="line"><a id="l06827" name="l06827"></a><span class="lineno"> 6827</span> </div>
<div class="line"><a id="l06828" name="l06828"></a><span class="lineno"> 6828</span> <span class="keywordflow">if</span> (dval == 0.0)</div>
<div class="line"><a id="l06829" name="l06829"></a><span class="lineno"> 6829</span> <span class="keywordflow">return</span> prec;</div>
<div class="line"><a id="l06830" name="l06830"></a><span class="lineno"> 6830</span> </div>
<div class="line"><a id="l06831" name="l06831"></a><span class="lineno"> 6831</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;precLimit; i++) {</div>
<div class="line"><a id="l06832" name="l06832"></a><span class="lineno"> 6832</span> <span class="keywordflow">if</span> (<span class="keyword">static_cast&lt;</span>Int_t<span class="keyword">&gt;</span>(dval*pow(10.0,<span class="keyword">static_cast&lt;</span>Double_t<span class="keyword">&gt;</span>(i))) != 0) {</div>
<div class="line"><a id="l06833" name="l06833"></a><span class="lineno"> 6833</span> prec = i;</div>
<div class="line"><a id="l06834" name="l06834"></a><span class="lineno"> 6834</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06835" name="l06835"></a><span class="lineno"> 6835</span> }</div>
<div class="line"><a id="l06836" name="l06836"></a><span class="lineno"> 6836</span> }</div>
<div class="line"><a id="l06837" name="l06837"></a><span class="lineno"> 6837</span> </div>
<div class="line"><a id="l06838" name="l06838"></a><span class="lineno"> 6838</span> <span class="keywordflow">if</span> (prec == precLimit) {</div>
<div class="line"><a id="l06839" name="l06839"></a><span class="lineno"> 6839</span> std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;&gt;&gt; PMsrHandler::NeededPrecision(): **WARNING** precision limit of &quot;</span> &lt;&lt; precLimit &lt;&lt; <span class="stringliteral">&quot;, requested.&quot;</span>;</div>
<div class="line"><a id="l06840" name="l06840"></a><span class="lineno"> 6840</span> }</div>
<div class="line"><a id="l06841" name="l06841"></a><span class="lineno"> 6841</span> </div>
<div class="line"><a id="l06842" name="l06842"></a><span class="lineno"> 6842</span> <span class="keywordflow">return</span> prec;</div>
<div class="line"><a id="l06843" name="l06843"></a><span class="lineno"> 6843</span>}</div>
</div>
<div class="line"><a id="l06844" name="l06844"></a><span class="lineno"> 6844</span> </div>
<div class="line"><a id="l06845" name="l06845"></a><span class="lineno"> 6845</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06846" name="l06846"></a><span class="lineno"> 6846</span><span class="comment">// LastSignifiant (private)</span></div>
<div class="line"><a id="l06847" name="l06847"></a><span class="lineno"> 6847</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06856" data-start="{" data-end="}">
<div class="line"><a id="l06856" name="l06856"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8"> 6856</a></span>UInt_t <a class="code hl_function" href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">PMsrHandler::LastSignificant</a>(Double_t dval, UInt_t precLimit)</div>
<div class="line"><a id="l06857" name="l06857"></a><span class="lineno"> 6857</span>{</div>
<div class="line"><a id="l06858" name="l06858"></a><span class="lineno"> 6858</span> UInt_t lastSignificant = 2;</div>
<div class="line"><a id="l06859" name="l06859"></a><span class="lineno"> 6859</span> UInt_t decimalPoint = 0;</div>
<div class="line"><a id="l06860" name="l06860"></a><span class="lineno"> 6860</span> </div>
<div class="line"><a id="l06861" name="l06861"></a><span class="lineno"> 6861</span> <span class="keywordtype">char</span> str[128];</div>
<div class="line"><a id="l06862" name="l06862"></a><span class="lineno"> 6862</span> </div>
<div class="line"><a id="l06863" name="l06863"></a><span class="lineno"> 6863</span> snprintf(str, <span class="keyword">sizeof</span>(str), <span class="stringliteral">&quot;%lf&quot;</span>, dval);</div>
<div class="line"><a id="l06864" name="l06864"></a><span class="lineno"> 6864</span> </div>
<div class="line"><a id="l06865" name="l06865"></a><span class="lineno"> 6865</span> <span class="comment">// find decimal point</span></div>
<div class="line"><a id="l06866" name="l06866"></a><span class="lineno"> 6866</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;strlen(str); i++) {</div>
<div class="line"><a id="l06867" name="l06867"></a><span class="lineno"> 6867</span> <span class="keywordflow">if</span> (str[i] == <span class="charliteral">&#39;.&#39;</span>) {</div>
<div class="line"><a id="l06868" name="l06868"></a><span class="lineno"> 6868</span> decimalPoint = i;</div>
<div class="line"><a id="l06869" name="l06869"></a><span class="lineno"> 6869</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06870" name="l06870"></a><span class="lineno"> 6870</span> }</div>
<div class="line"><a id="l06871" name="l06871"></a><span class="lineno"> 6871</span> }</div>
<div class="line"><a id="l06872" name="l06872"></a><span class="lineno"> 6872</span> </div>
<div class="line"><a id="l06873" name="l06873"></a><span class="lineno"> 6873</span> <span class="comment">// find last significant digit</span></div>
<div class="line"><a id="l06874" name="l06874"></a><span class="lineno"> 6874</span> <span class="keywordflow">for</span> (Int_t i=strlen(str)-1; i&gt;=0; i--) {</div>
<div class="line"><a id="l06875" name="l06875"></a><span class="lineno"> 6875</span> <span class="keywordflow">if</span> (str[i] != <span class="charliteral">&#39;0&#39;</span>) {</div>
<div class="line"><a id="l06876" name="l06876"></a><span class="lineno"> 6876</span> <span class="keywordflow">if</span> ((<span class="keyword">static_cast&lt;</span>UInt_t<span class="keyword">&gt;</span>(i)-decimalPoint) &lt; precLimit)</div>
<div class="line"><a id="l06877" name="l06877"></a><span class="lineno"> 6877</span> lastSignificant = <span class="keyword">static_cast&lt;</span>UInt_t<span class="keyword">&gt;</span>(i)-decimalPoint;</div>
<div class="line"><a id="l06878" name="l06878"></a><span class="lineno"> 6878</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l06879" name="l06879"></a><span class="lineno"> 6879</span> lastSignificant = precLimit;</div>
<div class="line"><a id="l06880" name="l06880"></a><span class="lineno"> 6880</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06881" name="l06881"></a><span class="lineno"> 6881</span> }</div>
<div class="line"><a id="l06882" name="l06882"></a><span class="lineno"> 6882</span> }</div>
<div class="line"><a id="l06883" name="l06883"></a><span class="lineno"> 6883</span> </div>
<div class="line"><a id="l06884" name="l06884"></a><span class="lineno"> 6884</span> <span class="keywordflow">return</span> lastSignificant;</div>
<div class="line"><a id="l06885" name="l06885"></a><span class="lineno"> 6885</span>}</div>
</div>
<div class="line"><a id="l06886" name="l06886"></a><span class="lineno"> 6886</span> </div>
<div class="line"><a id="l06887" name="l06887"></a><span class="lineno"> 6887</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06888" name="l06888"></a><span class="lineno"> 6888</span><span class="comment">// MakeDetectorGroupingString (private)</span></div>
<div class="line"><a id="l06889" name="l06889"></a><span class="lineno"> 6889</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06898" data-start="{" data-end="}">
<div class="line"><a id="l06898" name="l06898"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#add33e34a48c2aa3fddd87314c185789d"> 6898</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#add33e34a48c2aa3fddd87314c185789d">PMsrHandler::MakeDetectorGroupingString</a>(TString str, <a class="code hl_typedef" href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a> &amp;group, TString &amp;result, Bool_t includeDetector)</div>
<div class="line"><a id="l06899" name="l06899"></a><span class="lineno"> 6899</span>{</div>
<div class="line"><a id="l06900" name="l06900"></a><span class="lineno"> 6900</span> <span class="keywordflow">if</span> (includeDetector) {</div>
<div class="line"><a id="l06901" name="l06901"></a><span class="lineno"> 6901</span> result = str + TString(<span class="stringliteral">&quot; &quot;</span>);</div>
<div class="line"><a id="l06902" name="l06902"></a><span class="lineno"> 6902</span> <span class="keywordflow">if</span> (str == TString(<span class="stringliteral">&quot;forward&quot;</span>))</div>
<div class="line"><a id="l06903" name="l06903"></a><span class="lineno"> 6903</span> result += <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l06904" name="l06904"></a><span class="lineno"> 6904</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l06905" name="l06905"></a><span class="lineno"> 6905</span> str = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l06906" name="l06906"></a><span class="lineno"> 6906</span> }</div>
<div class="line"><a id="l06907" name="l06907"></a><span class="lineno"> 6907</span> </div>
<div class="line"><a id="l06908" name="l06908"></a><span class="lineno"> 6908</span> <span class="keywordflow">if</span> (group.size()==0)</div>
<div class="line"><a id="l06909" name="l06909"></a><span class="lineno"> 6909</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l06910" name="l06910"></a><span class="lineno"> 6910</span> </div>
<div class="line"><a id="l06911" name="l06911"></a><span class="lineno"> 6911</span> UInt_t i=0, j=0;</div>
<div class="line"><a id="l06912" name="l06912"></a><span class="lineno"> 6912</span> <span class="keywordflow">do</span> {</div>
<div class="line"><a id="l06913" name="l06913"></a><span class="lineno"> 6913</span> j = i;</div>
<div class="line"><a id="l06914" name="l06914"></a><span class="lineno"> 6914</span> <span class="keywordflow">if</span> (j+1 &lt; group.size()) {</div>
<div class="line"><a id="l06915" name="l06915"></a><span class="lineno"> 6915</span> <span class="keywordflow">while</span> (group[j]+1 == group[j+1]) {</div>
<div class="line"><a id="l06916" name="l06916"></a><span class="lineno"> 6916</span> j++;</div>
<div class="line"><a id="l06917" name="l06917"></a><span class="lineno"> 6917</span> <span class="keywordflow">if</span> (j == group.size()-1)</div>
<div class="line"><a id="l06918" name="l06918"></a><span class="lineno"> 6918</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06919" name="l06919"></a><span class="lineno"> 6919</span> }</div>
<div class="line"><a id="l06920" name="l06920"></a><span class="lineno"> 6920</span> }</div>
<div class="line"><a id="l06921" name="l06921"></a><span class="lineno"> 6921</span> </div>
<div class="line"><a id="l06922" name="l06922"></a><span class="lineno"> 6922</span> <span class="keywordflow">if</span> (j &gt;= i+2) {</div>
<div class="line"><a id="l06923" name="l06923"></a><span class="lineno"> 6923</span> result += group[i];</div>
<div class="line"><a id="l06924" name="l06924"></a><span class="lineno"> 6924</span> result += <span class="stringliteral">&quot;-&quot;</span>;</div>
<div class="line"><a id="l06925" name="l06925"></a><span class="lineno"> 6925</span> result += group[j];</div>
<div class="line"><a id="l06926" name="l06926"></a><span class="lineno"> 6926</span> i = j+1;</div>
<div class="line"><a id="l06927" name="l06927"></a><span class="lineno"> 6927</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l06928" name="l06928"></a><span class="lineno"> 6928</span> result += group[i];</div>
<div class="line"><a id="l06929" name="l06929"></a><span class="lineno"> 6929</span> i++;</div>
<div class="line"><a id="l06930" name="l06930"></a><span class="lineno"> 6930</span> }</div>
<div class="line"><a id="l06931" name="l06931"></a><span class="lineno"> 6931</span> result += <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l06932" name="l06932"></a><span class="lineno"> 6932</span> } <span class="keywordflow">while</span> (i&lt;group.size());</div>
<div class="line"><a id="l06933" name="l06933"></a><span class="lineno"> 6933</span>}</div>
</div>
<div class="line"><a id="l06934" name="l06934"></a><span class="lineno"> 6934</span> </div>
<div class="line"><a id="l06935" name="l06935"></a><span class="lineno"> 6935</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l06936" name="l06936"></a><span class="lineno"> 6936</span><span class="comment">// BeautifyFourierPhaseParameterString (private)</span></div>
<div class="line"><a id="l06937" name="l06937"></a><span class="lineno"> 6937</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen06945" data-start="{" data-end="}">
<div class="line"><a id="l06945" name="l06945"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#a5618ced41cddc71ea25fc16987d70b9a"> 6945</a></span>TString <a class="code hl_function" href="classPMsrHandler.html#a5618ced41cddc71ea25fc16987d70b9a">PMsrHandler::BeautifyFourierPhaseParameterString</a>()</div>
<div class="line"><a id="l06946" name="l06946"></a><span class="lineno"> 6946</span>{</div>
<div class="line"><a id="l06947" name="l06947"></a><span class="lineno"> 6947</span> TString str(<span class="stringliteral">&quot;??&quot;</span>);</div>
<div class="line"><a id="l06948" name="l06948"></a><span class="lineno"> 6948</span> TString formatStr(<span class="stringliteral">&quot;par%d, par%d&quot;</span>);</div>
<div class="line"><a id="l06949" name="l06949"></a><span class="lineno"> 6949</span> </div>
<div class="line"><a id="l06950" name="l06950"></a><span class="lineno"> 6950</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size() == 0)</div>
<div class="line"><a id="l06951" name="l06951"></a><span class="lineno"> 6951</span> <span class="keywordflow">return</span> str;</div>
<div class="line"><a id="l06952" name="l06952"></a><span class="lineno"> 6952</span> </div>
<div class="line"><a id="l06953" name="l06953"></a><span class="lineno"> 6953</span> Int_t phaseRef = <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseRef;</div>
<div class="line"><a id="l06954" name="l06954"></a><span class="lineno"> 6954</span> </div>
<div class="line"><a id="l06955" name="l06955"></a><span class="lineno"> 6955</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size() == 1) {</div>
<div class="line"><a id="l06956" name="l06956"></a><span class="lineno"> 6956</span> str = TString::Format(<span class="stringliteral">&quot;par%d&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[0]);</div>
<div class="line"><a id="l06957" name="l06957"></a><span class="lineno"> 6957</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size() == 2) {</div>
<div class="line"><a id="l06958" name="l06958"></a><span class="lineno"> 6958</span> <span class="keywordflow">if</span> (phaseRef == <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[0])</div>
<div class="line"><a id="l06959" name="l06959"></a><span class="lineno"> 6959</span> formatStr = <span class="stringliteral">&quot;parR%d, par%d&quot;</span>;</div>
<div class="line"><a id="l06960" name="l06960"></a><span class="lineno"> 6960</span> <span class="keywordflow">if</span> (phaseRef == <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[1])</div>
<div class="line"><a id="l06961" name="l06961"></a><span class="lineno"> 6961</span> formatStr = <span class="stringliteral">&quot;par%d, parR%d&quot;</span>;</div>
<div class="line"><a id="l06962" name="l06962"></a><span class="lineno"> 6962</span> str = TString::Format(formatStr, <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[0], <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[1]);</div>
<div class="line"><a id="l06963" name="l06963"></a><span class="lineno"> 6963</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l06964" name="l06964"></a><span class="lineno"> 6964</span> Bool_t phaseIter = <span class="keyword">true</span>;</div>
<div class="line"><a id="l06965" name="l06965"></a><span class="lineno"> 6965</span> </div>
<div class="line"><a id="l06966" name="l06966"></a><span class="lineno"> 6966</span> <span class="comment">// first check if fPhaseParamNo vector can be compacted into par(X0, offset, #param) form</span></div>
<div class="line"><a id="l06967" name="l06967"></a><span class="lineno"> 6967</span> Int_t offset = <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[1] - <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[0];</div>
<div class="line"><a id="l06968" name="l06968"></a><span class="lineno"> 6968</span> <span class="keywordflow">for</span> (Int_t i=2; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size(); i++) {</div>
<div class="line"><a id="l06969" name="l06969"></a><span class="lineno"> 6969</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[i]-<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[i-1] != offset) {</div>
<div class="line"><a id="l06970" name="l06970"></a><span class="lineno"> 6970</span> phaseIter = <span class="keyword">false</span>;</div>
<div class="line"><a id="l06971" name="l06971"></a><span class="lineno"> 6971</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l06972" name="l06972"></a><span class="lineno"> 6972</span> }</div>
<div class="line"><a id="l06973" name="l06973"></a><span class="lineno"> 6973</span> }</div>
<div class="line"><a id="l06974" name="l06974"></a><span class="lineno"> 6974</span> </div>
<div class="line"><a id="l06975" name="l06975"></a><span class="lineno"> 6975</span> <span class="keywordflow">if</span> (phaseIter) {</div>
<div class="line"><a id="l06976" name="l06976"></a><span class="lineno"> 6976</span> <span class="keywordflow">if</span> (phaseRef != -1) {</div>
<div class="line"><a id="l06977" name="l06977"></a><span class="lineno"> 6977</span> str = TString::Format(<span class="stringliteral">&quot;parR(%d, %d, %lu)&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[0], offset, <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size());</div>
<div class="line"><a id="l06978" name="l06978"></a><span class="lineno"> 6978</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l06979" name="l06979"></a><span class="lineno"> 6979</span> str = TString::Format(<span class="stringliteral">&quot;par(%d, %d, %lu)&quot;</span>, <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[0], offset, <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size());</div>
<div class="line"><a id="l06980" name="l06980"></a><span class="lineno"> 6980</span> }</div>
<div class="line"><a id="l06981" name="l06981"></a><span class="lineno"> 6981</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l06982" name="l06982"></a><span class="lineno"> 6982</span> str = TString(<span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l06983" name="l06983"></a><span class="lineno"> 6983</span> <span class="keywordflow">for</span> (Int_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size()-1; i++) {</div>
<div class="line"><a id="l06984" name="l06984"></a><span class="lineno"> 6984</span> <span class="keywordflow">if</span> (phaseRef == <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[i]) {</div>
<div class="line"><a id="l06985" name="l06985"></a><span class="lineno"> 6985</span> str += <span class="stringliteral">&quot;parR&quot;</span>;</div>
<div class="line"><a id="l06986" name="l06986"></a><span class="lineno"> 6986</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l06987" name="l06987"></a><span class="lineno"> 6987</span> str += <span class="stringliteral">&quot;par&quot;</span>;</div>
<div class="line"><a id="l06988" name="l06988"></a><span class="lineno"> 6988</span> }</div>
<div class="line"><a id="l06989" name="l06989"></a><span class="lineno"> 6989</span> str += <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[i];</div>
<div class="line"><a id="l06990" name="l06990"></a><span class="lineno"> 6990</span> str += <span class="stringliteral">&quot;, &quot;</span>;</div>
<div class="line"><a id="l06991" name="l06991"></a><span class="lineno"> 6991</span> }</div>
<div class="line"><a id="l06992" name="l06992"></a><span class="lineno"> 6992</span> <span class="keywordflow">if</span> (phaseRef == <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size()-1]) {</div>
<div class="line"><a id="l06993" name="l06993"></a><span class="lineno"> 6993</span> str += <span class="stringliteral">&quot;parR&quot;</span>;</div>
<div class="line"><a id="l06994" name="l06994"></a><span class="lineno"> 6994</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l06995" name="l06995"></a><span class="lineno"> 6995</span> str += <span class="stringliteral">&quot;par&quot;</span>;</div>
<div class="line"><a id="l06996" name="l06996"></a><span class="lineno"> 6996</span> }</div>
<div class="line"><a id="l06997" name="l06997"></a><span class="lineno"> 6997</span> str += <a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo[<a class="code hl_variable" href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">fFourier</a>.fPhaseParamNo.size()-1];</div>
<div class="line"><a id="l06998" name="l06998"></a><span class="lineno"> 6998</span> }</div>
<div class="line"><a id="l06999" name="l06999"></a><span class="lineno"> 6999</span> }</div>
<div class="line"><a id="l07000" name="l07000"></a><span class="lineno"> 7000</span> </div>
<div class="line"><a id="l07001" name="l07001"></a><span class="lineno"> 7001</span> <span class="keywordflow">return</span> str;</div>
<div class="line"><a id="l07002" name="l07002"></a><span class="lineno"> 7002</span>}</div>
</div>
<div class="line"><a id="l07003" name="l07003"></a><span class="lineno"> 7003</span> </div>
<div class="line"><a id="l07004" name="l07004"></a><span class="lineno"> 7004</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l07005" name="l07005"></a><span class="lineno"> 7005</span><span class="comment">// CheckLegacyLifetimecorrection (private)</span></div>
<div class="line"><a id="l07006" name="l07006"></a><span class="lineno"> 7006</span><span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="foldopen" id="foldopen07013" data-start="{" data-end="}">
<div class="line"><a id="l07013" name="l07013"></a><span class="lineno"><a class="line" href="classPMsrHandler.html#aeb212ff498ae16a2f501bed039d46c63"> 7013</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classPMsrHandler.html#aeb212ff498ae16a2f501bed039d46c63">PMsrHandler::CheckLegacyLifetimecorrection</a>()</div>
<div class="line"><a id="l07014" name="l07014"></a><span class="lineno"> 7014</span>{</div>
<div class="line"><a id="l07015" name="l07015"></a><span class="lineno"> 7015</span> UInt_t idx=0;</div>
<div class="line"><a id="l07016" name="l07016"></a><span class="lineno"> 7016</span> <span class="keywordflow">for</span> (UInt_t i=0; i&lt;<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>.size(); i++) {</div>
<div class="line"><a id="l07017" name="l07017"></a><span class="lineno"> 7017</span> <span class="keywordflow">for</span> (UInt_t j=0; j&lt;<a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRuns.size(); j++) {</div>
<div class="line"><a id="l07018" name="l07018"></a><span class="lineno"> 7018</span> idx = <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fRuns[j]-1;</div>
<div class="line"><a id="l07019" name="l07019"></a><span class="lineno"> 7019</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">fRuns</a>[idx].IsLifetimeCorrected()) {</div>
<div class="line"><a id="l07020" name="l07020"></a><span class="lineno"> 7020</span> <a class="code hl_variable" href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">fPlots</a>[i].fLifeTimeCorrection = <span class="keyword">true</span>;</div>
<div class="line"><a id="l07021" name="l07021"></a><span class="lineno"> 7021</span> }</div>
<div class="line"><a id="l07022" name="l07022"></a><span class="lineno"> 7022</span> }</div>
<div class="line"><a id="l07023" name="l07023"></a><span class="lineno"> 7023</span> }</div>
<div class="line"><a id="l07024" name="l07024"></a><span class="lineno"> 7024</span>}</div>
</div>
<div class="line"><a id="l07025" name="l07025"></a><span class="lineno"> 7025</span> </div>
<div class="line"><a id="l07026" name="l07026"></a><span class="lineno"> 7026</span><span class="comment">// end ---------------------------------------------------------------------</span></div>
<div class="ttc" id="aPMsrHandler_8h_html"><div class="ttname"><a href="PMsrHandler_8h.html">PMsrHandler.h</a></div></div>
<div class="ttc" id="aPMusr_8h_html"><div class="ttname"><a href="PMusr_8h.html">PMusr.h</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a00728afcd3500d78375b815a004941d1"><div class="ttname"><a href="PMusr_8h.html#a00728afcd3500d78375b815a004941d1">MSR_TAG_TITLE</a></div><div class="ttdeci">#define MSR_TAG_TITLE</div><div class="ttdoc">TITLE block - describes the experiment.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00183">PMusr.h:183</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a019d398db1e0449dbebb7030ea7033dd"><div class="ttname"><a href="PMusr_8h.html#a019d398db1e0449dbebb7030ea7033dd">MSR_TAG_RUN</a></div><div class="ttdeci">#define MSR_TAG_RUN</div><div class="ttdoc">RUN block - run-specific settings and data file information.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00193">PMusr.h:193</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a01eec7e896afb5c4601dea91ee31477b"><div class="ttname"><a href="PMusr_8h.html#a01eec7e896afb5c4601dea91ee31477b">PUIntVector</a></div><div class="ttdeci">std::vector&lt; UInt_t &gt; PUIntVector</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00361">PMusr.h:361</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a03f3ac8cee4b8e9f4f0b002f980d51a1"><div class="ttname"><a href="PMusr_8h.html#a03f3ac8cee4b8e9f4f0b002f980d51a1">MSR_PARAM_MAP_OFFSET</a></div><div class="ttdeci">#define MSR_PARAM_MAP_OFFSET</div><div class="ttdoc">Offset added to map indices for parameter parsing.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00258">PMusr.h:258</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a095a28397cda63a2dbdefe840224c878"><div class="ttname"><a href="PMusr_8h.html#a095a28397cda63a2dbdefe840224c878">PRUN_ASYMMETRY</a></div><div class="ttdeci">#define PRUN_ASYMMETRY</div><div class="ttdoc">Asymmetry fit using forward and backward detectors.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00089">PMusr.h:89</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a0be96720898c003acea3f3f24bbd209f"><div class="ttname"><a href="PMusr_8h.html#a0be96720898c003acea3f3f24bbd209f">MSR_TAG_FUNCTIONS</a></div><div class="ttdeci">#define MSR_TAG_FUNCTIONS</div><div class="ttdoc">FUNCTIONS block - user-defined mathematical functions.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00189">PMusr.h:189</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a1389906a6345a4f04296877f14fe37f3"><div class="ttname"><a href="PMusr_8h.html#a1389906a6345a4f04296877f14fe37f3">MSR_FITTYPE_ASYM</a></div><div class="ttdeci">#define MSR_FITTYPE_ASYM</div><div class="ttdoc">Fit asymmetry A(t) = (F-αB)/(F+αB)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00216">PMusr.h:216</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a1dcd5ddf9b4345a744f7d07e6bbcac7b"><div class="ttname"><a href="PMusr_8h.html#a1dcd5ddf9b4345a744f7d07e6bbcac7b">PMUSR_MSR_LOG_FILE_WRITE_ERROR</a></div><div class="ttdeci">#define PMUSR_MSR_LOG_FILE_WRITE_ERROR</div><div class="ttdoc">Failed to write to MSR log file.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00067">PMusr.h:67</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a28dabeb092db6158025b2ab8898af09e"><div class="ttname"><a href="PMusr_8h.html#a28dabeb092db6158025b2ab8898af09e">PRUN_MU_MINUS</a></div><div class="ttdeci">#define PRUN_MU_MINUS</div><div class="ttdoc">Negative muon (μ-) single histogram fit.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00093">PMusr.h:93</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a2b3dc68138682db0f77f2236f9cff537"><div class="ttname"><a href="PMusr_8h.html#a2b3dc68138682db0f77f2236f9cff537">MSR_PLOT_SINGLE_HISTO</a></div><div class="ttdeci">#define MSR_PLOT_SINGLE_HISTO</div><div class="ttdoc">Plot single histogram.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00235">PMusr.h:235</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a32b38859b7d7cd6d73f22b8baab83e68"><div class="ttname"><a href="PMusr_8h.html#a32b38859b7d7cd6d73f22b8baab83e68">FOURIER_UNIT_FREQ</a></div><div class="ttdeci">#define FOURIER_UNIT_FREQ</div><div class="ttdoc">Frequency in MHz.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00276">PMusr.h:276</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a33032114d90d686450cfa71bb7ca6ab3"><div class="ttname"><a href="PMusr_8h.html#a33032114d90d686450cfa71bb7ca6ab3">FOURIER_PLOT_REAL_AND_IMAG</a></div><div class="ttdeci">#define FOURIER_PLOT_REAL_AND_IMAG</div><div class="ttdoc">Plot both real and imaginary components (default)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00314">PMusr.h:314</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a35904f5e5aa68eaa070b898f4b97ec62"><div class="ttname"><a href="PMusr_8h.html#a35904f5e5aa68eaa070b898f4b97ec62">PRUN_ASYMMETRY_RRF</a></div><div class="ttdeci">#define PRUN_ASYMMETRY_RRF</div><div class="ttdoc">Asymmetry fit in rotating reference frame (RRF)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00091">PMusr.h:91</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a3bd32e010269f17c116726101bdf178e"><div class="ttname"><a href="PMusr_8h.html#a3bd32e010269f17c116726101bdf178e">RRF_UNIT_MHz</a></div><div class="ttdeci">#define RRF_UNIT_MHz</div><div class="ttdoc">Frequency in MHz (megahertz)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00335">PMusr.h:335</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a3d787679eab8ebdac43868869b059d02"><div class="ttname"><a href="PMusr_8h.html#a3d787679eab8ebdac43868869b059d02">PMUSR_SUCCESS</a></div><div class="ttdeci">#define PMUSR_SUCCESS</div><div class="ttdoc">Successful operation completion.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00053">PMusr.h:53</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a471cf3179039d0b28e02b9554eab3021"><div class="ttname"><a href="PMusr_8h.html#a471cf3179039d0b28e02b9554eab3021">FOURIER_UNIT_GAUSS</a></div><div class="ttdeci">#define FOURIER_UNIT_GAUSS</div><div class="ttdoc">Magnetic field in Gauss (G)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00272">PMusr.h:272</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a4766fd43db5e943f9148d7993c16b3c1"><div class="ttname"><a href="PMusr_8h.html#a4766fd43db5e943f9148d7993c16b3c1">MSR_FITTYPE_SINGLE_HISTO_RRF</a></div><div class="ttdeci">#define MSR_FITTYPE_SINGLE_HISTO_RRF</div><div class="ttdoc">Fit single histogram in rotating reference frame.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00214">PMusr.h:214</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a4a86bb2ce7832ce23f784604c36d39ed"><div class="ttname"><a href="PMusr_8h.html#a4a86bb2ce7832ce23f784604c36d39ed">FOURIER_PLOT_NOT_GIVEN</a></div><div class="ttdeci">#define FOURIER_PLOT_NOT_GIVEN</div><div class="ttdoc">Plot type not specified.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00308">PMusr.h:308</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a4dda98b3e47269c7ffb9ee8f7e7b405a"><div class="ttname"><a href="PMusr_8h.html#a4dda98b3e47269c7ffb9ee8f7e7b405a">FOURIER_PLOT_POWER</a></div><div class="ttdeci">#define FOURIER_PLOT_POWER</div><div class="ttdoc">Plot power spectrum |F(ω)|²</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00316">PMusr.h:316</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a4ebe47f4b88e7a5328580e4cf115ae32"><div class="ttname"><a href="PMusr_8h.html#a4ebe47f4b88e7a5328580e4cf115ae32">MSR_TAG_COMMANDS</a></div><div class="ttdeci">#define MSR_TAG_COMMANDS</div><div class="ttdoc">COMMANDS block - post-fit commands (e.g., parameter output)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00195">PMusr.h:195</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a5357075a43f071649455751fedd2bdf5"><div class="ttname"><a href="PMusr_8h.html#a5357075a43f071649455751fedd2bdf5">PMUSR_UNDEFINED</a></div><div class="ttdeci">#define PMUSR_UNDEFINED</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00172">PMusr.h:172</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a5583eaae9694169a29d0cd2b60b7855a"><div class="ttname"><a href="PMusr_8h.html#a5583eaae9694169a29d0cd2b60b7855a">MSR_TAG_FOURIER</a></div><div class="ttdeci">#define MSR_TAG_FOURIER</div><div class="ttdoc">FOURIER block - Fourier transform settings.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00197">PMusr.h:197</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a5687f9a34804e32efa7bf54636201ff9"><div class="ttname"><a href="PMusr_8h.html#a5687f9a34804e32efa7bf54636201ff9">PMUSR_MSR_FILE_NOT_FOUND</a></div><div class="ttdeci">#define PMUSR_MSR_FILE_NOT_FOUND</div><div class="ttdoc">MSR file could not be found at specified path.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00059">PMusr.h:59</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a58290ad50dd925e4fb7fad90c8072215"><div class="ttname"><a href="PMusr_8h.html#a58290ad50dd925e4fb7fad90c8072215">MSR_PARAM_FUN_OFFSET</a></div><div class="ttdeci">#define MSR_PARAM_FUN_OFFSET</div><div class="ttdoc">Offset added to function indices for parameter parsing.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00260">PMusr.h:260</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a5d895b16abcd2560c51dd2309525d01a"><div class="ttname"><a href="PMusr_8h.html#a5d895b16abcd2560c51dd2309525d01a">MSR_TAG_THEORY</a></div><div class="ttdeci">#define MSR_TAG_THEORY</div><div class="ttdoc">THEORY block - specifies the theory function(s) to fit.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00187">PMusr.h:187</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a631f19573bed8b6ae6604fdc585911a8"><div class="ttname"><a href="PMusr_8h.html#a631f19573bed8b6ae6604fdc585911a8">PBoolVector</a></div><div class="ttdeci">std::vector&lt; Bool_t &gt; PBoolVector</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00355">PMusr.h:355</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a6d70f98a7a25b70349688cfee2b2ff09"><div class="ttname"><a href="PMusr_8h.html#a6d70f98a7a25b70349688cfee2b2ff09">MSR_FITTYPE_SINGLE_HISTO</a></div><div class="ttdeci">#define MSR_FITTYPE_SINGLE_HISTO</div><div class="ttdoc">Fit single histogram (e.g., positron counts vs. time)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00212">PMusr.h:212</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a70bc988063e28e81fdac34260fb8e88c"><div class="ttname"><a href="PMusr_8h.html#a70bc988063e28e81fdac34260fb8e88c">PRUN_SINGLE_HISTO_RRF</a></div><div class="ttdeci">#define PRUN_SINGLE_HISTO_RRF</div><div class="ttdoc">Single histogram fit in rotating reference frame (RRF)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00087">PMusr.h:87</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a727bcb40bd729656083fd581bd27def7"><div class="ttname"><a href="PMusr_8h.html#a727bcb40bd729656083fd581bd27def7">FOURIER_PLOT_REAL</a></div><div class="ttdeci">#define FOURIER_PLOT_REAL</div><div class="ttdoc">Plot real component only.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00310">PMusr.h:310</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a7b5cd7f1bcb3543b7fb8520387414faf"><div class="ttname"><a href="PMusr_8h.html#a7b5cd7f1bcb3543b7fb8520387414faf">FOURIER_PLOT_PHASE_OPT_REAL</a></div><div class="ttdeci">#define FOURIER_PLOT_PHASE_OPT_REAL</div><div class="ttdoc">Plot phase-optimized real component.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00320">PMusr.h:320</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a7c72929454abb858c58c03132b061d8e"><div class="ttname"><a href="PMusr_8h.html#a7c72929454abb858c58c03132b061d8e">MSR_FITTYPE_MU_MINUS</a></div><div class="ttdeci">#define MSR_FITTYPE_MU_MINUS</div><div class="ttdoc">Fit negative muon (μ-) single histogram.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00220">PMusr.h:220</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a7ee8774df63a8af5e99328058ebb7ab2"><div class="ttname"><a href="PMusr_8h.html#a7ee8774df63a8af5e99328058ebb7ab2">FOURIER_APOD_WEAK</a></div><div class="ttdeci">#define FOURIER_APOD_WEAK</div><div class="ttdoc">Weak apodization (gentle windowing)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00294">PMusr.h:294</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a869fdf34c61edfdd4d3e166b1d59717d"><div class="ttname"><a href="PMusr_8h.html#a869fdf34c61edfdd4d3e166b1d59717d">MSR_PLOT_ASYM_RRF</a></div><div class="ttdeci">#define MSR_PLOT_ASYM_RRF</div><div class="ttdoc">Plot asymmetry in rotating reference frame.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00241">PMusr.h:241</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a88b0f32c26fd54bdacfbef77212d951d"><div class="ttname"><a href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a></div><div class="ttdeci">std::vector&lt; PMsrLineStructure &gt; PMsrLines</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00982">PMusr.h:982</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a8986376e943102258993303defa32d7f"><div class="ttname"><a href="PMusr_8h.html#a8986376e943102258993303defa32d7f">MSR_FITTYPE_ASYM_RRF</a></div><div class="ttdeci">#define MSR_FITTYPE_ASYM_RRF</div><div class="ttdoc">Fit asymmetry in rotating reference frame.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00218">PMusr.h:218</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a8a70da3557014ba0e74b3c92d466aa75"><div class="ttname"><a href="PMusr_8h.html#a8a70da3557014ba0e74b3c92d466aa75">MSR_FITTYPE_NON_MUSR</a></div><div class="ttdeci">#define MSR_FITTYPE_NON_MUSR</div><div class="ttdoc">Fit non-μSR data (general x-y data)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00224">PMusr.h:224</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a8d2d7665dbbb2fc112549db6de5bb028"><div class="ttname"><a href="PMusr_8h.html#a8d2d7665dbbb2fc112549db6de5bb028">MSR_PLOT_SINGLE_HISTO_RRF</a></div><div class="ttdeci">#define MSR_PLOT_SINGLE_HISTO_RRF</div><div class="ttdoc">Plot single histogram in rotating reference frame.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00237">PMusr.h:237</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a8e2562ad47e71e264e858832bc4d3b14"><div class="ttname"><a href="PMusr_8h.html#a8e2562ad47e71e264e858832bc4d3b14">PMUSR_MSR_SYNTAX_ERROR</a></div><div class="ttdeci">#define PMUSR_MSR_SYNTAX_ERROR</div><div class="ttdoc">Syntax error detected in MSR file content.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00063">PMusr.h:63</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a901c9291fbd78931e65e862aacbeca98"><div class="ttname"><a href="PMusr_8h.html#a901c9291fbd78931e65e862aacbeca98">FOURIER_APOD_NONE</a></div><div class="ttdeci">#define FOURIER_APOD_NONE</div><div class="ttdoc">No apodization (rectangular window)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00292">PMusr.h:292</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a92465a516f14855a48c32bea2d59e4f5"><div class="ttname"><a href="PMusr_8h.html#a92465a516f14855a48c32bea2d59e4f5">FOURIER_UNIT_CYCLES</a></div><div class="ttdeci">#define FOURIER_UNIT_CYCLES</div><div class="ttdoc">Angular frequency in Mc/s (Mega-cycles per second)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00278">PMusr.h:278</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a9709680f59e11e81807fab02e8440fb1"><div class="ttname"><a href="PMusr_8h.html#a9709680f59e11e81807fab02e8440fb1">MSR_PLOT_ASYM</a></div><div class="ttdeci">#define MSR_PLOT_ASYM</div><div class="ttdoc">Plot asymmetry.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00239">PMusr.h:239</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a9abfa090fd8fcf7ff4f99556ff76cf58"><div class="ttname"><a href="PMusr_8h.html#a9abfa090fd8fcf7ff4f99556ff76cf58">PRUN_NON_MUSR</a></div><div class="ttdeci">#define PRUN_NON_MUSR</div><div class="ttdoc">Non-μSR data fit (general x-y data)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00097">PMusr.h:97</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a9e30339c56f3061e468a489d8a24cd79"><div class="ttname"><a href="PMusr_8h.html#a9e30339c56f3061e468a489d8a24cd79">FOURIER_APOD_STRONG</a></div><div class="ttdeci">#define FOURIER_APOD_STRONG</div><div class="ttdoc">Strong apodization (heavy windowing for best frequency resolution)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00298">PMusr.h:298</a></div></div>
<div class="ttc" id="aPMusr_8h_html_a9ef18fa393d89ca0ab17cc852a09722c"><div class="ttname"><a href="PMusr_8h.html#a9ef18fa393d89ca0ab17cc852a09722c">MSR_TAG_PLOT</a></div><div class="ttdeci">#define MSR_TAG_PLOT</div><div class="ttdoc">PLOT block - plotting configuration for data visualization.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00199">PMusr.h:199</a></div></div>
<div class="ttc" id="aPMusr_8h_html_aa117ff4cf485e7b1a7dda31c1acc4269"><div class="ttname"><a href="PMusr_8h.html#aa117ff4cf485e7b1a7dda31c1acc4269">PRUN_SINGLE_HISTO</a></div><div class="ttdeci">#define PRUN_SINGLE_HISTO</div><div class="ttdoc">Single histogram fit (e.g., forward or backward detector)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00085">PMusr.h:85</a></div></div>
<div class="ttc" id="aPMusr_8h_html_aa9c3d2033e27c38e4dbb98e26f1c4e54"><div class="ttname"><a href="PMusr_8h.html#aa9c3d2033e27c38e4dbb98e26f1c4e54">PIntVector</a></div><div class="ttdeci">std::vector&lt; Int_t &gt; PIntVector</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00367">PMusr.h:367</a></div></div>
<div class="ttc" id="aPMusr_8h_html_aac19a119c1ffc5f08c0ff09dea955930"><div class="ttname"><a href="PMusr_8h.html#aac19a119c1ffc5f08c0ff09dea955930">PMUSR_MSR_FILE_WRITE_ERROR</a></div><div class="ttdeci">#define PMUSR_MSR_FILE_WRITE_ERROR</div><div class="ttdoc">Failed to write MSR file.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00069">PMusr.h:69</a></div></div>
<div class="ttc" id="aPMusr_8h_html_aae7003813b384b9f251e5d6dd9ce1e66"><div class="ttname"><a href="PMusr_8h.html#aae7003813b384b9f251e5d6dd9ce1e66">MSR_PLOT_MU_MINUS</a></div><div class="ttdeci">#define MSR_PLOT_MU_MINUS</div><div class="ttdoc">Plot negative muon (μ-) data.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00243">PMusr.h:243</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ab09701d87c07947710a9897d4cab6498"><div class="ttname"><a href="PMusr_8h.html#ab09701d87c07947710a9897d4cab6498">MSR_TAG_FITPARAMETER</a></div><div class="ttdeci">#define MSR_TAG_FITPARAMETER</div><div class="ttdoc">FITPARAMETER block - defines fit parameters with initial values and constraints.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00185">PMusr.h:185</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ab3321469dc7eb26c8ae310fbe7b33282"><div class="ttname"><a href="PMusr_8h.html#ab3321469dc7eb26c8ae310fbe7b33282">MSR_FITTYPE_BNMR</a></div><div class="ttdeci">#define MSR_FITTYPE_BNMR</div><div class="ttdoc">Fit beta-detected NMR asymmetry.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00222">PMusr.h:222</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ab65df852710cfebd8322d1627790c73c"><div class="ttname"><a href="PMusr_8h.html#ab65df852710cfebd8322d1627790c73c">RRF_UNIT_Mcs</a></div><div class="ttdeci">#define RRF_UNIT_Mcs</div><div class="ttdoc">Angular frequency in Mc/s (Mega-cycles per second)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00337">PMusr.h:337</a></div></div>
<div class="ttc" id="aPMusr_8h_html_abc53e978fe8962769718e68b154f017a"><div class="ttname"><a href="PMusr_8h.html#abc53e978fe8962769718e68b154f017a">RRF_UNIT_G</a></div><div class="ttdeci">#define RRF_UNIT_G</div><div class="ttdoc">Equivalent magnetic field in Gauss (G)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00339">PMusr.h:339</a></div></div>
<div class="ttc" id="aPMusr_8h_html_abd8681e11bd419c4237d7e52530eb374"><div class="ttname"><a href="PMusr_8h.html#abd8681e11bd419c4237d7e52530eb374">FOURIER_PLOT_IMAG</a></div><div class="ttdeci">#define FOURIER_PLOT_IMAG</div><div class="ttdoc">Plot imaginary component only.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00312">PMusr.h:312</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ac20fd43275726784bbb53d2c61e680ed"><div class="ttname"><a href="PMusr_8h.html#ac20fd43275726784bbb53d2c61e680ed">MSR_TAG_STATISTIC</a></div><div class="ttdeci">#define MSR_TAG_STATISTIC</div><div class="ttdoc">STATISTIC block - fit statistics and results (generated after fit)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00201">PMusr.h:201</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ac4b4260127cc39f612b6c937b57f6b32"><div class="ttname"><a href="PMusr_8h.html#ac4b4260127cc39f612b6c937b57f6b32">RRF_UNIT_kHz</a></div><div class="ttdeci">#define RRF_UNIT_kHz</div><div class="ttdoc">Frequency in kHz (kilohertz)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00333">PMusr.h:333</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ac80c5f481d7bc0af56368b59dad88e42"><div class="ttname"><a href="PMusr_8h.html#ac80c5f481d7bc0af56368b59dad88e42">FOURIER_APOD_MEDIUM</a></div><div class="ttdeci">#define FOURIER_APOD_MEDIUM</div><div class="ttdoc">Medium apodization (moderate windowing)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00296">PMusr.h:296</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ac9b291c6236d34786e6a35917fe7cef7"><div class="ttname"><a href="PMusr_8h.html#ac9b291c6236d34786e6a35917fe7cef7">MSR_PLOT_BNMR</a></div><div class="ttdeci">#define MSR_PLOT_BNMR</div><div class="ttdoc">Plot beta-detected NMR data.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00245">PMusr.h:245</a></div></div>
<div class="ttc" id="aPMusr_8h_html_acfd8fca6cf586d9234b06002a3444965"><div class="ttname"><a href="PMusr_8h.html#acfd8fca6cf586d9234b06002a3444965">RRF_UNIT_T</a></div><div class="ttdeci">#define RRF_UNIT_T</div><div class="ttdoc">Equivalent magnetic field in Tesla (T)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00341">PMusr.h:341</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ad274c4fe3bc865a43564b2f92a6c3c09"><div class="ttname"><a href="PMusr_8h.html#ad274c4fe3bc865a43564b2f92a6c3c09">FOURIER_PLOT_PHASE</a></div><div class="ttdeci">#define FOURIER_PLOT_PHASE</div><div class="ttdoc">Plot phase spectrum arg(F(ω))</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00318">PMusr.h:318</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ad37d51ad2c41abf13802bd81f699cbf6"><div class="ttname"><a href="PMusr_8h.html#ad37d51ad2c41abf13802bd81f699cbf6">FOURIER_UNIT_NOT_GIVEN</a></div><div class="ttdeci">#define FOURIER_UNIT_NOT_GIVEN</div><div class="ttdoc">Units not specified.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00270">PMusr.h:270</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ad51f3ed9e812c03a5fe8b3b4f87b8ab7"><div class="ttname"><a href="PMusr_8h.html#ad51f3ed9e812c03a5fe8b3b4f87b8ab7">PRUN_ASYMMETRY_BNMR</a></div><div class="ttdeci">#define PRUN_ASYMMETRY_BNMR</div><div class="ttdoc">Beta-detected NMR asymmetry fit.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00095">PMusr.h:95</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ad583569117484f3068f44927f59345e3"><div class="ttname"><a href="PMusr_8h.html#ad583569117484f3068f44927f59345e3">FOURIER_UNIT_TESLA</a></div><div class="ttdeci">#define FOURIER_UNIT_TESLA</div><div class="ttdoc">Magnetic field in Tesla (T)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00274">PMusr.h:274</a></div></div>
<div class="ttc" id="aPMusr_8h_html_adb4554a81f1e69135973e8dfb0899be7"><div class="ttname"><a href="PMusr_8h.html#adb4554a81f1e69135973e8dfb0899be7">FOURIER_APOD_NOT_GIVEN</a></div><div class="ttdeci">#define FOURIER_APOD_NOT_GIVEN</div><div class="ttdoc">Apodization not specified.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00290">PMusr.h:290</a></div></div>
<div class="ttc" id="aPMusr_8h_html_adec5527824b02ad7a7053851aa890c99"><div class="ttname"><a href="PMusr_8h.html#adec5527824b02ad7a7053851aa890c99">RRF_UNIT_UNDEF</a></div><div class="ttdeci">#define RRF_UNIT_UNDEF</div><div class="ttdoc">RRF unit undefined.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00331">PMusr.h:331</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ae763aea08677c626a857f68b1977d79c"><div class="ttname"><a href="PMusr_8h.html#ae763aea08677c626a857f68b1977d79c">MSR_TAG_GLOBAL</a></div><div class="ttdeci">#define MSR_TAG_GLOBAL</div><div class="ttdoc">GLOBAL block - global fit settings (RRF, fit type, etc.)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00191">PMusr.h:191</a></div></div>
<div class="ttc" id="aPMusr_8h_html_ae852b87a5874b4c1a94e4d3a44b6adbc"><div class="ttname"><a href="PMusr_8h.html#ae852b87a5874b4c1a94e4d3a44b6adbc">RRF_FREQ_UNDEF</a></div><div class="ttdeci">#define RRF_FREQ_UNDEF</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00349">PMusr.h:349</a></div></div>
<div class="ttc" id="aPMusr_8h_html_aebf3b64dacc1fefcdb90b245db233ac1"><div class="ttname"><a href="PMusr_8h.html#aebf3b64dacc1fefcdb90b245db233ac1">MSR_PLOT_NON_MUSR</a></div><div class="ttdeci">#define MSR_PLOT_NON_MUSR</div><div class="ttdoc">Plot non-μSR data.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00247">PMusr.h:247</a></div></div>
<div class="ttc" id="aPStartupHandler_8cpp_html_a9611b3a00430a86619b5923de30f9fdb"><div class="ttname"><a href="PStartupHandler_8cpp.html#a9611b3a00430a86619b5923de30f9fdb">status</a></div><div class="ttdeci">return status</div><div class="ttdef"><b>Definition</b> <a href="PStartupHandler_8cpp_source.html#l00106">PStartupHandler.cpp:106</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html"><div class="ttname"><a href="classPMsrGlobalBlock.html">PMsrGlobalBlock</a></div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01030">PMusr.h:1030</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_a18dc17d6c376684a3bc429bdf9e17302"><div class="ttname"><a href="classPMsrGlobalBlock.html#a18dc17d6c376684a3bc429bdf9e17302">PMsrGlobalBlock::SetT0Bin</a></div><div class="ttdeci">virtual void SetT0Bin(Double_t dval, Int_t idx=-1)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01005">PMusr.cpp:1005</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_a1ea5f7b3f9c87f3b5d4355f03ca11b2b"><div class="ttname"><a href="classPMsrGlobalBlock.html#a1ea5f7b3f9c87f3b5d4355f03ca11b2b">PMsrGlobalBlock::SetFitRangeInBins</a></div><div class="ttdeci">virtual void SetFitRangeInBins(Bool_t bval)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01062">PMusr.h:1062</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_a1f3fe612d27a5b26e812bd5c9302aea4"><div class="ttname"><a href="classPMsrGlobalBlock.html#a1f3fe612d27a5b26e812bd5c9302aea4">PMsrGlobalBlock::SetRRFFreq</a></div><div class="ttdeci">virtual void SetRRFFreq(Double_t freq, const char *unit)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l00859">PMusr.cpp:859</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_a23ab4193c35453a46106df857a82474b"><div class="ttname"><a href="classPMsrGlobalBlock.html#a23ab4193c35453a46106df857a82474b">PMsrGlobalBlock::SetFitRange</a></div><div class="ttdeci">virtual void SetFitRange(Double_t dval, UInt_t idx)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01121">PMusr.cpp:1121</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_a35fceedc11d11ca81559e2cfec4b57d1"><div class="ttname"><a href="classPMsrGlobalBlock.html#a35fceedc11d11ca81559e2cfec4b57d1">PMsrGlobalBlock::SetGlobalPresent</a></div><div class="ttdeci">virtual void SetGlobalPresent(Bool_t bval)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01054">PMusr.h:1054</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_a3ec671251f1c0bf111af5d25c0161774"><div class="ttname"><a href="classPMsrGlobalBlock.html#a3ec671251f1c0bf111af5d25c0161774">PMsrGlobalBlock::SetFitType</a></div><div class="ttdeci">virtual void SetFitType(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01058">PMusr.h:1058</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_a9f119993a072f84c4a0866dcda1dcee3"><div class="ttname"><a href="classPMsrGlobalBlock.html#a9f119993a072f84c4a0866dcda1dcee3">PMsrGlobalBlock::SetDataRange</a></div><div class="ttdeci">virtual void SetDataRange(Int_t ival, Int_t idx)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l00965">PMusr.cpp:965</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_ab4ba391cb9a9de6467a356a533e16c82"><div class="ttname"><a href="classPMsrGlobalBlock.html#ab4ba391cb9a9de6467a356a533e16c82">PMsrGlobalBlock::SetPacking</a></div><div class="ttdeci">virtual void SetPacking(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01065">PMusr.h:1065</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_adc08a10635747b97b8066273446ad428"><div class="ttname"><a href="classPMsrGlobalBlock.html#adc08a10635747b97b8066273446ad428">PMsrGlobalBlock::SetRRFPhase</a></div><div class="ttdeci">virtual void SetRRFPhase(Double_t phase)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01056">PMusr.h:1056</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_aead098a08bbcbc94ad491bcf471f07e8"><div class="ttname"><a href="classPMsrGlobalBlock.html#aead098a08bbcbc94ad491bcf471f07e8">PMsrGlobalBlock::SetRRFPacking</a></div><div class="ttdeci">virtual void SetRRFPacking(Int_t pack)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l00926">PMusr.cpp:926</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_aede891efa2253d429cc5082ff21ebaf8"><div class="ttname"><a href="classPMsrGlobalBlock.html#aede891efa2253d429cc5082ff21ebaf8">PMsrGlobalBlock::SetFitRangeOffset</a></div><div class="ttdeci">virtual void SetFitRangeOffset(Int_t ival, UInt_t idx)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01158">PMusr.cpp:1158</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_aeff1c165c264ce151b6a9153d029b1c6"><div class="ttname"><a href="classPMsrGlobalBlock.html#aeff1c165c264ce151b6a9153d029b1c6">PMsrGlobalBlock::SetAddT0Bin</a></div><div class="ttdeci">virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01081">PMusr.cpp:1081</a></div></div>
<div class="ttc" id="aclassPMsrGlobalBlock_html_afef14551c982f5898c9c7f2d555fc6cd"><div class="ttname"><a href="classPMsrGlobalBlock.html#afef14551c982f5898c9c7f2d555fc6cd">PMsrGlobalBlock::GetRRFFreq</a></div><div class="ttdeci">virtual Double_t GetRRFFreq(const char *unit)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l00815">PMusr.cpp:815</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a00a9099bd78e612927ebb0a68b18dccc"><div class="ttname"><a href="classPMsrHandler.html#a00a9099bd78e612927ebb0a68b18dccc">PMsrHandler::CheckMaps</a></div><div class="ttdeci">virtual Bool_t CheckMaps()</div><div class="ttdoc">Validates that all map indices are within parameter range.</div><div class="ttdef"><b>Definition</b> <a href="#l06319">PMsrHandler.cpp:6319</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a0206f29dec252a797038832e75d236ba"><div class="ttname"><a href="classPMsrHandler.html#a0206f29dec252a797038832e75d236ba">PMsrHandler::GetNoOfFitParameters</a></div><div class="ttdeci">virtual UInt_t GetNoOfFitParameters(UInt_t idx)</div><div class="ttdef"><b>Definition</b> <a href="#l05402">PMsrHandler.cpp:5402</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a022ce5f2a8b6b8b08e1981db1de853dc"><div class="ttname"><a href="classPMsrHandler.html#a022ce5f2a8b6b8b08e1981db1de853dc">PMsrHandler::NeededPrecision</a></div><div class="ttdeci">virtual UInt_t NeededPrecision(Double_t dval, UInt_t precLimit=13)</div><div class="ttdoc">Calculates precision needed for formatting a double value.</div><div class="ttdef"><b>Definition</b> <a href="#l06824">PMsrHandler.cpp:6824</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a07e23f3baef0ee7663bf8be5b92a5765"><div class="ttname"><a href="classPMsrHandler.html#a07e23f3baef0ee7663bf8be5b92a5765">PMsrHandler::ParseFourierPhaseValueVector</a></div><div class="ttdeci">virtual Bool_t ParseFourierPhaseValueVector(PMsrFourierStructure &amp;fourier, const TString &amp;str, Bool_t &amp;error)</div><div class="ttdoc">Parses Fourier phase value vector.</div><div class="ttdef"><b>Definition</b> <a href="#l04129">PMsrHandler.cpp:4129</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a0967149b447dfd2daaddc04e17c00010"><div class="ttname"><a href="classPMsrHandler.html#a0967149b447dfd2daaddc04e17c00010">PMsrHandler::CheckHistoGrouping</a></div><div class="ttdeci">virtual Bool_t CheckHistoGrouping()</div><div class="ttdoc">Checks histogram grouping consistency across runs.</div><div class="ttdef"><b>Definition</b> <a href="#l06523">PMsrHandler.cpp:6523</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a0d2cd4359eadd50f00b6c481e0b75c5f"><div class="ttname"><a href="classPMsrHandler.html#a0d2cd4359eadd50f00b6c481e0b75c5f">PMsrHandler::SetMsrBkgRangeEntry</a></div><div class="ttdeci">virtual void SetMsrBkgRangeEntry(UInt_t runNo, UInt_t idx, Int_t bin)</div><div class="ttdef"><b>Definition</b> <a href="#l02771">PMsrHandler.cpp:2771</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a0d4d9b16dd4e9ad7c258cd61452d2f04"><div class="ttname"><a href="classPMsrHandler.html#a0d4d9b16dd4e9ad7c258cd61452d2f04">PMsrHandler::SetMsrParamStep</a></div><div class="ttdeci">virtual Bool_t SetMsrParamStep(UInt_t i, Double_t value)</div><div class="ttdef"><b>Definition</b> <a href="#l02601">PMsrHandler.cpp:2601</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a0ef6b14d858347ea96372a90e2a9a6cf"><div class="ttname"><a href="classPMsrHandler.html#a0ef6b14d858347ea96372a90e2a9a6cf">PMsrHandler::CheckRRFSettings</a></div><div class="ttdeci">virtual Bool_t CheckRRFSettings()</div><div class="ttdoc">Validates RRF (Rotating Reference Frame) settings.</div><div class="ttdef"><b>Definition</b> <a href="#l06626">PMsrHandler.cpp:6626</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a0f099093e0e72a761305117beba46c88"><div class="ttname"><a href="classPMsrHandler.html#a0f099093e0e72a761305117beba46c88">PMsrHandler::EstimateN0</a></div><div class="ttdeci">virtual Bool_t EstimateN0()</div><div class="ttdef"><b>Definition</b> <a href="#l06804">PMsrHandler.cpp:6804</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a115b8b5f769cf6530e918495e386d63e"><div class="ttname"><a href="classPMsrHandler.html#a115b8b5f769cf6530e918495e386d63e">PMsrHandler::fFourierOnly</a></div><div class="ttdeci">Bool_t fFourierOnly</div><div class="ttdoc">Flag indicating Fourier transform only mode (for musrFT)</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00377">PMsrHandler.h:377</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a15246d3df8828eb9834d412d68510380"><div class="ttname"><a href="classPMsrHandler.html#a15246d3df8828eb9834d412d68510380">PMsrHandler::fLastErrorMsg</a></div><div class="ttdeci">std::stringstream fLastErrorMsg</div><div class="ttdoc">Stream accumulating error messages during parsing.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00401">PMsrHandler.h:401</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a1bf73fef5ee4f532683348e69ecebe87"><div class="ttname"><a href="classPMsrHandler.html#a1bf73fef5ee4f532683348e69ecebe87">PMsrHandler::fFuncHandler</a></div><div class="ttdeci">std::unique_ptr&lt; PFunctionHandler &gt; fFuncHandler</div><div class="ttdoc">Handler for parsing and evaluating user-defined functions.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00395">PMsrHandler.h:395</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a1f3d2158351556fa43c610839e311734"><div class="ttname"><a href="classPMsrHandler.html#a1f3d2158351556fa43c610839e311734">PMsrHandler::SetMsrAddT0Entry</a></div><div class="ttdeci">virtual void SetMsrAddT0Entry(UInt_t runNo, UInt_t addRunIdx, UInt_t histoIdx, Double_t bin)</div><div class="ttdef"><b>Definition</b> <a href="#l02713">PMsrHandler.cpp:2713</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a239fde127411b103a52b4b8762ad130a"><div class="ttname"><a href="classPMsrHandler.html#a239fde127411b103a52b4b8762ad130a">PMsrHandler::HandleGlobalEntry</a></div><div class="ttdeci">virtual Bool_t HandleGlobalEntry(PMsrLines &amp;line)</div><div class="ttdoc">Parses GLOBAL block entries.</div><div class="ttdef"><b>Definition</b> <a href="#l03109">PMsrHandler.cpp:3109</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a28b34c28bcfd1fbf5f203efa9c2693a7"><div class="ttname"><a href="classPMsrHandler.html#a28b34c28bcfd1fbf5f203efa9c2693a7">PMsrHandler::fTitle</a></div><div class="ttdeci">TString fTitle</div><div class="ttdoc">MSR file title string.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00382">PMsrHandler.h:382</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a2bccb585dcbe1c249cfdeb26f1cd8faf"><div class="ttname"><a href="classPMsrHandler.html#a2bccb585dcbe1c249cfdeb26f1cd8faf">PMsrHandler::SetMsrT0Entry</a></div><div class="ttdeci">virtual void SetMsrT0Entry(UInt_t runNo, UInt_t idx, Double_t bin)</div><div class="ttdef"><b>Definition</b> <a href="#l02683">PMsrHandler.cpp:2683</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a2be4d72bcc88ec4c9d36510e7f4b877d"><div class="ttname"><a href="classPMsrHandler.html#a2be4d72bcc88ec4c9d36510e7f4b877d">PMsrHandler::FillParameterInUse</a></div><div class="ttdeci">virtual void FillParameterInUse(PMsrLines &amp;theory, PMsrLines &amp;funcs, PMsrLines &amp;run)</div><div class="ttdoc">Determines which parameters are used in theory and functions.</div><div class="ttdef"><b>Definition</b> <a href="#l05599">PMsrHandler.cpp:5599</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a31aef82d4ad15f1a230d5dfbcefdca2a"><div class="ttname"><a href="classPMsrHandler.html#a31aef82d4ad15f1a230d5dfbcefdca2a">PMsrHandler::SetMsrDataRangeEntry</a></div><div class="ttdeci">virtual void SetMsrDataRangeEntry(UInt_t runNo, UInt_t idx, Int_t bin)</div><div class="ttdef"><b>Definition</b> <a href="#l02748">PMsrHandler.cpp:2748</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a32965aaf3c2895e302132e9df02cc33e"><div class="ttname"><a href="classPMsrHandler.html#a32965aaf3c2895e302132e9df02cc33e">PMsrHandler::GetNoOfFuncs</a></div><div class="ttdeci">virtual Int_t GetNoOfFuncs()</div><div class="ttdoc">Returns the number of user-defined functions in FUNCTIONS block.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00297">PMsrHandler.h:297</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a39c148a0610711c98dd5b9fb13a2818f"><div class="ttname"><a href="classPMsrHandler.html#a39c148a0610711c98dd5b9fb13a2818f">PMsrHandler::HandleFourierEntry</a></div><div class="ttdeci">virtual Bool_t HandleFourierEntry(PMsrLines &amp;line)</div><div class="ttdoc">Parses FOURIER block entries.</div><div class="ttdef"><b>Definition</b> <a href="#l04433">PMsrHandler.cpp:4433</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a3aaa5d61ae5d489bf0ce928a8a15e6e7"><div class="ttname"><a href="classPMsrHandler.html#a3aaa5d61ae5d489bf0ce928a8a15e6e7">PMsrHandler::HandleFitParameterEntry</a></div><div class="ttdeci">virtual Bool_t HandleFitParameterEntry(PMsrLines &amp;line)</div><div class="ttdoc">Parses FITPARAMETER block entries.</div><div class="ttdef"><b>Definition</b> <a href="#l02832">PMsrHandler.cpp:2832</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a3d4338e3bf294cfe21ba5544edf19f89"><div class="ttname"><a href="classPMsrHandler.html#a3d4338e3bf294cfe21ba5544edf19f89">PMsrHandler::fGlobal</a></div><div class="ttdeci">PMsrGlobalBlock fGlobal</div><div class="ttdoc">Global block settings (fit type, data format, etc.)</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00386">PMsrHandler.h:386</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a3d748840b5ae0d07d34bc23286a94882"><div class="ttname"><a href="classPMsrHandler.html#a3d748840b5ae0d07d34bc23286a94882">PMsrHandler::~PMsrHandler</a></div><div class="ttdeci">virtual ~PMsrHandler()</div><div class="ttdoc">Destructor that cleans up all data structures.</div><div class="ttdef"><b>Definition</b> <a href="#l00115">PMsrHandler.cpp:115</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a3f76e69febb24fca2cb02808bbee4dc6"><div class="ttname"><a href="classPMsrHandler.html#a3f76e69febb24fca2cb02808bbee4dc6">PMsrHandler::CheckRunBlockIntegrity</a></div><div class="ttdeci">virtual Bool_t CheckRunBlockIntegrity()</div><div class="ttdoc">Validates RUN block structure and consistency.</div><div class="ttdef"><b>Definition</b> <a href="#l05942">PMsrHandler.cpp:5942</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a412911105735fb1dc759c59bb17d85ac"><div class="ttname"><a href="classPMsrHandler.html#a412911105735fb1dc759c59bb17d85ac">PMsrHandler::fCopyStatisticsBlock</a></div><div class="ttdeci">Bool_t fCopyStatisticsBlock</div><div class="ttdoc">If true, copy old statistics block (musrt0); if false, write new one (musrfit)</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00399">PMsrHandler.h:399</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a41bac601ee826c7a0d82c3c3d597cc13"><div class="ttname"><a href="classPMsrHandler.html#a41bac601ee826c7a0d82c3c3d597cc13">PMsrHandler::CheckAddRunParameters</a></div><div class="ttdeci">virtual Bool_t CheckAddRunParameters()</div><div class="ttdoc">Validates addrun parameter references.</div><div class="ttdef"><b>Definition</b> <a href="#l06569">PMsrHandler.cpp:6569</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a4481e7021e0d4eba1208e9b70b1251fd"><div class="ttname"><a href="classPMsrHandler.html#a4481e7021e0d4eba1208e9b70b1251fd">PMsrHandler::SetMsrParamPosError</a></div><div class="ttdeci">virtual Bool_t SetMsrParamPosError(UInt_t i, Double_t value)</div><div class="ttdef"><b>Definition</b> <a href="#l02657">PMsrHandler.cpp:2657</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a4a398de6da74642454d0d2c4e0b49210"><div class="ttname"><a href="classPMsrHandler.html#a4a398de6da74642454d0d2c4e0b49210">PMsrHandler::fStatistic</a></div><div class="ttdeci">PMsrStatisticStructure fStatistic</div><div class="ttdoc">Fit statistics (χ², NDF, convergence status)</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00391">PMsrHandler.h:391</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a4c2d82614ab601c4670c105116b6898c"><div class="ttname"><a href="classPMsrHandler.html#a4c2d82614ab601c4670c105116b6898c">PMsrHandler::HandleTheoryEntry</a></div><div class="ttdeci">virtual Bool_t HandleTheoryEntry(PMsrLines &amp;line)</div><div class="ttdoc">Parses THEORY block entries.</div><div class="ttdef"><b>Definition</b> <a href="#l03047">PMsrHandler.cpp:3047</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a4f069e59410d0c18a699817119c334ec"><div class="ttname"><a href="classPMsrHandler.html#a4f069e59410d0c18a699817119c334ec">PMsrHandler::ParseFourierPhaseParIterVector</a></div><div class="ttdeci">virtual Bool_t ParseFourierPhaseParIterVector(PMsrFourierStructure &amp;fourier, const TString &amp;str, Bool_t &amp;error)</div><div class="ttdoc">Parses Fourier phase parameter iteration vector.</div><div class="ttdef"><b>Definition</b> <a href="#l04303">PMsrHandler.cpp:4303</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a4fdf943425f9a81425e63c5661d7170d"><div class="ttname"><a href="classPMsrHandler.html#a4fdf943425f9a81425e63c5661d7170d">PMsrHandler::SetMsrParamValue</a></div><div class="ttdeci">virtual Bool_t SetMsrParamValue(UInt_t i, Double_t value)</div><div class="ttdef"><b>Definition</b> <a href="#l02572">PMsrHandler.cpp:2572</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a50713777a7118342f0b569fc9e52c09a"><div class="ttname"><a href="classPMsrHandler.html#a50713777a7118342f0b569fc9e52c09a">PMsrHandler::SetMsrParamPosErrorPresent</a></div><div class="ttdeci">virtual Bool_t SetMsrParamPosErrorPresent(UInt_t i, Bool_t value)</div><div class="ttdef"><b>Definition</b> <a href="#l02629">PMsrHandler.cpp:2629</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a5572493b4e1136c537713beeab849780"><div class="ttname"><a href="classPMsrHandler.html#a5572493b4e1136c537713beeab849780">PMsrHandler::fParamInUse</a></div><div class="ttdeci">PIntVector fParamInUse</div><div class="ttdoc">Flags indicating which parameters are actually used in theory/functions.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00397">PMsrHandler.h:397</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a5618ced41cddc71ea25fc16987d70b9a"><div class="ttname"><a href="classPMsrHandler.html#a5618ced41cddc71ea25fc16987d70b9a">PMsrHandler::BeautifyFourierPhaseParameterString</a></div><div class="ttdeci">virtual TString BeautifyFourierPhaseParameterString()</div><div class="ttdoc">Formats Fourier phase parameter string for display.</div><div class="ttdef"><b>Definition</b> <a href="#l06945">PMsrHandler.cpp:6945</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a677f1adf2c1f08edb96652068ffb2d75"><div class="ttname"><a href="classPMsrHandler.html#a677f1adf2c1f08edb96652068ffb2d75">PMsrHandler::fFunctions</a></div><div class="ttdeci">PMsrLines fFunctions</div><div class="ttdoc">User-defined functions block lines.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00385">PMsrHandler.h:385</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a730b326f12fece76631d82d4d445c9dc"><div class="ttname"><a href="classPMsrHandler.html#a730b326f12fece76631d82d4d445c9dc">PMsrHandler::WriteMsrFile</a></div><div class="ttdeci">virtual Int_t WriteMsrFile(const Char_t *filename, std::map&lt; UInt_t, TString &gt; *commentsPAR=0, std::map&lt; UInt_t, TString &gt; *commentsTHE=0, std::map&lt; UInt_t, TString &gt; *commentsFUN=0, std::map&lt; UInt_t, TString &gt; *commentsRUN=0)</div><div class="ttdoc">Writes an MSR file from internal data structures.</div><div class="ttdef"><b>Definition</b> <a href="#l01687">PMsrHandler.cpp:1687</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a762c39b9a043cf0e79b3d0905a3ed0a7"><div class="ttname"><a href="classPMsrHandler.html#a762c39b9a043cf0e79b3d0905a3ed0a7">PMsrHandler::HandleCommandsEntry</a></div><div class="ttdeci">virtual Bool_t HandleCommandsEntry(PMsrLines &amp;line)</div><div class="ttdoc">Parses COMMANDS block entries.</div><div class="ttdef"><b>Definition</b> <a href="#l04048">PMsrHandler.cpp:4048</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a7deba85e7a5b0ce45cbeae312162f529"><div class="ttname"><a href="classPMsrHandler.html#a7deba85e7a5b0ce45cbeae312162f529">PMsrHandler::CheckRealFFT</a></div><div class="ttdeci">virtual Bool_t CheckRealFFT()</div><div class="ttdoc">Checks if real FFT requirements are met.</div><div class="ttdef"><b>Definition</b> <a href="#l06724">PMsrHandler.cpp:6724</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a7fdffca9382c5994d6bd6e83b0c45d1c"><div class="ttname"><a href="classPMsrHandler.html#a7fdffca9382c5994d6bd6e83b0c45d1c">PMsrHandler::HandleStatisticEntry</a></div><div class="ttdeci">virtual Bool_t HandleStatisticEntry(PMsrLines &amp;line)</div><div class="ttdoc">Parses STATISTIC block entries.</div><div class="ttdef"><b>Definition</b> <a href="#l05296">PMsrHandler.cpp:5296</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a816fcade5f0692a1c3ab640003e0517d"><div class="ttname"><a href="classPMsrHandler.html#a816fcade5f0692a1c3ab640003e0517d">PMsrHandler::FilterNumber</a></div><div class="ttdeci">virtual Bool_t FilterNumber(TString str, const Char_t *filter, Int_t offset, Int_t &amp;no)</div><div class="ttdoc">Extracts number from string with specific filter pattern.</div><div class="ttdef"><b>Definition</b> <a href="#l04009">PMsrHandler.cpp:4009</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a873e748423c51f35745af6fad626512c"><div class="ttname"><a href="classPMsrHandler.html#a873e748423c51f35745af6fad626512c">PMsrHandler::HandleRunEntry</a></div><div class="ttdeci">virtual Bool_t HandleRunEntry(PMsrLines &amp;line)</div><div class="ttdoc">Parses RUN block entries.</div><div class="ttdef"><b>Definition</b> <a href="#l03375">PMsrHandler.cpp:3375</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a93ca2d79fa1f45720fb4918a1eaed2b8"><div class="ttname"><a href="classPMsrHandler.html#a93ca2d79fa1f45720fb4918a1eaed2b8">PMsrHandler::LastSignificant</a></div><div class="ttdeci">virtual UInt_t LastSignificant(Double_t dval, UInt_t precLimit=6)</div><div class="ttdoc">Finds position of last significant digit in a double value.</div><div class="ttdef"><b>Definition</b> <a href="#l06856">PMsrHandler.cpp:6856</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a97a4e2f51827849362bdd8ccfe6d637d"><div class="ttname"><a href="classPMsrHandler.html#a97a4e2f51827849362bdd8ccfe6d637d">PMsrHandler::ReadMsrFile</a></div><div class="ttdeci">virtual Int_t ReadMsrFile()</div><div class="ttdoc">Reads and parses the MSR file.</div><div class="ttdef"><b>Definition</b> <a href="#l00174">PMsrHandler.cpp:174</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a987f71daeebe57213ecc64640c22e1f1"><div class="ttname"><a href="classPMsrHandler.html#a987f71daeebe57213ecc64640c22e1f1">PMsrHandler::ParseFourierPhaseParVector</a></div><div class="ttdeci">virtual Bool_t ParseFourierPhaseParVector(PMsrFourierStructure &amp;fourier, const TString &amp;str, Bool_t &amp;error)</div><div class="ttdoc">Parses Fourier phase parameter vector.</div><div class="ttdef"><b>Definition</b> <a href="#l04194">PMsrHandler.cpp:4194</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_a98a7a888a875bab36b365be8ecaf2513"><div class="ttname"><a href="classPMsrHandler.html#a98a7a888a875bab36b365be8ecaf2513">PMsrHandler::CheckMaxLikelihood</a></div><div class="ttdeci">virtual void CheckMaxLikelihood()</div><div class="ttdoc">Validates maximum likelihood fit settings.</div><div class="ttdef"><b>Definition</b> <a href="#l06601">PMsrHandler.cpp:6601</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_aab35120ee133dc97daaed8060c255f65"><div class="ttname"><a href="classPMsrHandler.html#aab35120ee133dc97daaed8060c255f65">PMsrHandler::RemoveComment</a></div><div class="ttdeci">virtual void RemoveComment(const TString &amp;str, TString &amp;truncStr)</div><div class="ttdoc">Removes comments from MSR file line.</div><div class="ttdef"><b>Definition</b> <a href="#l04104">PMsrHandler.cpp:4104</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_aac99beb9c6da81010021fa6029c7d92c"><div class="ttname"><a href="classPMsrHandler.html#aac99beb9c6da81010021fa6029c7d92c">PMsrHandler::fRuns</a></div><div class="ttdeci">PMsrRunList fRuns</div><div class="ttdoc">List of RUN blocks with data file specifications.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00387">PMsrHandler.h:387</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_aace47bbf1d312c41435b186e4d727591"><div class="ttname"><a href="classPMsrHandler.html#aace47bbf1d312c41435b186e4d727591">PMsrHandler::HandleFunctionsEntry</a></div><div class="ttdeci">virtual Bool_t HandleFunctionsEntry(PMsrLines &amp;line)</div><div class="ttdoc">Parses FUNCTIONS block entries.</div><div class="ttdef"><b>Definition</b> <a href="#l03071">PMsrHandler.cpp:3071</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_ab9dac06f7e7e243ffe528e74a3e9c124"><div class="ttname"><a href="classPMsrHandler.html#ab9dac06f7e7e243ffe528e74a3e9c124">PMsrHandler::WriteMsrLogFile</a></div><div class="ttdeci">virtual Int_t WriteMsrLogFile(const Bool_t messages=true)</div><div class="ttdoc">Writes an MSR log file (.mlog) with parsed MSR content.</div><div class="ttdef"><b>Definition</b> <a href="#l00443">PMsrHandler.cpp:443</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_ab9e9f58b5cb0f31d332dfcfeb464dcff"><div class="ttname"><a href="classPMsrHandler.html#ab9e9f58b5cb0f31d332dfcfeb464dcff">PMsrHandler::GetGroupingString</a></div><div class="ttdeci">virtual void GetGroupingString(Int_t runNo, TString detector, TString &amp;groupingStr)</div><div class="ttdef"><b>Definition</b> <a href="#l06778">PMsrHandler.cpp:6778</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_aba1da0c9da1ded7cc68b27e30e887991"><div class="ttname"><a href="classPMsrHandler.html#aba1da0c9da1ded7cc68b27e30e887991">PMsrHandler::fMsrFileDirectoryPath</a></div><div class="ttdeci">TString fMsrFileDirectoryPath</div><div class="ttdoc">Directory path of the MSR file.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00381">PMsrHandler.h:381</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_aba2c14afcdeaa1d2d5bbb2377e05205b"><div class="ttname"><a href="classPMsrHandler.html#aba2c14afcdeaa1d2d5bbb2377e05205b">PMsrHandler::fTheory</a></div><div class="ttdeci">PMsrLines fTheory</div><div class="ttdoc">Theory block lines defining asymmetry/relaxation functions.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00384">PMsrHandler.h:384</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_abb4d394d9865511f90f4297f6266dbe4"><div class="ttname"><a href="classPMsrHandler.html#abb4d394d9865511f90f4297f6266dbe4">PMsrHandler::fStartupOptions</a></div><div class="ttdeci">PStartupOptions * fStartupOptions</div><div class="ttdoc">Pointer to startup options from musrfit_startup.xml.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00378">PMsrHandler.h:378</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_ac25efcd126ad709bdc1dba02d071479c"><div class="ttname"><a href="classPMsrHandler.html#ac25efcd126ad709bdc1dba02d071479c">PMsrHandler::fFileName</a></div><div class="ttdeci">TString fFileName</div><div class="ttdoc">MSR file name (with path)</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00380">PMsrHandler.h:380</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_ac2f5d112f2ca66af7e4fed8614f8cfbd"><div class="ttname"><a href="classPMsrHandler.html#ac2f5d112f2ca66af7e4fed8614f8cfbd">PMsrHandler::GetFuncIndex</a></div><div class="ttdeci">virtual UInt_t GetFuncIndex(Int_t funNo)</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00313">PMsrHandler.h:313</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_ac4ad89e7dfcd3674528bd65baaa0c545"><div class="ttname"><a href="classPMsrHandler.html#ac4ad89e7dfcd3674528bd65baaa0c545">PMsrHandler::fFourier</a></div><div class="ttdeci">PMsrFourierStructure fFourier</div><div class="ttdoc">Fourier transform parameters and settings.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00389">PMsrHandler.h:389</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_aca2df2dd83d8d98c9b3cd970ddc194a5"><div class="ttname"><a href="classPMsrHandler.html#aca2df2dd83d8d98c9b3cd970ddc194a5">PMsrHandler::CheckFuncs</a></div><div class="ttdeci">virtual Bool_t CheckFuncs()</div><div class="ttdoc">Validates user-defined functions syntax and parameter usage.</div><div class="ttdef"><b>Definition</b> <a href="#l06429">PMsrHandler.cpp:6429</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_acdd5fcb4bf1de1de43f626b5189f8f96"><div class="ttname"><a href="classPMsrHandler.html#acdd5fcb4bf1de1de43f626b5189f8f96">PMsrHandler::PMsrHandler</a></div><div class="ttdeci">PMsrHandler(const Char_t *fileName, PStartupOptions *startupOptions=0, const Bool_t fourierOnly=false)</div><div class="ttdoc">Constructor that initializes the MSR handler.</div><div class="ttdef"><b>Definition</b> <a href="#l00067">PMsrHandler.cpp:67</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_adc7f5aaa3801924bd4282a57a7d47967"><div class="ttname"><a href="classPMsrHandler.html#adc7f5aaa3801924bd4282a57a7d47967">PMsrHandler::ParameterInUse</a></div><div class="ttdeci">virtual Int_t ParameterInUse(UInt_t paramNo)</div><div class="ttdef"><b>Definition</b> <a href="#l02799">PMsrHandler.cpp:2799</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_add33e34a48c2aa3fddd87314c185789d"><div class="ttname"><a href="classPMsrHandler.html#add33e34a48c2aa3fddd87314c185789d">PMsrHandler::MakeDetectorGroupingString</a></div><div class="ttdeci">virtual void MakeDetectorGroupingString(TString str, PIntVector &amp;group, TString &amp;result, Bool_t includeDetector=true)</div><div class="ttdoc">Creates detector grouping string from integer vector.</div><div class="ttdef"><b>Definition</b> <a href="#l06898">PMsrHandler.cpp:6898</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_ae0ccc718eb4b01b46bd3c0d15bed8a0f"><div class="ttname"><a href="classPMsrHandler.html#ae0ccc718eb4b01b46bd3c0d15bed8a0f">PMsrHandler::InitFourierParameterStructure</a></div><div class="ttdeci">virtual void InitFourierParameterStructure(PMsrFourierStructure &amp;fourier)</div><div class="ttdoc">Initializes Fourier parameter structure with default values.</div><div class="ttdef"><b>Definition</b> <a href="#l04077">PMsrHandler.cpp:4077</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_ae10d80687bf8b5993e9ba20dd17b4ee1"><div class="ttname"><a href="classPMsrHandler.html#ae10d80687bf8b5993e9ba20dd17b4ee1">PMsrHandler::fMsrBlockCounter</a></div><div class="ttdeci">Int_t fMsrBlockCounter</div><div class="ttdoc">Counter to track current MSR block during parsing.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00393">PMsrHandler.h:393</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_aeb212ff498ae16a2f501bed039d46c63"><div class="ttname"><a href="classPMsrHandler.html#aeb212ff498ae16a2f501bed039d46c63">PMsrHandler::CheckLegacyLifetimecorrection</a></div><div class="ttdeci">virtual void CheckLegacyLifetimecorrection()</div><div class="ttdoc">Checks for deprecated lifetimecorrection syntax and warns user.</div><div class="ttdef"><b>Definition</b> <a href="#l07013">PMsrHandler.cpp:7013</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_aee75a17848bc7d4068180cd9a28e8c41"><div class="ttname"><a href="classPMsrHandler.html#aee75a17848bc7d4068180cd9a28e8c41">PMsrHandler::fCommands</a></div><div class="ttdeci">PMsrLines fCommands</div><div class="ttdoc">MINUIT commands block lines.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00388">PMsrHandler.h:388</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_af24396ed9ff5ace09cef574ecb83ff47"><div class="ttname"><a href="classPMsrHandler.html#af24396ed9ff5ace09cef574ecb83ff47">PMsrHandler::fParam</a></div><div class="ttdeci">PMsrParamList fParam</div><div class="ttdoc">List of fit parameters with values, errors, constraints.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00383">PMsrHandler.h:383</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_af7f875b77f31f2aad67fe83fb0b41135"><div class="ttname"><a href="classPMsrHandler.html#af7f875b77f31f2aad67fe83fb0b41135">PMsrHandler::HandlePlotEntry</a></div><div class="ttdeci">virtual Bool_t HandlePlotEntry(PMsrLines &amp;line)</div><div class="ttdoc">Parses PLOT block entries.</div><div class="ttdef"><b>Definition</b> <a href="#l04755">PMsrHandler.cpp:4755</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_af912ce0e7927aeaa83c90f9814ca94b8"><div class="ttname"><a href="classPMsrHandler.html#af912ce0e7927aeaa83c90f9814ca94b8">PMsrHandler::fPlots</a></div><div class="ttdeci">PMsrPlotList fPlots</div><div class="ttdoc">List of PLOT blocks with plotting parameters.</div><div class="ttdef"><b>Definition</b> <a href="PMsrHandler_8h_source.html#l00390">PMsrHandler.h:390</a></div></div>
<div class="ttc" id="aclassPMsrHandler_html_afd6b7a00e3c8325d70b27820803f3e13"><div class="ttname"><a href="classPMsrHandler.html#afd6b7a00e3c8325d70b27820803f3e13">PMsrHandler::CheckUniquenessOfParamNames</a></div><div class="ttdeci">virtual Bool_t CheckUniquenessOfParamNames(UInt_t &amp;parX, UInt_t &amp;parY)</div><div class="ttdoc">Checks that all parameter names are unique.</div><div class="ttdef"><b>Definition</b> <a href="#l06290">PMsrHandler.cpp:6290</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html"><div class="ttname"><a href="classPMsrRunBlock.html">PMsrRunBlock</a></div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01103">PMusr.h:1103</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a02c15aace888f38a8fdf646d9ef3d6d2"><div class="ttname"><a href="classPMsrRunBlock.html#a02c15aace888f38a8fdf646d9ef3d6d2">PMsrRunBlock::GetMap</a></div><div class="ttdeci">virtual PIntVector * GetMap()</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01128">PMusr.h:1128</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a049d76f0615256fceec7321f0a734033"><div class="ttname"><a href="classPMsrRunBlock.html#a049d76f0615256fceec7321f0a734033">PMsrRunBlock::SetLifetimeParamNo</a></div><div class="ttdeci">virtual void SetLifetimeParamNo(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01164">PMusr.h:1164</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a270ddf17715644ba7d22ef38452546f8"><div class="ttname"><a href="classPMsrRunBlock.html#a270ddf17715644ba7d22ef38452546f8">PMsrRunBlock::SetFitRangeOffset</a></div><div class="ttdeci">virtual void SetFitRangeOffset(Int_t ival, UInt_t idx)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01918">PMusr.cpp:1918</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a3344bab04054f7e40f07a53a840a58cb"><div class="ttname"><a href="classPMsrRunBlock.html#a3344bab04054f7e40f07a53a840a58cb">PMsrRunBlock::SetBeamline</a></div><div class="ttdeci">virtual void SetBeamline(TString &amp;str, Int_t idx=-1)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01344">PMusr.cpp:1344</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a35991249cd157f495d7d90ffac8a47e7"><div class="ttname"><a href="classPMsrRunBlock.html#a35991249cd157f495d7d90ffac8a47e7">PMsrRunBlock::SetBkgFix</a></div><div class="ttdeci">virtual void SetBkgFix(Double_t dval, Int_t idx)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01642">PMusr.cpp:1642</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a439b8fe0be8c63c8af559513256cb7d6"><div class="ttname"><a href="classPMsrRunBlock.html#a439b8fe0be8c63c8af559513256cb7d6">PMsrRunBlock::SetXDataLabel</a></div><div class="ttdeci">virtual void SetXDataLabel(TString &amp;str)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01182">PMusr.h:1182</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a4415e435212e3491e50b82b95fa102c9"><div class="ttname"><a href="classPMsrRunBlock.html#a4415e435212e3491e50b82b95fa102c9">PMsrRunBlock::SetFitType</a></div><div class="ttdeci">virtual void SetFitType(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01159">PMusr.h:1159</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a5861e51757f708b7278e40691d9d8915"><div class="ttname"><a href="classPMsrRunBlock.html#a5861e51757f708b7278e40691d9d8915">PMsrRunBlock::SetFitRange</a></div><div class="ttdeci">virtual void SetFitRange(Double_t dval, UInt_t idx)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01881">PMusr.cpp:1881</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a5b0dace287fc95cd8f1b197f2e0b5bb9"><div class="ttname"><a href="classPMsrRunBlock.html#a5b0dace287fc95cd8f1b197f2e0b5bb9">PMsrRunBlock::CleanUp</a></div><div class="ttdeci">virtual void CleanUp()</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01231">PMusr.cpp:1231</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a5de742e81ebac73e46c6f44251bdf5cf"><div class="ttname"><a href="classPMsrRunBlock.html#a5de742e81ebac73e46c6f44251bdf5cf">PMsrRunBlock::SetFileFormat</a></div><div class="ttdeci">virtual void SetFileFormat(TString &amp;str, Int_t idx=-1)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01428">PMusr.cpp:1428</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a7c0801d01ded655d142a6d08ec944e53"><div class="ttname"><a href="classPMsrRunBlock.html#a7c0801d01ded655d142a6d08ec944e53">PMsrRunBlock::SetMap</a></div><div class="ttdeci">virtual void SetMap(Int_t mapVal, Int_t idx=-1)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01558">PMusr.cpp:1558</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a926c6320e89b6e28dc6e0305e62f6a16"><div class="ttname"><a href="classPMsrRunBlock.html#a926c6320e89b6e28dc6e0305e62f6a16">PMsrRunBlock::SetPacking</a></div><div class="ttdeci">virtual void SetPacking(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01179">PMusr.h:1179</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a9270b38c3e95ef6f09dc783030444fd4"><div class="ttname"><a href="classPMsrRunBlock.html#a9270b38c3e95ef6f09dc783030444fd4">PMsrRunBlock::SetYDataIndex</a></div><div class="ttdeci">virtual void SetYDataIndex(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01181">PMusr.h:1181</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a928442354428bd8488b529c4a86f7a72"><div class="ttname"><a href="classPMsrRunBlock.html#a928442354428bd8488b529c4a86f7a72">PMsrRunBlock::SetLifetimeCorrection</a></div><div class="ttdeci">virtual void SetLifetimeCorrection(Bool_t bval)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01165">PMusr.h:1165</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_a9c78e217bed7559bf143ad137033e476"><div class="ttname"><a href="classPMsrRunBlock.html#a9c78e217bed7559bf143ad137033e476">PMsrRunBlock::SetT0Bin</a></div><div class="ttdeci">virtual void SetT0Bin(Double_t dval, Int_t idx=-1)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01765">PMusr.cpp:1765</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_aacda03c696ea44af482906569be298b1"><div class="ttname"><a href="classPMsrRunBlock.html#aacda03c696ea44af482906569be298b1">PMsrRunBlock::SetBkgFitParamNo</a></div><div class="ttdeci">virtual void SetBkgFitParamNo(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01163">PMusr.h:1163</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_ab1ccb75d8f6520c29e19f3e6c40aa607"><div class="ttname"><a href="classPMsrRunBlock.html#ab1ccb75d8f6520c29e19f3e6c40aa607">PMsrRunBlock::SetBackwardHistoNo</a></div><div class="ttdeci">virtual void SetBackwardHistoNo(Int_t histoNo, Int_t idx=-1)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01518">PMusr.cpp:1518</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_ab222a210d3cbea75928631bad4d82ab9"><div class="ttname"><a href="classPMsrRunBlock.html#ab222a210d3cbea75928631bad4d82ab9">PMsrRunBlock::SetDataRange</a></div><div class="ttdeci">virtual void SetDataRange(Int_t ival, Int_t idx)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01725">PMusr.cpp:1725</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_ab2a97f12c03bb7a445c0a9721dafafba"><div class="ttname"><a href="classPMsrRunBlock.html#ab2a97f12c03bb7a445c0a9721dafafba">PMsrRunBlock::SetXDataIndex</a></div><div class="ttdeci">virtual void SetXDataIndex(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01180">PMusr.h:1180</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_ab6117e461dbe55be0b5ece5d2c8e13e3"><div class="ttname"><a href="classPMsrRunBlock.html#ab6117e461dbe55be0b5ece5d2c8e13e3">PMsrRunBlock::SetRunName</a></div><div class="ttdeci">virtual void SetRunName(TString &amp;str, Int_t idx=-1)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01302">PMusr.cpp:1302</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_ac78f5087bbfc2d63617b5e3f79d88654"><div class="ttname"><a href="classPMsrRunBlock.html#ac78f5087bbfc2d63617b5e3f79d88654">PMsrRunBlock::SetBetaParamNo</a></div><div class="ttdeci">virtual void SetBetaParamNo(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01161">PMusr.h:1161</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_aca9123b5a2ea73f5fa96154065b7d294"><div class="ttname"><a href="classPMsrRunBlock.html#aca9123b5a2ea73f5fa96154065b7d294">PMsrRunBlock::SetYDataLabel</a></div><div class="ttdeci">virtual void SetYDataLabel(TString &amp;str)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01183">PMusr.h:1183</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_ad49cfa5ebe09503607c1e39b25628174"><div class="ttname"><a href="classPMsrRunBlock.html#ad49cfa5ebe09503607c1e39b25628174">PMsrRunBlock::SetAlphaParamNo</a></div><div class="ttdeci">virtual void SetAlphaParamNo(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01160">PMusr.h:1160</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_ad52fac95d967cb190d7d66594fa55e97"><div class="ttname"><a href="classPMsrRunBlock.html#ad52fac95d967cb190d7d66594fa55e97">PMsrRunBlock::SetBkgRange</a></div><div class="ttdeci">virtual void SetBkgRange(Int_t ival, Int_t idx)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01683">PMusr.cpp:1683</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_add9cea4d6ba191c335d5fe0a858b8da8"><div class="ttname"><a href="classPMsrRunBlock.html#add9cea4d6ba191c335d5fe0a858b8da8">PMsrRunBlock::SetInstitute</a></div><div class="ttdeci">virtual void SetInstitute(TString &amp;str, Int_t idx=-1)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01386">PMusr.cpp:1386</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_aee15618efd5fbcc23a5e4807f7980aa4"><div class="ttname"><a href="classPMsrRunBlock.html#aee15618efd5fbcc23a5e4807f7980aa4">PMsrRunBlock::SetNormParamNo</a></div><div class="ttdeci">virtual void SetNormParamNo(Int_t ival)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01162">PMusr.h:1162</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_af07f59cb453d538f6a6bbd5761701214"><div class="ttname"><a href="classPMsrRunBlock.html#af07f59cb453d538f6a6bbd5761701214">PMsrRunBlock::SetFitRangeInBins</a></div><div class="ttdeci">virtual void SetFitRangeInBins(Bool_t bval)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01176">PMusr.h:1176</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_af677aae7670b53e70cb426523912464c"><div class="ttname"><a href="classPMsrRunBlock.html#af677aae7670b53e70cb426523912464c">PMsrRunBlock::SetForwardHistoNo</a></div><div class="ttdeci">virtual void SetForwardHistoNo(Int_t histoNo, Int_t idx=-1)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01474">PMusr.cpp:1474</a></div></div>
<div class="ttc" id="aclassPMsrRunBlock_html_af9c7a5d82e508272c42266783f369782"><div class="ttname"><a href="classPMsrRunBlock.html#af9c7a5d82e508272c42266783f369782">PMsrRunBlock::SetAddT0Bin</a></div><div class="ttdeci">virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8cpp_source.html#l01841">PMusr.cpp:1841</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html"><div class="ttname"><a href="structPMsrFourierStructure.html">PMsrFourierStructure</a></div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01247">PMusr.h:1247</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_a3128af6178d42373d5ed193f745c0df9"><div class="ttname"><a href="structPMsrFourierStructure.html#a3128af6178d42373d5ed193f745c0df9">PMsrFourierStructure::fPlotTag</a></div><div class="ttdeci">Int_t fPlotTag</div><div class="ttdoc">tag used for initial plot. 0=real, 1=imaginary, 2=real &amp; imaginary (default), 3=power,...</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01253">PMusr.h:1253</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_a38b1f6970c3c0fa34e6235838dd9c030"><div class="ttname"><a href="structPMsrFourierStructure.html#a38b1f6970c3c0fa34e6235838dd9c030">PMsrFourierStructure::fFourierBlockPresent</a></div><div class="ttdeci">Bool_t fFourierBlockPresent</div><div class="ttdoc">flag indicating if a Fourier block is present in the msr-file</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01248">PMusr.h:1248</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_a5b05da72c5e654261e7d53b2cd6591a7"><div class="ttname"><a href="structPMsrFourierStructure.html#a5b05da72c5e654261e7d53b2cd6591a7">PMsrFourierStructure::fPlotRange</a></div><div class="ttdeci">Double_t fPlotRange[2]</div><div class="ttdoc">field/frequency plot range</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01258">PMusr.h:1258</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_a66c5ef93b0c30ea1dcdf91286f593acc"><div class="ttname"><a href="structPMsrFourierStructure.html#a66c5ef93b0c30ea1dcdf91286f593acc">PMsrFourierStructure::fPhase</a></div><div class="ttdeci">PDoubleVector fPhase</div><div class="ttdoc">phase(s)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01256">PMusr.h:1256</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_a66de32824be3fb74b3d51cec23c8ffd7"><div class="ttname"><a href="structPMsrFourierStructure.html#a66de32824be3fb74b3d51cec23c8ffd7">PMsrFourierStructure::fRangeForPhaseCorrection</a></div><div class="ttdeci">Double_t fRangeForPhaseCorrection[2]</div><div class="ttdoc">field/frequency range for automatic phase correction</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01257">PMusr.h:1257</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_a95ddf0fe7f643bea5db54eb73a91b9e1"><div class="ttname"><a href="structPMsrFourierStructure.html#a95ddf0fe7f643bea5db54eb73a91b9e1">PMsrFourierStructure::fPhaseParamNo</a></div><div class="ttdeci">PIntVector fPhaseParamNo</div><div class="ttdoc">parameter number(s) if used instead of a phase value</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01255">PMusr.h:1255</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_a96618ca7ad239ae2ce75a1e64e356242"><div class="ttname"><a href="structPMsrFourierStructure.html#a96618ca7ad239ae2ce75a1e64e356242">PMsrFourierStructure::fFourierPower</a></div><div class="ttdeci">Int_t fFourierPower</div><div class="ttdoc">i.e. zero padding up to 2^fFourierPower, default = 0 which means NO zero padding</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01251">PMusr.h:1251</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_ac266b4de23588ea3ee1d8cc09eb93ccb"><div class="ttname"><a href="structPMsrFourierStructure.html#ac266b4de23588ea3ee1d8cc09eb93ccb">PMsrFourierStructure::fUnits</a></div><div class="ttdeci">Int_t fUnits</div><div class="ttdoc">flag used to indicate the units. 1=field units (G); 2=field units (T); 3=frequency units (MHz); 4=Mc/...</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01249">PMusr.h:1249</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_ae1c193df0a19b2847faad97300ba3c71"><div class="ttname"><a href="structPMsrFourierStructure.html#ae1c193df0a19b2847faad97300ba3c71">PMsrFourierStructure::fPhaseRef</a></div><div class="ttdeci">Int_t fPhaseRef</div><div class="ttdoc">phase reference for relative phase(s)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01254">PMusr.h:1254</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_af52dbec96fa224378066867fbee9d957"><div class="ttname"><a href="structPMsrFourierStructure.html#af52dbec96fa224378066867fbee9d957">PMsrFourierStructure::fDCCorrected</a></div><div class="ttdeci">Bool_t fDCCorrected</div><div class="ttdoc">if set true, the dc offset of the signal/theory will be removed before the FFT is made.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01250">PMusr.h:1250</a></div></div>
<div class="ttc" id="astructPMsrFourierStructure_html_afea69c886a635db094a8a3cf1ed4c0a8"><div class="ttname"><a href="structPMsrFourierStructure.html#afea69c886a635db094a8a3cf1ed4c0a8">PMsrFourierStructure::fApodization</a></div><div class="ttdeci">Int_t fApodization</div><div class="ttdoc">tag indicating the kind of apodization wished, 0=no appodization (default), 1=weak,...</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01252">PMusr.h:1252</a></div></div>
<div class="ttc" id="astructPMsrLineStructure_html"><div class="ttname"><a href="structPMsrLineStructure.html">PMsrLineStructure</a></div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00973">PMusr.h:973</a></div></div>
<div class="ttc" id="astructPMsrLineStructure_html_a6a4b89aa10455a7340e90c9be1b89f4b"><div class="ttname"><a href="structPMsrLineStructure.html#a6a4b89aa10455a7340e90c9be1b89f4b">PMsrLineStructure::fLineNo</a></div><div class="ttdeci">Int_t fLineNo</div><div class="ttdoc">Line number in original MSR file (1-based)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00974">PMusr.h:974</a></div></div>
<div class="ttc" id="astructPMsrLineStructure_html_a73a9ae42d0c33cb25ff3a33cdd6edcbe"><div class="ttname"><a href="structPMsrLineStructure.html#a73a9ae42d0c33cb25ff3a33cdd6edcbe">PMsrLineStructure::fLine</a></div><div class="ttdeci">TString fLine</div><div class="ttdoc">Content of the MSR file line.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00975">PMusr.h:975</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html"><div class="ttname"><a href="structPMsrParamStructure.html">PMsrParamStructure</a></div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00996">PMusr.h:996</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_a0ae45f118dd47f32cc3a9e4547bd3b74"><div class="ttname"><a href="structPMsrParamStructure.html#a0ae45f118dd47f32cc3a9e4547bd3b74">PMsrParamStructure::fStep</a></div><div class="ttdeci">Double_t fStep</div><div class="ttdoc">Step size / error / negative error (context-dependent)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01001">PMusr.h:1001</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_a4e429448ee5c4cdef33ac651042bb61a"><div class="ttname"><a href="structPMsrParamStructure.html#a4e429448ee5c4cdef33ac651042bb61a">PMsrParamStructure::fPosError</a></div><div class="ttdeci">Double_t fPosError</div><div class="ttdoc">Positive error for asymmetric uncertainties.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01003">PMusr.h:1003</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_a51e6a86fc6b976c2da97c279c2376812"><div class="ttname"><a href="structPMsrParamStructure.html#a51e6a86fc6b976c2da97c279c2376812">PMsrParamStructure::fLowerBoundaryPresent</a></div><div class="ttdeci">Bool_t fLowerBoundaryPresent</div><div class="ttdoc">True if lower bound constraint is active.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01004">PMusr.h:1004</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_a6d1a3bb13364ccab8680e3bb013f0357"><div class="ttname"><a href="structPMsrParamStructure.html#a6d1a3bb13364ccab8680e3bb013f0357">PMsrParamStructure::fNoOfParams</a></div><div class="ttdeci">Int_t fNoOfParams</div><div class="ttdoc">Total number of parameters in FITPARAMETER block.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00997">PMusr.h:997</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_a8d97435a22a8ea76b631563d898ea14e"><div class="ttname"><a href="structPMsrParamStructure.html#a8d97435a22a8ea76b631563d898ea14e">PMsrParamStructure::fLowerBoundary</a></div><div class="ttdeci">Double_t fLowerBoundary</div><div class="ttdoc">Lower boundary value for parameter constraints.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01005">PMusr.h:1005</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_a8f3eb879d16d63a317c1566f2de5b72e"><div class="ttname"><a href="structPMsrParamStructure.html#a8f3eb879d16d63a317c1566f2de5b72e">PMsrParamStructure::fNo</a></div><div class="ttdeci">Int_t fNo</div><div class="ttdoc">Parameter number (1, 2, 3, ...)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00998">PMusr.h:998</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_a9c62c20a8e99222e27f95fe2e8fe2d85"><div class="ttname"><a href="structPMsrParamStructure.html#a9c62c20a8e99222e27f95fe2e8fe2d85">PMsrParamStructure::fUpperBoundary</a></div><div class="ttdeci">Double_t fUpperBoundary</div><div class="ttdoc">Upper boundary value for parameter constraints.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01007">PMusr.h:1007</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_ab0dffa3e19fe19b6dd88f22f1f6328cb"><div class="ttname"><a href="structPMsrParamStructure.html#ab0dffa3e19fe19b6dd88f22f1f6328cb">PMsrParamStructure::fPosErrorPresent</a></div><div class="ttdeci">Bool_t fPosErrorPresent</div><div class="ttdoc">True if positive error explicitly defined (asymmetric errors)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01002">PMusr.h:1002</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_ac17f1a37370199ed889c28003b4692cf"><div class="ttname"><a href="structPMsrParamStructure.html#ac17f1a37370199ed889c28003b4692cf">PMsrParamStructure::fUpperBoundaryPresent</a></div><div class="ttdeci">Bool_t fUpperBoundaryPresent</div><div class="ttdoc">True if upper bound constraint is active.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01006">PMusr.h:1006</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_adefbe4678b7f6ccc731295c93b17bad9"><div class="ttname"><a href="structPMsrParamStructure.html#adefbe4678b7f6ccc731295c93b17bad9">PMsrParamStructure::fValue</a></div><div class="ttdeci">Double_t fValue</div><div class="ttdoc">Parameter value (initial or fitted)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01000">PMusr.h:1000</a></div></div>
<div class="ttc" id="astructPMsrParamStructure_html_ae6ab47389d3a19901a83587a4e88bb0e"><div class="ttname"><a href="structPMsrParamStructure.html#ae6ab47389d3a19901a83587a4e88bb0e">PMsrParamStructure::fName</a></div><div class="ttdeci">TString fName</div><div class="ttdoc">Parameter name (e.g., &quot;alpha&quot;, &quot;lambda&quot;, &quot;field&quot;)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00999">PMusr.h:999</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html"><div class="ttname"><a href="structPMsrPlotStructure.html">PMsrPlotStructure</a></div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01276">PMusr.h:1276</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_a0940cc41f5b7bfe5e50a024541ae4477"><div class="ttname"><a href="structPMsrPlotStructure.html#a0940cc41f5b7bfe5e50a024541ae4477">PMsrPlotStructure::fUseFitRanges</a></div><div class="ttdeci">Bool_t fUseFitRanges</div><div class="ttdoc">yes -&gt; use the fit ranges to plot the data, no (default) -&gt; use range information if present</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01279">PMusr.h:1279</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_a0ab3f65a51c475657abf2df4bda9a2ad"><div class="ttname"><a href="structPMsrPlotStructure.html#a0ab3f65a51c475657abf2df4bda9a2ad">PMsrPlotStructure::fRuns</a></div><div class="ttdeci">PIntVector fRuns</div><div class="ttdoc">list of runs to be plotted</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01283">PMusr.h:1283</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_a1475dbbd76b8e02758d7082af58720d8"><div class="ttname"><a href="structPMsrPlotStructure.html#a1475dbbd76b8e02758d7082af58720d8">PMsrPlotStructure::fRRFUnit</a></div><div class="ttdeci">UInt_t fRRFUnit</div><div class="ttdoc">RRF frequency unit. 0=kHz, 1=MHz, 2=Mc/s, 3=Gauss, 4=Tesla.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01290">PMusr.h:1290</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_a3a795e5640484393abef87d1834ba4ea"><div class="ttname"><a href="structPMsrPlotStructure.html#a3a795e5640484393abef87d1834ba4ea">PMsrPlotStructure::fLogY</a></div><div class="ttdeci">Bool_t fLogY</div><div class="ttdoc">yes -&gt; y-axis in log-scale, no (default) -&gt; y-axis in lin-scale</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01281">PMusr.h:1281</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_a3cb1aab778d09c659d7229735c25bde9"><div class="ttname"><a href="structPMsrPlotStructure.html#a3cb1aab778d09c659d7229735c25bde9">PMsrPlotStructure::fLogX</a></div><div class="ttdeci">Bool_t fLogX</div><div class="ttdoc">yes -&gt; x-axis in log-scale, no (default) -&gt; x-axis in lin-scale</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01280">PMusr.h:1280</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_a58fd72fc8692d7bde000aa3fce9d99ff"><div class="ttname"><a href="structPMsrPlotStructure.html#a58fd72fc8692d7bde000aa3fce9d99ff">PMsrPlotStructure::fPlotType</a></div><div class="ttdeci">Int_t fPlotType</div><div class="ttdoc">plot type</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01277">PMusr.h:1277</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_a5a853b5f5f048933b8fe4c66057d7f17"><div class="ttname"><a href="structPMsrPlotStructure.html#a5a853b5f5f048933b8fe4c66057d7f17">PMsrPlotStructure::fRRFPhaseParamNo</a></div><div class="ttdeci">Int_t fRRFPhaseParamNo</div><div class="ttdoc">parameter number if used instead of a RRF phase value</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01291">PMusr.h:1291</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_a733a2b209bffff0a65788df54fdcaf59"><div class="ttname"><a href="structPMsrPlotStructure.html#a733a2b209bffff0a65788df54fdcaf59">PMsrPlotStructure::fRRFFreq</a></div><div class="ttdeci">Double_t fRRFFreq</div><div class="ttdoc">RRF frequency.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01289">PMusr.h:1289</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_a900301c9fe658ca5a94fa75c70aa5743"><div class="ttname"><a href="structPMsrPlotStructure.html#a900301c9fe658ca5a94fa75c70aa5743">PMsrPlotStructure::fYmax</a></div><div class="ttdeci">PDoubleVector fYmax</div><div class="ttdoc">asymmetry/counts maximum</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01287">PMusr.h:1287</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_a97aa6529cb0e57d607b933655bf9f4be"><div class="ttname"><a href="structPMsrPlotStructure.html#a97aa6529cb0e57d607b933655bf9f4be">PMsrPlotStructure::fLifeTimeCorrection</a></div><div class="ttdeci">Bool_t fLifeTimeCorrection</div><div class="ttdoc">needed for single histo. If yes, only the asymmetry is shown, otherweise the positron spectrum</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01278">PMusr.h:1278</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_ab4f87f33b4d516bdf474dcbc562e4d1e"><div class="ttname"><a href="structPMsrPlotStructure.html#ab4f87f33b4d516bdf474dcbc562e4d1e">PMsrPlotStructure::fViewPacking</a></div><div class="ttdeci">Int_t fViewPacking</div><div class="ttdoc">-1 -&gt; use the run packing to generate the view, otherwise is fViewPacking for the binning of ALL runs...</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01282">PMusr.h:1282</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_acecffa230e3c4ca3bd5be55cd2fc3af3"><div class="ttname"><a href="structPMsrPlotStructure.html#acecffa230e3c4ca3bd5be55cd2fc3af3">PMsrPlotStructure::fRRFPhase</a></div><div class="ttdeci">Double_t fRRFPhase</div><div class="ttdoc">RRF phase.</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01292">PMusr.h:1292</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_aed150156ea7ef5832f2127302d626a6d"><div class="ttname"><a href="structPMsrPlotStructure.html#aed150156ea7ef5832f2127302d626a6d">PMsrPlotStructure::fRRFPacking</a></div><div class="ttdeci">UInt_t fRRFPacking</div><div class="ttdoc">rotating reference frame (RRF) packing</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01288">PMusr.h:1288</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_af70061dcb6cc706c5e97d20519e765a0"><div class="ttname"><a href="structPMsrPlotStructure.html#af70061dcb6cc706c5e97d20519e765a0">PMsrPlotStructure::fYmin</a></div><div class="ttdeci">PDoubleVector fYmin</div><div class="ttdoc">asymmetry/counts minimum</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01286">PMusr.h:1286</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_afc31a0ffeab7397933957bd7e9d57229"><div class="ttname"><a href="structPMsrPlotStructure.html#afc31a0ffeab7397933957bd7e9d57229">PMsrPlotStructure::fTmax</a></div><div class="ttdeci">PDoubleVector fTmax</div><div class="ttdoc">time maximum</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01285">PMusr.h:1285</a></div></div>
<div class="ttc" id="astructPMsrPlotStructure_html_afe6becf84893305ef55b1675c06fd0e5"><div class="ttname"><a href="structPMsrPlotStructure.html#afe6becf84893305ef55b1675c06fd0e5">PMsrPlotStructure::fTmin</a></div><div class="ttdeci">PDoubleVector fTmin</div><div class="ttdoc">time minimum</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01284">PMusr.h:1284</a></div></div>
<div class="ttc" id="astructPStartupOptions_html"><div class="ttname"><a href="structPStartupOptions.html">PStartupOptions</a></div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01365">PMusr.h:1365</a></div></div>
</div><!-- fragment --></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="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><a class="el" href="PMsrHandler_8cpp.html">PMsrHandler.cpp</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>