Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
lan13005 committed Mar 20, 2024
1 parent 2da9c8e commit 46a506f
Show file tree
Hide file tree
Showing 21 changed files with 760 additions and 353 deletions.
57 changes: 39 additions & 18 deletions _modules/LoadParameters.html

Large diffs are not rendered by default.

21 changes: 5 additions & 16 deletions _modules/atiSetup.html
Original file line number Diff line number Diff line change
Expand Up @@ -356,8 +356,8 @@ <h1>Source code for atiSetup</h1><div class="highlight"><pre>
<span class="sd"> use_fsroot (bool): True if FSRoot library should be loaded</span>
<span class="sd"> use_genamp (bool): True if GenAmp library should be loaded</span>
<span class="sd"> &#39;&#39;&#39;</span>
<span class="n">USE_MPI</span><span class="p">,</span> <span class="n">USE_GPU</span><span class="p">,</span> <span class="n">RANK_MPI</span> <span class="o">=</span> <span class="n">loadLibraries</span><span class="p">(</span><span class="n">accelerator</span><span class="p">,</span> <span class="n">use_fsroot</span><span class="p">,</span> <span class="n">use_genamp</span><span class="p">)</span>
<span class="n">set_aliases</span><span class="p">(</span><span class="n">calling_globals</span><span class="p">,</span> <span class="n">USE_MPI</span><span class="p">)</span>
<span class="n">USE_MPI</span><span class="p">,</span> <span class="n">USE_GPU</span><span class="p">,</span> <span class="n">RANK_MPI</span> <span class="o">=</span> <span class="n">loadLibraries</span><span class="p">(</span> <span class="n">accelerator</span><span class="p">,</span> <span class="n">use_fsroot</span><span class="p">,</span> <span class="n">use_genamp</span> <span class="p">)</span>
<span class="n">set_aliases</span><span class="p">(</span> <span class="n">calling_globals</span><span class="p">,</span> <span class="n">USE_MPI</span><span class="p">,</span> <span class="n">USE_GPU</span> <span class="p">)</span>

<span class="k">return</span> <span class="n">USE_MPI</span><span class="p">,</span> <span class="n">USE_GPU</span><span class="p">,</span> <span class="n">RANK_MPI</span></div>

