<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/GlueX_Software_Meeting,_August_17,_2021#Minutes">here</a>
      and below.</p>
    <p>  -- Mark</p>
    <p>     __________________________________</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">GlueX Software Meeting, August 17, 2021, </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, Nathan Brei, Sean Dobbs,
                Sergey Furletov, Nathaniel Hoffman, Mark Ito (chair),
                Igal Jaegle, Naomi Jarvis, Torri Jeske, Richard Jones,
                David Lawrence, Alison LaDuke, Zisis Papandreou, Simon
                Taylor, Tyler Viducic, Jon Zarling
              </p>
              <p>There is a <a rel="nofollow" class="external text" href="https://bluejeans.com/s/RgU@pTgb256">recording
                  of this meeting</a>. Log into the <a rel="nofollow" class="external text" href="https://jlab.bluejeans.com">BlueJeans site</a>
                first to gain access (use your JLab credentials).
              </p>
              <h3><span class="mw-headline" id="Announcements">Announcements</span></h3>
              <ol>
                <li> <a rel="nofollow" class="external text" href="https://mailman.jlab.org/pipermail/halld-offline/2021-August/008601.html">New
                    version set: 4.44.0</a> This is the latest and was
                  released a week ago.</li>
                <li> <a rel="nofollow" class="external text" href="https://mailman.jlab.org/pipermail/halld-offline/2021-August/008604.html">Dirac++
                    library now builds as standalone using cmake</a>
                  This is a major structural change to the layout of the
                  Diracxx directory. It requires two new packages,
                  python3-devel and boost-python36-devel, that many of
                  us did not have installed heretofore.</li>
                <li> <a rel="nofollow" class="external text" href="https://mailman.jlab.org/pipermail/halld-offline/2021-August/008605.html">move
                    to new work disk</a> This is happening today.</li>
              </ol>
              <h3><span class="mw-headline" id="Review_of_Minutes_from_the_Last_Software_Meeting">Review
                  of Minutes from the Last Software Meeting</span></h3>
              <p>We went over the <a href="https://halldweb.jlab.org/wiki/index.php/GlueX_Software_Meeting,_July_20,_2021#Minutes" title="GlueX Software Meeting, July 20, 2021">minutes
                  from the meeting on July 20</a>.
              </p>
              <p>On halld_recon issue #537, <a rel="nofollow" class="external text" href="https://github.com/JeffersonLab/halld_recon/issues/537">Problems
                  with photon energies in MC samples</a>, Sean noted
                that Richard has merged in Sean's changes to address
                parts of the problem. If further tests are done and
                succeed, we may consider back-ported this fix to older
                reconstruction versions.
              </p>
              <p>Also Sean has looked as some of the random trigger
                files. He sees instances where the correct counter
                recorded but the wrong tagged beam energy. He has a
                script that will correct the energy and plans to
                re-write corrected copies of these files.
              </p>
              <p>Richard asked about whether there is a system at the
                Lab for coordinating file transfer, starting from the
                tape library on to off-site locations. There does not
                seem to be an end-to-end solution. David suggested
                submitting a Service Now Incident Report (SNIR).
              </p>
              <p>Mark reported that he and Alex discussed the location
                of files brought back to the Lab from the HPC centers.
                They concluded that the current use of volatile and
                cache is giving acceptable performance.
              </p>
              <h3><span class="mw-headline" id="Review_of_Minutes_from_the_Last_HDGeant4_Meeting">Review
                  of Minutes from the Last HDGeant4 Meeting</span></h3>
              <p>We went over the <a href="https://halldweb.jlab.org/wiki/index.php/HDGeant4_Meeting,_August_10,_2021#Minutes" title="HDGeant4 Meeting, August 10, 2021">minutes from
                  the HDGeant4 meeting on August 10</a> with very little
                comment or discussion.
              </p>
              <h3><span class="mw-headline" id="FAQ_of_the_Fortnight:_What_is_the_difference_between_a_clone_and_a_fork.3F">FAQ
                  of the Fortnight: What is the difference between a
                  clone and a fork?</span></h3>
              <p>Mark made some remarks about <a href="https://halldweb.jlab.org/wiki/index.php/GlueX_Offline_FAQ#What_is_the_difference_between_a_clone_and_a_fork.3F" title="GlueX Offline FAQ">this FAQ</a>. A fork is a
                clone from a GitHub repository to another GitHub
                repository, with GitHub-specific features added. Find
                the explanation at 27:45 in the recording. He described
                the difference and demonstrated the defaults in how
                GitHub presents source and target repo/branch
                combinations when a pull request is composed.
              </p>
              <h3><span class="mw-headline" id="More_on_using_GCC_8">More
                  on using GCC 8</span></h3>
              <p>Mark has been successful building the GlueX software
                using Geant4 10.06 and GCC 8 using three different
                methods:
              </p>
              <ul>
                <li> GCC 8 in a CentOS 7 Container using Developers
                  Toolset 8</li>
                <li> GCC 8 in a CentOS 8 Container</li>
                <li> GCC 8 module installed on the farm</li>
              </ul>
              <p>The first was discussed at the last Software Meeting
                and announced in <a rel="nofollow" class="external
                  text" href="https://mailman.jlab.org/pipermail/halld-offline/2021-July/008587.html">an
                  email message</a>.
              </p>
              <p>There are <a href="https://halldweb.jlab.org/wiki/index.php/Offline_HOWTO_List#GlueX_Software_with_GCC_8" title="Offline HOWTO List">HOWTOs for each of these
                  approaches</a>.
              </p>
              <h3><span class="mw-headline" id="Histogramming_Using_Uproot_and_Our_Flat_Tree_Output">Histogramming
                  Using Uproot and Our Flat Tree Output</span></h3>
              <p>Jon introduced <b>gluupy</b>, a system for fast
                histogramming of <b>Gl</b>ueX data using <b>Up</b>root
                and <b>Py</b>thon.
              </p>
              <ul>
                <li> Speed comes principally from putting trees in large
                  Numpy arrays.</li>
                <li> Filling of Numpy arrays from ROOT trees is
                  facilitated by Uproot.</li>
                <li> ROOT functionality accessed from Python with
                  PyROOT.</li>
              </ul>
              <p>The goal is to reduce the time of execution and
                overhead of setting up an iteration of an analysis.
                Progress in refining an analysis therefore happens more
                quickly and perhaps more comprehensively as well (more
                things can be tried).
              </p>
              <p>The walked us through a complete example of an analysis
                of η→π<sup>0</sup>π<sup>0</sup>π<sup>0</sup>.
              </p>
              <p>Please see <a rel="nofollow" class="external text" href="https://halldweb.jlab.org/doc-private/DocDB/ShowDocument?docid=5237">his
                  slides</a> for details and find his presentation
                starting at 47:50 in the recording. The code is
                available in the hd_utilities repository.
              </p>
              <h3><span class="mw-headline" id="Maintaining_the_Online_halld_recon">Maintaining
                  the Online halld_recon</span></h3>
              <p>David and Sergey proposed new approach to maintaining
                the build of halld_recon used for various purposes
                during data taking. Traditionally the build was done on
                disks resident in the Counting House to insulate us from
                network outages and was maintained "by hand." Instances
                where the network caused difficulties have turned out to
                be rare and so we might want to use a variant of the
                system used in the offline builds to take advantage of
                the effort already being expended in maintaining them,
                even though that is done on a network mounted disk in
                the Computer Center. Alex pointed out that we upgrade
                the online halld_recon only seldom, for stability during
                the run. Mark mentioned we could go to a system where a
                version set file is used to choose the running version,
                so upgrades can proceed in parallel with use of a
                production version, and any switch to a new build can be
                reversed instantly if problems arise.
              </p>
              <p>Alex agreed to call a meeting to discuss these issues
                with David, Sergey, and Mark.
              </p>
            </div>
            <br>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>