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):
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:
- process TestDAQ data and compare to results from dc1 version
- correct inice/icetop timing measurements from inice reco
- process several days of data and estimate CPU time usage
- include created plots in verification monitoring
- make sure that large files are processed completely
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:
- cd to your I3_WORK and execute env.sh
- svn co http://code.icecube.wisc.edu/svn/sandbox/lowlevel-verification
- make -C lowlevel-verification/ bin (don't forget the "bin"!)
Creating verification root files from i3 files:
- lowlevel-verification/resources/examples/runVerification.py /data/exp/.../inputfile.i3.gz /output/directory [nr-of-events]
Creating plots for one or several *.ver.root files stored in one directory:
- cd /output/directory
- lowlevel-verification-doPlots (this will create a lot of plots for single DOMs and for DOM pairs)
Further plans for icetop/inice verification and monitoring
"Low level" (i.e. before any reco) verification monitoring:
- HG hit time vs LG hit time (within one tank), same with charges
- HG hit time vs HG hit time (within one station), same with charges
- occupancy of icetop DOMs and DOM/tank/station multiplicities for a) II SMT
b) IT SMT c) IT+II SMT [These plots are available in the standard monitoring without differentiating triggers]
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:
- icetop vs. inice directional reconstruction for coincident events (zenith & space angle differences) [ IT+II SMT events ]
- icetop core reco vs. inice muon reco extrapolated to surface [ IT+II SMT ]
- icetop single-station vs. inice muon reco extrapolated to surface [ II SMT + single IT station ]
- icetop timing: time residuals of inidividual DOMs wrt. plane or curved reco [IT SMT] (maybe calculating several reconstructions with one DOM or tank excluded each time => large CPU time!)
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.