iv_curve

Script to perform an I-V measurement on the sensor of a module.

Currently for multiple-module setups, I-V measurements will be performed in series.

The script will save data as a CSV, a PNG, and a high-resolution vector graphics image (PDF). If the database handler Felis is enabled, a ROOT file will also be created.

If enabled, temperature monitoring will be performed by running a CMSITminiDAQ physics scan once at the highest voltage, reading out the INTERNAL_NTC monitor.

If enabled, a breakdown analysis can also be performed. This calculates the breakdown voltage following the CMS Phase 2 IT Module QC definition: the voltage at which the current increases by more that 20% compared to the previous measurement, in 5 V steps, above the full depletion voltage, defined here as -60 V. The calculated breakdown voltage(s) will be saved to a JSON file breakdowns.json.

Usage: dirigent iv_curve [OPTIONS]

Options:
  -i, --start-voltage       Initial voltage for the sweep.
  -f, --max-voltage         Final voltage for the sweep. 
  -s, --step-size           Step in voltage between two measurements.
  -d, --delay               Time after changing the voltage until the current is measured. 
  -b, --both-ways           Determines, if data is also taken on the downward ramping
  -p, --positive            If true, the iv curve is extended to +0.4V
  -P, --plot                Let the script plot the results after measuring
  -t, --temp-mon            Enable temperature monitoring using INTERNAL_NTC.
  -v, --temp-voltage        Voltage at which temperature monitoring will be performed.
  -w, --write-breakdowns    Write calculated breakdown voltages to a JSON file.
  --help                    Show this message and exit

Functions

calculate_breakdown(data)

perform_iv(context, module, set_voltage, ...)

Utility function to perform the IV curve for the sensor.

calculate_breakdown

module_testing.calibrations.iv_curve.calculate_breakdown(data)

perform_iv

module_testing.calibrations.iv_curve.perform_iv(context, module, set_voltage, delay, step_size, temp_mon, temp_voltage, temp_runtime, probe_limit=True)

Utility function to perform the IV curve for the sensor.

Parameters:
  • context – information of the setup. Here only used to access the HV supply.

  • results – list to which the results are to be appended

  • target_voltage – the voltage to which the sweep will go to.

  • delay – the amount of time the HV supply waits on each voltage level before doing measurements.

  • step_size – the voltage difference between two steps during the sweep.

  • local_multiple – the amount of measurements that are taken on each voltage level.

  • temp_step – the step size for performing temperature measurements

Returns:

list of measured data