The LBL-developed diagnostic software for the ABCD chip testing station
consists of 3 parts:
-- threshold scan,
-- test vectors (TVs),
-- ADC readout.
Each part is realized as a VC++ project (we use version 5 for this,
conversion
to version 6 should go seamlessly), and they all use so-called "commonClasses"
utilities. Each part is described below.
Please let me know if there are questions/problems/suggestions.
vitaliy fadeyev 02/24/01
-------------------- threshold scan ----------------------------
The archive for the code and project is here (last updated on 24/02/01)
The program scans the threshold for the 4 calibration lines and different
values of
the calibration pulse. The results are stored in data files cal*_line_*.out
(simple ASCII format).
There are about a dozen parameters being set at the beginning of the
main.cxx.
One would have to recompile if they are changed. Each of them is commented
on
directly in the text, therefore we do not repeat them here.
To display the results, one can start root session and run either of
the following
macros (included in the archive):
-- console_show_all_128.cxx,
-- console_show_128_1line.cxx.
The first script produces 4 display windows (1 for each calibration
line),
with 128 histograms in each of them. This may take a long time, so
the 2nd script is also included. It only looks at the 1st calibration
line.
The location of the data files is hardcoded in the scripts, this would
have to be changed for a particular PC configuration.
--------------------- test vectors ------------------------------
The archive for the code and project is here (last updated on 24/02/01)
The program scans a test vector across frequency, sending it 1000 times
at each point and counting the efficiency. The frequency and the efficiency
are printed on the screen.
Because of the nature of test vectors, there are not so many parameters
one can change for this program. The main choice is which TV
to run, this is set by string "vec_name". Each TV is represented
by two files (the input test vector for the chip per se and
the expected/simulated chip response). The "vec_name" string
provides the base name for the test vector files. There are total
of 5 standard TVs, and the corresponding files are included in the
archive.
--------------------- ADC readout ----------------------------
The archive for the code and project is here (last updated on 22/03/01)
The program reads out all 8 ADC channels, converts the values
into physical quantities and prints them on the screen. If the ABCD
chip is in a "bad" state, then the values can be weird. The standard
procedure is to run the program after the threshold scan.
--------------------- commonClasses --------------------------
The archive for the code and project is here (last updated on 24/02/01)
This is not a program per se, but rather a collection of classes used
in
the 3 programs above. The standard arrangement is to put them
all
in parallel directories. To enable the compilation of the programs
in
the VC++ environment, one has to place a full path name for the directory
with these files into a directory list under
Tools -> Options -> Include files .
This setting may interfere with a similar directory (usually named
C:\include) for Carlos's software, because of the same names
and different file content. One would have to temporarily remove
that directory from the list in order to compile the diagnostic software.
-----------------------------------------------------------