custom_calibration

A calibration that allows great control over the Ph2 ACF scans that are run sequentially.

Scans must be given in a list, as the value of the 'name' key in a dictionary. Any other settings the user wishes to change can be added as key-value pairs in that dictionary. Dirigent will execute the scan dictionaries in the order they are given in the list.

Available scans can be found in the Ph2 ACF documentation, and the available settings can be found in the Settings node of the default Ph2 ACF XML file. Descriptions of settings can be found by searching the name in the Ph2 ACF documentation search bar.

An example of a list that can be given to this calibration in the dirigent.toml file is given below. One can see that scans must be given as strings to the 'name' key using CMSITminiDAQ syntax, and any number of scans can be provided. In addition, each scan can be given any number of settings, which must use the same syntax given in the XML file.:

scan_list = [
    {'name': 'pixelalive', 'OccPerPixel': 1e-06, 'ResetMask': 1, 'ResetTDAC': 1}, 
    {'name': 'thradj', 'TargetThr': 3000, 'ThrStart': 400, 'ThrStop': 500}, 
    {'name': 'scurve', 'VCalHstop': 2100, 'VCalHnsteps': 50},
    {'name': 'threqu', 'DoNSteps': 0}, 
    {'name': 'injdelay', 'DoOnlyNGroups': 1, 'LatencyStart': 110, 'LatencyStop': 150},
    {'name': 'noise', 'OccPerPixel': 1e-06, 'INJtype': 0, 'nEvents': 10000000.0, 'nEvtsBurst': 10000.0}, 
    {'name': 'scurve', 'VCalHstop': 1600, 'VCalHnsteps': 50},
    {'name': 'thradj', 'TargetThr': 1200, 'ThrStart': 390, 'ThrStop': 450}, 
    {'name': 'injdelay', 'DoOnlyNGroups': 1, 'LatencyStart': 110, 'LatencyStop': 150},
    {'name': 'scurve', 'VCalHstop': 1100, 'VCalHnsteps': 50}, 
    {'name': 'thradj', 'TargetThr': 1000, 'ThrStart': 390, 'ThrStop': 450}, 
    {'name': 'scurve', 'VCalHstop': 1100, 'VCalHnsteps': 50},
    {'name': 'threqu', 'DoNSteps': 1}, 
    {'name': 'noise', 'OccPerPixel': 1e-06, 'INJtype': 0, 'nEvents': 10000000.0, 'nEvtsBurst': 10000.0}, 
    {'name': 'pixelalive', 'OccPerPixel': 0.9}, 
    {'name': 'scurve', 'VCalHstop': 600, 'VCalHnsteps': 50},
    {'name': 'gain', 'VCalHstop': 4000, 'VCalHnsteps': 100}
]
Usage: dirigent custom_calibration [OPTIONS]

Options:
  -l, --scan-list       List of dictionaries containing scans 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 scan-list.
  --help                Show this message and exit.