The following versions have been tagged in the CVS repository and
may be retrieved as follows:
|
PWP:2004-05-25 Version 3.43 Release Notes
|
This PRODUCTION version is built to run on Windows platforms
with version 3.02/07 of ROOT (WITHOUT experimental GDK driver).
Alternate project files are included such that users with access
to the Microsoft Visual C++ compiler may rebuild the software
to run with more recent versions of ROOT: please note that this is
not recommended. If for some reason you must use SCTDAQ
with a recent version of ROOT under Windows I would recommend that
you avoid even the "optimised" gdk versions: when I tested version
3.10/02 I found it to be slower by at least a factor of 2!
SCTDAQ may also be built under Linux to run with ROOT version 3.02/07 or higher.
To use this version under Windows:
- 1) Install ROOT 3.02/07 (version WITHOUT experimental GDK driver)
- 2) Download and unzip sctdaq_3_42.zip
- 3) Choose the version of sctdaq\bin\stdll_*.dll appropriate
to your system (CLOAC or NO_CLOAC) and
rename it stdll.dll
- 4) Start ROOT from within the sctdaq directory
(IMPORTANT!) and run ST as usual
.x ST.cpp
The built versions will work for the following system configuration,
with all VME boards set to the usual addresses:
- 1 CLOAC (CLOAC version only)
- 1 SLOG
- 1 MuSTARD
- 0-3 SCTLV (any flavour)
- 0-2 SCTHV
- c:\sctdaq
- d:\sctvar
Users with non-standard file system paths or VME configurations
will need to edit the appropriate source files and recompile as
usual. (For a system without a d: disk, a user with administrative
priviliges may simply mount the c: disk as drive d.)
Additions/fixes/improvements:
- sctdaq/macros/AccumulateAnalysis.cpp, AccumulateTest.cpp
- Simple test of the accumulate function of ABCD.
- sctdaq/macros/ConfirmationTest.cpp
- Option to vary setting of SELECT for analogue part of the test (unused by default).
- sctdaq/macros/EndCapCold.cpp
- Sequence to rerun the cold part of the endcap hybrid test (used at RAL).
- sctdaq/macros/EndCapHLTT.cpp
- sctdaq/macros/FullBypassTest.cpp
- AERO mode now argument (with default=1).
- sctdaq/macros/NO.cpp
Set FAIL if:
- more than 15 NO_HI defects
- more than 7 consecutive NO_HI defects
- any chip has noise less than 400 ENC (to catch chips with gross calibration errors)
- sctdaq/macros/RedundancyTest.cpp
- Use preburst to disable failing links.
Hence if one hybrid/module fails the test, the others should still pass.
- sctdaq/macros/ResponseCurvePlot.cpp
- When run online, add DB comment showing state of SELECT
- sctdaq/macros/StrobeDelay.cpp
- Default SD fraction now 0.40
- sctdaq/macros/StrobeDelayPlot.cpp
- Unnecessary dependency removed.
- sctdaq/macros/TLTT.cpp, TLTT.h
- When testing ENDCAP hybrids, SELECT will toggle between consecutive
confirmation tests.
- Missing T sensors (-128C or less) are now excluded from calculations.
- Set fail if a module is suspended during an LTT sequence.
- sctdaq/stdll/TST.cpp
- Bugfix: NO test used to get stuck in semi-infinite loop if one module
had been suspended, eg due to LV or T trip. This has now been corrected.
- sctdaq/macros/CharacteristaionTest.cpp ConfirmationTest.cpp ReceptionTest.cpp IVCurve.cpp
Under Windows, sounds are now played at the end of these tests / test sequences.
- sctdaq/bin/end.wav will play if the sequence ends normally.
- sctdaq/bin/error.wav will play if the sequence is aborted.
- sctdaq/macros/ (General)
- All standard plots now show hybrid/module temperature T0
- sctdaq/macros/ (General)
- All standard plots now show hybrid/module temperature T0
|
PWP:2004-01-06 Version 3.42 Release Notes
|
Additions/fixes/improvements:
- sctdaq/macros/ (General)
- All standard plots now show hybrid/module temperature T0
- sctdaq/macros/CharacterisationTest.cpp
- Log start of test - see entry for TLogger
- During CharacterisationReplay, use SW bad channel mask for NOPlot
- During CharacterisationReplay, do not display plots for TimewalkPlot
- During CharacterisationReplay, use correct arguments for StrobeDelayPlot
- sctdaq/macros/ConfirmationTest.cpp
- Log start of test - see entry for TLogger
- During ConfirmationReplay, use correct arguments for StrobeDelayPlot
- sctdaq/macros/FullBypassTest.cpp
- New version to support use of AERO in mode 0 by means
of adjustment of the VDCDAC threshold as Vdd is changed.
Defaults are set for users with UNMODIFIED patch cards. Users
of modified cards should edit this file to select an
alternate value of the adjustment factor "Afactor".
- Although the new option is the default, options are
provided to use use AERO in modes 1 or 2 which use the SPY
data. These may still be select if required, by editing the
file.
- Code drafted by PWP, completed by Scott Lindsay.
- sctdaq/macros/IVCurve.cpp
- bugfix from Dave Robinson
- bugfix from Allen Haim
- Add option to 500V in 10V steps, 10S wait, power off (req. by R Bates)
- Extra options for CiS detectors - will appear only when Endcap devices
are declared in the sysmap
- Option to run the IV curve on a single module - useful in the
event of a visit by SCTHV communication gremlins...
- sctdaq/macros/No.cpp
- Make ST_THR the default (scanned range adjusted to accomodate trim)
- sctdaq/macros/NoLBL.cpp
- Load NoPlotLBL.cpp instead of NoPLot.cpp (bugfix from Bob Ely)
- sctdaq/macros/NoPlot.cpp
- Additions based on work by Peter Kodys:
- Option to suppress data for known bad channels (based on the mask
file). If this is used, a DB comment is generated to make it clear
that any unmaskable channels have been excluded from the quoted
occupancy figures.
- TMarkers now correct when ST_TTHR option in use.
- TMarkers y point truncated to LOW_RANGE when log scale in use.
- sctdaq/macros/parameters.h
- sctdaq/macros/ResponseCurvePlot.cpp
- I have rationalised the way in which defective channels are masked
during the 3PG test. The following channels are now masked:
- DEAD
- STUCK
- LO_GAIN gain < (0.75*chip_mean_gain)
- HI_GAIN gain > (1.25*chip_mean_gain)
- LO_OFFSET offset < (chip_mean_offset-80)
- HI_OFFSET offset < (chip_mean_offset+80)
- V_NOISY innse > (1.25*chip_mean_noise)
Note that V_NOISY is a subset of the list of NOISY channels which
is given by a cut on innse at (1.15*chip_mean_noise). V_NOISY is
supposed to match (replace) the cut at 1.25*output noise traditionally
applied during the trim analysis. For each channel that is masked, a
DB comment is generated. In addition to all this, the range of the
hp_offset histograms are now tuned to match the new offset cuts - hence
modules which are trimmed high will no longer fail the RC test.
- Bad channels (low/high gain/offset, very high noise) are no longer
considered when determining the response curve for each chip. This
makes more sense as, in practice, these are the channels that will
be masked off. (This feature is most useful during replay sessions.)
- A new option, activated by setting cut_adjustment=1, lowers the
partbonded cut by 150ENC during cold tests. This was requested by UK-B
to reduce the probability of strips being incorrectly identified as
unbonded during cold tests. By default, this option is switched off.
- Bugfix: Exclude points having sigma>1.5* channel mean from the
channel by channel RC fit. This gives sensible values for channel gain,
noise etc. in the presence of the "8fC" effect.
- Enhancement: Tally the number of channels of each link for which
n (or more) points have thus been excluded. This gives an idea of the
extent to which a module has been effected by the "8fC" effect.
- Bugfix: Exclude points for which the mean sigma is more than 1.5 *
the chip mean from the chip by chip RC fit. (This code was present
in SCTDAQ 3.41, but was broken in the initial DEV release of SCTDAQ
3.42. Now it's fixed.)
- Bugfix: Exclude points for which the mean VT50 is zero from the
chip by chip RC fit. (Happens in extreme cases of the "8fC" effect.)
- sctdaq/macros/StrobeDelay.cpp
- Turn on integrated fitting - fits a point to the SD peak for each channel
- sctdaq/macros/StrobeDelayPlot.cpp
- Completely rewritten, useful plots, more sensible cuts - see file for details
- First bugfix: to make the macro run relibably with old (unfitted)
Strobe Delay data files. (The original code used to crash...)
- Second bugfix: to make the code which identifies empty bins coming
between the rising and falling edges of the chip SD projection histogram.
(In the initial version I had made some incorrect assumptions about bin widths...)
- I also included (recoded) some changes from Bob Ely. The macro
identifies the "innermost" SD edges for each chip and plots them on the
graph. Bob's original code used these inner edges to calculate
the SD: although code to do this is there, it is commented out for now.
- sctdaq/macros/ST.cpp
- Modified to save hits per link histograms if they have been filled.
- At idle, use DCSAction instead of DCSQuery (such that temperature trip
is applied)
- Add VDCDAC scan to ABCD tests menu - but only when endcap devices
have been declared in the sysmap.
- sctdaq/macros/Timewalk.cpp
- Bugfix - previous version left invalid trigger configuration if
module 0 not present
- Add "online" option as argument to wrapper (supress plots during replay)
- sctdaq/macros/ToolBox.cpp
- Add ReadMask to read in most recent "-1" mask data, (Note: this
behaviour is different from that of the version published by Peter Kodys,
which reads the mask file from the config directory. I felt that
perusal of the results directory was more suited to offline use of
the macro during the reanalysis of existing data.)
- sctdaq/macros/TrimRangePlot.cpp
- Changes to reduce the number of false positive TR_RANGE defects.
See file for details.
- Changes to the PASS/FAIL and PROBLEM cuts, better aligned to
the use of 1 bad channel chips. PROBLEM is reported if any channels
have been masked. FAIL is set if a module has more than 7
consecutive masked channels or more than a total of 15 masked channels.
(In the original implementation, FAIL was set if a single channel
could not be trimmed, other defects such as NOISY not being taken
into consideration.)
- Now that noisy channels are masked by the 3PG analysis, I have
commented out the code that used to do that here. (Since the trim
macro has no knowledge of the gain, it could confuse high gain
channels with the noisy guys....)
- Two stage calculation of mean and rms of offset and step.
Outlyers now excluded from the calculation - makes defect
identification more accurate. Also the rms and mean values
now give a more accurate reflection of the performance of the
trimmed channels, since the untrimmable channels are excluded
from the calculation. (Code based on work by Carlos.)
- Bugfix regarding handling of data from STUCKCELL modules
(or, more accurately, datasets where the vt50 histogram
contains unphysical entries with large negative numbers...)
- Bugfix: protection against divide by zero error in calculate_mean_rms.
(Xrms can be zero on the second iteration if a chip is dead!)
- Bugfix: use local array for p1 on entry to calculate_mean_rms.
This allows p1 to be set -ve to exclude a known untrimmable channel
from the calculations for a single trim range without affecting
the trim optimisation for trim range -1. (This bug, left untreated,
could lead to channels being erroneously masked at the end of
the test sequence.)
- sctdaq/stdll/Makedict.bat
- sctdaq/stdll/makefile
- Add TLogger (thanks, Carlos!)
- sctdaq/stdll/TModule.cpp
- Low Icc and/or Idd values (indicative of ABCD chips which
are not clocked and/or configured) are now shown in magenta
- sctdaq/stdll/TModule.cpp sctdaq/stdll/TModule.h
- Show currents in black when a module has been suspended
- Modified to book and fill hits per link histograms, after work
at LBL by Robert Ely and Allen Haim. I have rewritten their code
such that no changes were needed within TST.cpp, this means that the
hits per link histogram will now be filled for all burst types which
use software histogramming.
- Changes to the implementation of the "hits_per_link" histograms.
In the original implementation, a static array was used to compile
the histogram, the ROOT histogram being filled upon completion
of the scan. This implementation caused malloc problems under Linux.
The relevant static arrays have been deleted and the ROOT histograms
are now filled directly. (Thanks to Carlos for reporting this problem!)
- Masked channels are now excluded from AUTOSTOP calculations.
On the assumption that the 3PG test sets the mask bit for STUCKCELL
channels, they will no longer break the AUTOSTOP calculations with
the consequential increase in the time taken to test a hybrid/module.
- Channels which are masked are now skipped by the TModule::FitScan method.
Hence channels with unmaskable occupancy will no longer affect the mean (chip)
Vt50 calculation.
- sctdaq/stdll/TModuleDCS.cpp
- bugfix re. suspended modules (need only suspend once!)
- bugfix - SetLog method was missing
- bugfix - show correct value of VDD_OUT
- Make default values of T1, T2_minimum -128 to disable low T trip
- sctdaq/stdll/TST.cpp sctdaq/stdll/TST.h
- Add LogEvent method (used to log events from interpreted tests)
- Revise calls to ExecuteSCConfigs()
- "burst_max_timeouts" is now declared as public instead of private.
This means that the number of timeouts may be reduced if required
to speed up a scan that will be prone to such failures, for example
a scan of AERO thresholds (VDCDAC). "Burst_max_timeouts" has also
been added to SaveState and RestoreState, so the original value
may be recovered after a scan has completed.
- Trivial, unimportant optimisation - use a known value for the
number of active channels during AUTOSTOP calculations as part of
the NO test. Probably faster than working it out again each time.
- bugfix re. masked channels and AUTOSTOP
(recalculate number of enabled channels at start of each scan)
- sctdaq/stlib/st_config.c
- Additions to look for station specific default file (as requested by
NIKHEF). Priority now:
1) Module specific file
2) Station specific default file
3) Generic default file
- sctdaq/stlib/stlib.c
- Reorder startup sequence such that AERO is configured before LV power is
applied (ensure clock or BPM signal present before power on)
- Revise delays in st_execute_sc_configs: external delays are no longer needed
Added Files:
- sctdaq/macros/NoLBL.cpp
- Version of NoPlot.cpp to include LBL's hits per link test. Will run
DecodedVBurst if CLOAC present, DecodedBurst if CLOAC missing.
- sctdaq/macros/NoPlotLBL.cpp
- LBL's version of NoPlot.cpp, unchanged from a version supplied
by Allen Haim on 19th August 2003. (May be some memory leaks.)
- sctdaq/macros/ReceptionTest.cpp
- Prototype Test Sequence for use at Macroassembly sites
(based on requirements of Oxford)
- sctdaq/macros/STIV.cpp
- Start ROOT with the argument "STIV.cpp" to run an IV curve
without further intervention.
- sctdaq/macros/StrobeDelayPlot_old.cpp
- sctdaq/macros/VDCDACPlot.cpp sctdaq/macros/VDCDACScan.cpp
- Macros for setting up AERO thresholds. Contributed by Scott Lindsay.
Minor revisions by PWP.
- sctdaq/sctlv/lv_watchdog.c lv_watchdog.dsp lv_watchdog.dsw
- New "watchdog" application for users of SCTLV3. Designed to
run in the background, this simple app will turn off the power
if things get too hot. (This is in addition to the
overtemperature trip code now implemented in TModuleDCS.cpp.)
- sctdaq/stdll/TLogger.cpp sctdaq/stdll/TLogger.h
- New class implementing event logging to the text file strunXXX.log.
A useful aid to the understanding of LV trips etc.
|
PWP:2003-06-10 Version 3.40 Release Notes
|
Additions/fixes/improvements:
- sctdaq/config/default_cold.det default_warm.det
- For EndCap tests using AERO, example detector configuration
files for use warm and cold. These may need to be adjusted to
run reliably with other test systems. See EndCapHLTT for an example
showing how one may run an automated test sequence at warm and cold
temperatures.
- sctdaq/macros/AutoChar.cpp AutoConf.cpp
- Simple examples of macros to run a test sequence, archive
the data and trun off the power.
- sctdaq/macros/EndCapHLTT.cpp
- Slightly revised timing
- Option to use different default detector configurations
(warm and cold)
- sctdaq/macros/FullBypassTest.cpp
- Automatically select 62 configurations if Endcap devices have been
declared in the sysmap
- Option to use AERO mode 2 for this test only (off by default)
- When use of AERO mode 2 is selected, the stream delay is changed
to suit. (NB. The temporary value of stream delay is hardcoded in
the macro and may require user adjustment to make it work.)
- sctdaq/macros/HardReset.cpp
- sctdaq/macros/LTPostRadTest.cpp
- sctdaq/macros/NoScurves.cpp
- sctdaq/macros/StrobeSpeed.cpp
- sctdaq/macros/T7IccVsFEScan.cpp
- sctdaq/macros/T7RadContTest.cpp
- sctdaq/macros/TLTT.h
- sctdaq/macros/ToolBox.cpp
- Increase size of filename arrays to 128 chars (from 64)
- sctdaq/macros/IVCurve.cpp
- If mean T1 across all present modules is less than 10C, the current
limits are reduced. By default, the "cold" warn and trip limits are
set to hardcoded values of 1and 2 microA respectively. Code is
also provided to scale the limits properly according to the measured
temperature - however this is presently commented out. (The "warm"
warn and trip limits are presently 5 and 10 microA respectively.)
- sctdaq/macros/ResponseCurvePlot.cpp
- Bugfix re. leaving (n-1) PS files open when testing n modules
- Any CH_OVER channels listed as DB COMMENTS.
- Main defect loops changed to be robust against CH_OVER channels
- CH_INEFF channels were only listed as defects for RC test (ie not 3PG),
except for the last channel of a link. Fixed.
- CH_INEFF were always included in the defect tally. Now included
for RC test only.
- sctdaq/macros/parameters.h
- sctdaq/macros/TLTT.cpp, sctdaq/macros/TLTT.h
- PS filename and corresponding web link now include host name
- label all LTT output filenames with start_scan
- close stop window if test ends due to alarm condition
- fix s/n labels on postscript window to allow non-consecutive module numbers
- sctdaq/SCTLV/lvtest.c
- Add new option for "Power Cycle Test" - switches card on
and off 100 times, or until fails to start.
- sctdaq/SCTLV/sctlv_lib.c
- Add propogation of rd/wt flag timeout error codes to
sctlv_set_power and subroutines thereof
- Add the corresponding error codes to sctlv_print_error
- sctdaq/stdll/TModuleDCS.cpp
- Print method now selects which parameters should be shown
according to the connected hardware (SCTLV2 or SCTLV3). In each
case, all relevant parameters are shown (inc Vpin, Ipin in case of LV3).
- sctdaq/stdll/TModuleDCS.h
- Add vcc_out and vdd_out
- Increment class version number
- sctdaq/stdll/TModuleDefine.h
- remove CH_OVER from BAD_TEST (such that CH_OVER channels are fitted)
- sctdaq/stdll/TST.cpp sctdaq/stdll/TST.h
- Three new methods: GetNBarrels, GetNEndcaps, GetNUnkown
- sctdaq/stdll/stdll_cint.cpp sctdaq/stdll/stdll_cint.h
- Rebuilt following changes
- sctdaq/stlib/sct_scans.h
- Declare ST_MON_VCCOUT and ST_MON_VDD_OUT
- sctdaq/stlib/st_config.c sctdaq/stlib/st_config.h
- Three new functions: st_n_barrels, st_n_endcaps, st_n_unknown.
They return the corresponding number of devices of that type
that have been declared in the sysmap
- sctdaq/stlib/stlib.c
- Add support for vcc_out and vdd_out in st_retrieve variable
- Trivial bugfix to st_execute_sc_configs regarding subsequent
reloading of SLOG with selected trigger pattern
- make HV ramp loop robust against "timeouts" (prevents the
software getting stuck in a loop in the event of HV card failure)
|
PWP:2003-05-07 Version 3.39 Release Notes
|
Additions/fixes/improvements:
- sctdaq/macros/FullBypassAnalysis.cpp
- Shorten comment "Failing Maximal tested Vdd" to "Fail max tested
Vdd" (the original comment was too long for SCTDB 20 char limit)
- sctdaq/macros/IVCurve.cpp
- Changes following identification of inconsistencies with
regard to the implementation of SCTDB result files:
- Record current as 99999999 if warning level exceeded at
an earlier data point (and hence voltage frozen)
- Record 99999999 instead of -1 if 150V or 350V not tested
due to STOP or ABORT
- Add DB comment if test aborted by user
- Extra menu option (0 to 10V) for diagnostic tests
- sctdaq/macros/parameters.h
- Raise version number to 3.39
- sctdaq/macros/ST.cpp
- Call e->UseAero at system startup to enable configuration of AERO.
(This will not interfere with other readout options as long as
SCTLV is in use: the AERO configuration packet is followed by
HARD RESET. Users of other power supply systems should comment
this line out.)
- sctdaq/SLOG/slog_lib.c
- Modify slog_init as follows:
External commands are enabled if CLOAC present.
External commands are disabled if CLOAC is missing.
(Fixes hang of AERO due to burst of logic 1 at system startup
when running without CLOAC due to transmission of "missing"
external command input)
- sctdaq/stdll/TModule.cpp
- Trivial bugfix re. minimum Icc or Idd current shown on scan canvas
(relevant only where the minimum Icc or Idd during a scan exceeds 1000mA)
- sctdaq/stdll/TST.cpp sctdaq/stdll/TST.h
- Add method TST::UseAero() to set do_aero flag to 1
- Raise version number to 3.39
- sctdaq/stlib/stlib.c sctdaq/stlib/stlib.h
- Modify st_startup to configure AERO if do_aero = 1 (default = 0)
- Add function st_set_aero to modify value of do_aero flag
|
BJG/PWP:2003-03-19 Version 3.38 Release Notes
|
Additions/fixes/improvements:
- sctdaq/analysis/fC2mV.cpp stan_fitrc.cpp stan_util.cpp
- new expression for "Grillo" function in y after Sandra Muijs
- sctdaq/analysis/mv2fC.cpp
- added expression for "Grillo" function in x after Bill Murray
- sctdaq/macros/NoPlot.cpp
- Cosmetic fixes
- Increase size of h_name array to avoid bound overflow
- Added expression for "Grillo" function in x after Bill Murray
- Fixed expression for polynomial in x
- Removed redundant code
- sctdaq/macros/ResponseCurvePlot.cpp
- Replace INEFFICIENT defect by INEFF to match SCT DB
- Trivial bugfix contributed by Dave Robinson
- Mask HIGH OFFSET channels after 3PG tests. Just like "STUCK"
channels, this type of defect drives the trimming towards the
high end of the tested range. In turn this makes all channels
susceptible to artefacts (such as increased noise) due to the
saturation of the threshold DAC at high values, notably at low
temperatures. In short, they cause more trouble that they are
worth, so let's just mask them. This is probably the correct
action to deal with "one bad channel" chips, but this decision
will be reviewed in the near future.
- New expression for "Grillo" function in y after Sandra Muijs.
- New code to indetify and mask channels with VERY low gain (CH_VLO_GAIN).
The cut is at 0.3* chip_mean_gain, so all channels masked by this cut
would be essentially of no use in ATLAS. Such channels are still listed
as LO_GAIN in the SCTDB but will be masked off at end of 3PG test to
speed testing. DB comments are always generated when channels are
masked by the 3PG anlaysis.
- Also mask DEAD channels (as distinct from ones with very low gain)
- sctdaq/macros/ST.cpp
- Fixes regarding st_dcs_log and st_dcs_display
(update DCS info for all modules, not just those on display)
- sctdaq/macros/TLTT.cpp
- call st_stop_stopper if exiting due to alarm
- Print module names in the event of error conditions
- Attempt to resynchronise comms before exiting due to current
alarm (last ditch recovery from communication errors)
- Revised to better match the needs of the endcap community. Alarm
temperatures and currents are now supplied as arguments to LTT methods,
to facilitate testing at a variety of different temperatures. I also
took the opportunity to tidy up the code, removing redundant sections.
- Adjust the length of the last big_loop such that the test
duration will be correct.
- sctdaq/macros/TLTT.h
- Change type of total_length from Int_t to Long_t.
- sctdaq/macros/CharacterisationTest.cpp
- return int representing duration of test (in seconds)
- sctdaq/macros/HybridColdTest.cpp
- Now uses TLTT::HybridLTT instead of the removed TLTT::HybridColdTest
- sctdaq/macros/parameters.h
- New #define statement (CH_VLO_GAIN)
- sctdaq/macros/RedundancyTest.cpp
- The test is now skipped if SELECT==1 for each device under test
(consistent with readout of endcap hybrids/modules without opto)
- sctdaq/macros/DBUpload_Barrel_Hybrid.cpp
- Contibuted by Dave Robinson
- sctdaq/macros/EndCapHLTT.cpp
- "All-in-one" macro for warm and cold tests of endcap hybrids
- Trim and mask files are copied across beofre the main LTT segment
- sctdaq/macros/Toolbox.cpp
- New routines to facilitate the copying and/or deletion of trim and/or
mask files to/from the config directory.
- sctdaq/macros/systest/ScurveFit.cpp
- New expression for "Grillo" function in y after Sandra Muijs
- sctdaq/scthv/scthv_lib.c scthv_lib.h
- add st_badvolts as sanity check on voltage setting
- add st_badamps as sanity check on current measurement
- Adjusted timeout settings and debug statements
- Handle monitor timeouts internally
- sctdaq/stdll/functions.cpp
- new expression for "Grillo" function in y after Sandra Muijs
- sctdaq/stlib/stlib.c
- Check for badvolts during HV ramping
- scthv monitor timeouts are now handled internally by hv library
- new expression for "Grillo" function in y after Sandra Muijs
- added expression for "Grillo" function in x after Bill Murray
- added expression for exp function in x
- fixed expression for polynomial in x
- sctdaq/stlib/st_config.c st_config.h
Additions to support use in "enter serial numbers at prompt mode"
- serial number validity checking (length and "2022")
- long and short endcap middle modules
|
BJG/PWP:2003-02-10 Version 3.36 Release Notes
|
Additions/fixes/improvements:
- sctdaq/macros/IVCurve.cpp
- Modify "IV_LIMIT" state to be a SW trip state
(HV will be set to 2V if 10microA current limit exceeded)
- Also add diagnostic ramp, up to 50V in 5V steps
- sctdaq/macros/IVLTT.cpp
- Generate dummy scan data (strun.root) file before starting test
(needed to provide tags for DB output file)
- sctdaq/macros/NO.cpp
- For users without CLOAC, use new burst type NSEBURST2 (17)
to give faster NO measurements
- sctdaq/macros/parameters.h
- #define CH_BADTEST (OR of all defined channel defects)
- #define CH_MASKTEST (= low gain AND high noise)
- Raise version number to 3.36
- sctdaq/macros/ResponseCurvePlot.cpp
- Important bugfix re. DB defect listing for hybrids:
DEAD or LOWGAIN/normal noise channels were not listed as defects
by previous versions (module tests unaffected by this)
- Mask channels having BOTH low gain AND high noise
- sctdaq/macros/ST.cpp
- Adjustments for new burst type NSEBURST2 (see above)
- sctdaq/macros/TLTT.cpp TLTT.h
- Re-read currents before exiting due to HV overcurrent alarm
(provides some resilience against "one-off" bad readings)
- sctdaq/stdll/TModule.cpp
- Fix autostop for scans of ST_TTHR (threshold wrt trim target)
- sctdaq/stdll/TST.cpp TST.h
- New burst type NSEBURST2 (see above)
- sctdaq/scthv/scthv_lib.c
- Handle "corrupt monitored volts" within scthv_monitor()
- Include safety timings within scthv_repeat_request()
- Replace delay loop with timing based on usleep
- For windows, include implementation of usleep as static function
- sctdaq/scthv/scthv_lib.h
- Adjust values used to identify "stuck" condition
- sctdaq/stlib/st_config.c
- Trivial bugfix to st_write_config_xml re. months
- Also now write trim target to xml config file
- sctdaq/stlib/stlib.c
- Adjustments to accomodate revised SCTHV library, notably
the removal of safety delays now moved to the lower level.
|
BJG/PWP:2003-01-21 Version 3.34 Release Notes
|
Additions/fixes/improvements:
- sctdaq/macros/ConfirmationTest.cpp
- sctdaq/macros/parameters.h
- Raise version number to 3.34
- sctdaq/macros/ResponseCurvePlot.cpp
- Three small bugfixes
- List INEFFICIENT channels only for the ResponseCurveTest.
(The 3PG test may be run untrimmed, in which case channels
may have less than 100% efficiency due to large discriminator
offsets. Such channels, if trimmable, do not have permanently
reduced efficieny and hence should not be listed as defects.)
- sctdaq/macros/StrobeDelay.cpp
- Comment out MAX_MODULES (clashes with parameters.h)
- Change type of some variables from Int_t to Float_t to avoid type conversions
- sctdaq/macros/StrobeDelayPlot.cpp
- Move declaration of TPad* inside if(StrobeDelay)
- sctdaq/macros/LTPostRadTest.cpp T7RadContTest.cpp systest/Accumbursts.cpp systest/idetmon.cpp
- Use of long(gSystem->Now()) was not reliable in interpreted code.
Now use e->Now() instead (returns type long).
- TLTT.cpp TLTT.h
- Use of long(gSystem->Now()) was not reliable in interpreted code.
Now use e->Now() instead (returns type long).
- Added code such that the Burst Canvas DCS panel will be updated every
10 seconds during idle periods.
- sctdaq/stdll/TST.cpp TST.h stdll_cint.cpp stdll_cint.h
- Added method Long_t TST::Now() as wrapper to gSystem->Now()
|
BJG/PWP:2003-01-14 Version 3.33 Release Notes
|
Additions/fixes/improvements:
- sctdaq/macros/FullBypassAnalysis.cpp
- Changes with regard to PASS/FAIL status and defect identification:
- set PASS if works at 4.0V
- set PROBLEM if fails at any tested voltage
- record DEFECT for any token link failing at any voltage
- record COMMENT for each DEFECT EITHER giving the minimum
Vdd needed for that link to work OR giving a message that the
link fails at all tested Vdd
- sctdaq/macros/HybridColdTest.cpp sctdaq/macros/HybridLTT.cpp
sctdaq/macros/IVLTT.cpp sctdaq/macros/ModuleLTT.cpp
- As appropriate, the characterisation sequence is now called and
the power is turned off from each of these macros, rather than TLTT.
- sctdaq/macros/IVCurve.cpp
- sctdaq/macros/No.cpp
- New version to adjust the scanned range of each module to take into
account trim differnces by means of the target used during trimming.
(The line to run the new version of the test is there, but it is
presently commented out.)
- sctdaq/macros/NoPlot.cpp
- TAxis* axis was declared twice.
- if scanned range minimum is less than -10, new algorithm is assumed
in which case markers are adjusted to add on the trim target
(NB. graphs will still be labelled with negative numbers)
- sctdaq/macros/parameters.h
- Raise version number to 3.33
- Add MAX_BADSTRIPS and MAX_CONSECUTIVE_BADSTRIPS
- sctdaq/macros/ResponseCurvePlot.cpp
Set FAIL if:
- any chip DEAD, STUCK, INEFFICIENT, LOW GAIN or HIGH GAIN
- more than MAX_BADSTRIPS (15) bad strips
- more than MAX_CONSECUTIVE_BADSTRIPS (8) consecutive bad strips
In each case, an appropriate DB comment is added to the results file.
The bad channel identification and counting code has also been generally tidied up.
- sctdaq/macros/systest/sleep.cpp
- rewritten to use TSystem::Sleep() instead of TStopwatch::GetRealTime()
(ROOT 3.03 compatibility fix)
- sctdaq/macros/LTPostRadTest.cpp T7RadContTest.cpp
sctdaq/macros/systest/AccumBursts.cpp idetmon.cpp
- rewritten to use TSystem::Now() instead of TStopwatch::GetRealTime()
(ROOT 3.03 compatibility fix)
- sctdaq/macros/TLTT.cpp
- Set abort flag in event of alarm
- do not run characterisation test at end of sequence
- do not turn off power at end of sequence
- rewritten to use TSystem::Now() instead of TStopwatch::GetRealTime()
(ROOT 3.03 compatibility fix)
- sctdaq/macros/TrimRangePlot.cpp
- set trim range value to SCTDAQ if run online
- record trim target in trim file
- sctdaq/stdll/TModule.cpp
- if all bins have the exact same occupancy, the channel is marked
as STUCK (in addition to STUCK if all bins >98%)
- sctdaq/stlib/abc.h sctdaq/stlib/sct_scans.h
Two new variables:
- ST_TARGET - record of trim target
- ST_TTHR - threshold in mV set wrt trim target
- sctdaq/stlib/st_config.c
- Changes to initialise trim target to zero
- load trim target from trim file
- print trim range and target to screen in st_show_trims
- sctdaq/stlib/stlib.c
- handle ST_TARGET and ST_THR
- sctdaq/stdll/TST.cpp
- Add description of ST_TTHR and default scan
|
BJG/PWP:2002-11-29 Version 3.31 Release Notes
|
This PRODUCTION version is built to work with version 3.02/07
of ROOT (WITHOUT experimental GDK driver). It may also be built
under Linux to run with ROOT version 3.02/07.
Additions/fixes/improvements:
- sctdaq/macros/CharacterisationTest.cpp
- Do replay in BATCH mode - faster, no plots to screen,
avoids memory leaks in TWin32Canvas
- sctdaq/macros/ConfirmationTest.cpp
- Do replay in BATCH mode - faster, no plots to screen,
avoids memory leaks in TWin32Canvas
- Trivial bugfix re. Confirmation replay
- sctdaq/macros/NoPlot.cpp
- If used online, use BATCH mode - avoids memory leaks in
TWin32Canvas. Plots go by so quickly, they cannot be read in any case.
- Make reference to gPad immediately after creation of TCanvas
- improves stability when used offline
- sctdaq/macros/NoScurves.cpp
- Close canvas at end
- Close strun at end
- Memory leak fixes
- sctdaq/macros/IVCurve.cpp
- Display updated DCS information on the burst canvas at each point of the test
- sctdaq/macros/NoPlot.cpp
- Make reference to gPad immediately after creation of TCanvas
- improves stability when used offline
- sctdaq/macros/parameters.h
- Raise version number to 3.31
sctdaq/macros/ResponseCurvePlot.cpp
- Important changes to the bad channel identification code.
- Noisy channels are now identified by the the cut 1.15*(chip mean noise)
- If used online, use BATCH mode - avoids memory leaks in
TWin32Canvas. Plots go by so quickly, they cannot be read in any case.
- Make reference to gPad immediately after creation of TCanvas
- improves stability when used offline
- Code to automatically exclude suspect data due to "8fC effect"
(This option may be disabled by setting range_adjustment=0.)
The fitted range is adjusted to exclude points with charge > 5.0fC
for which the output noise is > 1.5*the mean output noise taken
over all charges. The scans must be supplied in order of
ascending charge, and the first five points are not tested.
If the fitted range is adjusted by the software, a DB comment
is added to the results file.
- sctdaq/macros/TimewalkPlot.cpp
- If used online, use BATCH mode - avoids memory leaks in
TWin32Canvas. Plots go by so quickly, they cannot be read in any case.
- Fix TText memory leak
- sctdaq/macros/TrimRangePlot.cpp
- Important changes to the bad channel identification code.
The new cuts may be disabled by setting new_cuts=0.
- NEW:
- TR_RANGE 0: 1.5 < step < 5.0
- TR_RANGE 1: (1.60 * step0) < step < (2.40 * step0)
- TR_RANGE 2: (2.60 * step0) < step < (3.40 * step0)
- TR_RANGE 3: (3.60 * step0) < step < (4.40 * step0)
- TR_STEP: (0.60 * mean_step) < step < (1.40 * mean_step)
- TR_OFFSET: (mean_offset-4*rms_offset) < offset < (mean_offset+4*rms_offset)
- OLD:
- TR_RANGE 0: 1.5 < step < 5.0
- TR_RANGE 1: 5.0 < step < 8.5
- TR_RANGE 2: 8.5 < step < 12.0
- TR_RANGE 3: 12.0 < step < 15.5
- TR_STEP: (mean_step-4*rms_step) < step < (mean_step+4*rms_step)
- TR_OFFSET: (mean_offset-4*rms_offset) < offset < (mean_offset+4*rms_offset)
- If used online, use BATCH mode - avoids memory leaks in
TWin32Canvas. Plots go by so quickly, they cannot be read in any case.
- sctdaq/stop
- Display SCTDAQ version number (ANALYSIS_VERSION) on the STOP dialog
- sctdaq/stlib/st_config.c
- Trivial bugfix to st_write_module_xml re. date stamp
|
BJG/PWP:2002-11-27 Version 3.30 Release Notes
|
This PRODUCTION version is built to work with version 3.02/07
of ROOT (WITHOUT experimental GDK driver). It may also be built
under Linux to run with ROOT version 3.02/07.
Additions/fixes/improvements:
- makefile.inc
- sctdaq/config/default.det
- Change default HV ramp rate to 2 (from 4)
- sctdaq/config/k4_203.btc
- Example configuration file for beta source tests (Pavel Reznicek)
sctdaq/config/readme.txt
- Add reference to "mymodule.btc" files
sctdaq/config/st_system_config.dat and examples
- Illustrate use of "device_type" field
sctdaq/macros/beta/**ALL**
- Macros for tests with beta source from Pavel Reznicek
sctdaq/macros/systest/**ALL**
- System test updates from Joern (dated 8th July 2002)
sctdaq/macros/CharacterisationTest.cpp ConfirmationTest.cpp
- Generate module configuration record in the new (XML) style
at the end of each test
- Toggle off/on background DCS activity at start/end of test
- (The resumption of background DCS activity is controlled by
an extra argument for compatibility with LTT. A suitable
default is given.)
sctdaq/macros/DBUpload.cpp
- Compatibility fixes to upload data files made by earlier
versions of SCTDAQ
- Replace ModIVScan tag by DetModIV to suit DB upload
- Insert missing dots for ResponseCurve data
- Change all occurences of tab to a space
sctdaq/macros/FullBypassAnalysis.cpp
- Trivial bugfix re. number of configs processed when used
in replay mode.
sctdaq/macros/HardReset.cpp
- Inform user of actual states of M and L multiplexer LEDs
in addition to their decimal equivalent
sctdaq/macros/HybridColdTest.cpp
- New macro for hybrid cold test
sctdaq/macros/ ALL LONG TERM TESTS
- Toggle off/on background DCS monitor at start/end of test.
sctdaq/macros/IVCurve.cpp
- New faster options:
- IV to 500V in 25V steps, 8sec delay, end at 200V (4min 25sec)
- IV to 500V in 25V steps, 4sec delay, end at 200V (3min 05sec)
- IV to 500V in 25V steps, 4sec delay, end at 0V
- cf IV to 500V in 10V steps, 10sec delay, end at 200V (13min 40sec)
(Timings based on ramp rate 2)
- Add stop facility
- DUT and temps on plots
- Add FAST IV curves with lower end points
- Bugfix: now prints axis labels!
- Bugfix: do not list each defect 12 times
- Generate DB comments in the case that a module trips or
reaches the current limit
- Record current as 99999999 if current limit or trip reached
sctdaq/macros/IVLTT.cpp
- new macro for IV only long term tests using SCTHV
sctdaq/macros/NoPlot.cpp
- Regularise PS header (long module names now fit)
- Automatically generate and save NO Scurves
- A weblink to the Scurve plot may be automatically generated
sctdaq/macros/NoScurves.cpp
- New macro for automatic generation of NO Scurves
(both sides in one PS file)
- Uses "MO-S1-S2..." chip names
sctdaq/macros/parameters.h
- Modify getfile path
- Set version 3.30
sctdaq/macros/ResponseCurvePlot.cpp
- Regularise PS header (long module names now fit)
- Important changes to the bad channel identification code.
- The identification of noisy channels is based upon a cut
noise > mean_chip_noise + (3 * rms_chip_noise). However in
previous versions the calculation of the mean and rms values
from which the test was made included only channels upto and
including the channel being tested. This has now been
revised to include all functional channels of the chip.
- Channels with anomalous gain are now identified as follows:
hi_gain channels have gain greater than (1.25 * mean_chip_gain)
and lo_gain channels have gain less than (0.75 * mean_chip_gain).
This is in agreement with the gain cuts used during chip testing.
- Replace "negative gain" comment by "low gain"
- Add new wrapper "No8fCCurvePlot" - response curve ignoring 8fC point
sctdaq/macros/ST.cpp
- Minor enhancement to st_no from Joern
- New methods to start/kill background DCS activity
sctdaq/macros/Toolbox.cpp
sctdaq/macros/TimewalkPlot.cpp
- Regularise PS header (long module names now fit)
- Comment out adjustment of trig delay prior to "calibration" scan
- Bugfix re. return to original strobe delay settings
sctdaq/macros/TrimRange.cpp
- Set charge in fC, not mV (allows use of capacitor correction factor).
- (Also, DB specifcation requires charge to be given in fC.)
sctdaq/macros/TrimRangePlot.cpp
- Bugfix re. pass flags
- Regularise PS header (long module names now fit)
- Bugfix re. generation of final trim settings from the fit data:
integer representation of trim target (with associated
rounding errors) replaced by float type
sctdaq/macros/TLTT.cpp and TLTT.h
- Modified to support IV only long term tests using SCTHV
- Modifed to support hybrid cold test
- Bugfixes re. DB upload
- Tidy up alarms, more robust file output
sctdaq/macros/TModule.cpp
- New destructor - deletes histogram objects etc.
- In the DCSBurst pave text, certain parameters are now
shown in RED if their values exceed programmed limits,
eg. icc>icc_lim, idd>idd_lim etc.
- nHVTrips and nLVTrips are shown in red if the relevant
harware is in the tripped state.
sctdaq/SLOG/slog_test.c
- Extra option to dump contents of SLOG memory to screen
sctdaq/stdll/TST.cpp
- Initialise TModule* array to zero
- Call destructor at startup if TModule* array contents not zero
- Create MuSTARD counter hists once only
- Add WriteXMLConfigs - generate detector config info in XML format
- Add developmental new burst routine, SBurst: periodic triggers using SLOG
sctdaq/stdll/TST.h
- Add WriteRODConfigs - generate detector config info in new format
sctdaq/stlib/abc.c sctdaq/stlib/abc.h
- Permit PARANOID chips (=LONELY and DEAD) (!!)
sctdaq/stlib/sct_hardware.h
sctdaq/stlib/st_config.c sctdaq/stlib/st_config.h
- Add st_write_module_xml - generate detector config info in XML format
- Bugfixes to st_write_module2 contributed by JCH
sctdaq/scthv/scthv_lib.c
- Initialise variable to avoid compiler warning
|
BJG/PWP:2002-06-05 Version 3.20 Release Notes
|
This DEVELOPMENT version is built to work with version 3.02/07
of ROOT (WITHOUT experimental GDK driver). It may also be built
under Linux to run with ROOT version 3.02/07.
Additions/fixes/improvements:
- sctdaq/analysis/stan_scurves.cpp and stan_all_scurves.cpp
- these now know about command delay scans. Also bugfixes re. generation
of PS files
- sctdaq/macros/FullBypassTest.cpp
- In manual mode, pause to allow user to return Vdd to the original value.
- sctdaq/macros/IVCurve.cpp
- Fails when there's an IV_TRIP defect
- sctdaq/macros/NOPlot.cpp
- now uses each chip's own trim target when evaluating the noise occupancy
at 1fC - gives limited compatibility with "chip by chip" trim method
- sctdaq/macros/PipelineAnalysis.cpp
- records the indices of stuck or dead cells, prefaced by the "#"
character so as not to interfere with DB compatibility
- sctdaq/macros/ST.cpp
- The DCS shown in the burst panel are now updated every 10 seconds whilst
the system is idle (sitting at the command prompt). To change this
interval (in seconds) use the command "gROOT->Idle(30, "st_idle();");".
The values are also updated after actions commanded from the menu bar
which might be expected to vary the current drawn by a module,
such as HardReset, ExecuteConfigs, LVOff...
- sctdaq/macros/TLTT.cpp
- do not switch off power at end of LTT
extra figures of significance in log of detector leakage current
First working version to monitor noise occupancy:
will record one burst for each call to MakeMonitoringMeasurements
(except for the first call). TODO - save data to TTree
- sctdaq/macros/ThreePointGain.cpp
- upload RC fit if run on line
- sctdaq/macros/TrimRangePlot.cpp
- Reworked to use OpenResults from Toolbox.cpp. List untrimmable
channels as defects.
- sctdaq/macros (general)
- Apply memory leak fixes to other macros. Use compiler to pick up on
idiosyncrasies allowed by CInt. Some of those involving different
scoping rules have been left as they require larger changes. All
macros in this folder that generate PS files not show the device
type on the plots.
- sctdaq/stdll/TModule.cpp
- "microA" replaced by #muA
- sctdaq/stdll/TModuleDCS.cpp
- Initialise DCS values, when no module attached.
- sctdaq/stlib/stlib.c
- bugfix in st_slog_single - makes LTT work for users without CLOAC
- sctdaq/stdll, sctdaq/stlib
- merge in additions from the systemtest to COMPILED CODE ONLY
- sctdaq/stop
- New version of STOP for windows, should fix "uncommanded stop" problems.
Also version of STOP for Linux, GNUStop, by Carlos Lacasta.
- sctdaq (general)
- Add Makefiles to compile NIVXI under linux. Change handling of
paths to place file seperators at end of defined paths to facilitate
operation under either platform. Also code for partial port to Linux
with BIT3 interface by Carlos Lacasta (not tested with CLOAC). UNIX
scripts to replace windows START and KILL also contributed by Carlos.
|
PWP:2002-04-08 Version 3.14 Release Notes
|
Additions/fixes/improvements:
- sctdaq/www/release_notes.html
- Add list of tagged versions with instructions for retrieval.
(A version is tagged by "cvs tag -R VERSION_3_14")
- sctdaq/macros/IVCurve.cpp
sctdaq/macros/NoPlot.cpp
- extend f_name char array to 128 elements - support long WEB_KEY entries
- sctdaq/macros/TLTT.cpp
sctdaq/macros/TLTT.h
- additions from Bruce
- sctdaq/scthv/scthv_lib.c
- emergency (trivial) bugfix, previous version did not read monitored
data correctly if more than one channel was in use...
- cloac_menu.c
- comment out #define CLOAC_DEBUG
- ST.cpp
- increase precision to which certain DCS parameters are recorded
- sctdaq/KwikFit/KwikFit.dsp
sctdaq/KwikFit/KwikFit_cint.cpp
sctdaq/KwikFit/KwikFit_cint.h
sctdaq/KwikFit/TKwikFit.cpp
sctdaq/KwikFit/TKwikFit.h
sctdaq/stdll/TModule.cpp
sctdaq/stdll/TModule.h
sctdaq/stdll/stdll_cint.cpp
sctdaq/stdll/stdll_cint.h
- These now include an optional maximum likelhood fit algorithm based
loosely on work done by Simon Peeters at NIKHEF. This is slightly
faster than the chisq method and gives marginally more accurate
results, however the chisq default is still the default. The new fit
method can be enabled by setting the switch "likelihood" equal to one.
For both fit methods there is now an option to fit the function to
the full dataset of each channel, or to trim the fitted range to
include only one point at 0% occupancy and one point at 100% occupancy.
This is controlled by the switch "use_range", the default setting of 1
matching the behaviour of previous versions.
The chisq calculation performed after fitting now uses binomial
errors calculated from the fit, to give a more accurate result.
Simon's suggested "figure of merit #2" has also been implemented,
so there are now two measures of scurve integrity. Finally, the
fitting has been revised to handle normalised fit data resulting
from noise occupancy scans.
- sctdaq/stdll/functions.h
- remove unecessary blank lines caused by UNIX-NT file exchange
- sctdaq/macros/TestFit.cpp
- New macro developed to test the new fit routine. KwikFit is called
to fit simulated (perfect) scurve data.
- sctdaq/macros/TestFitData.cpp
- New macro deleloped to test the new fit routine. KwikFit is called
to fit real scurve data from SCTDAQ. For the first eight channels
the scurve data and fit are plotted together.
- sctdaq/www/faq.html
- New list containing answers to frequently asked questions. There's
not much there yet, but the list will grow.
- sctdaq/www/release_notes.html
sctdaq/www/menus.html
sctdaq/sctdaq.html
- Changes to documentation to reflect recent software revisions.
- sctdaq/macros/parameters.h
- elevate analysis version number to 3.14
- sctdaq/macros/ST.cpp
- save chisq and fom histograms in ROOT (strun) file
- sctdaq/macros/Timewalk.cpp
- reset strobe delay and trig delay values after the test
- sctdaq/stdll/TST.cpp
- minro change to printf statement in RecoverTrips
- sctdaq/macros/NoPlot.cpp
- use each chips's own trim target when estimating noise occupancy at 1fC.
This makes the analysis largely compatible with "chip by chip" trimming.
- sctdaq/analysis/stan_scurves.cpp
sctdaq/analysis/stan_all_scurves.cpp
- these macros now know about command delay scans
- sctdaq/macros/PipelineAnalysis.cpp
- record which cells are stuck or dead in the results file, whilst not
interfering with DB compatibility (prefaced by # character)
- sctdaq/macros/TrimRangePlot.cpp
- remove superfluous "\n" from fprintf statement re. DB files
- sctdaq/macros/TLTT.cpp
- leave LV power on at end after testing modules
|
PWP:2002-03-21 Version 3.13 Release Notes
|
Additions/fixes/improvements:
- sctdaq/macros/IVCurve.cpp
sctdaq/macros/NoPlot.cpp
sctdaq/macros/ResponseCurvePlot.cpp
sctdaq/macros/TimewalkPlot.cpp
sctdaq/macros/TrimRangePlot.cpp
- add leading zero to timestamp in ps filename (_93045.ps => _093045.ps)
- add (optional) Web link, pointing to the PS file, to the results file.
- sctdaq/macros/StreamDelayPlot.cpp
sctdaq/macros/StrobeDelayPlot.cpp
sctdaq/macros/T7IccVsFEScan.cpp
sctdaq/macros/TimewalkPlot.cpp
sctdaq/macros/TrimScanPlot.cpp
- add leading zero to timestamp in ps filename (_93045.ps => _093045.ps)
- sctdaq/macros/ToolBox.cpp
- new functions: ListComment, ListTestImage, ListWebLink
- sctdaq/macros/parameters.h
- Add documentation describing use of #define Web_Key to denote
the first part of the path used in the DB Web link entries
- sctdaq/macros/ST.cpp
sctdaq/macros/HardReset.cpp
sctdaq/macros/IVCurve.cpp
- No longer use NT USERNAME for user identity at DB upload.
Now use environment variable SCTDB_USER. If this does not exist,
the user is prompted to enter their identity at startup - and
reminded that they can avoid this step by setting up an appropriate
environment variable!
- sctdaq/cloac/cloac_menu.c
sctdaq/cloac/cloac_menu.h
sctdaq/macros/cc_menu.cpp
sctdaq/stdll/TCloac.c
sctdaq/stdll/TCloac.h
- New functionality from Gareth to support CLOAC's trigger window functions
- sctdaq/stdll/TModule.cpp
sctdaq/stdll/TST.cpp
- Misc. fixes re. overflows and wraparounds following studies of
anomalous channels on endcap module k5_301. VBurst, DecodedVBurst
and DecodedBurst used in noise occupancy mode were not previously
as robust as I had thought!
- sctdaq/macros/ST.cpp
sctdaq/stdll/TModule.cpp
sctdaq/stdll/TModule.h
- add TPaveText at right hand side of each module's burst and scan hists
- display the present DCS values on the burst canvas
- display the max and min values obtained during the scan on the scan canvas
- comment out the DCS canvas
- sctdaq/macros/IVCurve.cpp
- add new option, FAST iv to 500V then down to zero
- Add time stamp to iv .txt file, to prevent IV curve data being
overwriten in the event that the IV curve is recorded twice in one day
- print current at 500V to results file - after "#" character -
to make this infomation obvious to casual readers (and
PERL scripts!!) whilst retaining DB compatibility
- sctdaq/macros/IVCurve.cpp and example detector configuration file
- Change default detector test voltage to 200V
- sctdaq/stlib/abc.h sctdaq/stlib/st_config.c sctdaq/stlib/stlib.c
- Add support for use of capacitor correction factors
- sctdaq/macros/TrimRangePlot.cpp
- bugfix from Bruce
- sctdaq/macros/Scan2Text.cpp
- trivial bugfix. Previously the data for link0 was output twice...
- project files
- change to excluded default libraries. Prevents compiler warnings.
- revisions to documentation
|
PWP:2002-02-12 Version 3.12 Release Notes
|
This DEVELOPMENT version was the first built to work with version
3.02/07 of ROOT (WITHOUT experimental GDK driver).
This version was found to be reasonably stable for users of both
Windows NT and Windows 2000 operating systems.
Additions/fixes/improvements:
- Revised SCTHV library
- 1) impose minimum 1 second interval between commands
- 2) detect "silly" monitored voltage/current values
- 3) detect "stuck" monitored current values (steady over 5 minutes)
- 4) resend ramp command in response to conditions 2,3
- sctdaq/macros/IVCurve.cpp
- add new option, FAST to 500V (20V steps)
- sctdaq/macros/NoPlot.cpp
sctdaq/macros/ResponseCurvePlot.cpp
sctdaq/macros/TimewalkPlot.cpp
sctdaq/macros/ToolBox.cpp
sctdaq/macros/StrobeDelayPlot.cpp
- memory leak and/or bug fixes
- sctdaq/macros/TLTT.cpp
- add alarm (shutdown) condition for HV trip; corrections from Bruce
- sctdaq/macros/TrimRangePlot.cpp
- fix bug wrt DUT field; increase step and offset cuts to 4 sigma;
bugfix re. defect identification; memory leak fixes;
- sctdaq/macros/parameters.h
- elevate analysis version number to 3.12
- sctdaq/macros/Scan2Text.cpp
- new macro to convert scan histogram to spreadsheet friendly ascii
- sctdaq/stdll/stdll.dsp - now suited to ROOT3
- sctdaq/stdll/stdll_root2.dsp - version for ROOT2
- revisions to documentation
|
PWP:2002-01-18 Version 3.11 Release Notes
|
This DEVELOPMENT version is built to work with the current production
version of ROOT, version 3.02/07 (WITHOUT experimental GDK driver).
After an extensive period of testing, involving fixes to several
memory leaks which had crept into stdll and the test macros,
this version appears to be stable. We aim to elevate this version,
or a development of it, to PRODUCTION status in the near future -
so we would appreciate user feedback now. This is particularly
relevant to those users of Microsoft Windows 2000 who have
reported stability problems with recent versions of the code.
Additions/fixes/improvements:
- Test macros revised to give output in accordance
with Electrical Test Specifications version 3.11
- Preliminary versions of the hybrid and module long term tests have now
been included. Work continues in this area (Bruce Gallop) and a fully
featured version will follow shortly.
- A very preliminary version of a macro suited to DB upload has been
included. So far it just splits the results file up into the component
files needed for DB upload, but it is foreseen to call the JAVA upload
application when it is ready.
- For use during production testing, SCTDAQ has been modified to pick up
the default module configuration file (default.det) in the case where
a file specific to the module under test (eg.20220170100000.det) does
not exist. This should help avoid multiple copies of essentially
identical files. (Note that behaviour can simply be defeated if the
file "default.det" does not exist in sctvar/config!)
- A further possibility is to specify the default detector configuration
file in the system configuration file, in which case the user will be
prompted to enter (scan) the serial number (barcode) of the module being
tested.
- A field has been added to specify the type of hybrid or module being
tested, eg. "Barrel_Module", "Forward_Middle"...
- LOCATION_NAME now defined in parameters.h
- Fixes to memory leaks in ST.cpp, TModule.cpp and TModuleDCS.cpp
- Revised handling of #include statements in macros - do not process the
command if the symbols already exist - seems to have improved stability
- A number of symbols have been redefined to avoid clashes between macros
- The sctvar/config directory has been cleared out. New examples of
detector configuration files have been added in an updated (but compatible)
format.
|
PWP:2001-08-31 Release Notes
|
This is a major release with many new features in addition to the
usual cluster of bugfixes. The most important new features are
listed below:
- Support for production SCTLV3 cards
- Completely revised SCTHV library
- New Electrical Test macros:
- IVCurve.cpp
- HardReset.cpp
- StreamDelay.cpp
- NO.cpp now makes a fit, for each chip, to a plot of ln(occ) vs thr^2
- New burst type VBurst for faster Noise Occupancy measurements
- "Auto Stop" facility to end threshold scans when occupancy
falls to zero
- Inclusion of several test macros from the system test,
including those designed to facilitate the study of
correlated noise occupancy
- Error histograms are now scaled to the scanned variable
The electrical test macros are in accordance with version 3.01 of the
document
Electrical Tests of SCT Hybrids and Modules.
Two built files are provided, for users with and without CLOAC, which
support up to six modules connected to one MuSTARD, one SLOG, 0-3
SCTLV cards of any flavour (except T7 specials) and 0-2 SCTHV cards.
|
PWP:2001-03-08 Release Notes
|
This release includes a few minor revisions to bring the documentation
more up to date. The documentation link presented on the main menu of
ST.cpp has also been corrected to point to our maintained web site.
|
PWP:2001-03-06 Release Notes
|
This release includes the following developments:
- A first version of the proposed software for automated
electrical tests of hybrids and modules (see below).
- Automatic detection of the presence or absence of SCTLV
cards 0,1 or 2, so that users need not recompile the included
binary to suit the number of SCTLV cards in their system.
- Partial support for temperature monitoring with SCTLV3
(via the DCS Query button).
|
PWP:2001-03-06 Module Testing Implementation & Status
|
This new release includes several important new macros tailored
for module production testing, all of which can be found under the
new menu ABCD Test ,
accessible from the main menu by pressing the
ABCD Test button.
For a more detailed explanation of these tests, please refer to Peter's
Electrical Tests of SCT Hybrids & Modules specification document.
Two test sequences are provided:
- Complete characterisation of a hybrid or module by pressing the
Characterisation Sequence button.
- This takes around 90 minutes (depending on PC performance), and produces
the following output files for each module connected in the system:
- Raw data files (ROOT format) in sctvar/data/strunx_y.root
- Five PostScript files in the sctvar/ps directory
- Three ASCII text files in the sctvar/results directory:
- a results summary file,
- a trim file, and
- a mask file.
- Confirmation of basic hybrid or module functionality
by pressing the Confirmation Sequence button.
- This is an abbreviated sequence of tests including digital bypass and
redundancy functionality as well as strobe delay and simple gain measurements.
It is intended to be used more frequently than the full characterisation
sequence, for example, at various stages of handling during production or
shipping.
Both of these sequences invoke tests which are also available individually
from additional buttons on the same menu bar:
- BypassTest
- A simple test of the ABCD Bypass functionality.
Standard cases 0 to 10 (as defined in the test specification document)
are studied by default: cases 11 and 12 have not yet been debugged.
Results are appended to the summary text file.
- RedundancyTest
- Verification that the module responds to both the primary and redundant
clock and command signals. Results are appended to the summary text file.
- PipelineTest
- A scan of the pipeline, to identify dead cells. Results are appended to the
summary text file.
- StrobeDelayTest
- Firstly, a threshold scan is made to set the threshold of each chip to be
approximately 2fC. Next a strobe delay scan is performed with 4fC charge.
The edges of the resulting strobe delay peak are fitted and the strobe delay
is set to be 25% of the way between the two edges. Results are appended to the
summary text file.
- ThreePointGain
- A calculation of the gain and ENC at 2 fC from a linear fit on 50% points at
1.5,2.0,and 2.5 fC. At this stage of the characterisation the hybrid or module
has not been trimmed. Results comprising gain, offset and input noise values
are appended to the summary text file together with a list of bad
channels. The bad channels are categorised as follows:
- Lost = dead + stuck + unbonded channels
- Dodgy = inefficient + low noise + high noise channels
Of course if the module is very noisy, has many unbonded channels or is built with
poor quality chips, a very long list of faulty channels will be produced.
At the moment the default values for low/high noise are 1100 ENC and 1800ENC
respectively. Whilst these values should be reasonable for stable, well cooled
barrel or forward modules with ABCD3T chips, they may be modified by editing
the macro ResponseCurvePlot.cpp at the following lines:
- MIN_INNSE 1100
- MAX_INNSE 1800
Modifications are under discussion to identify channels with anomalous noise values as those
for which the output noise is more than |n σ| different from the average value.
- TrimScan
- The hybrid or module is now trimmed. For each module
connected to the system, two files will be produced in the sctvar/results
directory, the trim file and the mask file. If they are moved to the
sctvar/config directory and renamed to match the name of the detector
configuration file, they will be picked up the next time you initialise the system with
that module connected. However the macro itself sets online these values so they will be used
during the remaining tests. Only dead, stuck and untrimmable channels are masked.
- ResponseCurve
- The response curve is determined using a series of 10 threshold scans with
charges between 0.5 and 8fC. The gain and input noise at 2fC are calculated
using an exponential fit. The same analysis routine is used as for the
ThreePointGain measurement; hence all comments about noisy channels are valid
here too. When called as part of a Characterisation sequence, the chips will now
be trimmed and (some) bad channels will have been masked: this should be kept
in mind when comparing the ResponseCurve results to the ThreePointGain results.
- Noise occupancy
- A noise occupancy scan is performed at 100 kHz trigger rate (at least for users
with CLOAC, and once the occupancy is down to the level of a few percent.) The number of
triggers increases at low occupancy. For now, the output consists of a PS file plotting
occupancy as a function of threshold. The graph is annotated to highlight the noise
occupancy value at 1fC. For users with SCTLV, the nominal power consumption is also
shown. During analysis the 1fC point is read from the most recent results file
which contains trim results.
- Timewalk
- The timewalk is studied using a threshold of 1fC whilst injecting 10 different
charges between 1.25 and 10 fC. If the 1fC threshold setting point is not known
in advance, it is determined by making a threshold scan. Timewalk is defined to be the
difference between the rising edges of the strobe delay peak for charges of
1.25 and 10 fC. (Studies continue into the possibility of making a fit to the
timewalk data obtained for all 10 charges, however this seems to be more easily
prone to error, so it is likely that the arithmetic method will persist.)
Other Comments
(Thanks to Daniela Macina for this section)
Although the OPTO Functionality Test for forward hybrids/modules has not yet been
implemented, partial support for the Liverpool support card is included in this
release. The commands to program the support card operating mode have been coded,
although since the RESET line must be driven during programming of the operating
mode, this will work for users with SCTLV only. Other users
can select the operating mode of the card by means of the inbuilt switch.
At the time of writing, the masking of bad channels is not exhaustive.
Extra channels may be masked by hand, by adding them to the mask file.
comments/suggestions/corrections to
Bruce,
Peter or
Gareth