GlueX Offline Meeting, April 27, 2016

From GlueXWiki
Jump to: navigation, search

GlueX Offline Software Meeting
Wednesday, April 27, 2016
1:30 pm EDT
JLab: CEBAF Center F326/327


  1. Announcements
    1. GCC 4.9.2 on farm (Mark)
    2. Analysis Scripts Moved (Paul)
    3. new git repository: hd_utilities (Mark)
    4. bug fix release: sim-recon-1.11.1 (Mark)
    5. GlueX Software Help Email List (Mark)
    6. Other announcements?
  2. Review of minutes from April 13 (all)
  3. Calibration Challenge/Processing (Sean)
  4. Spring 2016 Run, Processing Plans
  5. Offline Monitoring as we move forward to the fall.
  6. GlueX TTree DSelector (Paul)
  7. Viewing DEPICSvalue with hd_dump (David)
  8. Transition to C++11 (David)
  9. CCDB and RCDB (Dmitry)
  10. Review of recent pull requests (all)
  11. Action Item Review

Communication Information

Remote Connection


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


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


  • CMU: Naomi Jarvis, Curtis Meyer, Mike Staib
  • FSU: Brad Cannon
  • JLab: Mark Ito (chair), David Lawrence, Paul Mattione, Dmitry Romanov, Nathan Sparks, Justin Stevens, Simon Taylor, Beni Zihlmann
  • NU: Sean Dobbs


  1. GCC 4.9.2 on farm. Mark went over his email describing the use of the module command to set-up use of GCC 4.9.2 on the farm nodes. The latest versions of our software have been built with this compiler and installed at JLab.
  2. Analysis Scripts Moved. Paul led us through his email describing the move of plug-in template generating scripts for use with the Analysis Library. He received input from Nathan on the destination location.
  3. New git repository: hd_utilities. Mark has created a catch-all GitHub repository for miscellaneous projects. See his email for details.
  4. Bug fix release: sim-recon-1.11.1. Mark reminded us of the recent release that fixes a now famous initialization problem that affects tracking in multi-threaded jobs.
  5. GlueX Software Help Email List. Mark reviewed his email announcing the list. Collaborators are encouraged to subscribe.

Review of minutes from April 13

We went over the minutes.

  • Dmitry reported that the RCDB C++ API has been built and tested on the ifarm (CentOS 6/5).
  • Paul is re-doing his study of multi-threaded behavior of hd_root with the fix to the famous initialization problem.


Calibration Train Processing

Sean brought us up-to-date. He showed a slide.

  • The last launch was done with the famous initialization bug (FIB) present in the code. Sean checked with the experts and the BCAL and FCAL calibration did not suffer much from this.
  • There were a few small problems with jobs.
  • He will start soon with calibration of the data from the last two weeks of the run. He will get the timing calibrations done first.
  • There were a few anomalies that arose around the time of the magnet ramp to 1345 A. In particular the tagger calibrations shifted by 0.5 to 1.0 ns. Also the microscope shows a change in the difference between FADC and TDC times where the change is a smooth function of channel. Changes are roughly 3 to 4 ns. This leads to bumps in the tagger vs. RF timing distributions[?]. Alex Barnes is working on this issue.
  • We noted that the FIB was introduced on March 3.
  • Sean is keeping his jobs at eight threads.
  • He did some bench-marking on the code after the JANA locking changes (those that Paul described at the last meeting). He sees a 10-20% improvement in speed. He did see instances in some calibration plug-ins where there was extensive calculation being done while holding on to a lock.

Time-of-Flight Calibration

Beni has done a TOF calibration using the files from the calibration train. He sees 100 ps resolution per counter over the entire detector with some counters a bit better. The calibration is done by timing one plane against another, so for a given counter in one plane comparison can be done with multiple counters in the other plane. This allows for an easy visual consistency check of the quality of the calibration.

Spring 2016 Run, Processing Plans

