-
Notifications
You must be signed in to change notification settings - Fork 0
/
_resolution_base_8h_source.html
114 lines (112 loc) · 20.9 KB
/
_resolution_base_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>KLFitter: include/KLFitter/ResolutionBase.h 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>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">KLFitter
 <span id="projectnumber">v1.3.2</span>
</div>
<div id="projectbrief">Documentation of the KLFitter library -- The Kinematic Likelihood Fitter</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_8c11f2f0ed543956e5d99d70f8f89b79.html">KLFitter</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ResolutionBase.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Copyright (c) 2009--2018, the KLFitter developer team</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of KLFitter.</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * KLFitter is free software: you can redistribute it and/or modify it</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * under the terms of the GNU Lesser General Public License as published by</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation, either version 3 of the License, or (at</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * your option) any later version.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * KLFitter is distributed in the hope that it will be useful, but WITHOUT</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * License for more details.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with KLFitter. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#ifndef KLFITTER_RESOLUTIONBASE_H_</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#define KLFITTER_RESOLUTIONBASE_H_</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <vector></span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// ---------------------------------------------------------</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">namespace </span><a class="code" href="namespace_k_l_fitter.html">KLFitter</a> {</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="class_k_l_fitter_1_1_resolution_base.html"> 38</a></span> <span class="keyword">class </span><a class="code" href="class_k_l_fitter_1_1_resolution_base.html">ResolutionBase</a> {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="comment">/* @{ */</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keyword">explicit</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a542e2d7269e41878f9e20cfcf9d9bda6">ResolutionBase</a>(<span class="keywordtype">int</span> npar);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">explicit</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a542e2d7269e41878f9e20cfcf9d9bda6">ResolutionBase</a>(std::vector<double> parameters);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">virtual</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#aa24cd7c2962b6dfe66e4780d46f33adc">~ResolutionBase</a>();</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">/* @} */</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="comment">/* @{ */</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#ac9687c343bcbfb92106643cbead64904">GetSigma</a>(<span class="keywordtype">double</span> par) = 0;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="class_k_l_fitter_1_1_resolution_base.html#a5f783b5e8c3fc62fb476235f5409d515"> 82</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a5f783b5e8c3fc62fb476235f5409d515">logp</a>(<span class="keywordtype">double</span> <span class="comment">/*x*/</span>, <span class="keywordtype">double</span> <span class="comment">/*xmeas*/</span>, <span class="keywordtype">bool</span> *good, <span class="keywordtype">double</span> <span class="comment">/*par*/</span> = 0) { *good = <span class="keyword">true</span>; <span class="keywordflow">return</span> 0; }</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordtype">int</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a289ff55b03737c6b2bf5264c581627a0">Par</a>(<span class="keywordtype">int</span> index, <span class="keywordtype">double</span> *par);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="comment">/* @} */</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="comment">/* @{ */</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordtype">int</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a0b5bf645b21bd40a3329f33dc10eb731">SetPar</a>(<span class="keywordtype">int</span> index, <span class="keywordtype">double</span> value);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordtype">int</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a0b5bf645b21bd40a3329f33dc10eb731">SetPar</a>(std::vector<double> parameters);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="comment">/* @} */</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="comment">/* @{ */</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordtype">int</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a5bebf42d9f689cabea47a9b3b52ef6ab">ReadParameters</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * filename, std::size_t nparameters);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="class_k_l_fitter_1_1_resolution_base.html#ac6e8eaa2ab63205a55dd6a318bd94653"> 127</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#ac6e8eaa2ab63205a55dd6a318bd94653">Status</a>() { <span class="keywordflow">return</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a09b212536230d4f2e78333fecc2995c4">fStatus</a>; }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="comment">/* @} */</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="class_k_l_fitter_1_1_resolution_base.html#a24d93621003dd92c655c23ed3fd11541"> 133</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a24d93621003dd92c655c23ed3fd11541">fNParameters</a>;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="class_k_l_fitter_1_1_resolution_base.html#a0fd4322a9e61bbcbfccbc16b10f4b5d7"> 136</a></span>  std::vector <double> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a0fd4322a9e61bbcbfccbc16b10f4b5d7">fParameters</a>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="class_k_l_fitter_1_1_resolution_base.html#a09b212536230d4f2e78333fecc2995c4"> 139</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_k_l_fitter_1_1_resolution_base.html#a09b212536230d4f2e78333fecc2995c4">fStatus</a>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> };</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> } <span class="comment">// namespace KLFitter</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor">#endif // KLFITTER_RESOLUTIONBASE_H_</span></div><div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_a09b212536230d4f2e78333fecc2995c4"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#a09b212536230d4f2e78333fecc2995c4">KLFitter::ResolutionBase::fStatus</a></div><div class="ttdeci">int fStatus</div><div class="ttdoc">The status of this class (1: ok, 0: error). </div><div class="ttdef"><b>Definition:</b> ResolutionBase.h:139</div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html">KLFitter::ResolutionBase</a></div><div class="ttdoc">A base class for describing resolutions. </div><div class="ttdef"><b>Definition:</b> ResolutionBase.h:38</div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_aa24cd7c2962b6dfe66e4780d46f33adc"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#aa24cd7c2962b6dfe66e4780d46f33adc">KLFitter::ResolutionBase::~ResolutionBase</a></div><div class="ttdeci">virtual ~ResolutionBase()</div><div class="ttdoc">The (defaulted) destructor. </div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_a0fd4322a9e61bbcbfccbc16b10f4b5d7"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#a0fd4322a9e61bbcbfccbc16b10f4b5d7">KLFitter::ResolutionBase::fParameters</a></div><div class="ttdeci">std::vector< double > fParameters</div><div class="ttdoc">The parameter values. </div><div class="ttdef"><b>Definition:</b> ResolutionBase.h:136</div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_ac6e8eaa2ab63205a55dd6a318bd94653"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#ac6e8eaa2ab63205a55dd6a318bd94653">KLFitter::ResolutionBase::Status</a></div><div class="ttdeci">int Status()</div><div class="ttdoc">Return a status code. </div><div class="ttdef"><b>Definition:</b> ResolutionBase.h:127</div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_a5f783b5e8c3fc62fb476235f5409d515"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#a5f783b5e8c3fc62fb476235f5409d515">KLFitter::ResolutionBase::logp</a></div><div class="ttdeci">virtual double logp(double, double, bool *good, double=0)</div><div class="ttdoc">Return the probability of the true value of x given the measured value, xmeas. </div><div class="ttdef"><b>Definition:</b> ResolutionBase.h:82</div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_a542e2d7269e41878f9e20cfcf9d9bda6"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#a542e2d7269e41878f9e20cfcf9d9bda6">KLFitter::ResolutionBase::ResolutionBase</a></div><div class="ttdeci">ResolutionBase(int npar)</div><div class="ttdoc">The default constructor. </div><div class="ttdef"><b>Definition:</b> ResolutionBase.cxx:26</div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_a24d93621003dd92c655c23ed3fd11541"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#a24d93621003dd92c655c23ed3fd11541">KLFitter::ResolutionBase::fNParameters</a></div><div class="ttdeci">int fNParameters</div><div class="ttdoc">The number of parameters. </div><div class="ttdef"><b>Definition:</b> ResolutionBase.h:133</div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_a0b5bf645b21bd40a3329f33dc10eb731"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#a0b5bf645b21bd40a3329f33dc10eb731">KLFitter::ResolutionBase::SetPar</a></div><div class="ttdeci">int SetPar(int index, double value)</div><div class="ttdoc">Set a parameter value. </div><div class="ttdef"><b>Definition:</b> ResolutionBase.cxx:67</div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_a289ff55b03737c6b2bf5264c581627a0"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#a289ff55b03737c6b2bf5264c581627a0">KLFitter::ResolutionBase::Par</a></div><div class="ttdeci">int Par(int index, double *par)</div><div class="ttdoc">Return a parameter of the parameterization. </div><div class="ttdef"><b>Definition:</b> ResolutionBase.cxx:52</div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_ac9687c343bcbfb92106643cbead64904"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#ac9687c343bcbfb92106643cbead64904">KLFitter::ResolutionBase::GetSigma</a></div><div class="ttdeci">virtual double GetSigma(double par)=0</div><div class="ttdoc">Return the (approximate) width of the TF depending on the relevant parameter (mostly xmeas...</div></div>
<div class="ttc" id="class_k_l_fitter_1_1_resolution_base_html_a5bebf42d9f689cabea47a9b3b52ef6ab"><div class="ttname"><a href="class_k_l_fitter_1_1_resolution_base.html#a5bebf42d9f689cabea47a9b3b52ef6ab">KLFitter::ResolutionBase::ReadParameters</a></div><div class="ttdeci">int ReadParameters(const char *filename, std::size_t nparameters)</div><div class="ttdoc">Read parameter values from ASCII file. </div><div class="ttdef"><b>Definition:</b> ResolutionBase.cxx:102</div></div>
<div class="ttc" id="namespace_k_l_fitter_html"><div class="ttname"><a href="namespace_k_l_fitter.html">KLFitter</a></div><div class="ttdoc">The KLFitter namespace. </div><div class="ttdef"><b>Definition:</b> BoostedLikelihoodTopLeptonJets.h:28</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>