JLab Software Meeting September 6, 2005 David Lawrence Attending: David Lawrence, Elliott Wolin, Mark Ito, Steve Wood, Sergey Boiarnov, Vardan Gyurjyan Hall-C Analyzer ---------------- Steve Wood showed some slides that gave an overview of the Hall-C analyzer and CTP, the CEBAF Test Package. The analyzer engine is a FORTRAN program originally written in 1994. It has been in use for 10 years and the Hall-C user base as gained considerable experience with it during that time. The analyzer itself has lots of duplicate code. This came about because the reconstruction code from one spectrometer was essentially copied and some variable names changed to do reconstruction for another, similar spectrometer. While not entirely desirable, this code duplication has apparently not caused a lot of problems in the code maintenance. The CTP package was written in C and provides a way to define histograms, cuts, and parameters in a simple, concise file format. This is analogous to the "Output Definition File" used by the Hall-A analyzer. CTP was inspired by the LAMPF test package that was part of the Q system. CTP relies on all variables/arrays being registered by the analyzer. The code to do this is apparently generated from some header file(s) automatically. The analyzer can also produce customized reports in the form of formatted ASCII files. A template is given to the analyzer with variable names specified where one wants the values to be inserted. This can be used to produce a report with statistics (such as the number of times a specific cut was passed) accumulated over the run. CTP has also been used to produce ROOT Ntuples. The format was restricted to something similar to PAW Ntuples and most Hall-C users still use the PAW version. There are some standard Ntuple definitions in the Analyzer that must be modified through the FORTRAN source (i.e. CTP does not provide a way to customize them). At this point, there has not been any real pressure from the Hall-C user community to change the analyzer. In fact, some are quite resistant to make a change from the mature, stable analyzer currently in use. Steve was open to the idea of moving to a C++/ROOT framework, particularly in the context of the 12GeV upgrade. He indicated they were mostly likely to just adopt the new Hall-A analyzer package which has a number of similarities to how things are currently done in Hall-C. Steve has already started trying to use the Hall-A analyzer on Hall-A data. Discussion ----------- A discussion was had concerning where there could be overlap in analyzer software between all 4 experimental halls. It was generally agreed that the nature of the data from halls A nd C was a little different from that of halls B and D. Specifically, that A/C have a simpler detector setup that allows very fast event reconstruction. The A/C data can be re-analyzed from scratch several times in the course of data analysis. On the other hand, the resources needed to analyze B/D data are great enough that only 1 or 2 reconstruction passes are practical. Therefore, the B/D data analysis is broken into at least 2 stages: Reconstruction and Analysis. The analysis stage was identified as the place where there could be significant overlap with A/C. Next Meeting -------------- The next meeting will take place in approximately 2 weeks on a date TBD. David Lawrence will talk about the Hall-D package currently under development. Other topics include an introduction to Aida by Vardan and a new evio API by Elliott.