[Halld-offline] Offline Software Meeting Minutes, August 20, 2015

Mark Ito marki at jlab.org
Fri Aug 21 10:33:34 EDT 2015


Friends,

Please find the minutes below and at 
https://halldweb.jlab.org/wiki/index.php/GlueX_Offline_Meeting,_August_19,_2015#Minutes 
.

   -- Mark
    _____________________________________________________


    GlueX Offline Meeting, August 19, 2015, Minutes

Present:

  * *FIU*: Mahmoud Kamel
  * *FSU*: Brad Cannon, Aristeidis Tsaris
  * *JLab*: Alex Barnes, Amber Boehnlein, Mark Ito (chair), David
    Lawrence, Paul Mattione, Elton Smith, Nathan Sparks, Justin Stevens,
    Simon Taylor, Beni Zihlmann
  * *NU*: Sean Dobbs
  * *UConn*: Richard Jones


      Announcements

 1. The |build_scripts| repository moved to GitHub
    <https://mailman.jlab.org/pipermail/halld-offline/2015-August/002122.html>
    earlier this week. On a related policy note, we decided that if a
    repository is maintained by a single person, then we can skip the
    pull-request/merge-by-someone-else procedure and allow the
    maintainer to push directory to the repository.
 2. Kei Moriya posted links from last week's calibration meeting on
    Offline Monitoring (see below). Paul mentioned that the last launch
    went smoothly and Kei is feeding back suggestions for SWIF to Chris
    Larrieu and has written a GlueX-oriented SWIF wrapper, |hdswif|. The
    next launch will be next week.
      * Status report
        <https://halldweb.jlab.org/wiki/images/b/b1/2015-08-12-offline_monitoring.pdf>
      * hdswif <https://halldweb.jlab.org/wiki/images/3/3a/Hdswif.pdf>


      Review of minutes from August 5

We went over the minutes from last time 
<https://halldweb.jlab.org/wiki/index.php/GlueX_Offline_Meeting,_August_5,_2015#Minutes>. 
There was no significant discussion.


      Software for Correcting for Pedestal Drifts

Elton raised the issue of how to apply pedestal corrections that occur 
on a time scale smaller than a single run. There are several online and 
offline aspects to the problem and the method is not settled on either 
side. We discussed several aspects of the problem.

  * The pedestals have been observed to drift significantly on a scale
    of a few hours. We might need to change pedestal a values on a 10
    minute time scale.
  * The CCDB is currently set up to handle constants on a run-by-run
    basis. The conceptual design for event-dependent constants has been
    worked out, but nothing has been coded.
  * JANA already has the hooks for obtaining event-dependent constants
    from the CCDB when/if that functionality comes along.
  * There is a potential problem with constants that apply to event
    ranges since with multiple threads not every thread will cross a
    given event boundary at the same time. This could be solved by using
    the "event barriers" David recently introduced in JANA. This
    mechanism requires that all threads synchronize on a designated
    point in the input data stream, each thread not going past it until
    all threads have caught up. Event barriers can be triggered without
    dependence on special event types in the data stream. The
    development of this mechanism was originally motivated by the idea
    of using data from EPICS events in the data stream in the
    reconstruction.
  * There may be a possible bias in pedestals since read-out is only
    done for hits; there will always be a hit nearby in time when
    obtaining pedestals.
  * Depending on the online scheme, we may obtain pedestals on an
    event-by-event basis, or average them over a range of events. In the
    former case, calibration constants are not needed; the pedestals are
    embedded in the event stream.

We did not decide on a definite action plan. The character of the online 
solution is still evolving and that will largely dictate the offline 
approach.


      Data Challenge 3 update

Mark has produced about half of 5000 input files and written them to the 
tape library. The files are 10 GB and contain about 430 k events each. 
Each file takes about a day of CPU time to produce. These files have 
also been reconstructed in a practice run on the data. Processing is 
ongoing.


      Spring 2015 Commissioning Simulations

Mark reported that all of the 30,600 jobs 
<https://halldweb.jlab.org/wiki/index.php/Spring_2015_Commissioning_Simulations> 
are complete, both event generation and reconstruction. The "raw" data 
(mcsmear output, HDDM format), and the REST files have been archived to 
the tape library and are now available on the cache disk under 
/cache/mss/halld/detcom/02/smeared and rest respectively.

