SEE_ALSO

## NAME

deadtimev -- Calibrate digital linearity (i.e., pair-pulse correction coefficient or dead time).

## USAGE

`deadtimev intable outtable`

## DESCRIPTION

Fit the following dead time formula between the observed digital count rates and their simultaneously-obtained analog counterparts:

D = ratio * A / ( 1 + ratio * A * tau)

where D is the observed digital count rate, A is the count rate derived from the simultaneous analog measurement, ratio is a scaling factor to compensate for any possible inaccuracy of the gain factor, and tau is the dead time. A non-linear least squares algorithm is used to determine ratio and tau.

Before actually performing the least squares fitting, raw count rates have to be adjusted, as follows:

scaled digital count rate = raw digital count rate scaled analog count rate = (((raw analog DN - CVC offset) / gain factor - analog dark signal - analog pre-amplifier noise) * digital high voltage factor / analog high voltage factor) + digital dark signal + digital pre-amplifier noise

The maximum number of input data points is 2,000.

## PARAMETERS

- intable [file name]
- Name of the input table. The following columns are needed:
'DETECTOB' Object detector ID (int). 'APERTOBJ' Object aperture name (char*10). 'VOLTAGE' High voltage setting (real). 'VGAIND' Gain setting (real). 'THRESH' Discriminator setting (real). 'DET_TEMP' Detector temperature (real). 'DEA_TEMP' DEA temperature (real). 'EPOCH' Epoch of observation (double). 'PTSRCFLG' Point source flag (char*1). The task also needs the following columns: 'DOBJ' Digital count rate (real). 'DOBJ_ERR' Mean error of digital count rate (real). 'AOBJ' Analog reading (real). 'AOBJ_ERR' Mean error of analog count rate (real).

- outtable [file name]
- Name of the output table created by this task. This table will
have the following columns:
'DETECTOR' Detector ID (int). 'NPOINTS' Number of input data points (int). 'ITERMAX' Number of iterations used in the least squares fitting (int). 'DEADTIME' Dead time obtained from the fitting (real). 'DEADTIME_ERR' Error of the dead time (real). 'RATIO' Scaling factor between digital and analog count rate (real). 'RATIO_ERR' Error of the scaling factor (real). 'CHISQ' Chi squared of the fit (real). 'TEMPMIN' Lowest temperature of all observations (real). 'TEMPMAX' Highest temperature of all observations (real). 'TEMPAVE' Average temperature (real). 'VOLTAGE' High voltage setting (real). 'THRESH' Discriminator setting (real). 'DIGITAL_WT' Weight flag of digital count (real). 'ANALOG_WT' Weight flag of analog count (real). 'TOLERANCE' The fractional sigma-squared change of the last least squares iteration (real). 'FRAC' Specified fraction applied to the coefficient modification during the least squares fitting (real). 'EPOCHMIN' Lower limit of epoch (double). 'EPOCHMAX' Upper limit of epoch (double). 'EPOCHAVE' Average epoch (double).

- (xweight = -2.) [real]
- Weighting flag of analog count rate. The weight of each data point is
proportional to the standard deviation with this flag as its exponent.
For example, if
`xweight = 0`, equal weights is applied and if 'xweight = -1000' or less, analog counts are assumed to be exactly precise.

- (yweight = -2.) [real]
- Weighting flag of digital count rate. The weight of each data point is
proportional to the standard deviation with this flag as its exponent.
For example, if
`yweight = 0`, equal weights is applied. BOTH`xweight`and`yweight`can not be set to -1000 or less.

- (itermax = 100) [real, min = 1]
- Maximum number of iterations to be used in the non-linear least squares fitting.

- (tolern = 1.E-12) [real, min = 0., max = 1.]
- Tolerance of the "goodness" of the least squares fit. If the
FRACTIONAL improvement of the sigma-squared is smaller than
`tolern`, the fit is deemed satisfactory and the least squares iteration will terminate.

- (frac = 0.5) [real, min = 0., max = 1.]
- Specified fraction applied to the coefficients modification during the non-linear least squares fitting.

- (cal_tables = "") [string]
- Pset name for calibration file parameters. Parameters can be
individually changed from the command line or can be edited as a
group using
`:e`from`eparam`or from the cl,`eparam cal_tables`or simply`cal_tables`. Details about these parameters are available by typing "help cal_tables".

- (save = no) [boolean]
- Save the scratch table containing intermediate
calibration corrections? If
`save = yes`, a message will be sent to the terminal and the logfile.

## EXAMPLES

1. Calibrate digital linearity from the input data table `xdeadtimev$input1` and
put results in the output table `ydeadtimev$output` while saving intermediate
result in another local table whose name will be announced to the user. The
analog count rates are weighted equally and the weights of digital count rates
are inversely proportional to their variance.

hs> deadtimev "xdeadtimev$input1" "ydeadtimev$output" save=yes xweight=0 yweight=-2

## BUGS

## REFERENCES

## SEE ALSO