We had a wide-ranging discussion on plans for a comprehensive reconstruction pass on the recently acquired data.

  • Sean reminded us that the plans were discussed at the last Calibration Meeting. See item (3) of the minutes of that meeting. There is deadline of May 31 for all calibrations to be complete so we can start the pass.
  • An accurate estimate of the computing requirements will come from statistics for the next Monitoring Launch. We will not attempt to adjust account priority on the farm until we have those estimates in hand. That said, Sean thinks that the processing should take about a month.
  • We discussed tagging schemes and tag names for identifying software and configuration parameters used in the pass. Sean, Justin, Paul, and Mark all had ideas. We did not come to conclusions and decided to continue the discussion offline.
  • Curtis wondered if we can get away with a smaller number of files per run for Monitoring Launches. We are now processing the first 20 files of all "is_production" runs[?].
    • Sean thought that we might only need 2 to 5 or so. He reported that this is enough to see ρs and ωs. These signals depends on many parts of the detector working together properly.
    • We noted that the faster the turn-around for the launch, the faster problems can be found and calibrations adjusted.
    • Paul will abort the current launch that has just started. Sean will suggest to Paul a good number of files to start up with again. The current calibrations are good enough to learn something. We do not have to delay further to finalize calibrations for the last runs of the run.
  • We discussed the relative priority of producing REST files vs. calibration/monitoring in the run up to May 31. There was a consensus that we should concentrate on the latter.

GlueX TTree DSelector

Paul led us through his email describing a new ROOT selector, DSelector that specialized and improves the ROOT-supplied TSelector. It is described in detail on its own wiki page. It is meant to be used with ROOT trees produced by the Analysis Library and exploits knowledge of the reaction used to auto-magically provide reaction-specific operations, including PROOF support, saving work for the user. Brad has been using it recently and reports an excellent user experience. [Reminder: Paul pay Brad his $5]

Viewing DEPICSvalue with hd_dump

David described a new feature of hd_dump that can greatly increase the speed of retrieval of EPICS information from the raw data when the program is run repeatedly. He relies on the native Linux file-caching mechanism to facilitate retrieval of data from memory rather than from disk.

Transition to C++11

For the event-parsing work he is doing, David is incorporating a lot of C++11 language features. He is doing this on a branch, since these features are not supported by GCC 4.4. They will be supported when we move to 4.8 on June 1.

He has noticed warning messages compiling our standard code (not his new stuff) with the new compiler that are not present with GCC 4.4. He was concerned that other people may be trying to fix these warnings as well and that would lead to duplication of effort and merge conflicts. There was not a lot of discussion, and we interpreted this as a lack of effort by developers to squelch warnings from compilers-of-the-future. We concluded that no group action is necessary at this time.

Nathan asked about plans for going to ROOT 6. Mark thought that once we change to the new compiler, that step would be take-able. David thought we should wait a bit after June 1 so that we are not dealing with two issues at the same time. We agreed that that would be wise.

RCDB Status

Dmitry gave an update on the status of RCDB. A lot a work has gone into it recently. See his slides for full details.

  • The RCDB command line is now available. Simple queries can now be done without having to write a custom Python script. Dmitry showed some examples.
  • An RCDB website is on the way.
  • Simple plotting of values is now available. Examples were shown. PDF files of the plots can be created. Dmitry has a lot of ideas for future sub-features.
  • Custom definitions of "aliases" (set of logical conditions to be satisfied) and "views" (lists of variables to output) can now be defined by the user. Definitions are kept in ~/rcdb_user_cfg. Dmitry showed some examples. So now you can save your go-to queries without having to type them in each time.
  • He gave a list of items for future development.
  • He is developing a facility for parsing the configuration files so that individual parameters can be extracted and turned into standard RCDB conditions.
    • If you have requests for parameters to extract, contact Dmitry.
  • Before he leaves (next week, yikes!) he plans to release version 1.0. He listed the features supported in this release.