Agendas for 12GeV software meetings

From HallCWiki
Revision as of 11:05, 19 July 2017 by Pooser (Talk | contribs)

Jump to: navigation, search

Blue Jeans is used to host meetings

To get info on Blue Jeans and to sign up at the site go to bluejeans

If you already have an account then use jlab login

To join via Phone:

  • Dial: +1 408 740 7256 or +1 888 240 2560 (US or Canada only)
  • Enter Conference ID: 895800575

July 19th, 2017

May 17th, 2017

April 23rd, 2017


Hall C Todo list

Sept 27, 2016


  • FADC250 Firmware Discrepancies - Eric Pooser
  • CAEN 1190 Reference Time - Steve Wood
  • Hall A Monitoring Package - Steve Wood
  • Proposed Decoding Modifications for Multiblock Mode - Bob Michaels


  • Eric presented a few slides discussing FADC250 firmware discrepancies that were discovered in the SBS mode 7 data
    • According to Bryan the issue is a result of a bug in the firmware and will most likely not be fixed
    • This issue must be addressed since the bug could introduce potentially corrupt data
  • Steve has developed a new CAEN 1190 decoder module and README for his HMS drift chamber tests
    • A pull request has been submitted to the Git Repo
    • Bob suggested that the associated README file should be added to the Podd Decoder Website
  • Utilizing both the hit map and the hit list, the decoder can specify the reference index to the reference time for the entire crate
    • The goal is to formulate a detector class that also works with fast bus and can also access the reference time
      • These detector classes for the hodoscopes and drift chambers have been written
  • Steve has begun looking at the Hall A monitoring package that was developed some time ago
    • The goal is to implement this tool as the on-line monitoring software for Hall C
  • Bob proposed how to handle data in multiblock mode
    • Create a pipeline module which splits blocks into events stored in memory
    • The FADC module & other modules load the data vectors & crate slots
    • Modification will need to be made to THaAnalyzer
