<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p>Friends,</p>
    <p>Please find the minutes <a moz-do-not-send="true" href="https://halldweb.jlab.org/wiki/index.php/GlueX_Software_Meeting,_October_25,_2021,_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">
          </h2>
          <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, October 25, 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, Thomas Britton, Sean
                      Dobbs, Mark Ito (chair), Igal Jaegle, Richard
                      Jones, David Lawrence, Simon Taylor, Beni Zihlmann
                    </p>
                    <p>There is a <a rel="nofollow" class="external
                        text" href="https://bluejeans.com/s/NkHJt0V1qUu/">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://halldweb.jlab.org/talks/2021/%5bOSG-Users%5d%20Power%20off%20of%20scosg16.pdf">Power
                          off of scosg16</a>. scosg16.jlab.org is going
                        away. It will be replaced by scosg20.jlab.org as
                        our OSG submit node.
                        <ul>
                          <li> scosg20 is two-factored. Use your JLab
                            two-factor login method (i.e., the same as
                            you use to log into hallgw.jlab.org, e.g.,
                            MobilePASS) to login in.</li>
                          <li> scosg20 is not a GLOBUS endpoint, as
                            scosg16 was. Use a Data Transfer Node (DTN)
                            instead. Ask the computer center for access
                            if you do not have it already.</li>
                        </ul>
                      </li>
                      <li> <a rel="nofollow" class="external text" href="https://mailman.jlab.org/pipermail/jlab-scicomp-briefs/2021q4/000867.html">Compute
                          Farm Updates</a> Nodes on the JLab farm will
                        transitioning from CentOS 7.7 to 7.9 over the
                        next months. As <a rel="nofollow" class="external text" href="https://mailman.jlab.org/pipermail/halld-offline/2021-October/008665.html">announced
                          last week</a>, CentOS 7.9 nodes with be
                        assigned the BMS_OSNAME corresponding to 7.7 for
                        the time being.</li>
                      <li> <b>CentOS Stream 8</b>. Richard alerted us
                        to the news that CERN and Fermilab are heading
                        in the direction of CentOS Stream 8 as the next
                        generation scientific computing platform. From <a rel="nofollow" class="external text" href="https://halldweb.jlab.org/talks/2021/20211018-itum34.pdf">slides
                          shown at a CERN IT Technical-Users Meeting</a>:
                        "Going forward, we propose to target CentOS
                        Stream 8 as the standard distribution for
                        experiments."
                        <ul>
                          <li> David expressed the concern that with
                            CentOS Stream streaming ahead, there might
                            be OS-dependent gotcha's not captured by our
                            versioning scheme. Richard proposed
                            containers as a way around that. He also
                            mentioned that the CERN/Fermi folks have
                            operational experience with Stream without
                            major difficulties, evidence of the lack of
                            gotcha's.</li>
                          <li> David endorsed the idea of running in
                            containers on the JLab farm. He pointed out
                            that we already run containerized on all of
                            the off-site platforms we use. Richard
                            remarked that an added benefit of
                            standardizing on containers is that non-JLab
                            folks (e.g., Richard) could reproduce the OS
                            exactly when troubleshooting reported
                            problems, and not have to log into JLab to
                            get the right OS.</li>
                        </ul>
                      </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,_October_11,_2021#Minutes" title="GlueX Software Meeting, October 11, 2021">minutes
                        from the meeting on October 11th</a>.
                    </p>
                    <h4><span class="mw-headline" id="Doxygen_and_Documentation">Doxygen and
                        Documentation</span></h4>
                    <p>Beni had been exploring the features of Doxygen
                      by adding comments to the TOF and start counter
                      code. He thinks there is a lot of promise in using
                      Doxygen, but needs to learn the system a bit more
                      before rendering judgment. He will give us a
                      summary of what he has learned once he is farther
                      along.
                    </p>
                    <p>Richard brought up the use of Doxygen at an EIC
                      simulation meeting with Makoto Asai in attendance.
                      The feeling of the participants was that a PDF
                      note was the best choice for the primary
                      documentation vehicle. Doxygen was useful, but
                      mainly to a small core of developers. This despite
                      Geant4 having extensive Doxygen-oriented comments.
                    </p>
                    <p>Having a summary of purpose and methods at the
                      top of source files, using Doxygen syntax seems to
                      be a consensus best practice.
                    </p>
                    <h4><span class="mw-headline" id="DL1MCTrigger_Crashes_With_mysql_rcdb.2Fccdb">DL1MCTrigger
                        Crashes With mysql rcdb/ccdb</span></h4>
                    <p>We had more discussion of <a rel="nofollow" class="external text" href="https://github.com/JeffersonLab/halld_recon/issues/81">halld_recon
                        Issue #81</a>.
                    </p>
                    <ul>
                      <li> Alex had posted an example that will produce
                        the error reliably. Interestingly, it only
                        occurs for SQLite CCDB files on a raw data file.
                        The original post reported the bug in
                        simulation, and only when using a MySQL server
                        for CCDB. Alex example only has trouble when
                        running multi-threaded.</li>
                      <li> There may be two different issues here.</li>
                      <li> Richard speculated that there is some sort of
                        race condition when running multi-threaded.</li>
                      <li> Simon tried to reproduce the error under
                        Valgrind, without success (i.e., it worked).</li>
                    </ul>
                    <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,_October_18,_2021#Minutes" title="HDGeant4 Meeting, October 18, 2021">minutes
                        from the meeting on October 18</a>. Igal will
                      enforce an upper limit on the single-block FCAL
                      energy in mcsmear to avoid values in excess of 8
                      GeV.
                    </p>
                    <h3><span class="mw-headline" id="FAQ_of_the_Fortnight:_What_are_.22directory_tags.3F.22">FAQ
                        of the Fortnight: What are "directory tags?"</span></h3>
                    <p>Mark led us through the <a href="https://halldweb.jlab.org/wiki/index.php/GlueX_Offline_FAQ#What_are_.22directory_tags.3F.22" title="GlueX Offline FAQ">FAQ</a>.
                    </p>
                    <h3><span class="mw-headline" id="Package_Structure">Package
                        Structure</span></h3>
                    <p>Mark led us through a series of <a rel="nofollow" class="external text" href="https://halldweb.jlab.org/talks/2021/package_structure.pdf">diagrams</a>
                      illustrating the dependency structure of our
                      software packages along with a proposal for a new
                      structure. Find his explanation starting at 55:54
                      in the recording.
                    </p>
                    <p>He proposes a structure such that the simulation
                      code (halld_sim and hdgeant4) does not depend on
                      the "reconstruction" code (halld_recon). This
                      should be possible since simulation is performed
                      before reconstruction, everywhere and always. The
                      current structure has halld_sim and hdgeant4
                      dependent on halld_recon, not because of the
                      details of reconstruction, but due to other
                      support functions that happen to live in the
                      halld_recon repository, in particular I/O routines
                      and magnetic-field handling. </p>
                    <p>To obtain independence of simulation from
                      reconstruction, he proposed a new package,
                      hd_interface, that captures all code from
                      halld_recon upon which simulation depends. The
                      weakness in the scheme is that a naive capture of
                      source files from halld_recon into hd_interface,
                      while allowing a build of halld_sim and hdgeant4
                      independent of halld_recon, likely gives an
                      interface library that impacts reconstruction. The
                      impact is clearly less than that which comes with
                      dependence on the whole of halld_recon, still it
                      diminishes the utility of the new interface
                      library. The extent of the diminution needs review
                      going forward.
                    </p>
                    <h3><span class="mw-headline" id="Action_Item_Review">Action Item Review</span></h3>
                    <ol>
                      <li> Create a Wiki page of Doxygen links. (Mark)</li>
                      <li> Add Alex to the gluex_admin team on GitHub.
                        (Mark)</li>
                      <li> Add non-privileged pull-request-re-test
                        procedure to the FAQ.</li>
                      <li> Figure out why Beni's Doxygen-related pull
                        request does not return a result from the
                        automatic test.</li>
                    </ol>
                  </div>
                  <br>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>