Time-of-Flight Calibration

Date: Fri, 03 Apr 2015 12:04:37 -0400
From: Mark Ito <marki@jlab.org>
To: Kei Moriya <kmoriya@jlab.org>
CC: Beni Zihlmann <zihlmann@jlab.org>
Subject: tof calibration

Kei,

Talked to Nathan and he told me you were out of town. Maybe we can talk 
when you get back. Beni is also interested. But here is the basic idea:

- pretend all counters are double ended
- only consider two-ended counter hits for everything below (when we say 
a counter is hit, we mean both ends always)

Mean time offsets

- pick a horizontal counter
- look for coincidences between vertical counters and the special 
horizontal counter
- histogram the mean time difference: t_mean,v - t_mean,h for each 
vertical counter
- process the information from these histograms
   - pick a vertical counter
   - define its mean time offset, t_off,m to be zero
   - note the average value of t_mean,v - t_mean,h for this counter, 
call it dt_m0
   - calculate a mean time offset t_off,m for all of the other vertical 
counters such that
        the average of t_mean,v - t_mean,h - dt_m0 + t_off,m = 0
- this gives mean time offsets for all vertical counters, where the 
special vertical counter has an offset of 0 by definition.
- now do the same thing exchanging vertical for horizontal

Time difference offsets

- pick a horizontal counter
- look for coincidences between vertical counters and the special 
horizontal counter
- histogram the end-to-end time differences: t_2 - t_1 for each vertical 
counter
- process the information from these histograms
   - pick a vertical counter
   - define its time difference offset, t_off,d to be zero
   - note the value of the average end-to-end time difference for this 
counter, call it dt_d0
   - calculate a time difference offset t_off,d for all of the other 
vertical counters such that
        the average of t_2 - t_1 - dt_d0 + t_off,d = 0
- this gives time difference offsets for all vertical counters, where 
the special vertical counter has an offset of 0 by definition.
- now do the same thing exchanging vertical for horizontal

Transform to the single end basis:

For each counter, we have a t_off,m and a t_off,d

When we apply t_off,m to the mean time we get a corrected mean time, 
t_corr,m

   (t_1 + t_2)/2 + t_off,m = t_corr,m

and we want individual end offsets, t_off,1 and t_off,2, to do the same 
thing, i. e.,

   [(t_1 + t_off,1) + (t_2 + t_off,2)]/2 = t_corr,m

so

   t_off,m = (1/2)(t_off,1 + t_off,2)

When we apply t_off,d to the time difference we get a corrected time 
difference, t_corr,d

   t_2 - t_1 + t_off,d = t_corr,d

and we want individual end offsets, to do the same thing, i. e.,

   (t_2 + t_off,2) - (t_1 + t_off,1) - t_corr,d

so

  t_off,d = t_off,2 - t_off,1

and solving for t_off,1 and t_off,2 gives

   t_off,1 = t_off,m - (1/2)t_off,d

   t_off,2 = t_off,m + (1/2)t_off,d

What we end up with is a vertical plane that is calibrated to itself in 
time and calibrated to itself in vertical location. We also have a 
horizontal plane that is calibrated to itself in time and calibrated to 
itself in horizontal position. So there are still four global constants 
to fix to bring the TOF into registration with the rest of the detector. 
You can think of the planes as floating around in this four-dimensional 
space. We have to use outside information to attach the TOF to the rest 
of the detector. For time the FCAL would be good. For position, charged 
tracks.

Right?

   -- Mark

CCDB Status

  • JANA interface
    • JANA compiles
    • code is done
    • testing to do
      • failing on one row tables
      • multiple row tables OK
  • Conversion
    • done
    • need to run JANA to test conversion
  • CCDB shell: ccdbcmd
    • cat of tables needs improvement
      • version -> id, use id as input to cat
  • Build issues
    • swig made by makefile, which is invoked in turn by scons
      • should be one or the other, probably scons
  • Supported platforms
    • testing on other distributions
    • basic JLab CUE OS’s and Windows a good starting list
    • OSX?
    • defer promise of support for now
  • Distribution of database
    • create central database
      • halldweb1.jlab.org
      • method for recreating from files
    • mysql dump script
    • mysql load script or instructions
    • local ascii file interface
      • import/export works
      • provider not there yet
  • Web interface
    • simple browse and search facility
    • simple upload facility
  • Documentation
    • doxygen mark-up in the code
    • specification
    • ccdb ascii file document
    • ccdbcmd help tools
    • all need review
    • future
      • gluex note
      • summary talk