GlueX Offline Meeting, November 17, 2010

From GlueXWiki
Jump to: navigation, search

GlueX Offline Software Meeting
Wednesday, November 17, 2010
1:30 pm EST
JLab: CEBAF Center F326/7


To connect by telephone:

  1. dial:
    • 800-377-8846 : US
    • 888-276-7715 : Canada
    • 302-709-8424 : International
  2. enter participant code: 77438230# (remember the "#")

Video Conferencing


Talks can be deposited in the directory /group/halld/www/halldweb/html/talks/2010-11 on the JLab CUE (you have to be a member of the "halld" Unix group). This directory is accessible from the web at .


  1. Announcements
  2. Review of minutes from the last meeting: all
  3. Calibration Database Update: Dmitry
  4. Python encapsulation of C++: Craig
  5. Action Item Review: all
    1. Resolved issues
    2. Outstanding issues
    • To view these links, login first. Anonymous login is available.


  • IU: Ryan Mitchell, Kei Moriya, Matt Shepherd
  • JLab: Craig Bookwalter, Eugene Chudakov, Mark Ito (chair), David Lawrence, Dmitry Romanov, Sascha Somov, Simon Taylor, Beni Zihlmann


We noted, for the record, the new meeting time: every other Wednesday at 1:30 pm.

Review of minutes from the last meeting

We reviewed the minutes of the November 2 meeting without significant comment.

Calibration Database Update

CCDB design, before
CCDB design, after

Dmitry showed a couple of diagrams highlight a recent change he has made to the system configuration. He plans to use jQuery to help handle the web interface to the database.

Matt suggested that a specification for the API be circulated for comment. Others may have their own ideas about how the database should be used; those viewpoints should be collected and appropriately incorporated into the design. Dmitry and Mark will work on fleshing out this section of the specification document.

Python encapsulation of C/C++ Code

Craig gave an overview of his experience doing this with CLAS analysis software. See his slides for details. He used the SWIG package to auto-generate the glue code to make the compiled code available from a Python script. Since the compiled code has been worked over by others for some time, errors introduced in using it were often in his own private code. He has found debugging those errors in the context of a scripting language much easier than doing so in say C++ or in the ROOT framework. Rapid development, more work done, by leveraging the software development work of others in a much simpler programming environment.

There were caveats of course. The auto-generation can have difficulties for certain language constructs. We thought of examples where this approach might be used to wrap existing API's:

  • HDDM
  • EVIO
  • the new calibration database routines

For the first two, a wrapped interface could be used to do simple skims of data sets. For the last one, command line interfaces and web interfaces would both be much easier in a scripting language.

Parallelism Workshop

David reported that the Parallelism Workshop will be held January 6 and 7. The JSA Initiative Fund will contribute to the cost. See the conference webpage for details.

Action Item Review

We went over the resolved and outstanding items. Folk were encouraged to address tasks assigned to them.