Expand Down Expand Up @@ -403,7 +403,7 @@ <h1>Source code for atiSetup</h1><div class="highlight"><pre>
<span class="k">else</span><span class="p">:</span> <span class="n">status</span> <span class="o">=</span> <span class="s2">&quot;OFF&quot;</span>
<span class="k">if</span> <span class="n">RANK_MPI</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39; </span><span class="si">{</span><span class="n">status</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span></div>

<div class="viewcode-block" id="set_aliases"><a class="viewcode-back" href="../api/atiSetup.html#atiSetup.set_aliases">[docs]</a><span class="k">def</span> <span class="nf">set_aliases</span><span class="p">(</span><span class="n">called_globals</span><span class="p">,</span> <span class="n">USE_MPI</span><span class="p">):</span>
<div class="viewcode-block" id="set_aliases"><a class="viewcode-back" href="../api/atiSetup.html#atiSetup.set_aliases">[docs]</a><span class="k">def</span> <span class="nf">set_aliases</span><span class="p">(</span> <span class="n">called_globals</span><span class="p">,</span> <span class="n">USE_MPI</span><span class="p">,</span> <span class="n">USE_GPU</span> <span class="p">):</span>
<span class="w"> </span><span class="sd">&#39;&#39;&#39;</span>
<span class="sd"> Due to MPI requiring c++ templates and the fact that all classes live under the ROOT namespace, aliasing can clean up the code significantly.</span>
<span class="sd"> A dictionary of aliases is appended to the globals() function of the calling function thereby making the aliases available in the calling function.</span>
Expand Down Expand Up @@ -445,22 +445,11 @@ <h1>Source code for atiSetup</h1><div class="highlight"><pre>
<span class="s1">&#39;TFile&#39;</span><span class="p">:</span> <span class="n">ROOT</span><span class="o">.</span><span class="n">TFile</span><span class="p">,</span>
<span class="s1">&#39;AmplitudeInfo&#39;</span><span class="p">:</span> <span class="n">ROOT</span><span class="o">.</span><span class="n">AmplitudeInfo</span><span class="p">,</span>
<span class="p">}</span>
<span class="k">if</span> <span class="n">USE_GPU</span><span class="p">:</span>
<span class="n">aliases</span><span class="p">[</span><span class="s1">&#39;GPUManager&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">ROOT</span><span class="o">.</span><span class="n">GPUManager</span>

<span class="n">called_globals</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">aliases</span><span class="p">)</span></div>

<span class="c1"># default_print = print</span>
<span class="c1"># def print(*args, **kwargs):</span>
<span class="c1"># &#39;&#39;&#39;</span>
<span class="c1"># Override print to always flush. Mixing c++ and python code</span>
<span class="c1"># can cause reordering of stdout</span>
<span class="c1"># &#39;&#39;&#39;</span>
<span class="c1"># kwargs[&#39;flush&#39;] = kwargs.get(&#39;flush&#39;, True)</span>
<span class="c1"># default_print(*args, **kwargs)</span>

<span class="c1"># def checkEnvironment(variable):</span>
<span class="c1"># &#39;&#39;&#39; Check if environment variable is set to 1 &#39;&#39;&#39;</span>
<span class="c1"># return os.environ[variable] == &quot;1&quot; if variable in os.environ else False</span>

<div class="viewcode-block" id="prepare_mpigpu"><a class="viewcode-back" href="../api/atiSetup.html#atiSetup.prepare_mpigpu">[docs]</a><span class="k">def</span> <span class="nf">prepare_mpigpu</span><span class="p">(</span><span class="n">accelerator</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&#39;&#39;&#39;</span>
<span class="sd"> Sets environment variables to use MPI and/or GPU if requested.</span>
Expand Down
2 changes: 2 additions & 0 deletions _modules/fit.html
Original file line number Diff line number Diff line change
Expand Up @@ -448,8 +448,10 @@ <h1>Source code for fit</h1><div class="highlight"><pre>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;ALL FITS FAILED!&quot;</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;MINIMUM LIKELHOOD FROM ITERATION </span><span class="si">{</span><span class="n">minFitTag</span><span class="si">}</span><span class="s1"> of </span><span class="si">{</span><span class="n">N</span><span class="si">}</span><span class="s1"> RANDOM PRODUCTION PARS = </span><span class="si">{</span><span class="n">minNLL</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;cp </span><span class="si">{</span><span class="n">fitName</span><span class="si">}</span><span class="s1">_</span><span class="si">{</span><span class="n">minFitTag</span><span class="si">}</span><span class="s1">.fit </span><span class="si">{</span><span class="n">fitName</span><span class="si">}</span><span class="s1">.fit&#39;</span><span class="p">)</span>
<span class="n">os</span><span class="o">.</span><span class="n">system</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;cp </span><span class="si">{</span><span class="n">fitName</span><span class="si">}</span><span class="s1">_</span><span class="si">{</span><span class="n">minFitTag</span><span class="si">}</span><span class="s1">.fit </span><span class="si">{</span><span class="n">fitName</span><span class="si">}</span><span class="s1">.fit&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">seedfile</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;cp </span><span class="si">{</span><span class="n">seedfile</span><span class="si">}</span><span class="s1">_</span><span class="si">{</span><span class="n">minFitTag</span><span class="si">}</span><span class="s1">.txt </span><span class="si">{</span><span class="n">seedfile</span><span class="si">}</span><span class="s1">.txt&#39;</span><span class="p">)</span>
<span class="n">os</span><span class="o">.</span><span class="n">system</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;cp </span><span class="si">{</span><span class="n">seedfile</span><span class="si">}</span><span class="s1">_</span><span class="si">{</span><span class="n">minFitTag</span><span class="si">}</span><span class="s1">.txt </span><span class="si">{</span><span class="n">seedfile</span><span class="si">}</span><span class="s1">.txt&#39;</span><span class="p">)</span>

<span class="k">return</span> <span class="n">minNLL</span></div>
Expand Down
22 changes: 13 additions & 9 deletions _modules/mcmc.html
Original file line number Diff line number Diff line change
Expand Up @@ -355,12 +355,16 @@ <h1>Source code for mcmc</h1><div class="highlight"><pre>
<span class="bp">self</span><span class="o">.</span><span class="n">ofile</span> <span class="o">=</span> <span class="n">ofile</span>
<span class="bp">self</span><span class="o">.</span><span class="n">finishedSetup</span> <span class="o">=</span> <span class="kc">False</span>

<div class="viewcode-block" id="mcmcManager.Prior"><a class="viewcode-back" href="../api/mcmc.html#mcmc.mcmcManager.Prior">[docs]</a> <span class="k">def</span> <span class="nf">Prior</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parameters</span><span class="p">):</span>
<div class="viewcode-block" id="mcmcManager.Prior"><a class="viewcode-back" href="../api/mcmc.html#mcmc.mcmcManager.Prior">[docs]</a> <span class="k">def</span> <span class="nf">Prior</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
<span class="n">par_values</span><span class="p">,</span>
<span class="n">keys</span>
<span class="p">):</span>
<span class="w"> </span><span class="sd">&#39;&#39;&#39;</span>
<span class="sd"> (Log of) Prior distribution for the parameters</span>
<span class="sd"> (Log of) Prior distribution for the par_values</span>

<span class="sd"> Args:</span>
<span class="sd"> parameters (dict): Dictionary of parameter names (complex production coeffs and amplitude params) and values.</span>
<span class="sd"> par_values (MinuitParameter*): list of parameter names and values. Production coeffs are split into (re)al/(im)aginary parts</span>
<span class="sd"> keys (str): parameter names</span>
<span class="sd"> If multiple config files were passed, the parameter names will be appended with a &#39;_i&#39; tag where i is the ith cfg file</span>

<span class="sd"> Returns:</span>
Expand All @@ -381,8 +385,8 @@ <h1>Source code for mcmc</h1><div class="highlight"><pre>
<span class="sd"> Definition of the (Log) Posterior distribution</span>

<span class="sd"> Args:</span>
<span class="sd"> par_values (float): Flattened (complex-to-Real/Imag) Parameter values. ~ [real1, imag1, real2, imag2, ...]</span>
<span class="sd"> keys (str): Flattened Parameter names. ~ [amp1, amp1, amp2, amp2, ...]</span>
<span class="sd"> par_values (MinuitParameter*): list of parameter names and values. Production coeffs are split into (re)al/(im)aginary parts</span>
<span class="sd"> keys (str): parameter names</span>
<span class="sd"> If multiple config files were passed, the parameter names will be appended with a &#39;_i&#39; tag where i is the ith cfg file</span>

<span class="sd"> Returns:</span>
Expand All @@ -392,16 +396,15 @@ <h1>Source code for mcmc</h1><div class="highlight"><pre>
<span class="c1">## Calculate Log likelihood</span>
<span class="n">log_prob</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">n_atis</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span> <span class="bp">self</span><span class="o">.</span><span class="n">atis</span> <span class="p">)</span>
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">ati</span><span class="p">,</span> <span class="n">LoadParametersSampler</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span> <span class="nb">range</span><span class="p">(</span><span class="n">n_atis</span><span class="p">),</span> <span class="bp">self</span><span class="o">.</span><span class="n">atis</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">LoadParametersSamplers</span> <span class="p">):</span>
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">ati</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span> <span class="nb">range</span><span class="p">(</span><span class="n">n_atis</span><span class="p">),</span> <span class="bp">self</span><span class="o">.</span><span class="n">atis</span> <span class="p">):</span>
<span class="n">_par_values</span> <span class="o">=</span> <span class="n">par_values</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">paramPartitions</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span><span class="bp">self</span><span class="o">.</span><span class="n">paramPartitions</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]]</span>
<span class="n">_keys</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">paramPartitions</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span><span class="bp">self</span><span class="o">.</span><span class="n">paramPartitions</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]]</span>
<span class="n">parameters</span> <span class="o">=</span> <span class="n">LoadParametersSampler</span><span class="o">.</span><span class="n">unflatten_parameters</span><span class="p">(</span> <span class="n">_par_values</span><span class="p">,</span> <span class="n">_keys</span> <span class="p">)</span>
<span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">parameters</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
<span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">_keys</span><span class="p">,</span> <span class="n">_par_values</span><span class="p">):</span>
<span class="c1"># remove tag from name if multiple cfg files were passed</span>
<span class="n">name</span> <span class="o">=</span> <span class="n">name</span><span class="p">[</span> <span class="p">:</span><span class="n">name</span><span class="o">.</span><span class="n">rfind</span><span class="p">(</span><span class="s1">&#39;_&#39;</span><span class="p">)</span> <span class="p">]</span> <span class="k">if</span> <span class="n">n_atis</span> <span class="o">&gt;</span> <span class="mi">1</span> <span class="k">else</span> <span class="n">name</span>
<span class="n">ati</span><span class="o">.</span><span class="n">parameterManager</span><span class="p">()[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>

<span class="n">log_prob</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Likelihood</span><span class="p">(</span><span class="n">ati</span><span class="p">)</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">Prior</span><span class="p">(</span><span class="n">parameters</span><span class="p">)</span>
<span class="n">log_prob</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Likelihood</span><span class="p">(</span><span class="n">ati</span><span class="p">)</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">Prior</span><span class="p">(</span><span class="n">par_values</span><span class="p">,</span> <span class="n">keys</span><span class="p">)</span>

<span class="k">return</span> <span class="n">log_prob</span></div>

Expand Down Expand Up @@ -659,6 +662,7 @@ <h1>Source code for mcmc</h1><div class="highlight"><pre>

<span class="n">atis</span> <span class="o">=</span> <span class="p">[</span> <span class="n">AmpToolsInterface</span><span class="p">(</span><span class="n">cfgInfo</span><span class="p">)</span> <span class="k">for</span> <span class="n">cfgInfo</span> <span class="ow">in</span> <span class="n">cfgInfos</span> <span class="p">]</span>
<span class="n">LoadParametersSamplers</span> <span class="o">=</span> <span class="p">[</span> <span class="n">LoadParameters</span><span class="p">(</span><span class="n">cfgInfo</span><span class="p">)</span> <span class="k">for</span> <span class="n">cfgInfo</span> <span class="ow">in</span> <span class="n">cfgInfos</span> <span class="p">]</span>
<span class="p">[</span> <span class="n">ati</span><span class="o">.</span><span class="n">parameterManager</span><span class="p">()</span><span class="o">.</span><span class="n">setDoCovarianceUpdate</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span> <span class="k">for</span> <span class="n">ati</span> <span class="ow">in</span> <span class="n">atis</span> <span class="p">]</span> <span class="c1"># No internal Minuit fit = no covariance matrix</span>

<span class="c1">############## RUN MCMC ##############</span>
<span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">seed</span><span class="p">(</span><span class="n">seed</span><span class="p">)</span>
Expand Down
Loading

0 comments on commit 46a506f

Please sign in to comment.