It is likely that no one calibration algorithm will be exclusively used, but that several approaches will be used to check for consistency and to look for possible systematics. Further, different calibration modes may need to be invoked to handle partial data sets, additional information from other sources and other special cases. As such, the goal here is to create a flexible infrastructure where the specific calibration ``path'' can be controlled and easily modified. For this purpose, the bank OCAL has been created (contained in the titles file CALIBRATION_INFO.DAT) which currently contains a single 7-digit control word of the form abcdefg, where
a | = | 0 : | read in file names and details but do not |
perform optical calibration | |||
= | 1 : | read in file names and details and extract | |
basic information from timing histograms | |||
= | 2 : | read in file names and get details and extracted | |
information from previously saved OCA data structure | |||
= | 3 : | read in file names and details, extract basic | |
information and save OCA data structure | |||
b | = | 0 : | do not compute D2O attenuation coefficients |
= | 1 : | compute D2O attenuation coefficients by method 1 | |
c | = | 0 : | do not compute H2O attenuation coefficients |
= | 1 : | compute H2O attenuation coefficients by method 1 | |
d | = | 0 : | do not compute relative PMT efficiencies above 400nm |
= | 1 : | compute relative PMT efficiencies above 400nm (method 1) | |
e | = | 0 : | do not compute relative PMT QE and acrylic transmission |
= | 1 : | compute relative PMT QE and acrylic trans. (method 1) | |
f | = | 0 : | do not compute absolute acrylic transmission |
= | 1 : | compute absolute acrylic transmission (method 1) | |
g | = | 0 : | do not output calibration results |
= | 1 : | histogram calibration results |
The main optical calibration routine OCA_OPTICAL_CALIB.FOR translates the control word. If specified, it then gets laserball file details from input stream 1 of the OCA software unit and places these in the OCA data structure. Otherwise, these details may be read in by OCA_EXTRACT.FOR as part of a previously saved OCA data structure stored in a file whose name is passed through input stream 2. These details are designated according to the following index mnemonics as specified in OCA_DATA.INC:
Index Mnemonic | Quantity |
OCA_IW | Wavelength index of laser ball (up to 6) |
OCA_NP | Total number of laser pulses fired |
OCA_X | X-position of laser ball (cm) |
OCA_Y | Y-position of laser ball (cm) |
OCA_Z | Z-position of laser ball (cm) |
OCA_REFR | Average refractive index of detector medium |
The rest of the calibration then proceeds according to the control word.