Radphi Pass-0 Calibration

The purpose of pass-0 calibration is to derive a set of constants from the data that can be used to convert raw tdc and adc values into hit energies and times in physical units: MeV or GeV and ns. The purpose of pass-0 is to obtain a set of parameters that allow the response of all of the counters in a detector to be compared directly or plotted on the same scale, where gain and delay differences between channels have been removed and a sensible common scale adopted. More complicated corrections may be required before amplitudes can be interpreted as particle energies or time differences can be converted to time-of-flight; these are called pass-1 (or higher) calibrations. An example a pass-1 calibration is the LGD energy calibration based upon optimization of the observed mass of the π°, as described in another document. Pass-1 calibrations differ from detector to detector and are not even necessary in some cases. Pass-0 calibration is simpler and is fairly uniform across all detectors and counters. The description of pass-0 requires that the following three questions be addressed.

  1. What formulas are used to convert adc/tdc values to hit data?
  2. Where are the constants stored on disk? in the c libraries?
  3. How are the constants derived?

1. formulas

In the following formulas a uniform naming convention is used to distinguish different kinds of variables and constants. Variables are designated without subscripts and constants have subscripts. Variables are named either a (amplitude or pulse-height) or t (time) with lower-case referring to float hit data (after transformation to physical units) and upper-case referring to raw integer values. For time variables the physical units are always ns, whereas for amplitudes the units may depend on the kind of detector. The detector to which any given variable or constant belongs is either implicit from the context or shown explicitly within parentheses after the symbol. For example, the delay time correction for BSD left counter 5 would be written as T(bsd 5). The following two formulas cover all cases.
t = -p (T - T) + t (1)
a = g (A - A) (2)
The constants A are called pedestals. These were evaluated periodically during the data taking by dedicated runs, and were stored in the Radphi map database together with estimates for the threshold between signal and noise for each adc channel. The online pedestals are taken as correct, and not adjusted during pass-0 calibration. The gain coefficients g are adjusted during pass-0 to match the response of all counters in a detector to a reference counter, with the absolute scale set by comparison with Monte Carlo to give either dE/dx or total energy in units of MeV (scintillators) or GeV (calorimeters). The g coefficients are looked up on a per-run and per-counter basis, as are the pedestals. By contrast, the tdc clock period p is assigned the unique value of 0.5ns for all counters and runs. The minus sign is present in Eq. (1) because the tdc's were operated in common-stop mode, so that small tdc values correspond to later signals relative to the trigger. The time offsets T reflect the variation in signal propagation times between counters. Some care must be taken in the definition of these offsets, because the most convenient convention for use in the analysis does not always correspond to the exact time of day that the flash appeared in the counter. For example, in the tagger there is a dispersion in time-of-flight from the radiator to the focal plane, depending on the photon energy, but such time-of-flight differences are of no interest in the tagging coincidence analysis. The following general rule is used in deciding how to determine the time offsets.
Time offsets are adjusted for each counter so that the time difference between a hit in a Radphi detector and a hit in the tagger gives the time of flight from the point of interaction in the Radphi target to the point of detection if the two hits correspond to the same gamma.
This definition gives an unambiguous specification for how the time offsets are established for all counters, except because it deals only with differences it leaves undefined one overall shift. This ambiguity is left open during pass-0 for sake of flexibility in the calibration procedure, but at the end it is lifted by the use of a global t (see above formula). The same t coefficient is used for channels in a detector, but depends upon run number. It was introduced to allow a convenient way to remove jumps in the overall time scale that occurred at several points during the run when the tdc window and start delay were changed. Intrinsic jitter in the trigger start time make absolute hit times of limited interest, but they are often used in the analysis to place broad windows around the signals of interest in an event. The t coefficients are adjusted so that the tagger coincidence peaks center around zero for all runs.

2. parameter names

The following table provides a summary of all pass-0 calibration constants, where they are stored in the map database and where they may be accessed within the analysis code. Note that in analysis code the function setup_makehits(event) must be called before the values in makehits.h can be considered valid for this event. Note that setup_makehits need only be called at the beginning of a new run, since map parameters do not change within a single run.

Table 1: Summary of pass-0 calibration parameters.

parameter run dependent? counter dependent? found in map name in map name in makehits.h
p no no -   TDC_1877_GAIN
T(tag i) yes yes detector_params.map TAG:tdc_offset_38 tag_tdc_offset[i]
T(cpv i) yes yes detector_params.map CPV:tdc_offset_30 cpv_tdc_offset[i]
T(upv i) yes yes detector_params.map UPV:tdc_offset_8 upv_tdc_offset[i]
T(bsd i) yes yes detector_params.map BSD:tdc_offset_48 bsd_tdc_offset[i]
T(bgv i) yes yes detector_params.map BGV:tdc_offset_48 bgv_tdc_offset[i]
t(tag) yes no detector_params.map TAG:t0_offset tag_t0_offset
t(cpv) yes no detector_params.map CPV:t0_offset cpv_t0_offset
t(upv) yes no detector_params.map UPV:t0_offset upv_t0_offset
t(bsd) yes no detector_params.map BSD:t0_offset bsd_t0_offset
t(bgv) yes no detector_params.map BGV:t0_offset bgv_t0_offset
g(cpv i) yes yes calibration.map CPV:cc_30 cpv_cc[i]
g(upv i) yes yes calibration.map UPV:cc_8 upv_cc[i]
g(bsd i) yes yes calibration.map BSD:cc_48 bsd_cc[i]
g(bgv i) yes yes calibration.map BGV:cc_48 bgv_cc[i]
g(lgd i) yes yes calibration.map LGD:cc_784
LGD:tune_784
lgd_cc[i]
lgd_cc_tune[i]
A(cpv i) yes yes pedestals.map TAG:ped_30 cpv_ped[i]
A(upv i) yes yes pedestals.map UPV:ped_8 upv_ped[i]
A(bsd i) yes yes pedestals.map BSD:ped_48 bsd_ped[i]
A(bgv i) yes yes pedestals.map BGV:ped_48 bgv_ped[i]
A(lgd i) yes yes pedestals.map LGD:ped_768 lgd_ped[i]

