<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Folks,</p>
    <p>Please find the minutes <a moz-do-not-send="true"
href="https://halldweb.jlab.org/wiki/index.php/HDGeant4_Meeting,_June_30,_2020#Minutes">here</a>
      and below.</p>
    <p>  -- Mark</p>
    <p>
    </p>
    <div id="globalWrapper">
      <div id="column-content">
        <div id="content" class="mw-body" role="main">
          <h2 id="firstHeading" class="firstHeading" lang="en"><span
              dir="auto">HDGeant4 Meeting, June 30, 2020, </span><span
              class="mw-headline" id="Minutes">Minutes</span></h2>
          <div id="bodyContent" class="mw-body-content">
            <div id="mw-content-text" dir="ltr" class="mw-content-ltr"
              lang="en">
              <p>Present: Alex Austregesilo, Sean Dobbs, Colin Gleason,
                Mark Ito (chair), Igal Jaegle, Richard Jones, Simon
                Taylor, Nilanga Wickramaarachchi
              </p>
              <p>There is a <a rel="nofollow" class="external text"
                  href="https://bluejeans.com/s/Ghdjw/">recording of
                  this meeting</a> on the BlueJeans site. Use your JLab
                credentials to get access.
              </p>
              <h3><span class="mw-headline"
                  id="Announcement:_Version_Set_with_Upgraded_Geant4">Announcement:
                  Version Set with Upgraded Geant4</span></h3>
              <p><a rel="nofollow" class="external text"
href="https://mailman.jlab.org/pipermail/halld-offline/2020-June/004104.html">A
                  new version set with upgrade to Geant4:
                  version_4.21.3.xml</a> was released today. Mark
                described it and attendant caveats. This led to a
                discussion of upgrading compilers.
              </p>
              <ul>
                <li> We did not go further with Geant4 versions because
                  of limitations with the CentOS7 native compiler.</li>
                <li> Similar issues may arise with ROOT.</li>
                <li> There are three options to address the issue:
                  <ol>
                    <li> Do nothing and accept the limitations imposed
                      by the default GCC 4.8.5 compiler</li>
                    <li> Require users to use a container for all
                      software-dependent functions where the container
                      has a non-CentOS7-default version of the compiler
                      installed.</li>
                    <li> Require users to implement advanced compilers
                      on their systems either by
                      <ol>
                        <li> using a system like <a rel="nofollow"
                            class="external text"
                            href="https://www.softwarecollections.org/en/">Software
                            Collections</a></li>
                        <li> or installing more modern compiler versions
                          natively</li>
                      </ol>
                    </li>
                  </ol>
                </li>
              </ul>
              <p>There are various use cases that may (or may not) need
                support going forward, e.g., farm user at JLab,
                developer on a private desktop or laptop machine,
                maintainer of a university cluster, etc.
              </p>
              <p>We will have to return to this discussion at some
                point.
              </p>
              <h3><span class="mw-headline"
                  id="Review_of_minutes_from_the_last_Meeting">Review of
                  minutes from the last Meeting</span></h3>
              <p>We went over <a
href="https://halldweb.jlab.org/wiki/index.php/HDGeant4_Meeting,_June_16,_2020#Minutes"
                  title="HDGeant4 Meeting, June 16, 2020">the minutes
                  from June 16</a> without extensive comment.
              </p>
              <h3><span class="mw-headline" id="Issues_on_GitHub">Issues
                  on GitHub</span></h3>
              <p>We reviewed <a rel="nofollow" class="external text"
                  href="https://github.com/JeffersonLab/HDGeant4/issues">the
                  issues</a>.
              </p>
              <h4><span class="mw-headline"
                  id="Energy_deposition_in_TOF_mismatch_in_data_.26_MC_.23159"><a
                    rel="nofollow" class="external text"
                    href="https://github.com/JeffersonLab/HDGeant4/issues/159">Energy
                    deposition in TOF mismatch in data & MC #159</a></span></h4>
              <p>Sean cross-posted this issue from the halld_sim
                repository to hdgeant4.
              </p>
              <h4><span class="mw-headline"
id="BCAL_reconstructed_energy_sometimes_broken_on_startup:_multicore_only_.23143"><a
                    rel="nofollow" class="external text"
                    href="https://github.com/JeffersonLab/HDGeant4/issues/143">BCAL
                    reconstructed energy sometimes broken on startup:
                    multicore only #143</a></span></h4>
              <p>Richard reported progress on non-reproducible BCAL
                energy results when running hdgeant4 with multiple
                threads. He has discovered a pathology with the
                "division" technique of Geant4 to create multiple
                sensitive detector channels. HDGeant4 uses this feature
                ubiquitously, not only in the BCAL but also in the CDC,
                FCAL, TOF, etc. The implementation of divisions turns to
                be manifestly non-thread-safe. Another technique, the
                Geant4 "replica" feature, does have thread safety built
                in and Richard has followed that code as a model for how
                to implement thread safety for divisions.
              </p>
              <p>In the process, Richard identified a separate issue
                where results from one events depend on details of how
                processing proceed with previous events, an effect he is
                calling hysteresis. This leads to non-reproducibility in
                repeated execution of the code starting with the same
                random number seeds each time. He believes the problem
                lies in the code to do charged particle propagation
                through magnetic fields.
              </p>
              <p>He concludes that all results to date of multi-threaded
                running of HDGeant4 are suspect. Luckily, the running we
                have been doing on the OSG has always been
                single-threaded.
              </p>
              <h3><span class="mw-headline" id="Pull_Requests_on_GitHub">Pull
                  Requests on GitHub</span></h3>
              <p>We looked over <a rel="nofollow" class="external text"
                  href="https://github.com/JeffersonLab/HDGeant4/pulls">the
                  pull requests</a>. Igal submitted <a rel="nofollow"
                  class="external text"
                  href="https://github.com/JeffersonLab/HDGeant4/pull/158">changes
                  to simulate the lead tungstate insert</a> for FCAL2.
                He based his changes on work done by Simon. Simon
                explained that, in terms of material, the insert is
                implemented as a single block, but sub-divided to give
                individual read-out channels following the scheme used
                in the FCAL. The pull request has been merged.
              </p>
              <h3><span class="mw-headline" id="Action_Item_Review">Action
                  Item Review</span></h3>
              <ol>
                <li> Continue work on the BCAL multi-threading problem
                  (Richard)</li>
                <li> Structure a discussion on advanced compiler
                  versions (Mark)</li>
                <li> Try out the bcal_nolight_heavy_rtj branch. (Colin)</li>
                <li> Merge issues #93 and #111 (Mark)</li>
              </ol>
            </div>
            <div class="printfooter">
              Retrieved from "<a dir="ltr"
href="https://halldweb.jlab.org/wiki/index.php?title=HDGeant4_Meeting,_June_30,_2020&oldid=99983">https://halldweb.jlab.org/wiki/index.php?title=HDGeant4_Meeting,_June_30,_2020&oldid=99983</a>"</div>
          </div>
        </div>
      </div>
      <div id="footer" role="contentinfo">
        <ul id="f-list">
          <li id="lastmod"> This page was last modified on 30 June 2020,
            at 17:23.</li>
        </ul>
      </div>
    </div>
  </body>
</html>