calibration_sequence

Module containing the CalibrationSequence class to manage calibration sequences

Classes

CalibrationSequence(context, calibrations, title)

Manager class to run a sequence of calibrations in subprocesses.

Exceptions

InvalidCalibration(owner[, message])

Error raised when a calibration in the calibrations list is invalid or uncategorised.

MissingInstrument(owner[, message])

Error raised when a required instrument is not defined in instruments.json.

MissingTuning(owner[, message])

Error raised when a "tuning" calibration in the calibrations list does not have an associated tuning list.

CalibrationSequence

class module_testing.dirigent.calibration_sequence.CalibrationSequence(context, calibrations, title, tuning_step_args=None, required_instruments=None)

Bases: object

Manager class to run a sequence of calibrations in subprocesses.

__init__(context, calibrations, title, tuning_step_args=None, required_instruments=None)
Parameters:
  • context – CalibrationContext this instance should use.

  • calibrations – A list of calibrations (strings). Each element (calibration) is passed to the dirigent command.

  • title – The name of the sequence to be displayed in the database (e.g. Panthera for CMS IT module QC).

  • tuning_step_args – A list of strings to pass to tuning calibrations. These can be a string or JSON-formatted string dictionaries, depending on the calibration.

  • required_instruments – A dictionary containing instruments that are absolutely required to perform the sequence e.g. {“ab”, “lv”} for sldo_vi_curves.

CALIBRATEMODULE_FLAG = '-t'

Subflags specific to the calibrate_module subcommand

CHANNELS = '--channels-dict'

channels dictionary load option for dirigent

CUSTOMSEQUENCE_FLAG = '-s'

Subflags specific to the custom_sequence subcommand

DIRECTORY = '--directory'

directory string load option for dirigent

FLAGS = ['-p', '-l', '-m', '--no-monitoring']

List of dirigent options that do not require arguments

GeneralCalibration(command)

Function to run “general”-type calibrations. Ensures HV is off and LV remains constant.

INSTRUMENTS = '--instruments-dict'

instruments dictionary load option for dirigent

IVCURVE_FLAGS = ['-w']

Subflags specific to the iv_curve subcommand

IVCurve(command)

Function run for “ivcurve”-type calibrations. Turns HV, then LV off, and passes LV and HV instruments to the calibration.

After the calibration has run, the function will check the breakdowns.json file and bias sensors if the target value (default_voltage in instruments.json) is lower than the breakdown voltage.

OPTIONS = ['--instruments-dict', '--channels-dict', '--directory']

List of dirigent options that require arguments

OpenBumps(command)

Function run for “openbumps”-type calibrations. Currently only tested with crosstalk_method.

SLDOCurves(command)

Function run for “sldo”-type calibrations.

SOFTWARE = 'dirigent'
TUNING_FLAGS = {'calibrate_module': '-t', 'custom_sequence': '-s'}
TuneModule(command)

Function run for “tuning”-type calibrations (e.g. calibrate_module, `` custom_sequence``, custom_calibration).

InvalidCalibration

module_testing.dirigent.calibration_sequence.InvalidCalibration(owner, message='Invalid dirigent calibration in calibration list.')

Error raised when a calibration in the calibrations list is invalid or uncategorised.

MissingInstrument

module_testing.dirigent.calibration_sequence.MissingInstrument(owner, message='Missing instrument in JSON file.')

Error raised when a required instrument is not defined in instruments.json.

MissingTuning

module_testing.dirigent.calibration_sequence.MissingTuning(owner, message='Missing tuning list for calibration in calibration list.')

Error raised when a “tuning” calibration in the calibrations list does not have an associated tuning list.