Contents
PolCalib
Description
PolCalib is a software package which provides all measurement programs used for the measurements performed in thesis DESY-THESIS-2014-006 (B. Vormwald). It relies on the software package PolDAQ which contains the measurement device drivers and interfaces. PolCalib is a cmake package. The measurement parameters are handed over to the program via a config file.
The package can be checked out by the command:
git clone /afs/desy.de/group/flc/pool/polarimeter/git/PolCalib PolCalib
Existing measurement programs
darkcurrent
This program measures the darkcurrent via the QDC. The trigger signal for the LED is completely switched off during the measurements. The measurement is configured by the following config file:
measurement { outdir /data/measurements/desyLEDdriver/dnlstability_20121114_8 # output folder n 1e5 # number of event per run series 5 # number of repetitions warmup 15 # number of repetitions without storing the measured data sleep 0 # waiting between two runs in seconds comment "..." # comment which goes to the log file } AFG3102 { # configuration of function generator AFG3102 addr 131.169.184.169 # IP address triggerchannel 2 # channel used for the trigger gatechannel 1 # channel used for the gate gate 25.0 # gate length in nanoseconds frequency 30e3 # trigerrate in Herz } HV { # configuration of VME high voltage source channel 0 # used output channel voltage -700.0 # output voltage } EM6514 { # configuration of electrometer EM6514 addr /dev/ttyUSB0 # address of the connected serial port } SM2410 { # configuration of sourcemeter SM2410 addr /dev/ttyUSB1 # address of the connected serial port } PS2200 { # configuration of power supply PS2200 addr /dev/usbtmc1 # address of the connected serial port }
This produces
- for each run a ROOT file in the given output folder, which contains a histogram for each QDC channel,
a TTree named parameters.root, which contains a conditions entry per run, and
- a text log file for quick and easy access to the measurement process.
dnlmeasurement
This program is used for measuring the differential nonlinearity (DNL) of a photomultiplier. Per run the response to the base LED only and the base+differential LED is measured. The difference of the detector responses is a measure of the DNL.
measurement { outdir /data/measurements/desyLEDdriver/dnlstability_20121114_8 # output folder n 1e5 # number of event per run series 5 # number of repetitions warmup 15 # number of repetitions without storing the measured data pedestal true # pedestal measurement between each signal measurement comment "..." # comment which goes to the log file } AFG3102 { # configuration of function generator AFG3102 addr 131.169.184.169 # IP address triggerchannel 2 # channel used for the trigger gatechannel 1 # channel used for the gate gate 25.0 # gate length in nanoseconds gatedelay 13.0 # delay between trigger and gate frequency 30e3 # trigerrate in Herz } HV { # configuration of VME high voltage source channel 0 # used output channel voltage -700.0 # output voltage } EM6514 { # configuration of electrometer EM6514 addr /dev/ttyUSB0 # address of the connected serial port } SM2410 { # configuration of sourcemeter SM2410 addr /dev/ttyUSB1 # address of the connected serial port ledbStart 6.0 # basis LED voltage (start value) ledbStop 7.5 # basis LED voltage (end value) ledbStep 0.1 # basis LED voltage (step size) } PS2200 { # configuration of power supply PS2200 addr /dev/usbtmc1 # address of the connected serial port ledd 5.7 # differential LED voltage (fixed value) }
This program produces
- for each run two/four ROOT files in the given output folder, which contain histograms for each QDC channel:
(without applied signal (XXXXX_p.root),)
for the base LED only signal (XXXXX.root),
(without applied signal (XXXXX_dp.root),)
for the base+differntial LED signal (XXXXX_d.root),
- for each run a ROOT file in the given output folder, which contains a histogram for each QDC channel,
a TTree named parameters.root, which contains a conditions entry per run, and
- a text log file for quick and easy access to the measurement process.
dnlmeasurementFastRun
findSignalInGate
Changes the gate delay and gate length in order to find the optimal gate settings for the full signal pulse.
measurement { outdir /data/measurements/desyLEDdriver/dnlstability_20121114_8 # output folder n 1e5 # number of event per run series 5 # number of repetitions warmup 15 # number of repetitions without storing the measured data pedestal true # pedestal measurement between each signal measurement dnl true # measure both: base and base+differential pulse comment "..." # comment which goes to the log file } AFG3102 { # configuration of function generator AFG3102 addr 131.169.184.169 # IP address triggerchannel 2 # channel used for the trigger gatechannel 1 # channel used for the gate gateStart 25.0 # gate length in nanoseconds (start value) gateStop 45.0 # gate length in nanoseconds (stop value) gateStep 1.0 # gate length in nanoseconds (step size) gatedelayStart 13.0 # delay between trigger and gate (start value) gatedelayStop 100.0 # delay between trigger and gate (stop value) gatedelayStep 1.0 # delay between trigger and gate (step size) frequency 30e3 # trigerrate in Herz } HV { # configuration of VME high voltage source channel 0 # used output channel voltage -700.0 # output voltage } EM6514 { # configuration of electrometer EM6514 addr /dev/ttyUSB0 # address of the connected serial port } SM2410 { # configuration of sourcemeter SM2410 addr /dev/ttyUSB1 # address of the connected serial port ledb 7.0 # basis LED voltage (fixed value) } PS2200 { # configuration of power supply PS2200 addr /dev/usbtmc1 # address of the connected serial port ledd 5.7 # differential LED voltage (fixed value) }
This program produces
- for each run one/two/four ROOT files in the given output folder, which contain histograms for each QDC channel:
(without applied signal (XXXXX_p.root),)
for the base LED only signal (XXXXX.root),
(without applied signal (XXXXX_dp.root),)
(for the base+differntial LED signal (XXXXX_d.root),)
- for each run a ROOT file in the given output folder, which contains a histogram for each QDC channel,
a TTree named parameters.root, which contains a conditions entry per run, and
- a text log file for quick and easy access to the measurement process.
gainmeasurement
hysteresis
In this program, one LED of the LED driver is set to a fixed voltage and n runs with N light pulses per run are taken. In a next step, the LED voltage is changed and again n runs with N light pulses are taken. This voltage jumping is repeated s times. The aim is to see the response after changing the LED voltage and to study the influence of the direction of the voltage change.
Outdated. no config file, parameters are hard coded such that a recompilation is necessary for each set of different parameters!
ledscan
This program scans the LED voltage from a start voltage to an end voltage in order to study the dynamic range of the LED driver.
measurement { outdir /data/measurements/desyLEDdriver/dnlstability_20121114_8 # output folder n 1e5 # number of event per run series 5 # number of repetitions warmup 15 # number of repetitions without storing the measured data pedestal true # pedestal measurement between each signal measurement comment "..." # comment which goes to the log file } AFG3102 { # configuration of function generator AFG3102 addr 131.169.184.169 # IP address triggerchannel 2 # channel used for the trigger gatechannel 1 # channel used for the gate gate 25.0 # gate length in nanoseconds gatedelay 13.0 # delay between trigger and gate frequency 30e3 # trigerrate in Herz } HV { # configuration of VME high voltage source channel 0 # used output channel voltage -700.0 # output voltage } EM6514 { # configuration of electrometer EM6514 addr /dev/ttyUSB0 # address of the connected serial port } SM2410 { # configuration of sourcemeter SM2410 addr /dev/ttyUSB1 # address of the connected serial port ledbStart 7.0 # basis LED voltage (start value) ledbStop 7.0 # basis LED voltage (stop value) ledbStep 7.0 # basis LED voltage (step size) } PS2200 { # configuration of power supply PS2200 addr /dev/usbtmc1 # address of the connected serial port leddStart 5.7 # differential LED voltage (start value) leddStop 5.7 # differential LED voltage (stop value) leddStep 5.7 # differential LED voltage (step size) }
This program produces
- for each run one/two ROOT files in the given output folder, which contain histograms for each QDC channel:
(without applied signal (XXXXX_p.root),)
for the base LED only signal (XXXXX.root),
- for each run a ROOT file in the given output folder, which contains a histogram for each QDC channel,
a TTree named parameters.root, which contains a conditions entry per run, and
- a text log file for quick and easy access to the measurement process.
stability
This program measures the long-term stability of a fixed LED signal.
measurement { outdir /data/measurements/desyLEDdriver/dnlstability_20121114_8 # output folder n 1e5 # number of event per run series 5 # number of repetitions warmup 15 # number of repetitions without storing the measured data sleep 0 # waiting between two runs in seconds pedestal true # pedestal measurement between each signal measurement dnl true # measure both: base and base+differential pulse filter 8 # number of inserted filter LEDB DRIVER2_LED1 # connected LED to LEDB voltage LEDD DRIVER3_LED1 # connected LED to LEDD voltage comment "..." # comment which goes to the log file } AFG3102 { # configuration of function generator AFG3102 addr 131.169.184.169 # IP address triggerchannel 2 # channel used for the trigger gatechannel 1 # channel used for the gate gate 25.0 # gate length in nanoseconds gatedelay 13.0 # delay between trigger and gate frequency 30e3 # trigerrate in Herz switchoff false # decides if LED trigger is switched off in the end } HV { # configuration of VME high voltage source channel 0 # used output channel voltage -700.0 # output voltage switchoff false # decides if HV is switched off in the end } EM6514 { # configuration of electrometer EM6514 addr /dev/ttyUSB0 # address of the connected serial port } SM2410 { # configuration of sourcemeter SM2410 addr /dev/ttyUSB1 # address of the connected serial port ledb 7.0 # basis LED voltage } PS2200 { # configuration of power supply PS2200 addr /dev/usbtmc1 # address of the connected serial port ledd 5.7 # differential LED voltage }
This program produces
- for each run two/four ROOT files in the given output folder, which contain histograms for each QDC channel:
(without applied signal (XXXXX_p.root),)
for the base LED only signal (XXXXX.root),
(without applied signal (XXXXX_d.root),)
for the base+differntial LED signal (XXXXX_dp.root),
- for each run a ROOT file in the given output folder, which contains a histogram for each QDC channel,
a TTree named parameters.root, which contains a conditions entry per run, and
- a text log file for quick and easy access to the measurement process.
stabilityDAQTree
Same as stability, but outputs a ROOT TTree instead of a histogram.
Outdated. no config file, parameters are hard coded such that a recompilation is necessary for each set of different parameters!
takedata
A simple program which only controls the VME devices: ramps up HV (ch0:-700V) and reads QDC output. During the run, the LED voltage needs to be set manually. The program asks on command line for the current LED voltage level. If a negative value is entered, the program quits. The program is run like:
path-to-the-package-dir/install/bin/takedata Nevents outputdir
For each entered voltage a ROOT file in the given output folder is created.
How do I add a new program?
Just add a new program to the src folder and make sure the file name ends on .C. This is needed because that is the way how cmake finds the build targets. Then change to the build directory and run
cmake path-to-the-package-dir/CMakeLists.txt make make install
This should have built all programs and copied it to the folder path-to-the-package-dir/install/bin.