GlueX Offline Meeting, July 8, 2015

From GlueXWiki
Jump to: navigation, search

GlueX Offline Software Meeting
Wednesday, July 8, 2015
1:30 pm EDT
JLab: CEBAF Center F326/327


  1. Announcements
    1. Sim-Recon 1.3.0 (Mark)
    2. Legacy build directories (Mark)
  2. Review of minutes from June 24 (all)
  3. Offline Monitoring (Kei et al.)
  4. Spring 2015 Commissioning Simulations (Sean)
  5. Proposal on Git for GlueX (Mark)
  6. JANA 0.7.3 (David)
  7. multi-threaded mcsmearing (David)
  8. Mixing Simulated Events (Sean)
  9. Geant4 Update (Richard)
  10. 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 .



  • FIU: Mahmoud Kamel
  • FSU Aristeidis Tsaris
  • JLab: Alex Barnes, Mark Dalton, Mark Ito (chair), David Lawrence, Paul Mattione, Curtis Meyer, Eric Pooser, Matt Shepherd, Justin Stevens, Simon Taylor, Beni Zihlmann
  • NU: Sean Dobbs
  • UConn: Richard Jones


  1. Sim-Recon 1.3.0. Mark reminded us of the latest release. It is compatible with JANA 0.7.3 and uses a new BCAL smearing scheme from Tegan Beattie.
    • CLHEP is no longer needed by AmpTools and comes packaged with Geant4 in recent versions. It will be dropped from the packages built by default by the GlueX Version Management System (GVMS).
  2. Legacy build directories. Some old directories in the /group/halld/Software/builds directory at JLab are about to disappear. Lately they have been a source of confusion. See Mark's email message for details.

Review of minutes from June 24

We went over the minutes from last time.

  • The switch to the new volatile disk hardware went without a hitch.
  • The Data Center power outage went well as well.
  • Mark I. is still promising to send out instructions on how to switch from use of one of the various builds of GlueX software to another.
  • Mark and Beni have succeeded in building the complete suite of GlueX software on Beni's Ubuntu machine. The next step is to set up a nightly build.
  • Beni has succeeded in creating a working build of GlueX software against a version of ROOT 6. We will need to discuss an upgrade in the future.

Offline Monitoring Train Schedule and Status

Paul reported that the plan is to launch the next offline monitoring train this Friday. There was no train last week.

Sean gave us an update on offline monitoring post-processing. His slide reads as follows:

Offline Monitoring Backend

  • The system is ready for the next run
  • Memory usage under control - ~1 GB per process
  • pylint is your friend
  • Parallelized hadd - phadd
    • Uses python thread pooling
    • Current settings: 6 threads, 10 files in a batch. On ifarm, limited by bandwidth to work disk
    • Run 2439: ~40 min (hadd) -> ~14 min (phadd)
    • N.B. hadd -n processes batches serially, uses less memory but slower
  • Ready to monitor simulations
  • Processing of online histograms works now, too

He also mentioned:

  • The next step is a webpage to show results.
  • We need a similar set of procedures for simulation.
  • Results from the online monitoring are processed in a similar fashion.

Spring 2015 Commissioning Simulations

Sean updated the status of the simulation effort.

We have to finalize the monitoring plugins we want to run and then we will be ready to go. Test jobs have run successfully.

Justin explained why some jobs are timing out. We moved the boundary between using Pythia and Eugene's PDG compilation of decay modes down to 2.5 GeV from the nominal 3.0 GeV, an energy below the coherent peak. Otherwise we would get no omega's or phi's at the peak energy. This causes bggen to go into an infinite loop sometimes. There is still an acceptable fraction of jobs which complete normally so we are just accepting that yield.

Proposal on Git for GlueX

Mark ran down a proposal for the change from Subversion to Git. See his slides for the details. One of the slides addressed the procedure for switch-over:

  1. Comment: Only HDDS and sim-recon will be converted.
  2. Comment: Having two authoritative repositories is a contradiction in terms.
  3. Schedule switch-over for COB, Wed., July 15.
  4. Between now and then, people should check in changes to the Subversion repository.
  5. Continue to get experience using practice repositories.
  6. Do final conversion from Subversion to Git overnight, Wed. to Thu. Practice repositories will be deleted.
  7. Open for business for Git after all-clear announcement Thursday morning.

We had a vote and there were no votes opposing the change.

JANA 0.7.3

David described changes in the new release of JANA. See his slides for details. He highlighted a few of the new features:

  • janaview plugin. A system for point and click browsing of event objects.
  • support stdin types in janaroot. Automatic creation of ROOT trees for selected factory-made objects.
  • Fixed longstanding bug in jgeomread where attributes specified in the middle of the xpath were not displayed.
  • JObject:Get() does recursive searches for associated objects.
  • Event Barriers. Ability to synch event processing threads on special events such as EPICS events.
  • Added --listconfig switch. Dump the JANA configuration to the screen

Geant4 Update

Richard gave a report.

  • There is a project on GitHub now: .
  • He described the workflow he is supporting for development work.
  • Building the code using the magnetic field mechanism used in DANA has been solved.
  • David has suggested starting with Geant4 10 since that incorporates multi-threaded particle tracking. Because of custom fixes to the Geant4 code that Richard has developed, the same code will not run under both version 9 and 10.
  • The single particle gun works now among other features.

multi-threaded mcsmearing

David described a study he did that compared performance of mcsmear with different settings of output compression and different numbers of threads. See his log book entry. Adding threads has very little effect on execution speed, but requesting compression adds over a factor of two to the execution speed. In the usual context where we are interested in reconstructing the data as soon as it is smeared, the intermediate smeared file will not be shipped around and compression helps very little. Richard pointed out that the connection between mcsmear and DANA could be through a named pipe to avoid the disk write/read overhead altogether.

Mixing Simulated Events

We decided to defer Sean's talk until next time.