GlueX Offline Meeting, November 17, 2010
GlueX Offline Software Meeting
Wednesday, November 17, 2010
1:30 pm EST
JLab: CEBAF Center F326/7
To connect by telephone:
- 800-377-8846 : US
- 888-276-7715 : Canada
- 302-709-8424 : International
- enter participant code: 77438230# (remember the "#")
- ESNet: 8542553
- Meeting URL: http://evo.caltech.edu/evoNext/koala.jnlp?meeting=e8eteDvnveaBaDa9I8
- Phone Bridge ID: 7 7042
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 https://halldweb.jlab.org/talks/2010-11/ .
- Review of minutes from the last meeting: all
- Calibration Database Update: Dmitry
- Python encapsulation of C++: Craig
- Action Item Review: all
- 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
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:
- 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.
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.