My Links
MyNewTwikiPage
ABCStar Row Test
Running the Row Test
How to Run
GitLinks...
To Run the Row Test, first follow the setup instructions under Module Test Sequence
here. Then do:
- loadmacro("abc_star/RowTest")
- 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. |
USE_RECLASSIFICATION_SCRIPT |
3 |
NOT TESTED!!! |
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:
- USE_TRIGGER_BURST
- CHECK_POWER_SUPPLIES
- CONVERT_CHANNEL_NUMBERS
- DETECT_SHORTS
Determining Bonding Threshold
Description
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:
- 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.
- Determine the threshold using the DetermineThreshold.py script found GITLAB link here. See the README for instructions of how to run.
- 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:
- Set LINKTOOLTIPINFO = off
- Preference for the editor, default is the WYSIWYG editor. The options are raw, 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