GlueX Offline Meeting, April 6, 2011
GlueX Offline Software Meeting
Wednesday, April 6, 2011
1:30 pm EDT
JLab: CEBAF Center F326/7
- 1 Agenda
- 2 Communication Information
- 3 Minutes
- New release: sim-recon-2011-03-31
- Review of minutes from the last meeting: all
- Definition of primaries: Beni, Matt, Richard
- Checking sort comparison algorithms: David
- Floating point entropy proposal: Richard
- chi squares of tracking: Kei
- Action Item Review: all
- Review of recent repository activity: all
To connect by telephone:
- US and Canada: (866)740-1260 (toll free)
- International: (303)248-0285 (toll call) or look up toll-free number at http://www.readytalk.com/intl
- enter access code followed by the # sign: 3421244#
- ESNet: 8542553
- Meeting URL: http://evo.caltech.edu/evoNext/koala.jnlp?meeting=eueneevIv9aiavavIu
- Phone Bridge ID: 8 6750
Talks can be deposited in the directory
/group/halld/www/halldweb/html/talks/2011-2Q on the JLab CUE. This directory is accessible from the web at https://halldweb.jlab.org/talks/2011-2Q/ . You have to be a member of the "halld" Unix group to do this.
- CMU: Curtis Meyer
- IU: Ryan Mitchell, Kei Moriya, Matt Shepherd
- JLab: Hovanes Egiyan, Mark Ito (chair), Yi Qiang, Simon Taylor, Elliott Wolin
- UR: Andrei Semenov, Irina Semenova
Mark reminded us of the new release of sim-recon that came out this week.
Matt remarked that some of the data in the calibration database can change the behavior of the code in a given release and that we should consider tagging a set of calibration constants along with the code. Since we do not have a calibration database yet that supports freezing of the constants we need some alternate mechanism for doing it.
Mark thought that in the cases where numbers need to be frozen, more than likely they should be parameters in the source code, using the configuration scheme that David described at an earlier meeting. Then default values are captured along with the standard release tag.
Matt mentioned that CLEO had similar parameters in a database along with calibration constants and so both were captured with the single tag.
We agreed that in the current situation we have no other choice but to tag the calibrations in some way using subversion. Mark agreed to come up with a scheme.
Review of minutes from the last meeting
We reviewed the minutes of the March 23 meeting.
We discussed Matt's feature request: that builds not depend on previously installed versions of themselves, include files in particular. David pointed out that when individual programs are checked out, they must depend on previous installed versions of include files from the libraries tree. Any implementation of the feature will have to take this into account.
Checking sort comparison algorithms
David has gone through our code and found all instances of provision of a custom sort function sorting STL vectors. There were only two instances where a floating calculation is involved in the comparison. These will be/have been changed to use pre-calculated member data. This addresses the problem found with optimized code that has SIMD instructions disabled. See his slides for details.
χ2's of tracking
Kei has done a study of the χ2 values returned from the tracking code, using the particle gun, for a wide range of momenta and polar angles. He finds that the the resulting distributions have departures from the ideal distribution; in terms of χ2 probability, there are peaks at both high and low probability. The effect varies depending on angle and momentum. He has started reading through the code to find the origin of the numbers so that he can carry his study further. See [slides] for details.
Action Item Review
We went through the list.
We agreed that "resolved" should mean that the problem was resolved and work on it has stopped. "Closed" should mean work on it has stopped, but the problem was not resolved.
New Action Items
- Propose scheme for tagging calibration constants. -> Mark
- Look into using "externals" in subversion to coordinate different packages. -> Mark
Review of recent repository activity
We went through the list.
Simon found that his code was getting the pointer to geometry and B-field for every event. He noticed that fixing this sped things up by about 20%.