Main Page: Difference between revisions

From LHCB
Jump to navigation Jump to search
Fontanel (talk | contribs)
No edit summary
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<strong>MediaWiki has been installed.</strong>
<strong>MediaWiki has been installed.</strong>


Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software.
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software.
Line 10: Line 11:
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]


<span style="color:#00FF00">
<strong>Test system:</strong>
<strong>Test system:</strong>
</span>


<span style="color:#FF0000">
Test box
Test box
</span>


<span style="color:#FF0000">
Caen digitizer
Caen digitizer
</span>


<span style="color:#FF0000">
Keithley multimeter
Keithley multimeter
</span>


<span style="color:#FF0000">
Keithley old multimeter (2000)
Keithley old multimeter (2000)
</span>


<span style="color:#FF0000">
Hamamatsu power supply
Hamamatsu power supply
</span>


<span style="color:#FF0000">
Taiko Laser
Taiko Laser
</span>


<span style="color:#FF0000">
Electronic switch
Electronic switch
</span>
<span style="color:#00FF00">
<strong> Data acquisition software </strong>
</span>
Software is composed by many scripts which normally reside in /home/lhcb/daqsw/python
*<span style="color:#00FF00"> initKeithley.py</br> </span>
this script will be used only once after reboot to initialise the two DMM7530 multimeter, don't run it twice
*<span style="color:#00FF00"> readKeithley.py </br> </span>
to check that both multimeter work in the regular way, will print voltage and current
*<span style="color:#00FF00"> Controllo_Hama.py </span>
This the main script to control the hamamatsu HV power supply, note that, the output voltage is always sent to a voltage divider with ratio
0.5 or 0.666 (1/2  or 2/3), this must be chosen with a little switch on the side of the box.
Using 2/3 you may reach up to 60 V and this is good for SiPM by Hamamatsu, FBK ones require lower voltages and 1/2 must be chosen,
max voltage in this case will be 45 V
Hamamatsu power supply delivers a minimum voltage around 40 V (to be checked), so you can't use it below 20 V (with 1/2 factor)
Script accepts a few software switches:
** ./Controllo_Hama -h    prints some help
** -d  voltage divider not considered, you have to take care of it by yourself
** -2 voltage divider set to 1/2
** -3 voltage divider set to 2/3
** -v output voltage (if -d != 1 voltage divider taken into account")
** -m  monitor from Hamamatsu, not really useful but the temperature inside the box
** -o  switch off
Typically you write something like: ./Controllo_Hama -3 -v54.3
*<span style="color:#00FF00"> Controllo_switch_console_py </span>
*<span style="color:#00FF00"> IVscriptFF5.py </span>
This script measures the I-V curve of the SiPM, plots it and fits it with a linear curve below the breakdown voltage and a parabolic
one after it, V_breakdown is a free parameter.</br>
User should set in a reasonable way  the voltage limits, normally should start 3-4 V below the expected Vbreakdown and should stop
3 V above it.</br>
At beginning user can choose/ set a few important parameters
** OutputFilename = 'test.txt'    #  Results are output on file test.txt, name can be freely chosen
** Breakdown voltage at the end is written to breakdownV.txt, this will be read by following scripts to compute results.
** Vmin  = 51  # starting voltage
** Vmax  = 55  # end value
depending on the switch position (1/2 or 2/3) appropriate coefficients must be set
** Dividerratio = 2.00378  # when voltage is divided in half  (1/2)
** #Dividerratio = 1.50189  # when voltage divider si set to 2/3
other parametrs are normally left untouched:
** currmax = 500  # max current in nA, it stops when reached (even if below Vmax)
** MaxStep  = 0.20  # max voltage step 0.20 volt, should be ok
** MinStep  = 0.010 # minimum step 10mV, should be ok
** maxierror = 0.2  # 0,2 nA max diff between measurement and expected value, why do you want to change it ?
** maxpercentage = 0.20  #  max accepted  error if we cross  maxierror, leave it alone
Script tries to measure the characteristic in a smart way, making large steps (0.2 V) and comparing measured current with expected one from a linear extrapolation,
if it fails, voltage step is cut in half and it tries again, it's a kind of Kalman filter.
The Hamamatsu power supply is used to control HV, if script fails chances are that Hamamatsu doesn't work properly (check power, verify that serial port is
properly addressed). Give a try with Controllo_Hama.py </br>
Serial port should be    PORTA = '/dev/ttyUSB0'


*<span style="color:#00FF00"> laserControl.sh </span>


