GlueX Offline Meeting, December 9, 2015

From GlueXWiki
Jump to: navigation, search

GlueX Offline Software Meeting
Wednesday, December 9, 2015
1:30 pm EST
JLab: CEBAF Center F326/327


  1. Announcements
    1. New sim-recon release: 1.7.0
    2. CCDB release v1.06.00 (Dmitry)
    3. JANA 0.7.4 (David)
    4. We should expect a Software Review in Summer 2016.
  2. Review of minutes from November 11 (all)
  3. Offline Monitoring (Kei)
  4. Geant4 Update (Richard, David)
  5. Update to CCDB for microscope energy (Richard, Alex B.)
  6. BCAL timing calibration and pion ID in simulation (Paul M., Sean, Tegan)
  7. C++ code analyzer + clang 3.7.0 (David)
  8. JANA status bits (David)
  9. Run number assignments for simulation for future run periods (Justin)
  10. Review of recent pull requests
  11. Deleting old pull-request builds (Sean)
  12. Running tests on pull-request builds (Nathan)
  13. Data Challenge 3 update (Mark)
  14. Future Commissioning Simulations (all)
  15. Action Item Review

Communication Information

Remote Connection


Talks can be deposited in the directory /group/halld/www/halldweb/html/talks/2015 on the JLab CUE. This directory is accessible from the web at .



  • CMU: Naomi Jarvis, Curtis Meyer
  • FIU: Mahmoud Kamel
  • JLab: Alex Barnes, Mark Ito (chair), David Lawrence, Paul Mattione, Kei Moriya, Dmitry Romanov, Nathan Sparks, Justin Stevens, Simon Taylor
  • NU: Sean Dobbs

There is a recording of this meeting on the BlueJeans site.


  • sim-recon 1.7.0 was released on November 23.
  • CCDB v1.06.00 was released on December 3. v1.06.00 is about to come out. It fixes issues with password prompts on creation new variations. The C++ library is unaffected. Dmitry is responding to issues reported on the GitHub site and has identified some of them as milestones for v1.07. Documentation for CCDB is now kept on the wiki on the CCDB GitHub site.
  • JANA 0.7.4 was released on December 1. See David's announcement for the details of this new version. 0.7.4p2 is the latest version and should be used for new builds.
  • Curtis reported that we should expect a Software Review in Summer 2016.

Review of Minutes from November 11

We went over the minutes.

  • Nathan updated the situation with binary distributions. After the last report some instabilities were encountered that have been addressed. Currently downloads for CentOS 6 and 7, RedHat 6 and 7, Ubuntu 14, and Fedora 22 are available.
  • After our review of results from the semi-weekly b1pi tests, Paul went in a fixed a number of issues. The main one outstanding is the issue of BCAL timing (discussed later in the meeting).

Offline Monitoring Report

Kei gave the report. He pointed out several webpages that compile statistics on each launch and do comparisons them between launches. See his slides for the details.

We talked a bit about exit status codes from our binaries. JANA 0.7.4 reports a set of error codes when problems are detected, but main programs need to ask for the information and post them upon exit. None of our current programs do this. Sensible exit codes are very convenient and should be implemented going forward.

Paul noted that last Friday's launch had to be aborted due to software package incompatibilities. The re-launch was on Monday. Initial results are available.

Sean mentioned that the post-launch macros are not being run. He will get with Paul to get the directory location right.

Paul will be taking over the effort. He and the group thanked Kei for running the show and developing the system over the last year.

Update to CCDB Microscope Energy

Alex led us through Richard's email describing the change to the CCDB that corrects the (previously) anomalous relation between energy bins in the tagger microscope and those in the tagger hodoscope. The upshot: survey data was correct, but not reflected properly in the CCDB.

Justin asked if the constants are correct for simulation. That has been taken care of.

Alex cautioned the group: channels 101 and 102 of the microscope exist as physical detectors, but there is no read-out instrumentation for them.

BCAL timing calibration and pion ID in Simulation

Paul noticed a feature of the BCAL timing in the b1pi tests affecting both charged and neutral clusters. In particular as the momentum of pions increases, beta asymptotes at a value several percent below 1.

Sean has been looking into the issue. The individual hits times are OK, but the shower times are off from the truth in simulation by about half a nanosecond. Tegan has modified the shower reconstruction code, mainly to account for the curvature effect in the BCAL, and Sean has found that it does a better job on the timing than the standard algorithm. We will run some large-scale tests to confirm the effect. The BCAL group is comfortable with switching to the new algorithm if the tests come back favorably.

Sean mentioned that one lesson from this is that we should be paying closer attention to the b1pi test results. He will re-raise the issue at a future BCAL meeting.

C++ code analyzer + clang 3.7.0

David led us through his email announcing auto-generation (nightly) of a web page that reports possible problems in our C++ code. The report itself is available at . The Clang/LLVM compiler suite generates the report simply by inspecting the source code. Richard and Simon have already modified code to avoid these warnings.

Dmitry mentioned another system called PVT Studio[?] that performs a similar function. There might be some non-overlap in the Venn diagram of problems detected.

JANA Status Bits

David us through his email announcing a 64-bit status word available in the new DStatusBits class. Please see his email for the rather complete details.

Run Number Assignments for Simulation for Future Fun Periods

Justin introduced the topic. Traditionally run numbers increment by one for each run started by the DAQ. Justin described the scheme used by STAR where the first 2 digits of the run number are the year, the next 3 are the Julian date, and the lower order digits are a serial number, reset to 1 (zero?) each day.

The topic was raised at last week's calibration meeting. Our current policy is that when we generate simulated data that is supposed to match real detector conditions, the run numbers should be in the same range as the corresponding real data and the "mc" variation of CCDB should be used for calibration constants. Sean wants to generate data to match data to be taken in the Spring, but does not know what run number to use. This is a problem since the run numbers are encoded into the events at generation time. Sean advocated having a break in the run number sequence so that the next run range is predictable, say 10,000 to 19,999 for example.

We did not come to any conclusions about this. David pointed out that others in the collaboration, especially the Online Working Group, and the JLab Data Acquisition Group will likely have important comments to make.

Review of Recent Pull Requests

We went over all pull requests for sim-recon going back to the last meeting. We noted that David's pull request to implement 64-bit run numbers required changes to 301 files.

Deleting Old Pull-Request Builds

Sean reported that we have accumulated about half a terabyte of builds to test pull request. He proposed deleting those older than a month and the group endorsed this. Mark will put together a cron job to do the deed.

Running Tests on Pull-Requests Builds

Nathan presented his thinking on running the pull-request builds as a further test of code viability. Please see his slides on "crash testing". He is putting together a script as proof-of-principle, to be run after successful pull-request builds.