Agendas for 12GeV software meetings
Call in using phone number 866-740-1260 with code 1150811.
Login into www.readytalk.com to view presentations.
Meet biweekly every Tues at 1pm in B101.
Next meeting May 7th
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:
- THcDC
- 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.
- THcDriftChamber
- 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.
- THcDriftChamberPlane
- Class for a single plane. The hits for a plane are gathered here. The object gathers its plane specific geometry parameters by asking THcDC
- THcDCHit
- Drift chamber hit class. Holds rawtime, corrected time, does time to distance conversion
- THcDCWire
- Wire class. One for each wire, holds wire number, position, time offset, pointer to time to distance function
- THcDCTimeToDistConv
- Generic time to distance conversion
- ThcDCLookupTTDConv
- Specific implementation of time to distance using lookup table
- THcRawDCHit
- 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)
- 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.
- The main problems found and fixed between the fptimes shown 2 weeks ago and the ones shown above were:
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.
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 https://hallcweb.jlab.org/git/?p=hcana.git;a=shortlog;h=refs/heads/sawwork
- Ole made a minor change to the Makefile for the hcana. To see change go to https://hallcweb.jlab.org/git/?p=hcana.git;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 http://cppcheck.sourceforge.net/ 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 (saw@jlab.org) or Ole (ole@jlab.org).
Oct 2nd 2012
- Summary of the meeting.
Sept 18th 2012
- Final report of the 12 GeV Software review.
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
- Summary of meeting
April 17, 2012
- File:Hms calo coding.pdf Vardan Tadevosyan's overview of HMS calorimeter software documentation.
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 (jones@jlab.org).
- 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