<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<
link rel="stylesheet" type="text/css" href="style_sheet.css">
<
h1 id="#top">Software
for SiPM characterization with CAMAC,
scope, bias voltage and table position support<
/h1>
<
li><
a href="#install">Installation<
/a><
/li>
<
li><
a href="#softrun">Running the software<
/a><
/li>
<
li><
a href="#featall">Program feature overview<
/a><
/li>
<
li><
a href="#featnew">Current program
version (trunk
)<
/a><
/li>
<
li><
a href="#featold">Old program
version (trunk_v0.9
)<
/a><
/li>
<
li><
a href="#prepmeasure">Preparing
for measurements<
/a><
/li>
<
li><
a href="#presoft">Pre-software checks<
/a><
/li>
<
li><
a href="#exppremeasure">Experimental setup pre-measurement checks<
/a><
/li>
<
li><
a href="#softpremeasure">Software pre-measurement checks<
/a><
/li>
<
li><
a href="#measures">Measurements<
/a><
/li>
<
li><
a href="#meassettings">Measurement settings<
/a><
/li>
<
li><
a href="#tempchamber">Temperature chamber considerations<
/a><
/li>
<
li><
a href="#movement">Movement table<
/a><
/li>
<
li><
a href="#biasvolt">Bias voltage supply<
/a><
/li>
<
li><
a href="#measfiles">Measurement files<
/a><
/li>
<
li><
a href="#rootfile">ROOT file structure<
/a><
/li>
<
li><
a href="#fileopen">Opening measurement files<
/a><
/li>
<
li><
a href="#analysis">Analysis<
/a><
/li>
<
li><
a href="#changelog">Change log<
/a><
/li>
<
h2 id="install">
1. Installation<
/h2>
<
p>Pre-requisites
for offline and online modes:<
/p>
<
li>Offline mode
(support
for histogramming and analysis
):<
/li>
<
li>A newer
(5.34 or higher, support
for version 6 not added yet
) pro
version of ROOT
(<
a href="https://root.cern.ch" target="_blank">https:
//root.cern.ch<
/a>
).<
/li>
<
li>Online mode
(support
for histogramming, analysis and
data acquisition
):<
/li>
<
li>Perl developer package libperl-dev
for installation of net-snmp
(<
tt>sudo apt-get install libperl-dev<
/tt>
).<
/li>
<
li>Current
version of net-snmp
(<
a href="http://www.net-snmp.org" target="_blank">http:
//www.net-snmp.org<
/a>
).<
/li>
<
li>A newer
(5.34 or higher, support
for version 6 not added yet
) pro
version of ROOT
(<
a href="https://root.cern.ch" target="_blank">https:
//root.cern.ch<
/a>
).<
/li>
<
li>USB developer package libusb-dev
(<
tt>sudo apt-get install libusb-dev<
/tt>
).<
/li>
<
p>Installation is done through the usual <
tt>.
/configure<
/tt> and <
tt>make<
/tt> commands to enable the use of this software with
32 bit or
64 bit systems.<
/p>
<
p>Configure takes the following arguments:<
/p>
<
li>First argument is the configure option
(help, nomake, all, clean, compress
):<
/li>
<
ul style="list-style-type:none">
<
li><
tt>help<
/tt>
= shows configure help<
/li>
<
li><
tt>all<
/tt>
= prepares OS dependent files and makes the needed usb daq libraries<
/li>
<
li><
tt>nomake<
/tt>
= only prepares OS dependent files<
/li>
<
li><
tt>clean<
/tt>
= cleans the installation to the base file structure
(keeps the results directory
)<
/li>
<
li><
tt>compress<
/tt>
= compresses the base installation into a tar-ball<
/li>
<
li>Second argument is the online
/offline configure setting
(only used when first argument is nomake or all
), that enables the software to work with:<
/li>
<
ul style="list-style-type:none">
<
li><
tt>I<
/tt>
= a connected CAMAC and
scope (Online mode
)<
/li>
<
li><
tt>S<
/tt>
= only a connected
scope (Offline mode with oscilloscope connection
)<
/li>
<
li><
tt>O<
/tt>
= with no connected devices
(Offline mode
)<
/li>
<
li>The following arguments set specific computer details and can be entered in any order:<
/li>
<
li><
tt>--root-install
=/path
/to
/root
/directory<
/tt>
= The ROOT install directory, if it is not installed in a standard location
(especially needed when running the program with superuser, since it usually does not have the required environment variables
).<
/li>
<
li><
tt>--snmp-install
=/path
/to
/snmp
/directory<
/tt>
= The NET-SNMP install directory, if it is not installed in a standard location.<
/li>
<
li><
tt>--ostype
=YYYY<
/tt>
= Optional argument to specifically set the OS
type to either 32bit
(<
tt>YYYY
= i686<
/tt>
) or 64bit
(<
tt>YYYY
= x86_64<
/tt>
). If argument not supplied, the configure script will try to get this information automatically through uname.<
/li>
<
p>Running <
tt>.
/configure<
/tt> or <
tt>.
/configure help<
/tt> will give more information on specific uses.<
/p>
<
div class="codeback"><
pre><
code>.
/configure all I --root-install
=/opt
/root --snmp-install
=/opt
/net-snmp --ostype
=i686<
/code><
/pre><
/div>
<
p>Once configuration is done, a Makefile will be generated and further installation is done by running <
tt>make<
/tt>. Running <
tt>make relib<
/tt> will only recreate the libraries in case something has been edited in them.<
/p>
<
p>On first run of the program, make sure to copy the <
tt>.
/mpod
/WIENER-CRATE-MIB.txt<
/tt> to the MIB directory in your installation of net-snmp. This can be in <
tt>~
/.snmp
/mibs<
/tt> or <
tt>
[/snmp
/install
/directory
]/share
/snmp
/mibs<
/tt>.<
/p>
<
div class="backtop"><
a href="#top">Back to top<
/a><
/div>
<
h2 id="softrun">
2. Running the software<
/h2>
<
p>Once installation is performed, use<
/p>
<
p>to
start the software in offline mode or<
/p>
<
p>to
start the software in online mode. Once the software starts, it will let you know
(in the terminal
) if connection to CAMAC was correctly established.<
/p>
<
div class="backtop"><
a href="#top">Back to top<
/a><
/div>
<
h2 id="featall">
3. Program feature overview<
/h2>
<
p>This part describes the different parts of the software and a short description on what they do.<
/p>
<
h3 id="featnew">3a. Current program
version (trunk
)<
/h3>
<
p>The main window is divided into
4 tabs and then further into subwindows:<
/p>
<
li>Measurement tab:<
/li>
<
li>ON
/OFF switches
for voltage, surface, Z
axis and rotation scans
(ON when
checked).<
/li>
<
li>A voltage limiter: Sets the maximum output voltage that can be set under Output voltage
(sample safety reasons
).<
/li>
<
li>Nr. of channels: The number of channels to measure. Each channel corresponds to an ADC
/TDC pair.<
/li>
<
li>Position units:
For display, use either movement table native units or micrometers
(table units default
).<
/li>
<
li>Rotation units:
For display, use either rotation table native units or degrees
(degrees default
).<
/li>
<
li>
Scope IP: Sets the oscilloscope IP address
for connections to a device.<
/li>
<
li>LASER settings info panel: Additional information to be written to the output file header
(most generally used
for laser information
).<
/li>
<
li>Chamber temperature: Chamber temperature to be written to the output file
(temperature not directly taken from the fieldpoint sensor
).<
/li>
<
li>Live histogram ON
/OFF: ON
/OFF switch
for live histogram update. Offers quick overview of the current measurement. Should be avoided
for scans.<
/li>
<
li>Display: Display of the live histogram, when it is turned on.<
/li>
<
li>Main measurement window:<
/li>
<
li>Settings
for bias voltage, table position and incidence angle measurements.<
/li>
<
li>Additional settings enabled, when scans are enabled.<
/li>
<
li>If only one directional scan in X or Y direction is needed, set measurement to a surface scan and leave the other step
size to
0.<
/li>
<
li>Number of events: Number of events gathered in one measurement.<
/li>
<
li>Time stamp: Date and time of measurement that is written to the header of the output file.<
/li>
<
li>Save to file: Selecting of output file filename.
For scans, sequential numbers are appended to the end of the
selected filename
(i.e. <
tt>
/path
/to
/test.root<
/tt> will in a scan have <
tt>
/path
/to
/test_001.root<
/tt>, <
tt>
/path
/to
/test_002.root<
/tt>,...
).<
/li>
<
li>
Start acquisition: Starts the measurement based on currently
selected settings.<
/li>
<
li>Current measurement progress bar: Determines the status of the current measurement.<
/li>
<
li>Histogram file selection:<
/li>
<
li>Open past measurements
for analysis. Additional display of header information
for quicker reference.<
/li>
<
li>If using
multiple files
for the analysis, use
multiple file select or select all listed files. They will be used in order displayed on the list.<
/li>
<
li>Use the
Clear list button to
clear all entries in from the list.<
/li>
<
li>Use the edit header button to update any information inside the
headers of entries
selected on the list.<
/li>
<
li>Histogram: Displays the currently
selected histogram from the histogram file selection subwindow.<
/li>
<
li>Histogram controls:<
/li>
<
li>Enables plotting options
for the currently
selected histogram and to setup spectral options
for analysis.<
/li>
<
li>ADC range: Sets the range of the ADC spectrum. Ranges are automatic, when set to
(0,
0).<
/li>
<
li>TDC range: Sets the range of the TDC spectrum. TDC spectrum determines the events used
for plotting the ADC spectrum.<
/li>
<
li>Y range: Sets the range of the Y
axis on the spectrum. Ranges are automatic, when set to
(0,
0).<
/li>
<
li>Display channel: Selects the channel to plot, when opening a multichannel measurement file.<
/li>
<
li>Plot
type buttons: Buttons to change between ADC, TDC or ADC
/TDC
type of plot.<
/li>
<
li>Logarithmic scale ON
/OFF: Toggle
for logarithmic Y
axis scale.<
/li>
<
li>Clean plots ON
/OFF: Toggle
for hiding plot information or not
(such as plot
title, fitting information, statistics information
).<
/li>
<
li>Export: Exports the currently
selected histograms
(ADC, TDC or ADC
/TDC form
selected files
) into the .pdf format.<
/li>
<
li>Edit: UNDER DEVELOPMENT! Opens the currently visible plot in the Histogram subwindow in a new tab to enable editing.<
/li>
<
li>Options
for specific analysis types
(integrate spectrum, relative PDE, breakdown voltage, surface scan, timing
). When using
Start button, analysis starts, saves results and quits. When using
Start and edit button, analysis starts and gives options to further edit the results.<
/li>
<
li>General fit settings
(Peak sigma, S
/N ratio,
background interpolation, ADC spectrum offset, Maximum acceptable peak fit error, pedestal lower limit,
background subtraction, export fits
). Settings
for analysis based on fitting of peaks on the ADC spectra
(breakdown voltage and relative PDE
). The current progress of the analysis is displayed on the progress bar.<
/li>
<
li>Monitoring tab: UNDER DEVELOPMENT! Fieldpoint temperature sensor
data view.<
/li><
br/>
<
li>Help tab: Displays the contents of this help file.<
/li><
br/>
<
p>On the top, there are
3 menus:<
/p>
<
li>Set user layout: Set a user saved layout of the program subwindows or use the default.<
/li>
<
li>Save current layout: Save the program subwindow layout to be used later. This will remember the sizes of each subwindow
(Settings pane, Main measurement window, Display, Histogram file selection,...
) and the overall
size of the program window.<
/li>
<
li>Save current measurement settings: UNDER DEVELOPMENT! Will evantually save the entered values from the Measurement tab.<
/li>
<
li>Save current analysis settings: UNDER DEVELOPMENT! Will eventually save the entered values from the Analysis tab.<
/li>
<
li>Exit: Exit the software
(shortkey x
)<
/li>
<
li>Analysis
(each takes you to the appropriate options
for the analysis
):<
/li>
<
li>Histogram
type: Change between histogram types
(same as in histogram controls window
).<
/li>
<
li>Fit spectrum: UNDER DEVELOPMENT! Will produce a fit of ADC spectrum peak structure of the current file
/files.<
/li>
<
li>Integrate spectrum: Integrate the ADC spectrum of the current file
/files inside the
selected ADC range.<
/li>
<
li>Integrate spectrum
(X direction
): Same as Integrate spectrum, but the
selected files were produced as X
axis scans. Makes the determination of an X directional edge scan and produces a 2D plot if Z
axis scan was also enabled.<
/li>
<
li>Integrate spectrum
(Y direction
): Same as Integrate spectrum
(X direction
), but the
selected files were produced as Y
axis scans.<
/li>
<
li>Relative PDE: Produce a relative PDE plot, where
selected files were produced as incidence angle scans.<
/li>
<
li>Surface 2D scan: Produce an integral of the ADC spectrum, where
selected files were produced as surface scans
(in X and Y directions
).<
/li>
<
li>Timing analysis: UNDER DEVELOPMENT! Will make an analysis on the TDC spectrum of measurements.<
/li>
<
li>Help information<
/li>
<
p><
span>Important!<
/span> When using any analysis
method, only events inside the
selected TDC window will be used
(set the TDC range accordingly
).<
/p>
<
h3 id="featold">3b. Old program
version (trunk_v0.9
)<
/h3>
<
p>The main window is divided into
5 subwindows:<
/p>
<
li>Settings window:<
/li>
<
li>ON
/OFF switches
for voltage and surface scans<
/li>
<
li>a voltage limiter: sets the maximum output voltage
for safety reasons<
/li>
<
li>clean plots toggle switch: when ON, no additional stats will be displayed on plots
/histograms<
/li>
<
li>
scope IP: sets the oscilloscope IP address<
/li>
<
li>LASER settings info panel: this will be written to the output file and is used
for supplying additional information<
/li>
<
li>chamber temperature: the chamber temperature to be written to the output file<
/li>
<
li>incidence angle: the angle at which the sample is rotated around its
axis, relative to the LASER beam
(0 degrees is perpendicular to LASER beam
)<
/li>
<
li>Main measurement window:<
/li>
<
li>settings
for table position and bias voltage<
/li>
<
li>when scans are enabled, additional settings
for scans<
/li>
<
li>number of events: setting
for the number of events to gather in a measurement<
/li>
<
li>time stamp: informational time
(start time of measurement is written to output file
)<
/li>
<
li>file selector
(for scans, the filenames will be appended sequential numbers to distinguish them
)<
/li>
<
li>
start acquisition button: starts the measurement based on
selected settings<
/li>
<
li>waveform analysis settings
(channel, measurement
type)<
/li>
<
li>possibility to send custom one-line commands<
/li>
<
li>Histogram file selection window:<
/li>
<
li>open past measurements
for analysis<
/li>
<
li>if using
multiple files, use
multiple file select or select all listed files<
/li>
<
li>files will be used in order displayed on the list<
/li>
<
li>to
clear the complete list, use the
clear list button<
/li>
<
li>to edit the header information of currently
selected files, use the edit header button<
/li>
<
li>any opened measurement has an info display of its header at the bottom
for easier navigation<
/li>
<
li>Histogram window: displays the currently
selected histogram in the histogram file selection window<
/li><
br/>
<
li>Histogram controls window:<
/li>
<
li>directly linked to the histogram window, it enables plotting options<
/li>
<
li>can set ranges on histogram plots<
/li>
<
li>can change between different histogram types
(ADC, TDC, ADC vs. TDC, 2D surface plot
)<
/li>
<
li>
for the 2D surface plot, the relevant files need to be
selected in the histogram file selection window<
/li>
<
li>toggle
for logarithmic Y scale<
/li>
<
li>the currently
selected histogram can be manually exported with the export button<
/li>
<
li>fit settings used when running
"Fit spectrum" and
"Fit all selected" options in the Analysis menu<
/li>
<
p>On the top, there are
4 menus:<
/p>
<
li>New Measurement: not working<
/li>
<
li>Exit: exit the software
(shortkey x
)<
/li>
<
li>Histogram
type: change between histogram types
(same as in histogram controls window
)<
/li>
<
li>Fit spectrum: fit the currently open spectrum
for peaks<
/li>
<
li>Fit all
selected: fit all the
selected ADC spectra
selected in the histogram file selection window
for peaks and display the breakdown voltage plots<
/li>
<
li>Integrate spectrum
(X, Y
): integrate the ADC spectrum
for multiple files with an X or Y scan
(used
for edge scans
)<
/li>
<
li>Relative PDE: calculation of the relative PDE
for the currently
selected files<
/li>
<
li>Fieldpoint temperature sensor: direct graphing of the fieldpoint temperature sensor
(with settings
for fieldpoint channel,
start time and end time
), output is a graph
(if exporting
) and a comma separated list saved to folder <
tt>.
/fieldpoint<
/tt>. Updating the graph can cause unstable behavior. If possible, use <
tt>~
/sipmscan
/fieldpoint_standalone<
/tt> instead.<
/li>
<
li>Specific window tiling<
/li>
<
li>Switch between active windows<
/li>
<
li>Help information<
/li>
<
p><
span>Important!<
/span> When using any analysis
method (surface 2D plot, fitting, integration, ADC spectra display
) only events inside the
selected TDC window will be used so set the TDC range accordingly.<
/p>
<
div class="backtop"><
a href="#top">Back to top<
/a><
/div>
<
h2 id="prepmeasure">
4. Preparing
for measurements<
/h2>
<
p>General information
for preparing the experimental setup and software
for measurements.<
/p>
<
h3 id="presoft">4a. Pre-software checks<
/h3>
<
p>Before running the Online
version of the program, make sure that CAMAC
(Computer Automated Measurement And Control
) is turned on and is connected to the computer via a USB cable. If upon starting, the program gives the following message:<
/p>
<
p>then CAMAC was not started or the program did not properly register it.<
/p>
<
p>In addition,
for the Online
version of the program, make sure that all movement table controllers are turned on and are connected to the computer via a USB cable.<
/p>
<
p>
For the connection with the oscilloscope
(Online and Offline with
scope control versions of the program
), make sure it is connected to the same network with a UTP cable and that the VXI software is started on it.<
/p>
<
h3 id="exppremeasure">4b. Experimental setup pre-measurement checks<
/h3>
<
p>When making changes inside the setup, make sure that no cables are hindering the movement of any of the movement tables.
For the X, Y and Z
axis table, the most critical are motor control cables
(white, flat, multiwire cables
) and the optical cable
for laser optics
(yellow or orange optical fibre
).
For the rotation table, the most critical are voltage supply cable
(marked with BIAS
) and signal cables
(the same as bias cable, but unmarked or marked with SIGNAL
).<
/p>
<
p>Additionally, whenever putting the experimental setup back together, note the distance between the laser optics and the sample. The sample should be placed out of harms way from the collimator of the optics
(check it by setting Z
axis position to
0).<
/p>
<
h3 id="softpremeasure">4c. Software pre-measurement checks<
/h3>
<
p>Before starting any measurement, it is suggested to set the Voltage limit
(Settings pane, Measurement tab
) in order to avoid any unwanted mistakes in bias voltage settings
(to avoid any irreparable damage to the sample
). Also, make sure to note the output channel
for bias voltage supply and not change any other channels
(since they could be connected to other experimental setups
).<
/p>
<
div class="backtop"><
a href="#top">Back to top<
/a><
/div>
<
h2 id="measures">
5. Measurements<
/h2>
<
p>Information on the settings
for performing measurements available in this program and information on the movement tables.<
/p>
<
h3 id="meassettings">5a. Measurement settings<
/h3>
<
p>On the Settings pane in the Measurement tab, the
type of measurement can be
selected:<
/p>
<
li>None is
checked: The program will perform a single measurement
(useful
for quickly determining the state of the setup
).<
/li><
br/>
<
li>Voltage scan is
checked: The program will enable <
tt>V
(min
)<
/tt>, <
tt>V
(max
)<
/tt> and <
tt>V
(step
)<
/tt> settings and perform
multiple measurements at different bias voltages. The number of measurements is equal to:
The last measurement is at a voltage always lower or equal to <
tt>V
(max
)<
/tt>
for safety reasons. Whenever <
tt>V
(step
)<
/tt> is
0, only one measurement will be performed at <
tt>V
(min
).<
/tt><
/li><
br/>
<
li>Surface scan is
checked: The program will enable <
tt>X
(min
)<
/tt>, <
tt>X
(max
)<
/tt> and <
tt>X
(step
)<
/tt>, and <
tt>Y
(min
)<
/tt>, <
tt>Y
(max
)<
/tt> and <
tt>Y
(step
)<
/tt> settings and perform
multiple measurements at different table positions
(surface scan
). The number of measurements is equal to:
<
div class="codeback"><
pre><
code>Floor
( [X
(max
) - X
(min
)]/X
(step
) )
Floor
( [Y
(max
) - Y
(min
)]/Y
(step
) )<
/code><
/pre><
/div>
The last measurement is at a position always smaller or equal to <
tt>X
(max
)<
/tt> or <
tt>Y
(max
)<
/tt>. Whenever <
tt>X
(step
)<
/tt> is
0, only one measurement will be performed at <
tt>X
(min
)<
/tt> and equally in the Y
axis direction. By setting one
axis step
size to
0, only scans along one
axis are performed
(for example
for edge scans
).<
/li><
br/>
<
li>Z-
axis scan is
checked: The program will enable <
tt>Z
(min
)<
/tt>, <
tt>Z
(max
)<
/tt> and <
tt>Z
(step
)<
/tt> settings and perform
multiple measurements at different distances between laser optics and the sample
(Z
axis). The number of measurements is equal to:
The last measurement is at a position always smaller or equal to <
tt>Z
(max
)<
/tt>. Whenever <
tt>Z
(step
)<
/tt> is
0, only one measurement will be performed at <
tt>Z
(min
)<
/tt>.<
/li><
br/>
<
li>Rotation scan is
checked: The program will enable <
tt>Angle
(min
)<
/tt>, <
tt>Angle
(max
)<
/tt> and <
tt>Angle
(step
)<
/tt> settings and perform
multiple measurements at different incidence angles
(angle away from perpendicular incidence of laser light on the sample
). The number of measurements is equal to:
The last measurement is at an angle always smaller or equal to <
tt>Angle
(max
)<
/tt>. Whenever <
tt>Angle
(step
)<
/tt> is
0, only one measurement will be performed at <
tt>Angle
(min
)<
/tt>.<
/li>
<
p>Surface scan and Z
axis scan can be combined to perform edge scans at different distances between optics and sample
(useful
for finding the focal point of the laser
).<
/p>
<
h3 id="tempchamber">5b. Temperature chamber considerations<
/h3>
<
p>Whenever using the temperature chamber, be careful about the set temperature. SiPM samples have a specific operational and storage temperatures that should not be exceeded. The temperature chamber, however, has slight overshoots when increasing the temperature, thus heating slightly above the set temperature
(sometimes as much as
5 degrees
) and then cooling back down.<
/p>
<
p>The chamber also has some problems cooling after previous heating
(ex. coming from
0 degrees to
25 degrees and then again cooling the chamber
). In this case, it will seem to remain around some temperature, although it is supposed to be cooling down. Sometimes this can be solved by turning off the chamber and waiting
for some time or by making a large temperature jump from higher to lower temperature
(taking into consideration the sample temperature range
).<
/p>
<
p>Opening the chamber after measurements at low temperatures should be very short, since condensation forms very quickly that can then lead to the water droplets freezing at low temperatures. Ideally, the chamber should be warmed close to room temperature before opening, but any very short changes to the setup can still be performed when at lower temperatures.<
/p>
<
h3 id="movement">5c. Movement table<
/h3>
<
p>The movement tables are controlled by National Aperture MicroMini controllers through a subprogram found in <
tt>$sipmscan
/trunk
/src/MIKRO<
/tt>. Sometimes special measures are needed
(in case of problems
) that are not available inside the sipmscan software, but can be achieved by going directly to the subprogram. The subprogram can be run, by going directly to its directory and running:<
/p>
<
p>The arguments can be
(only running <
tt>.
/mikro_ctrl<
/tt> will bring up help information
):<
/p>
<
li>Node select: <
tt>-n
[node nr
]<
/tt>. The <
tt>
[nodenr
]<
/tt> is the address number of the controller as set on the front of the MicroMini controller.<
/li>
<
li>Initialize node: <
tt>-i
[init
type]<
/tt>. The <
tt>
[inittype
]<
/tt> is the initialization
type that can be 3M Linear
(1), 3M Rotational
(2), 4M Linear
(3) or 4M Rotational
(4). 3M are the smaller
/shorter versions, while 4M are the larger
/longer versions
(all three
axis are 4M Linear and the angle is 3M Rotational
). Always needs the node select argument
(<
tt>-n<
/tt>
).<
/li>
<
li>Node homing: <
tt>-h<
/tt>. Sets the node to a predetermined
0 value (home
). Always needs the node select argument
(<
tt>-n<
/tt>
). <
span>IMPORTANT:<
/span> The rotational table must never be set to home! It does not have a predetemined zero, so the table will infinitely spin and can cause harm to the sample or attached cables.<
/li>
<
li>Reset node: <
tt>-r<
/tt>. Does a complete reset of the controller. Always needs the node select argument
(<
tt>-n<
/tt>
). After reset, the controller needs to be initialized in order to work properly.<
/li>
<
li>Node status: <
tt>-a<
/tt>. Returns the current status of the controller. Can be used with node select argument
(<
tt>-n<
/tt>
) to
target specific controller or without to display status from all.<
/li>
<
li>Node position: <
tt>-p<
/tt>. Returns the current position of the controller. Always needs the node select argument
(<
tt>-n<
/tt>
).<
/li>
<
li>Node get command: <
tt>-g
[command
]<
/tt>. Get return
value from the issued command. Always needs the node select argument
(<
tt>-n<
/tt>
).
For possible commands, see the MicroMini user manual.<
/li>
<
li>Node set command: <
tt>-v
[value] -s
[command
]<
/tt>. Set a
value with an issued command. Always needs the node select argument
(<
tt>-n<
/tt>
).
For possible commands and values, see the MicroMini user manual.<
/li>
<
li>Custom node command: <
tt>-c
[command
]<
/tt>. Run one of the node commands without setting a
value. Always needs the node select argument
(<
tt>-n<
/tt>
).
For possible commands and values, see the MicroMini user manual.<
/li>
<
li>Initialize node
2 as a 4M Linear
type:<
/li>
<
li>Determine node
1 position:<
/li>
<
li>Prepare to move node
2 to an absolute position of
1000 and move it:<
/li>
<
div class="codeback"><
pre><
code>.
/mikro_ctrl -n
2 -v
500 -s la
<
li>Prepare to move node
3 relative to current position
for -
500 and move it:<
/li>
<
div class="codeback"><
pre><
code>.
/mikro_ctrl -n
2 -v -
500 -s lr
<
li>Abort the current movement of node
4:<
/li>
<
li><
a href="http://www-f9.ijs.si/~rok/detectors/oprema/national_aperture_stages/MicroMini_Manual.pdf" target="_blank">MicroMini controller manual<
/a><
/li>
<
li><
a href="http://www.naimotion.com/mm4mex.htm" target="_blank">4M Linear table information<
/a><
/li>
<
li><
a href="http://www.naimotion.com/mm3mr.htm" target="_blank">3M Rotational table information<
/a><
/li>
<
h3 id="biasvolt">5d. Bias voltage supply<
/h3>
<
p>The bias voltage is supplied by the MPOD HV & LV power supply system through a subscript found in <
tt>$sipmscan
/trunk
/src/mpod<
/tt>
(using the snmp software
). Sometimes special measures are needed
(in case of problems
) that are not available inside the sipmscan software, but can be achieved by going directly to the subprogram. The subprogram can be run, by going directly to its directory and running:<
/p>
<
p>The arguments can be:<
/p>
<
li>Reset all output channels: <
tt>--resetall<
/tt><
/li>
<
li>Reset a
selected output channel: <
tt>-r
[channel
]<
/tt><
/li>
<
li>Selects an output channel: <
tt>-o
[channel
]<
/tt><
/li>
<
li>Sets the output channel voltage: <
tt>-v
[voltage
]<
/tt><
/li>
<
li>Turns the output on
/off: <
tt>-s
[0/1]<
/tt><
/li>
<
li>Get the current output channel voltage: <
tt>-g<
/tt><
/li>
<
li>Get the set bias voltage on channel
1 (U0
):<
/li>
<
li>Turn the bias voltage off on channel
2 (U1
):<
/li>
<
li>Turn the bias voltage on and set it to 24.5V on channel
1 (U0
):<
/li>
<
li>Reset channel
2 (U1
):<
/li>
<
p>In its complete state, the command used in the script mpod_voltage.sh
for setting
for example an output voltage of
24.5 to channel
1 (U0
):<
/p>
<
div class="codeback"><
pre><
code>snmpset -v 2c -M +. -m +WIENER-CRATE-MIB -c guru
[IP address
] outputVoltage.1 F
24.5<
/code><
/pre><
/div>
<
li><
a href="http://www.net-snmp.org/docs/man/" target="_blank">Net-SNMP<
/a><
/li>
<
li><
a href="http://file.wiener-d.com/documentation/MPOD/Manual_MPOD_LV-HV_2.9.pdf" target="_blank">MPOD documentation<
/a><
/li>
<
div class="backtop"><
a href="#top">Back to top<
/a><
/div>
<
h2 id="measfiles">
6. Measurement files<
/h2>
<
p>The measurement files, used
for saving results, are constructed in native ROOT format to increase the read
/write speeds while reading and saving
data.<
/p>
<
h3 id="rootfile">6a. ROOT file structure<
/h3>
<
p>The output ROOT files are structured in this way:<
/p>
<
div class="codeback"><
div class="codename">ROOT file structure<
/div>
|
|== header_data (TTree): Header information (same for all events)
| |
| |== nrch (TBranch): Number of channels (ADC + TDC channels)
| |== timestamp (TBranch): Unix timestamp for start of measurement
| |== biasvolt (TBranch): Measurement bias voltage
| |== xpos (TBranch): X axis position in table units
| |== ypos (TBranch): Y axis position in table units
| |== zpos (TBranch): Z axis position in table units
| |== temperature (TBranch): Chamber temperature
| |== angle (TBranch): Incidence angle of measurement
| |== laserinfo (TBranch): Additional info for measurement
|
|== meas_data (TTree): Measured values from ADC and TDC (all events)
| |
| |== ADC0 (TBranch): All events from ADC channel 0 saved in order
| |== TDC0 (TBranch): All events from TDC channel 0 saved in order
| |== ADC1 (TBranch): All events from ADC channel 1 saved in order
| |== TDC1 (TBranch): All events from TDC channel 1 saved in order
| |== ... (TBranch): Additional channels up to 8 (0-7) in total
|
|== scope_data (TTree, optional): Measured values from the oscilloscope
|
|== measdata (TBranch): Currently in development
<
p>The easiest way to get the
data is to create structures:<
/p>
<
div class="codeback"><
div class="codename">Output file structure<
/div>
int nrch;
int timestamp;
double biasvolt;
int xpos;
int ypos;
int zpos;
double temperature;
double angle;
char laserinfo[256];
} evtheader;
struct EventData {
int adcdata[8];
int tdcdata[8];
} evtdata;
struct EventMeas {
double measdata;
} evtmeas;
<
p>Then opening the file:<
/p>
<
div class="codeback"><
pre><
code>TFile* inputfile
= TFile::Open
("filename.root",
"READ");<
/code><
/pre><
/div>
<
p>And getting separate information:<
/p>
<
li>
for instance
for reading the bias voltage from header:<
/li>
inputfile->GetObject("header_data", sometree);
sometree->SetBranchAddress("biasvolt", &evtheader.biasvolt);
<
li>
for instance
for reading all ADC and TDC events in a file from channel
1 (ADC0
):<
/li>
inputfile->GetObject("meas_data", sometree);
char selectedCh[256];
for(int i = 0; i < sometree->GetEntries(); i++)
{
sprintf(selectedCh, "ADC%d", 0);
sometree->SetBranchAddress(selectedCh, &evtdata.adcdata[i]);
sometree->GetEntry(i);
sprintf(selectedCh, "TDC%d", 0);
sometree->SetBranchAddress(selectedCh, &evtdata.tdcdata[i]);
sometree->GetEntry(i);
<
h3 id="fileopen">6b. Opening measurement files<
/h3>
<
p>The sipmscan software has internal handling
for saving and opening measurement files. To open these files
for an analysis, use the File selection button in the Histogram file selection window
(Analysis tab
). Once the file or files are opened, it is possible to double click a file on the list to display its histogram. The histogram can then be manipulated by changing ADC or TDC ranges, or changing the
type of displayed histogram
(ADC, TDC ADC versus TDC
).<
/p>
<
p>Each of the
selected files has a display of its header below the file list in order to quickly determine at what conditions and when this measurement was taken. If there are any problems with the header, modifications can be performed with the Edit header button.<
/p>
<
p>After that analysis on the measurements can be performed, based on the
selected ranges
for ADC and TDC
(note that each measured event has a ADC and TDC channel
value saved to the file
).<
/p>
<
div class="backtop"><
a href="#top">Back to top<
/a><
/div>
<
h2 id="analysis">
7. Analysis<
/h2>
<
p>The sipmscan software already includes a number of analysis options:<
/p>
<
li>Plotting ADC
(Analog-to-Digital Converter
) spectrum, TDC
(Time-to-Digital Converter
) spectrum and ADC versus TDC 2D plots.<
/li>
<
li>Fitting of ADC spectrum photon equivalent peaks.<
/li>
<
li>ADC spectrum integration: Single or along X or Y directions
(for edge scans
).<
/li>
<
li>Relative Photon Detection Efficiency: Efficiency of sample relative to incidence angle.<
/li>
<
li>Breakdown voltage: Determination of silicon detector breakdown voltage through ADC spectrum photon peak separation
(gain
).<
/li>
<
li>Surface scan: Production of a 2D plot by integrating the ADC spectrum in each laser position.<
/li>
<
div class="backtop"><
a href="#top">Back to top<
/a><
/div>
<
h2 id="changelog">
8. Change log<
/h2>
<
p>5.10.2016
(Current
Rev):<
/p>
<
li>Fixed a couple of bugs and layout positions.<
/li>
<
li>Added settings files
for measurement and analysis settings. With this, everytime a new measurement or a new analysis is ran, the
selected settings are saved to a file. This way, if the program crashes, all settings will be automatically filled in.<
/li>
<
p>30.9.2016
(Rev 172):<
/p>
<
li>Fixed the time estimation
for surface and Z-
axis scans
(TimeEstimateNew
).<
/li>
<
li>Did the same as c
) in the previous revision, but separately
for opening histogram files and
for selecting the measurement output file.<
/li>
<
li>Added an Emergency stop button to the movement of the table - just in case a wrong
value is inserted and there is something in the way.<
/li>
<
li>Added a way to integrate the surface scan, when using the
"Start and Edit" option. This can be useful
for determining the angular dependence of the light passing onto a complete camera pixel.<
/li>
<
p>11.8.2016
(Rev 167):<
/p>
<
li>When using breakdown voltage or relative PDE analysis and with only one file
selected, the analysis is stopped and the fit is displayed on the graph. This makes it easier to setup fitting settings.<
/li>
<
li>Added the possibility to export plots created through analysis
("Start and edit" option
).<
/li>
<
li>Everytime, when opening a histogram file, the following open and save dialog windows automatically open up in that directory. This makes it easier to find the directory that was used last.<
/li>
<
li>Added a dropdown list to the Analysis tab, so that it is possible to set position units
for plots
(table units or microns
).<
/li>
<
li>Normalization to a maximum of
1 now works
for surface scans.<
/li>
<
p>4.4.2016
(Rev 146):<
/p>
<
li>Complete restructure of the program, so that it now runs seperately, not through ROOT
(libraries are constructed pre-run
). Program is now split into
multiple tabs
for easier use, three of which are Measurement, Analysis and Help.<
/li>
<
li>Added support
for relative PDE measurements with included sample rotation table.<
/li>
<
li>Improvement of analysis part of the program
(includes ADC spectrum integration, breakdown voltage characterization, surface scans, relative PDE characterization,...
).<
/li>
<
li>Added tooltips
for different parts of the program
for quick reference. Use them by hovering over any
text entries, number entries, check boxes or buttons.<
/li>
<
li>Connection to temperature
data and oscilloscope currently under development.<
/li>
<
li>Older
version of program moved to <
a href="https://f9pc00.ijs.si/svn/f9daq/lab/sipmscan/trunk_v0.9">https:
//f9pc00.ijs.si
/svn
/f9daq
/lab
/sipmscan
/trunk_v0.9<
/a> and will no longer be in development.<
/li>
<
p>17.7.2015
(Rev 129):<
/p>
<
li>Fixed a problem with ADC peak fitting
(peak fitting returning a segmentation fault
).<
/li>
<
li>Added support to edit file
headers (in case, some were created at an older date and did not include some header information or there was a mistake in writing them
).<
/li>
<
li>Temperature
data can only be retrieved when connected to the IJS network
(IP
= 178.172.43.xxx
) and is
disabled otherwise.<
/li>
<
li>The relative PDE measurement now takes the incidence angle
value directly from input files.<
/li>
<
li>Currently,
data acquisition only works on 32bit computers.<
/li>
<
li>Fixed issue with program not correctly writting
multiple channels.<
/li>
<
p>5.5.2015
(Rev 128):<
/p>
<
li>Added a header display
for opened files in the histogram file selection window. This enables a quicker view of the measurement information.<
/li>
<
li>Added an incidence angle input to be able to save sample rotation angle to
headers of files.<
/li>
<
li>Added support
for the fieldpoint temperature sensor
(FP RTD
122). Can now plot and export
data from the sensor
for a specific channel and specific time range.
For now, this option only works if the PC you are using this program on is connected to an internet
/ethernet connection at IJS.<
/li>
<
li>Added a limited relative PDE analysis option. At this time, it takes the
selected files and calculates the PDE, relative to the first
selected file. The first file should be measured at incidence angle
0, with others having an incidence angle shift of +
15 (1st file ->
0, 2nd file ->
15, 3rd file ->
30,...
).<
/li>
<
p>9.4.2015
(Rev 127):<
/p>
<
li>Added communications panel
for connecting to a Tektronix
scope.<
/li>
<
li>Added limited support
for waveform analysis with a Tektronix
scope.
For now, it only works when linking it to CAMAC acquisition.<
/li>
<
li>Added a manual chamber temperature entry field.<
/li>
<
p>16.3.2015
(Rev 117):<
/p>
<
li>First
version of sipmscan.<
/li>
<
li>Added support
for CAMAC, bias voltage settings and table position settings.<
/li>
<
li>Added support
for opening measured histograms.<
/li>
<
li>Added support
for analysis:<
/li>
<
li>making surface plots<
/li>
<
li>fitting the ADC spectrum<
/li>
<
li>creating breakdown voltage plots<
/li>
<
li>integrating the ADC spectrum with changing X or Y direction
(edge scans
)<
/li>
<
div class="backtop"><
a href="#top">Back to top<
/a><
/div>