Icetop/Inice verification 2005/06

"Official" verification page
Here is the documentation for the ItPlusString verification project. (Dec 2005 - needs to be updated)

Status of icetop/inice verification code August 06

The ItPlusString project in icetray has only recently been converted to dc2. ItPlusString/trunk compiles with offline-software V01-09-07 plus rime rev >=22652. To run the module efficiently on 9-string data, icepick rev >=22682 is needed.
Results have been produced so far only for string 21 to check if the results from RealDAQ data and processed with the new version of the module agree with results from TestDAQ data and the old (dataclasses v1) version. The DOM-based (i.e. not using inice reco information) timing comparison looks comparable to the earlier results (from the verification plot release):
icetop/inice dt vs. distance: new May 06 plot release
icetop/inice dt vs. distance (lego plot): new May 06 plot release
icetop/inice time residuals (one entry for each hit inice DOM): new May 06 plot release

Differences like 60ns intercept compared to 19ns in the dt vs distance plot might be caused by different detector geometry (plots from May: 4-station array; new plots: 16 stations). It should be checked if identical results are obtained if the new version is used to process the same data that were used for the plot release or if the new data are restricted to the limited geometry of those data. Icetop/inice timing comparisons using a single inice time and vertex position from inice reconstruction (in contrast to one position and time for each hit DOM) showed a clear peak which allowed to estimate the inter-string timing precision to about 30ns. This is currently not the case with the new version and has to be checked.
To do:
Instructions how to use the module:
The module has to be executed once for each string:
ItPlusString/resources/examples/RunItPlusString.py -i RunXXX.i3.gz -s reco-string-nr -o outputfile.root [-n nr-of-events]
After having produced several output files named eg. Run001_str21.root, Run002_str21.root, ..., Run001_str29.root, Run002_str29.root, ... the script ItPlusString/resources/scripts/MakePlots.C root script can be used to create plots showing icetop/inice relative timing results:
export ROOTFILEDIR=/path/to/root-files
export ROOTFILEPATTERN="Run*_str21.root"  # * wildcard will be interpreted by TChain
export STRING=21
root ItPlusString/resources/scripts/MakePlots.C
This will create several plots named string21_..._RunX_str21.root.eps.

New verification module: lowlevel-verification

The lowlevel-verification module has been created and added to the icetray sandbox by Matt Warden. It creates root files with basic information (hit times and charges for each DOM etc) and provides an executable to produce plots out of the root files for monitoring/verification.
Instructions how to use the module:
Installation: Creating verification root files from i3 files: Creating plots for one or several *.ver.root files stored in one directory:

Further plans for icetop/inice verification and monitoring

"Low level" (i.e. before any reco) verification monitoring: The "lowlevel-verification" module has been added by Matt Warden to the icetray sandbox. Here is an example of the generated plots for data from September 1, and here are the plots from run 89711 (sep 26) after an adjustment of thresholds and LG HVs. A comparison of two runs shows that thresholds for the LG DOMs went down, but not as much as intended (should be < 1000pe). HG charge thresholds increased.
"High level" verification monitoring: After running the needed reconstructions and flat-ntuple, short ROOT scripts can produce most of these plots and/or numeric results for monitoring. Which amount of data is needed and how often we want to produce these plots has not yet been decided.