custom_sequence

A “tuning”-type calibration that allows more control over the tests defined in the inner-tracker-tests repo in the TestSequences.py file.

Test names the user wishes to perform must be given as strings in a list to the test_list parameter in the dirigent.toml file, using the same syntax defined in the repo. The tests will then be performed sequentially.:

test_list = [
    'PixelAlive_Analog', 
    'ThresholdAdjustment_2000', 
    'ThresholdEqualization', 
    'InjectionDelay', 
    'NoiseScan', 
    'SCurveScan_800' 
]

If one wishes to change some parameters of some tests, the user can instead provide the test name as the value of the 'name' key in a dictionary. Any settings the user wishes to change can be added as key-value pairs in that dictionary. Dirigent will execute the test dictionaries in the order they are given in the list.:

test_list = [
    {'name': 'PixelAlive_Analog', 'DoOnlyNGroups': 10}, 
    {'name': 'ThresholdAdjustment_2000', 'TargetThr': 2200, 'ThrStart': 400, 'ThrStop': 500}, 
    {'name': 'ThresholdEqualization'}, 
    {'name': 'InjectionDelay', 'DoOnlyNGroups': 1, 'LatencyStart': 110, 'LatencyStop': 150},
    {'name': 'NoiseScan'},
    {'name': 'SCurveScan_800', 'VCalHstop': 820, 'VCalHnsteps': 20},
]

One can see that for tests in which no settings are to be changed, the test must still be provided as a dictionary in the list.

This allows users some freedom to create and experiment with their own test sequences, and are not restricted to those in the inner-tracker-tests repo. However, as we move closer to official production, this feature will likely be removed to ensure a standardised set of tests are used.

The main use case for this is to provide users with a method for testing strictly-defined tests without branching the repo, linking that branch to your installation, and reinstalling. If a problem with a test is found and the user can verify settings that may work better, please open an issue in the inner-tracker-tests repo.

Usage: dirigent custom_sequence [OPTIONS]

Options:
  -l, --test-list       List of strings or dictionaries containing tests to perform and their settings.  
  -w, --write-xml       Writes values found by each scan to the XML file so that subsequent scans will use them. 
  -r, --reset-board     Resets the backend board before iterating through test-list.
  --help                Show this message and exit.

Functions

determine_incorrect_tests(all_tests)

determine_incorrect_tests

module_testing.calibrations.custom_sequence.determine_incorrect_tests(all_tests)