ReadOneEvent // actually one data buffer
// Start of block decoder indicates if the data is in multiblock mode
if(mutiblock {
  loadEvent // using already split events}
else {
  read next buffer
  • After Bob's discussion the question arose as to whether or not we should create a secondary read out list to break up the multiblocks or if we should instead do it in software, e.g. THaAnalyzer
    • The software option seems to be safer option so as to preserve the integrity of the data
  • Ole mentioned that FermiLab has been utilizing the flexible Redmine Project Management Web Application with success in order to manage their various projects

Sept 13, 2016

Aug 23rd , 2016

May 31 , 2016

  • Discuss F250 decoding. Decided to have Steve, Ole and Bob look into best approach to move forward.

April 19 , 2016

  • Introduce Doxygen for documenting the hcana code. See links

Jan 26, 2016

  • Ed Brash to discuss updating code for ROOT6 and modifying scons to treat the evio library in a similar fashion to the other libraries.
  • Vardan to discuss updates for SHMS calorimeter. Slides

Sept 29, 2015

Notes on Experimental CCDB support: File:Hcana ccdb.pdf

Link to Hall D CCDB

Sept 14, 2015

Bank and Block Decoding Bob Michaels

June 8 2015

April 27 2015

April 13 2015

Efficiency vs. Rate Zafar Ahmed

Event Type Handlers Bob Michaels

Mar 30 2015

Feb 2 2015

Jan 5 2015

Dec 15 2014

Next software review discussion. (PDF, ODP)

Nov 23 2014

Oct 20 2014

chi2 differences Zafar Ahmed

Sept 29 2014

OO Decoder Update from Bob Michaels

Golden Track differences and prune mehtod Zafar Ahmed

Aug 4 2014

Golden track(part 1) using scin. from Zafar Ahmed

July 7 2014

Beta and chi square of tracks. from Zafar Ahmed

June 22nd 2014

THcHodocope::CoarseProcess from Zafar Ahmed

HCAL calibration from Vardan

June 9th 2014

OO decoder update and questions about design choices from Bob Michaels

TOF Calibration - our (IN, GN) findings so far.

[1] engine/HTRACKING/h_tof.f to hcana/src/THcHodoscope::CoarseProcess conversion, Zafar Ahmed.

May 12th 2014

Apr 28th 2014

Notes on Experimental CCDB support: File:Hcana ccdb.pdf

Mar 31st 2014

  • Vardan presented code for shower calibration.

Mar 17th 2014

Mar 3rd 2014

Feb 17th 2014

Feb 3rd 2014

  • GN: As promised I have a short update on the hodoscope software. I am confident that now THcHodoscope (and the related THcScintillatorPlane) compute the focal plane time (for all four HMS scintillator planes) and the start time that agree with the similar quantities from engine. Point your browser to an engine/hcana fptimes and start time overlay. Looks good but it still not 100% purr-fect.
  • GN: So I looked at the distributions separately; see here.
  • GN: It seems that the two programs do not look at (quite) the same events (even though I'm pretty confident I put the same cuts in both)
  • GN: As I wanted to really look at the fptimes I got both engine and hcana to dump the fptime info in txt files. See some samples here (hcana) and here (engine) (you might want to open these two in two windows). It seems that engine "skips" some events for a reason or another.
  • GN: To finish off the fptimes discussion I plotted the difference between the hcana and engine calculation (as spat out by the respective codes) in here. Basically we're looking at the difference in printing reals between C++ and F77!!
  • GN: TO DO: complete the code for beta/betanotrk, remove the (many) cout statements b4 committing the hcana code to git.

Jan 21th 2014

Jan 6th 2014

  • Ahmed presented results for HMS Cerenkov. One problem is that ENGINE code has cerenkov pedestal as a integer. Agreement that the ENGINE should be changed to have pedestal as a real.
  • Narbe is starting to work on the HMS Drift chamber standard histograms and Pete will work with him.
  • Ed is working on scalars.
  • Steve updated the drift chamber code so that SOS can be analyzed.
  • While looking at SOS analysis realized that in the THcHodoscope::SetApparatus that the detector map was hardwired to look for "HSCIN". Modified to be more general. See commit. Need to do this for all detectors.

Dec 18th 2013 Hall A/C Software workshop

Dec 2nd 2013

  • The JLab 12 GeV software review went fine. No explicit recommendations for Hall C. The report should be available before the end of December.
  • Remember the Hall A/C Software workshop will be on Dec 18th, 2013. Register. The agenda will be available soon. Gabriel Niculescu will give a talk on the status of the Hall C HCANA and Ed Brash will talk about the build code SCONS which will eventually replace make.
  • Steve has been working on making the drift chamber code compatible with analyzing SOS DC so that SOS data can be used for test SHMS code.
  • Simon working on the track selection code.
  • Gabi will be working on modifying the scintillator code so that the selection of scintillator hits includes info from all planes as is done in the ENGINE.
  • Bob Michaels has started work to the event type handling in PODD object oriented. He has a stand alone version of his code and Ed Brash will start looking at it and eventually how to add Hall C scalers. Ed is also planning to add the ability to do an automatic self-test after building the code with SCONS.

Jlab Software Review Nov 25 and 26th 2013

Nov 18th 2013

  • Updated draft of introduction talk about Hall C software status to review.
  • Talk by Gabriel Niculescu for breakout session.
  • Talk by Ed Brash for breakout session.

Nov 4th 2013

  • First draft of introduction talk about Hall C software status to review.

Oct 7th 2013

  • Ahmed presented his work on the HMS Cerenkov. The main difference in the raw data is with events that have no hit in one of the PMTS. Slides of presentation
  • Vardan discussed that in the ENGINE the "plus" and "minus" designation of the shower PMTs is opposite of how it is done in HCANA. In HCANA the "plus" and "minus" line up with the +Y direction in the focal plane which is the preferred way.
  • Steve said that Ole was planning on a Hall A software workshop in December in conjunction with the Hall A meeting. We decided to make it a joint workshop.
  • The Nov 25 and 26th software review will have a short 15 minute presentation in the morning ( most likely by Mark Jones) and then an afternoon breakout session. The format of the breakout session is not finalized, but the reviewers are interested in user's response to the software. Have contacted Eric Christy, Gabi Niculescu, Ahmad Zafar and Ed Brash about being part of group that the reviewers could question. Maybe Gabi could make a short presentation giving details about the progress of HCANA. There will be another meeting with Rolf to firm up the agenda.
  • The next meeting will be Nov 4th.

Sept 23rd 2013

Sept 9th 2013

  • Mark Jones made comparisons between HCANA and ENGINE for drift chamber focal plane quantities.
  • Mark Jones updated the "mkj" branch of the ENGINE git repository so a row wise ntuple of the drift chamber quantities is written. Easy to add more DC variables or other detectors. See wiki page Analyzer/Comparisons for more info.
  • Vardan made progress with the shower and tracking
  • Ed Brash add EVIO 4 to PODD. Needs to discuss with Ole to make it official.

Hall C Summer Workshop 2013

Aug 6th 2013

  • Vardan presented comparisons of ENGINE to HCANA for run 52949.
  • Ed Brash is starting to look into updating PODD to use EVIO v4.0 .
  • Mark set up git repositories for the ENGINE and replay to help make ENGINE and HCANA comparisons. See the Analyzer/Comparisons wiki page

July 23th 2013

This meeting was cancelled. saw notes that some tracking code has been ported from the ENGINE into hcana. Drift chamber stubs are linked to make tracks. The code is mostly untested, but Mark has done some bug fixing. The ability to replicate the histograms in the ENGINE needs to be added. The focal plane rays from the tracking fit (x, y, xp, yp) is calculated and can be seen in 2d histograms by running "tracking.C" after analyzing a run with "hodtest.C". All the new code is in the develop branch.

July 9th 2013

  • Vardan has been working on the calo energy sum. Overall agreement with ENGINE but not precise. He is investigating.
  • Steve has made progress with HMS tracking. One can checkout the latest version of the develop branch.
  • Ole has started working on having PODD do parallel processing.
  • Ed Brash has worked using SCONS instead of the makefile as the build system for the code. One advantage is it uses Python for the script which makes it easier to read the scripts. Also integrates well with application frameworks like Eclipse.

June 25th 2013


June 11th 2013

  • Vardan stated that he had gotten agreement for the HMS calorimeter between the ENGINE and HCANA for the hit maps and the energy sum histograms.
  • Steve has updated the develop branch with his latest drift chamber code. So those interest in checking it should pull it from the repository.

May 28th 2013

May 7th 2013

Notes about port of drift chamber code to hcana. saw has ported part of the HMS tracking code to C++. The code finds space points, essentially implementing all of h_pattern_recognition. This effort is mostly done to try to figure out the best class/object structure to use. No histogramming for the space points has been done yet.

The classes involved in the drift chamber tracking are:

Class for the whole drift chamber package. This is what is passed to AddDetector in a driver script. This class instantiates the 12 planes, then instantiates two chambers. Each chamber is passed pointers to the plane objects that belong to it.
A single drift chamber (6 planes). Concatenates the lists of hits from each plane into one big list. The space point finding is done here using the chamber wide hit list.
Class for a single plane. The hits for a plane are gathered here. The object gathers its plane specific geometry parameters by asking THcDC
Drift chamber hit class. Holds rawtime, corrected time, does time to distance conversion
Wire class. One for each wire, holds wire number, position, time offset, pointer to time to distance function
Generic time to distance conversion
Specific implementation of time to distance using lookup table
Raw TDC hits. Filled by decoder. THcDriftChamberPlane sorts through these hits.

Some questions. Is THcDriftChamber the right place to find space points? Should the hits be decoded in THcDriftChamber instead of THcDriftChamberPlane? Putting of stubs together to make tracks will done in THcDC. How do we pass the space points or the stubs from the chamber class to the package class?

Apr 16th 2013

  • Notes from Gabi: hcana focal plane times and start time update.
    • After further (quite a lot, unfortunately :() debugging I finally got Engine and hcana to agree! as you can see below (details below the figures):

hcana and engine comparison for HMS Hodoscope focal plane times (fptime)

   hcana and engine comparison for HMS Hodoscope focal plane times (fptime)

hcana and engine comparison for HMS Hodoscope focal plane times (fptime)

   hcana and engine comparison for HMS Hodoscope focal plane times (fptime)
    • The main problems found and fixed between the fptimes shown 2 weeks ago and the ones shown above were:
      • adding an extra layer of indices (indexes?) to go between the list of hits in an event and the actual paddle # in a plane. Steve had one in his pedestal calculation but I did not pay enough attention!
      • the old counting from 0 (zero) versus counting from 1 (one) problem. For backward-compatibility reasons there are places in hcana where we were counting (still) from 1. Those are no longer there, not in the hodoscope part of the code.
      • Both of these are fixed and the code is committed to the repository.
    • Outstanding issues/future plans:
      • I did event by event comparisons of fp and start times and the engine and hcana calculations agree to at least six significant figures.
      • The reason for which the histograms above do not match 100% with one another is that engine and hcana disagree on which events ought to be analyzed:
        • engine skips all events b4 the first scalar event (to have a good charge integration one would think). If there is a similar capability in podd I was not able to find it yet.
        • engine takes a broader view of the events to be analyzed (i.e. both hms singles and coincidence in this case), whereas hcana for now wants to treat them separate. This and the previous point are (easily) fix-able once we flesh out the THcAnalyzer class.
        • because hcana calculates fptimes separately for each plane (as it should, one would argue) the mechanism of rejecting "out-of-time" hits based on average hit times does not work as well. There is no easy fix for this but I do not anticipate this to be a problem. One can get a similar result by implementing a method of rejecting fptimes (as opposed to individual time hits) in the THcHodoscope class. This is on my "to-do" list.
        • Also on the "to-do" list are computing beta_notrack (for cosmic ray rejection) - this should be straightforward, and implementing the "actual" beta calculation (most likely in the "FineProcess" method) for the hits that actually match a reconstructed track.

Apr 2nd 2013

  • Ole made upgrades to the Hall A code related to the database.
  • Steve has been working on the drift chamber code.
  • Notes from Gabi
    • Modified code to read hhodo plane names from a file as per Steve's instructions
    • verified that both engine and hcana use the same hhodo.param file (which they did not two weeks ago but now they do)
    • talked (this is important) Ioana into agreeing to be the "test pilot" for engine/hcana comparisons.
    • The focal plane times look different (quite a bit different) between the engine run and the hcana run on the same data, w/ the same parameters.
    • what we call start time is the average of these focal plane times so we need to get these to agree before the start time becomes meaningful.
    • the hcana also shows more entries - I have the nagging feeling that it counts non-physics events in there
    • I'm in the process of going line-by-line to see where the two calculations diverge. Hopefully it is just a typo on my part that needs fixing. (looking at the s1xfptime one can argue that probably I added/subtracted a correction term whereas I was really supposed to subtract/add).

Mar 19th 2013

  • Gabi is investigating the Hstart time. Not the same distribution between the ENGINE and HCANA.
  • The latest commit in the hcana develop branch will compute DC drift time and distances. The start time from the hodoscope and drift maps from the parameter file are used.

Hcana driftdist.png

Mar 5th 2013

Feb 19th 2013

  • Gabi is almost finished with the conversion of h_trans_scin.f to get a start time for wire chambers. Hope to push to Steve by end of week.

Feb 4th 2013

  • Gabi has been working on the scintillator code.
  • Steve encouraged Gabi to commit his code, so that Steve can continue on with DC.

Jan 22nd 2013

Jan 8th 2013

  • Steve will look into merging latest Shower code into main git repo
  • Contact Gabi about putting scintillator code in the git repo
  • Steve will make outline of Fortran tracking code

Dec 18th

  • Quick hodoscope coding work update in hcana
    • code correctly reads all hodoscope constants from hhodo.pos and hhodo.param (see hhodo.pos - link does not work at the moment, sorry!).
    • AFAIK tell there are 4 types of variables: singular variables (one per hodoscope), simple doubles and ints (one per plane), arrays (indexed with the # of paddles), "padded arrays" (i.e. 4x16)
    • singular vars and "padded arrays" went in THcHodoscope, the others went into THcScintillatorPlane
    • because h_reconstruction.f and h_tof.f explicitly depend on tracking (see links...) this is as far as I can push this without rewriting a (substantial portion) of the Fortran code.
    • We really need to get the tracking going as most/all other detectors depend on tracking being done first! I suggest I start doing some of that.
  • To get started with tracking need to better understand the flow and interaction between the drift chamber track and other detectors in the Fortran analyzer. Gabi and Mark will work on this.
  • Steve is work on creating a param file which has parameters which are hardcoded in the Fortran analyzer but can be in a database for HCANA.
  • Gabi found a bug in the reading of arrays from param files in HCANA. When an parameter array is listed twice, the Fortran Analyzer would overwrite the array. But in HCANA the array is expanded to include the new elements. Steve will look into changing HCANA so it behaves like the Fortran Analyzer.

Dec 12th

Hall A & C data analysis workshop

Nov 27th 2012

Nov 13th 2012

Oct 16th 2012

  • Steve Wood working on aerogel. To see what Steve is up to check his branch at;a=shortlog;h=refs/heads/sawwork
  • Ole made a minor change to the Makefile for the hcana. To see change go to;a=summary
  • Ole talked about setting up a configuration builder to handle different platforms like Macs. Discussed whether it was useful to use CMAKE or AUTOCONF , but decided that a simpler approach that is used for building ROOT could be used.
  • Discussed static analysis code analyzers for C++. If anyone has experience with these programs let Steve or Mark know what you prefer. Found the program cppcheck at which seems useful.
  • On Dec 12th Hall A is having a software workshop. Planning to turn it into a joint A/C software workshop. If you have ideas for talks or topics to be discussed send them to Steve ( or Ole (

Oct 2nd 2012

Sept 18th 2012

Sept 3, 2012

  • Discussed DBRequest class

Aug 21, 2012

Tentative Agenda

  • Gabriel Niculescu/Keith Thrasher: Hodoscope documentation work and plans
  • S. Wood: Recent hcana updates. (DC hitmap, Annoted hodtest.C example script changes)
  • Simon Zhamkochyan: Shower counter code update
  • Brad Sawatzky: Git hosting status?

Aug 7, 2012

Summary of meeting.

July 10, 2012

Discussed software issues. When looking in detail , a discrepancy between the ENGINE and the new C++ code for number of raw scintillator and calorimeter.

June 26, 2012

Presentation by Simon Zhamkochyan on his work on the shower detector in the C++ analyzer.

June 12, 2012

Short set of slides to introduce GIT , a version control software.

May 29, 2012

Summary of meeting

May 15, 2012

HMS calorimeter software documentation

May 1, 2012

April 17, 2012

April 3, 2012

  • Slides on the Analysis workflow by John Arrington for the 12 GeV software review.
  • Draft of a Research Management Plan for the Hall C 12 GeV Detector Software.
  • Summary of meeting

March 20, 2012

  • First draft of milestones for the JLab Software Review. Send comments and corrections to Mark Jones (
  • File:Software Decoding.pdf. Discussion of building hit lists in Root analyzer by Steve Wood.
  • Presentation by Gabi Niculescu. Slides 3-5 are outline for talk at the JLab Software Review. Beginning with slide 7 is a discussion of strategy for developing the Hall C C++ analyzer with some specific examples.
  • Summary of meeting