Sean mentioned that Elton was interested in simulations using the latest 
version of the simulation and reconstruction (more recent than what we 
used). He also cautioned that the new start counter monitoring package 
does not have correspondingly new constants for simulated data yet. Mark 
will look into tagging a release with the latest code save the start 
counter plugin.


      Geant4 Update

Richard reported on his detailed comparison of tracks between Geants 3 
and 4. The results from a sample of 2:

 1. track 1: perfect agreement for about 750 steps
 2. track 2: spectacular disagreement

He traced the discrepancy to a feature implemented in Geant 3 where the 
magnetic field was turned off on the calorimeters to speed up shower 
development. This, in fact, is where most of the simulation time is 
spent. He found a subtle bug having to do with how the magnetic field is 
inherited from mother volumes in Geant 4 which needs to be addressed.

He will look at the cost in Geant 4 of leaving the field on and report 
to the group. He was hopeful that the CPU time penalty would not be too 
bad and we can run with the field on the calorimeters. This mode would 
be important for charged particles punching through the calorimeter, of 
particular interest for the charge pion polarizability experiment.

He is also working to complete the class that allows each straw to 
declare its number.

Richard also needs to test the Geant4 multi-threaded tracking facility.

David will work on implementing sensitive detectors along the lines used 
for the CPP.


      Hall D Package Manager Update

Nathan gave us an update on the current state of the project for 
facilitating builds of GlueX software. See his slides 
<https://halldweb.jlab.org/talks/2015/hdpm-update.pdf> for details of 
his presentation. The major changes since his last report to the group 
are (from slide 10):

  * Name change to hdpm from HDBuildManager
  * hdpm command user-interface
  * Check dependencies within listed packages
  * Control build commands with "commands.txt"
  * Support for geant4 and amptools
  * Setup scripts for 64-bit Linux and Mac OS X

He urged us to give it a try. An extensive README 
<https://github.com/JeffersonLab/hdpm> is available on GitHub.


      Flash ADC Pulse Processing Emulation: who is doing what?

David described some of the current issues with emulation of the 
firmware algorithm used in the Flash ADCs.

 1. The current code does not reproduce the results of the firmware exactly.
 2. Parameters for the algorithm are different for different detectors.
    There is not mechanism at present to retrieve these parameters at
    reconstruction time.
 3. There are several people working on the problem, including Mike
    Staib, Mark Dalton and Kei.

To solve the second issue, in addition to access to the parameters 
themselves, one requires access to the translation tables to identify 
the relevant detector.

David will be calling a meeting to bring interested parties together, 
discuss the needed infrastructure, and try to avoid duplication of effort.


      Who is responsible for deleting Git branches?

The sim-recon Git repository is starting to accumulate a significant 
number of branches from code improvements pushed upstream. Most can be 
deleted, but we have not assigned responsibility for doing so within the 
group.

Mark proposed a policy where the developer that originally pushed the 
changes is responsible for deleting branches after merge. There was some 
discussion about whether having "person doing the merge does the delete" 
instead. That might be more efficient, but Mark argued that the person 
pushing the changes was in the best position to judge. In the end we 
decided to try Mark's proposal.


      Default for builds: with debug symbols or without?

Nathan presented results of studies 
<https://halldweb.jlab.org/talks/2015/debug_symbols.pdf> on performance 
of both the GCC and the Clang C++ compilers comparing performance with 
and without the production of debugging symbols. The symbols are not 
only important for running the debugger, but give line number 
information on crashes when binaries are run normally. Compilation is 
slowed significantly and the disk footprint is an order of magnitude 
bigger with the symbols.

The current default is to build with debugging symbols. Although Nathan 
proposed changing the default, the group endorsed David's original 
judgment that having symbols is worth the cost.

We also talked a bit about Clang. It seems to perform marginally better 
than GCC. One major advantage that people reported is that the error 
messages produced at compiler time are much easier to understand, no 
small advantage. Clang also seems to be available as a package in most 
common Linux distributions.


      Action Item Review

We did not get to this; the room was emptying quickly at this point. ;-)

Retrieved from 
"https://halldweb.jlab.org/wiki/index.php?title=GlueX_Offline_Meeting,_August_19,_2015&oldid=69473"

  * This page was last modified on 21 August 2015, at 10:30.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.jlab.org/pipermail/halld-offline/attachments/20150821/f1bce980/attachment.html>


More information about the Halld-offline mailing list