3. procedures

The pass-0 calibration procedures have been separated into timing and amplitude calibrations. The procedures for timing calibration are first.
  1. Make a window around the coincidence peak in the tdc spectrum for CPV counter 28. Do this for all runs, grouping together run sequences where the peak is stationary. Note the position of the narrow peak like the one in Fig. 1. When multiplied by p (0.5ns), these are the constants t(tag) to be loaded into the map. It is important that these not be confused with the t(cpv) coefficients to be determined later.

    run range cpv28 tdc peak t(tag)

    7415-7475 604.0 302.0 ns
    7476-7810 580.0 290.0 ns
    7811-8020 303.0 151.5 ns
    8021-8150 199.0 99.5 ns
    8151-8220 102.5 51.3 ns
    8221-8731 108.0 54.0 ns

  2. Let us define a tdc window of about ±40 counts around the coincidence peak in cpv28. Form a histogram for each tagging channel to hold a tdc histogram, with separate histograms for left and right channels. For each event, for each tdc in cpv28 within this window, for each tdc recorded for tagger counter i fill the histogram for counter i with the value T(tag i) - T(cpv 28). This must be done separately for each of the run ranges above. Fit each of these histograms to a constant+Gaussian lineshape as shown in Fig. 2. and record the centroid for each channel. These are the constants T(tag i) to be loaded into the map.
  3. Using the two parameters T(tag i) and t(tag) evaluated in the previous steps, let us define a tagger "hit time" using the formula (1) above. Now let us define a coincidence window [-20ns, 20ns] for all tagger hits. Form a tdc histogram for each bsd counter. For each event, for each tagger hit j within the coincidence window of any tagging counter, for each tdc recorded for bsd counter i, fill the corresponding histogram with the value T(bsd i) + t(tag j)/p. Fit each of these histograms to a polynomial+Gaussian lineshape as shown in Fig. 3 and record the centroid for each counter. These are the are the constants T(bsd i) to be loaded into the map.
  4. For the parameters t(bsd) take the constant value of 3ns.
  5. Let us define a coincidence window [-20ns, 20ns] for all tagger hits, as described above. Form a tdc histogram for each end of the bgv counters. For each event, for each tagger hit j within the coincidence window, for each tdc recorded for bgv end i, fill the corresponding histogram with the value T(bgv i) + t(tag j)/p. Fit each of these histograms to a polynomial+Gaussian lineshape as shown in Fig. 4 and record the centroid for each counter. These are the are the constants T(bgv i) to be loaded into the map.
  6. For the parameters t(bgv) take the constant value of 3ns.
  7. Form a tdc histogram for each cpv counter. For each event, for each tagger hit j within the tagger coincidence window described above, for each tdc recorded for bgv end i, fill the corresponding histogram with the value T(cpv i) + t(tag j)/p. Fit each of these histograms to a polynomial+Gaussian lineshape as shown in Fig. 5 and record the centroid for each counter. These are the are the constants T(cpv i) to be loaded into the map.
  8. For the parameters t(cpv) take the constant value of 2ns.

4. fits

    The above calibration procedure was carried out by Dan Steiner, a graduate student working with David Armstrong at the College of William & Mary. Selected graphs showing the quality of the fits are saved in this hbook file. More info regarding problems seen in specific channels can be found on Dan's web site.

5. notes

  1. This procedure does not address the calibration of the upv because those counters are not of much interest in the offline analysis. Their role in the experiment was to reduce the first-level trigger rate.
  2. When the above procedure is complete, the tagger coincidence peaks should average near zero and the bsd coincidence spectra should peak around 3ns. However this is only approximate, and there should be noticeable differences between channels if the procedure was carried out correctly. This is because absolute hit times are relative to the trigger start, whose formation involved a different set of signal pathways than those used by the tdcs. For counters that took part in the formation of the trigger, this can produce shifts in unsubtracted hit time spectra, depending on which counter produced the trigger.
  3. Even for counters such as the bgv and cpv that did not participate directly in the trigger, the unsubtracted hit time spectra may show shifts from one channel to the next, because of their proximity to triggering counters.
  4. In the analysis only differences between hit times should be considered to be a calibrated measurement.

 

This material is based upon work supported by the National Science Foundation under Grant No. 0072416.