|
sipm-characterisation 0.1.0
SiPM characterisation for ePIC — IV/DCR/gain, laser, readout, irradiation
|
Variables | |
| args = ky.parse_arguments() | |
| parse arguments | |
| outfiletagname = ky.build_tagname(args) | |
| output file run tag | |
| starttime = time.time() | |
| start | |
| dict | Vbd_refV = {'SENSL' : 24.5 , 'BCOM' : 26.9 , 'FBK' : 32.0 } |
| Vbd reference values from datasheet. | |
| dict | Vbd_refT = {'SENSL' : 21.0 , 'BCOM' : 25.0 , 'FBK' : 24.0 } |
| dict | Vbd_coef = {'SENSL' : 0.021 , 'BCOM' : 0.025 , 'FBK' : 0.035 } |
| dict | NaverT = {293 : 1 , 283 : 1 , 273 : 2 , 263 : 2 , 253 : 4 , 243 : 4} |
| temperature dependent optimisation | |
| dict | Naver = NaverT[args.temperature] |
| dict | refV = Vbd_refV[args.board] |
| calculate expected Vbd | |
| dict | refT = Vbd_refT[args.board] |
| dict | coef = Vbd_coef[args.board] |
| dict | Vbd = refV + coef * (args.temperature - 273 - refT) |
| fig | |
| add time tag timenow = datetime.datetime.now() timetag = timenow.strftime('YmdHMS') outfiletagname += '. | |
| ax | |
| add time tag timenow = datetime.datetime.now() timetag = timenow.strftime('YmdHMS') outfiletagname += '. | |
| figsize | |
| dict | Vmin = Vbd - 2. |
| connect and initialize | |
| dict | Vmax = Vbd + 15. |
| float | Vstep = 0.200 |
| Vscan = np.arange(Vmin, Vmax, Vstep) | |
| configure source, measure and trigger model | |
| list | Vsmart = [Vbd, Vbd + 5.] |
| Ilim | |
| reverse | |
| True | |
| Twait | |
| Tstep | |
| Tmeas | |
| Nmeas | |
| measurements = ky.read_measurements() | |
| start trigger model and wait | |
| invertX | |
| plot measurements | |
| invertY | |
| endtime = time.time() | |
| write measurements | |
| ivscan.args = ky.parse_arguments() |
parse arguments
| ivscan.ax |
add time tag timenow = datetime.datetime.now() timetag = timenow.strftime('YmdHMS') outfiletagname += '.
plot measurements
' + timetag
define plots
| ivscan.endtime = time.time() |
write measurements
write commands
close connection
done
| ivscan.fig |
add time tag timenow = datetime.datetime.now() timetag = timenow.strftime('YmdHMS') outfiletagname += '.
' + timetag
define plots
| ivscan.figsize |
| ivscan.Ilim |
| ivscan.invertX |
plot measurements
| ivscan.invertY |
| ivscan.measurements = ky.read_measurements() |
start trigger model and wait
read measurements
| ivscan.Naver = NaverT[args.temperature] |
| dict ivscan.NaverT = {293 : 1 , 283 : 1 , 273 : 2 , 263 : 2 , 253 : 4 , 243 : 4} |
temperature dependent optimisation
| ivscan.Nmeas |
| ivscan.outfiletagname = ky.build_tagname(args) |
output file run tag
| ivscan.reverse |
| ivscan.starttime = time.time() |
start
| ivscan.Tmeas |
| ivscan.True |
| ivscan.Tstep |
| ivscan.Twait |
Vbd reference values from datasheet.
connect and initialize
REVERSE BIAS SCAN ###
[Vbd - 2, Vbd + 10] in 200 mV steps
| float ivscan.Vstep = 0.200 |