Analysis software
<span style="color:#00FF00">
<strong> Data analysis software </strong>
</span>
Preliminary programs to read, display and analyze the output file from Caen digitizer are in /home/lhcb/daqsw/sipm_study
Makefile will compile 2 programs:
*plot_events
*sipm_study
a trivial script to run sipm_study is run_test.sh
Both programs exploit wd_classFF.cpp and wd_classFF.h
software switches for sipm_study:
** -d  turns on event display (using root), close graphic windows with file/quit to go to the next
** -n  number of events to be processed,
** -p  path of data file, terminate it with a slash
** -f  data filename
** -s  ratio between pulse amplitude and rms of noise to select events, default is 10 but 3-5 is definitely more sound
** -h  usual minimal help

Latest revision as of 17:21, 24 October 2024

MediaWiki has been installed.


Consult the User's Guide for information on using the wiki software.

Getting started


Test system:

Test box

Caen digitizer

Keithley multimeter

Keithley old multimeter (2000)

Hamamatsu power supply

Taiko Laser

Electronic switch

Data acquisition software

Software is composed by many scripts which normally reside in /home/lhcb/daqsw/python

  • initKeithley.py

this script will be used only once after reboot to initialise the two DMM7530 multimeter, don't run it twice

  • readKeithley.py

to check that both multimeter work in the regular way, will print voltage and current

  • Controllo_Hama.py

This the main script to control the hamamatsu HV power supply, note that, the output voltage is always sent to a voltage divider with ratio 0.5 or 0.666 (1/2 or 2/3), this must be chosen with a little switch on the side of the box. Using 2/3 you may reach up to 60 V and this is good for SiPM by Hamamatsu, FBK ones require lower voltages and 1/2 must be chosen, max voltage in this case will be 45 V Hamamatsu power supply delivers a minimum voltage around 40 V (to be checked), so you can't use it below 20 V (with 1/2 factor) Script accepts a few software switches:

    • ./Controllo_Hama -h prints some help
    • -d voltage divider not considered, you have to take care of it by yourself
    • -2 voltage divider set to 1/2
    • -3 voltage divider set to 2/3
    • -v output voltage (if -d != 1 voltage divider taken into account")
    • -m monitor from Hamamatsu, not really useful but the temperature inside the box
    • -o switch off

Typically you write something like: ./Controllo_Hama -3 -v54.3

  • Controllo_switch_console_py
  • IVscriptFF5.py

This script measures the I-V curve of the SiPM, plots it and fits it with a linear curve below the breakdown voltage and a parabolic one after it, V_breakdown is a free parameter.
User should set in a reasonable way the voltage limits, normally should start 3-4 V below the expected Vbreakdown and should stop 3 V above it.
At beginning user can choose/ set a few important parameters

    • OutputFilename = 'test.txt' # Results are output on file test.txt, name can be freely chosen
    • Breakdown voltage at the end is written to breakdownV.txt, this will be read by following scripts to compute results.
    • Vmin = 51 # starting voltage
    • Vmax = 55 # end value

depending on the switch position (1/2 or 2/3) appropriate coefficients must be set

    • Dividerratio = 2.00378 # when voltage is divided in half (1/2)
    • #Dividerratio = 1.50189 # when voltage divider si set to 2/3

other parametrs are normally left untouched:

    • currmax = 500 # max current in nA, it stops when reached (even if below Vmax)
    • MaxStep = 0.20 # max voltage step 0.20 volt, should be ok
    • MinStep = 0.010 # minimum step 10mV, should be ok
    • maxierror = 0.2 # 0,2 nA max diff between measurement and expected value, why do you want to change it ?
    • maxpercentage = 0.20 # max accepted error if we cross maxierror, leave it alone

Script tries to measure the characteristic in a smart way, making large steps (0.2 V) and comparing measured current with expected one from a linear extrapolation, if it fails, voltage step is cut in half and it tries again, it's a kind of Kalman filter. The Hamamatsu power supply is used to control HV, if script fails chances are that Hamamatsu doesn't work properly (check power, verify that serial port is properly addressed). Give a try with Controllo_Hama.py
Serial port should be PORTA = '/dev/ttyUSB0'

  • laserControl.sh

Data analysis software Preliminary programs to read, display and analyze the output file from Caen digitizer are in /home/lhcb/daqsw/sipm_study Makefile will compile 2 programs:

  • plot_events
  • sipm_study

a trivial script to run sipm_study is run_test.sh Both programs exploit wd_classFF.cpp and wd_classFF.h software switches for sipm_study:

    • -d turns on event display (using root), close graphic windows with file/quit to go to the next
    • -n number of events to be processed,
    • -p path of data file, terminate it with a slash
    • -f data filename
    • -s ratio between pulse amplitude and rms of noise to select events, default is 10 but 3-5 is definitely more sound
    • -h usual minimal help