GlueX Offline Meeting, March 7, 2012

From GlueXWiki
Jump to: navigation, search

GlueX Offline Software Meeting (non-standard room)
Wednesday, March 7, 2012
1:30 pm EST
JLab: ARC 428


  1. Announcements
  2. Review of minutes from the last meeting: all
  3. Reconstruction sub-group reports
    1. Calorimeters
      1. FCAL Reconstruction in b1pi events 03/06/2012: Will
    2. Tracking
      1. fix to the "bogus track candidate" problem: Simon
    3. PID
      1. PID library changes: Paul
  4. Offline Software Review Planning
  5. Calibration Discussions in this Working Group
  6. Time for a new release?
  7. Action Item Review
  8. Review of recent repository activity: all

Communication Information

Video Conferencing


To connect by telephone:

  1. dial:
  2. enter access code followed by the # sign: 3421244#

Chairman's cell-phone: (757)768-2364


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



  • CMU: Will Levine, Paul Mattione, Curtis Meyer
  • IU: Kei Moriya, Matt Shepherd
  • JLab: Graham Heyes, Mark Ito (chair), David Lawrence, Simon Taylor, Elliott Wolin, Beni Zihlmann


Mark proposed that we include CLHEP as one of the official GlueX external packages. As such code that depends on CLHEP would be allowed as part of the standard build. Reasons for adding it include:

  • It is an essential building block of GEANT4. It is therefore common for experiments to require it. When we start using GEANT4, it will become a requirement anyway.
  • Many of us are using it in current non-standard-build code:
    • Matt uses it in AmpTools.
    • Mark uses it in his least-squared track fitter.
    • Sascha uses it in Monte Carlo studies for eta decays.
  • It is a relatively lightweight package, without a lot of prerequisites itself.

David argued against the proposal:

  • We already have a lot of packages that are required. We should minimize their number.
  • Much of the functionality in CLHEP is already present in ROOT and that is already a required package. So CLHEP is redundant.

Matt remarked that CLHEP has a much smaller code base. Curtis mentioned that using ROOT classes often incurs some ROOT-ish overhead. Mark did not disagree fundamentally with David's reasoning, but thought that we will from time to time find that introduction of a new package is necessary, that such packages should be considered on a case-by-case basis, and that this case is compelling.

Matt pointed out that we have some "typedef's" where, for example, a DVector is used in the code as a proxy for TVector. The idea is that the underlying code that supports such classes could be changed without changing GlueX code. He wondered whether we should change the underlying code library from ROOT to CLHEP, where appropriate. In this case, we recognized that simply changing typedef statements was unlikely to work, that full wrapper classes would have to be written. That would mean that initially we would not have "package purity" but would depend on a mixture of ROOT and CLHEP classes.

David stated that he would not die if we adopted Mark's proposal. The Chair then declared that consensus had been reached and the proposal was adopted.

Offline Software Review Preparations

David reviewed the current situation.

  • We still have no information on the committee members or the charge.
  • David has been running weekly meetings on Friday with Matt, Eugene, Curtis, and Mark.
    • Curtis summarized this effort as understanding among ourselves where we stand, what has to be done, what manpower it will take, and where we are thin.
  • We are in communication with CLAS12 on their plans.
  • Rolf Ent has been leading an effort to get software collaboration between Halls
    • There is a meeting planned for a week from today, Wednesday, March 14 at 3:30 pm, to discuss this further.
    • This is a division level meeting, Hall leaders and selected guests only.
    • Graham will present selected topics dealing with online systems.
    • We do not intend to focus on the online at present.
    • At the previous meeting, Rolf requested meetings and discussion of four topic areas: tracking, reconstruction framework, single event display, and monitoring histograms. Meetings on the first two have been held. David is organizing meetings on the others; watch for his announcement.

Reconstruction Subgroup Reports


Extra Clusters in the FCAL

Will described further work on understanding extra clusters in the calorimeter. For plots and details see his wiki page. He has put aside the BCAL for now and is looking at FCAL photons in b1pi events.

  • He reviewed the note from Mihajlo Kornicer on FCAL reconstruction.
  • He looks separately at photons that convert before the FCAL and those that don't.
  • Reconstruction efficiency for non-converters above 1 GeV is 98.6%.
  • There is a big drop off in efficiency below 400 MeV.
  • He will check the definition of an unconverted photon: does it includes photons that convert in the TOF?
  • He made two changes that reduce the number of extra clusters:
    1. Allow a charged track to veto more than one cluster.
    2. Increase the matching radius at between charged tracks and clusters.
      • There is a bug that causes the run-time parameter to be ignored.
  • This more aggressive matching reduces average photons per event, he thinks it is due to hadronic showers causing multiple clusters over a wider area.
  • Paul volunteered to implement Will's two changes in the default code.

More Realistic BCAL Hit Generation

David described recent work he has done to output waveform hits from the BCAL. This is done in mcsmear. It is not the default scheme at present. One of the goals is to realistically model the inclusion of dark hits, which seem to have a surprisingly large effect on the timing of real hits in the default scheme.

The data model changed some time ago to accommodate the new data. The pulse is built up by histogramming, in time bins, energy deposition in the BCAL. Updates are weighted by energy and attenuation is taken into account. The resulting data is then used to extract the threshold crossing time.

With these additions, mcsmear runs 15 times slower and events are 50% bigger. Curtis thought that for specialized studies this approach is valuable but wondered if it was necessary for the standard work. Work is on-going.


Simon described work he had first mentioned at the last tracking meeting. He is addressing the problem of closely spaced tracks in the CDC. See his wiki page for plots and details.

He looks at track finding for events with decaying Λ's. The resulting vee's cause confusion associating hits into segments and extra track candidates result. He is playing with a simple algorithm, where segments that share a large fraction of hits are flagged in pairs and one can be rejected based on the amount of hit sharing and the relative χ2 of the segments from a circle fit.

He has also looked at KS's. Mark suggested that crossing tracks would be another interesting configuration to test.


Paul reminded us of the email he sent yesterday on renaming, restructuring, and reorganization of some of the reconstruction classes. The changes have been checked into a separate branch, and although they compile, the new names break some of the other code, for example hdview and phys_tree. He solicited help in making the rest of the tree consistent.

Beni volunteered to look at hdview.

On an unrelated note, Will suggested that we save the co-variance for neutrals at the shower level, not at particle level. Paul intends to work on this.

New Sim-Recon Release?

The consensus was that it is time for a new one.


Curtis raised the issue of what should go into the TDR regarding offline software. The old TDR had a PWA section and little else. We decided that a section on the general philosophy with a high-level summary of the components would be appropriate. David volunteered to look into this.

New Action Items

  1. Fix the renamed-class branch of sim-recon. -> Paul
  2. Create a new sim-recon release. -> Mark
  3. Look into what might go into a section of offline software in the TDR. -> David