[Shms_users] Hall C 12 GeV software update (mailing list & request for additional info)
Brad Sawatzky
brads at jlab.org
Mon Aug 22 17:30:24 EDT 2011
Dear all,
-------- Mailing List for Software Development --------
During the software discussions at the SHMS Detector Working group and
Hall C Summer Workshop I suggested starting a mailing list to provide
a public development forum.
Mark Jones pointed out that there is already a Hall C Software mailing
list in place. I took a look at the archives and it has seen 3 messages
since July 2009. Rather than generating a new "12 GeV" list, I
recommend just using that one. Those interested in development of
online/offline analysis software should sign up using this page:
https://mailman.jlab.org/mailman/listinfo/hallcsw
I also note that a call for software volunteers in the June 2011 SHMS
Users newsletter points to this wiki page:
https://hallcweb.jlab.org/wiki/index.php/Hall_c_soft_main
This would also serve as a good reference/documentation center. Gabi
and John Arrington were tagged as primary contacts for the Software
working group.
-------- Hall C Analyzer Resources --------
These are a few items that were discussed over the last few days. I
would like to encourage "folks in the know" to make a post to the
hallcsw at jlab.org mailing list if they can answer/comment on any of these
topics. Updates to the above wiki would be great too!
- Documentation for FORTRAN analyzer?
https://hallcweb.jlab.org/analysis_documentation/
- Is there anything more current? Does the build procedure
indicated here work with the present RHEL5/64bit mix at JLab?
- Anyone try it with RHEL6 (which is the standard for new builds
now)?
- General Documentation for Hall A analyzer can be found here:
http://hallaweb.jlab.org/podd/
https://hallaweb.jlab.org/wiki/index.php/Analysis_resources_for_d2n#Hall_A_Analyzer_Documentation
- Note that this will _not_ decode Hall C data streams by default.
- Hall C analyzer based on PODD (Hall A analyzer framework)?
- A written note that gave a general status update would be very
much appreciated. I'm not really clear on where things are at.
- Gabi: Do you have a CVS or other source tree for your modified
Hall A analyzer?
-------- Notes/Suggested Outline for Future Progress --------
Many of these items were discussed at the recent meetings and I thought
it might be of value to put them down for general reference. Note that
I don't think we really reached a clear consensus at last week's
meetings, so please consider this my "2 cents" and take it for what it's
worth :-)
Define a few canonical reference CODA runs/dataset that we can use as
a baseline for development. Ideally these should be runs from a
quasi-recent HMS+SOS experiment at a stage where the DAQ was running
smoothly.
- e+P elastic data would be best(?) so we know what we should expect
- reasonable statistics preferred
- A bundle of 'reference' histograms generated by the FORTRAN analyzer
would also be great.
- Some associated documentation on the meta-data needed for decoding
will also be needed. This includes crate, slot, module information
along with ADC and TDC channel map data. A pointer to the FORTRAN
engine's input/config files, along with a little documentation on
the config file format would be sufficient.
- At some point we'll want to push any new analyzer a little harder
with some more difficult-to-analyze runs (ie. high luminosity, large
tracking multiplicity, whatever). Let's start simple though.
FORTRAN Engine:
- Rebuild analyzer on one of the RHEL5/64bit ifarm nodes, replay the
above reference runs and sanity check the output.
- It would be great to add a software switch (or just hack up a
"test" version of the code) to output an event-by-event list of
tracking information (in particular). This would allow for a
quantitative comparison of tracking accuracy and efficiency
between the 'stock' code and any new software.
- Update FORTRAN analyzer to support baseline FADC readout.
- non-blocking, non-pipelined mode; FADCs behave as drop-in
replacement of FB 1881 ADCs
- code should also make provision for TDC data arriving in the
same data block
- note that, just like conventional F1s and CAEN VME TDCs, this
will require a 'reference time' correction to be extracted
from a conventional TDC and applied to the raw data
- can talk to Brad S. and/or DAQ group for format specs, example
code, and CODA files with FADC data
C++ Analyzer:
- Adapt Hall A raw-decode stage to parse Hall C CODA files. (DAQ
folks should know what I mean here.)
- I had the impression that this may already be complete? If so, a
link to the code would be great!
- Incorporate the ADC and TDC channel map config files.
- Simplest approach would be to write a quick translation script to
convert the Hall C legacy config files to Hall A's DB setup.
- Adding "proper" parsers to the Hall A code that understand the
Hall C format wouldn't be too difficult either.
- NOTE: The 'database' backend in the Hall A analyzer has be
long-recognized as a big weakness. Multiple hacks have been
implemented to address this -- none are very satisfying. A
proper solution would greatly benefit both Halls. This would be
a clean, well-defined project for a good student to take on.
- Start comparing low-level output of the C++ analyzer to the
legacy FORTRAN results
- start with raw ADC/TDC comparisons (crate, card, channel), then
"work up" to calibrated output (Energy, Coincidence timing, etc)
- compare track reconstruction event-by-event
- It would be disconcerting if there are significant differences
between what the "Hall A" tracking algorithms generate and what
the FORTRAN analyzer ends up with. I would like to think there
is minimal special case "magic" in either tracking codes.
- compare aggregate tracking output
- efficiencies, momentum distributions, resolutions, etc
-- Brad
--
Brad Sawatzky, PhD <brads at jlab.org> -<>- Jefferson Lab / Hall C / C111
Ph: 757-269-5947 -<>- Fax: 757-269-5235 -<>- Pager: brads-page at jlab.org
The most exciting phrase to hear in science, the one that heralds new
discoveries, is not "Eureka!" but "That's funny..." -- Isaac Asimov
More information about the Shms_users
mailing list