My Links


ABCStar Row Test

Running the Row Test

How to Run


To Run the Row Test, first follow the setup instructions under Module Test Sequence here. Then do:

  1. loadmacro("abc_star/RowTest")
  2. do ABCStarRowTest (module, row, sensortype, options). For example ABCStarRowTest (1,1,"LS") to test row 1 of module 1 on a LS sensor using the default options. To specify options different from the default, see Options below.
This should print which channels (or wires if the mapping of Channels to wires is enabled) are unbonded, or a message that states no unbonded channels have been found.

User Configuration

The configuration file for the ABCStar row test is under macros/abc_star/RowTestConfig.h This configuration file contains:

  • the mapping of the different sensors to their bonded thresholds
  • the Wire structure which describes how the sensor channels are mapped to the wires.
If the sensor you are testing is not in the threshold mapping, you will need to determine the bonding threshold for it (see below). The default Wire structure uses the Wire : channel mapping used at Cambridge and is described in the config file. If you use a different mapping you will need to alter this structure accordingly.
Running Options

The default options are defined in the RowTest.cpp file. The different options can be turned on and of using binary notation. For example ABCStarRowtest (module, row, sensortype, 0b0011010001) is equivalent to running with options 0, 4, 6 and 7 activated (as these bits are 1). The 0b is to denote binary.

Options Table

Option Bit Description
DETECT_SHORTS 0 Try to detect channels connected to two strips (not very effective in testing). Has no effect if USE_TRIGGER_BUSRT is off
LIMIT_CHANNELS 1 Only examine the channels given in the limitChannels file. This file should be place in $SCTDAQ_VAR/config/[MODULE_NAME]_limitChannels.txt. This file lists which channels are expected to be bonded and which are expected to be unbonded.
ONLY_MISMATCHES 2 Instead of reporting on defective channels, only report on channels whose classification differs from expected as given in the Limit Channels file.
CONVERT_CHANNELS NUMBERS 4 Converts ITSDAQ channel numbers to wire numbers in the print out. See user configuration
CHECK_POWER_SUPPLIES 5 Fail if there is reason to supsect that the user has failed to bias the sensor correctly. Not intended to be completely reliable, e.g the user may have a HV source but not be controlling it with ITSDAQ. No effect is USE_TRIGGER_BURST is on, since bias should not be applied in that case.
REPORT_OK_ON_UNLISTED_WIRES 6 Report Wires which are marked as OK even if they are not "relevant' (meaning they are listed in the limitChannels file if LIMIT_CHANNELS is on, or in the row being tested if it is off).
USE_TRIGGER_BURST 7 Uses trigger burst to classify channels. If off, uses the three point gain test instead.
USE_PREVIOUS_3PG 8 Use prevous three-point gain test data acquired in the same ITSDAQ session intead of running a new scan. No effect if USE_TRIGGER_BURST is on
FLIP_CHANNEL_ROW 9 Temporary option to reverse the order of the channel numbers (i.e 0->1278) when reading from the burst histogram. This is to allow the ITSDAQ channel numbers to match up with the physical strip numbers, needed for institutes to make their own Wire to Strip number mapping.
Currently, the Options which are on by default are:

Determining Bonding Threshold

Two methods have been implemented for determining the bonding threshold, the gradient methd and the "User Truth Info" method. The gradient method should be used by default but if it does not produce satisfactory results use the User Truth method instead.

Gradient Method

The gradient method for determining the threshold to differentiate bonded and unboned channels is based on finding a plateau in the number of channels with hits (nHits) as a function of threshold voltage (see left plot below). This plateau represents the threshold ranges where only bonded channels record a hit. The threshold range or value if no such plateau exists if found from the minimum of the differential of this plot. (see right plot below). At theshold values less than the plateau range, unbonded channels have a probability as classified as bonded. This may not be an issue if the probability of having unbonded channels is very low, however at too low a threshold the probability of there being an unbonded channel and it being classified as bonded becomes non negligible.

Example Plots here

User Truth Method

Steps to determine the threshold

To determine the bonding threshold for a particular sensor, do the following:

  1. First collect data by running ChannelHitScan.cpp.
    • As when running the row test, connect a module and follow the setup instructions here
    • Change any of the configuration options in ChannelHitScan.cpp
    • From the itsdaq prompt, do .L ChannelHitScan.cpp
    • do ChannelHitScan (module). This will save the data of the hit scan to a text file.
  2. Determine the threshold using the script found GITLAB link here. See the README for instructions of how to run.
  3. Enter this threshold into the sensor: threshold mapping in RowTestConfig.h. Rerun the RowTest using the new threshold and check the results are consistent.

My Personal Preferences

  • Show tool-tip topic info on mouse-over of WikiWord links, on or off:

  • Preference for the editor, default is the WYSIWYG editor. The options are raw, wysiwyg:
    • Set EDITMETHOD = wysiwyg

  • More preferences TWiki has system wide preferences settings defined in TWikiPreferences. You can customize preferences settings to your needs: To overload a system setting, (1) do a "raw view" on TWikiPreferences, (2) copy a Set VARIABLE = value bullet, (3) do a "raw edit" of your user profile page, (4) add the bullet to the bullet list above, and (5) customize the value as needed. Make sure the settings render as real bullets (in "raw edit", a bullet requires 3 or 6 spaces before the asterisk).

Related Topics

First Name Dominic Matthew
Last Name Jones




Skype ID







Status Update

Edit personal data
Edit | Attach | Watch | Print version | History: r10 < r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r10 - 2021-01-26 - DominicJones
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback