Rev 172 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 172 | Rev 173 | ||
---|---|---|---|
1 | SOFTWARE FOR SIPM CHARACTERIZATION WITH CAMAC, SCOPE, BIAS VOLTAGE AND TABLE POSITION SUPPORT |
1 | SOFTWARE FOR SIPM CHARACTERIZATION WITH CAMAC, SCOPE, BIAS VOLTAGE AND TABLE POSITION SUPPORT |
2 | ============================================================================================= |
2 | ============================================================================================= |
3 | By Gasper Kukec Mezek, April 2015. |
3 | By Gasper Kukec Mezek, April 2015. |
4 | 4 | ||
5 | ============== |
5 | ============== |
6 | = Contents === |
6 | = Contents === |
7 | ============== |
7 | ============== |
8 | 8 | ||
9 | 1. Installation |
9 | 1. Installation |
10 | 2. Running the software |
10 | 2. Running the software |
11 | 3. Program feature overview |
11 | 3. Program feature overview |
12 | 3a. Current program version (trunk) |
12 | 3a. Current program version (trunk) |
13 | 3b. Old program version (trunk_v0.9) |
13 | 3b. Old program version (trunk_v0.9) |
14 | 4. Preparing for measurements |
14 | 4. Preparing for measurements |
15 | 4a. Pre-software checks |
15 | 4a. Pre-software checks |
16 | 4b. Experimental setup pre-measurement checks |
16 | 4b. Experimental setup pre-measurement checks |
17 | 4c. Software pre-measurement checks |
17 | 4c. Software pre-measurement checks |
18 | 5. Measurements |
18 | 5. Measurements |
19 | 5a. Measurement settings |
19 | 5a. Measurement settings |
20 | 5b. Temperature chamber considerations |
20 | 5b. Temperature chamber considerations |
21 | 5c. Movement table |
21 | 5c. Movement table |
22 | 5d. Bias voltage supply |
22 | 5d. Bias voltage supply |
23 | 6. Measurement files |
23 | 6. Measurement files |
24 | 6a. ROOT file structure |
24 | 6a. ROOT file structure |
25 | 6b. Opening measurement files |
25 | 6b. Opening measurement files |
26 | 7. Analysis |
26 | 7. Analysis |
27 | 8. Change log |
27 | 8. Change log |
28 | 28 | ||
29 | ===================== |
29 | ===================== |
30 | = 1. Installation === |
30 | = 1. Installation === |
31 | ===================== |
31 | ===================== |
32 | 32 | ||
33 | See $sipmscan/doc/INSTALL for installation instructions or use "./configure help". |
33 | See $sipmscan/doc/INSTALL for installation instructions or use "./configure help". |
34 | 34 | ||
35 | ============================= |
35 | ============================= |
36 | = 2. Running the software === |
36 | = 2. Running the software === |
37 | ============================= |
37 | ============================= |
38 | 38 | ||
39 | Once installation is performed, use |
39 | Once installation is performed, use |
40 | ./start.sh |
40 | ./start.sh |
41 | to start the software in offline mode or |
41 | to start the software in offline mode or |
42 | sudo ./start.sh |
42 | sudo ./start.sh |
43 | to start the software in online mode. Once the software starts, it will let you know (in the terminal) if connection to CAMAC |
43 | to start the software in online mode. Once the software starts, it will let you know (in the terminal) if connection to CAMAC |
44 | was correctly established. |
44 | was correctly established. |
45 | 45 | ||
46 | ================================= |
46 | ================================= |
47 | = 3. Program feature overview === |
47 | = 3. Program feature overview === |
48 | ================================= |
48 | ================================= |
49 | 49 | ||
50 | This part describes the different parts of the software and a short description on what they do. |
50 | This part describes the different parts of the software and a short description on what they do. |
51 | ____________________________________ |
51 | ____________________________________ |
52 | 3a. Current program version (trunk): |
52 | 3a. Current program version (trunk): |
53 | 53 | ||
54 | The main window is divided into 4 tabs and then further into subwindows: |
54 | The main window is divided into 4 tabs and then further into subwindows: |
55 | 1) Measurement tab: |
55 | 1) Measurement tab: |
56 | a) Settings pane: |
56 | a) Settings pane: |
57 | - ON/OFF switches for voltage, surface, Z axis and rotation scans (ON when checked). |
57 | - ON/OFF switches for voltage, surface, Z axis and rotation scans (ON when checked). |
58 | - A voltage limiter -> Sets the maximum output voltage that can be set under Output voltage (sample safety reasons). |
58 | - A voltage limiter -> Sets the maximum output voltage that can be set under Output voltage (sample safety reasons). |
59 | - Nr. of channels -> The number of channels to measure. Each channel corresponds to an ADC/TDC pair. |
59 | - Nr. of channels -> The number of channels to measure. Each channel corresponds to an ADC/TDC pair. |
60 | - Position units -> For display, use either movement table native units or micrometers (table units default). |
60 | - Position units -> For display, use either movement table native units or micrometers (table units default). |
61 | - Rotation units -> For display, use either rotation table native units or degrees (degrees default). |
61 | - Rotation units -> For display, use either rotation table native units or degrees (degrees default). |
62 | - Scope IP -> Sets the oscilloscope IP address for connections to a device. |
62 | - Scope IP -> Sets the oscilloscope IP address for connections to a device. |
63 | - LASER settings info panel -> Additional information to be written to the output file header (most generally used for |
63 | - LASER settings info panel -> Additional information to be written to the output file header (most generally used for |
64 | laser information). |
64 | laser information). |
65 | - Chamber temperature -> Chamber temperature to be written to the output file (temperature not directly taken from the |
65 | - Chamber temperature -> Chamber temperature to be written to the output file (temperature not directly taken from the |
66 | fieldpoint sensor). |
66 | fieldpoint sensor). |
67 | - Live histogram ON/OFF -> ON/OFF switch for live histogram update. Offers quick overview of the current measurement. |
67 | - Live histogram ON/OFF -> ON/OFF switch for live histogram update. Offers quick overview of the current measurement. |
68 | Should be avoided for scans. |
68 | Should be avoided for scans. |
69 | b) Display: Display of the live histogram, when it is turned on. |
69 | b) Display: Display of the live histogram, when it is turned on. |
70 | c) Main measurement window: |
70 | c) Main measurement window: |
71 | - Settings for bias voltage, table position and incidence angle measurements. |
71 | - Settings for bias voltage, table position and incidence angle measurements. |
72 | - Additional settings enabled, when scans are enabled. |
72 | - Additional settings enabled, when scans are enabled. |
73 | - If only one directional scan in X or Y direction is needed, set measurement to a surface scan and leave the other |
73 | - If only one directional scan in X or Y direction is needed, set measurement to a surface scan and leave the other |
74 | step size to 0. |
74 | step size to 0. |
75 | - Number of events -> Number of events gathered in one measurement. |
75 | - Number of events -> Number of events gathered in one measurement. |
76 | - Time stamp -> Date and time of measurement that is written to the header of the output file. |
76 | - Time stamp -> Date and time of measurement that is written to the header of the output file. |
77 | - Save to file -> Selecting of output file filename. For scans, sequential numbers are appended to the end of the |
77 | - Save to file -> Selecting of output file filename. For scans, sequential numbers are appended to the end of the |
78 | selected filename (i.e. /path/to/test.root will in a scan have /path/to/test_001.root, /path/to/test_002.root,...). |
78 | selected filename (i.e. /path/to/test.root will in a scan have /path/to/test_001.root, /path/to/test_002.root,...). |
79 | - Start acquisition -> Starts the measurement based on currently selected settings. |
79 | - Start acquisition -> Starts the measurement based on currently selected settings. |
80 | - Current measurement progress bar -> Determines the status of the current measurement. |
80 | - Current measurement progress bar -> Determines the status of the current measurement. |
81 | 81 | ||
82 | 2) Analysis tab: |
82 | 2) Analysis tab: |
83 | a) Histogram file selection: |
83 | a) Histogram file selection: |
84 | - Open past measurements for analysis. Additional display of header information for quicker reference. |
84 | - Open past measurements for analysis. Additional display of header information for quicker reference. |
85 | - If using multiple files for the analysis, use multiple file select or select all listed files. They will be used in |
85 | - If using multiple files for the analysis, use multiple file select or select all listed files. They will be used in |
86 | order displayed on the list. |
86 | order displayed on the list. |
87 | - Use the Clear list button to clear all entries in from the list. |
87 | - Use the Clear list button to clear all entries in from the list. |
88 | - Use the edit header button to update any information inside the headers of entries selected on the list. |
88 | - Use the edit header button to update any information inside the headers of entries selected on the list. |
89 | b) Histogram: Displays the currently selected histogram from the histogram file selection subwindow. |
89 | b) Histogram: Displays the currently selected histogram from the histogram file selection subwindow. |
90 | c) Histogram controls: |
90 | c) Histogram controls: |
91 | - Enables plotting options for the currently selected histogram and to setup spectral options for analysis. |
91 | - Enables plotting options for the currently selected histogram and to setup spectral options for analysis. |
92 | - ADC range -> Sets the range of the ADC spectrum. Ranges are automatic, when set to (0,0). |
92 | - ADC range -> Sets the range of the ADC spectrum. Ranges are automatic, when set to (0,0). |
93 | - TDC range -> Sets the range of the TDC spectrum. TDC spectrum determines the events used for plotting the ADC spectrum. |
93 | - TDC range -> Sets the range of the TDC spectrum. TDC spectrum determines the events used for plotting the ADC spectrum. |
94 | - Y range -> Sets the range of the Y axis on the spectrum. Ranges are automatic, when set to (0,0). |
94 | - Y range -> Sets the range of the Y axis on the spectrum. Ranges are automatic, when set to (0,0). |
95 | - Display channel -> Selects the channel to plot, when opening a multichannel measurement file. |
95 | - Display channel -> Selects the channel to plot, when opening a multichannel measurement file. |
96 | - Plot type buttons -> Buttons to change between ADC, TDC or ADC/TDC type of plot. |
96 | - Plot type buttons -> Buttons to change between ADC, TDC or ADC/TDC type of plot. |
97 | - Logarithmic scale ON/OFF -> Toggle for logarithmic Y axis scale. |
97 | - Logarithmic scale ON/OFF -> Toggle for logarithmic Y axis scale. |
98 | - Clean plots ON/OFF -> Toggle for hiding plot information or not (such as plot title, fitting information, statistics |
98 | - Clean plots ON/OFF -> Toggle for hiding plot information or not (such as plot title, fitting information, statistics |
99 | information). |
99 | information). |
100 | - Export -> Exports the currently selected histograms (ADC, TDC or ADC/TDC form selected files) into the .pdf format. |
100 | - Export -> Exports the currently selected histograms (ADC, TDC or ADC/TDC form selected files) into the .pdf format. |
101 | - Edit -> UNDER DEVELOPMENT! Opens the currently visible plot in the Histogram subwindow in a new tab to enable editing. |
101 | - Edit -> UNDER DEVELOPMENT! Opens the currently visible plot in the Histogram subwindow in a new tab to enable editing. |
102 | d) Analysis: |
102 | d) Analysis: |
103 | - Options for specific analysis types (integrate spectrum, relative PDE, breakdown voltage, surface scan, timing). When |
103 | - Options for specific analysis types (integrate spectrum, relative PDE, breakdown voltage, surface scan, timing). When |
104 | using Start button, analysis starts, saves results and quits. When using Start and edit button, analysis starts and gives |
104 | using Start button, analysis starts, saves results and quits. When using Start and edit button, analysis starts and gives |
105 | options to further edit the results. |
105 | options to further edit the results. |
106 | - General fit settings (Peak sigma, S/N ratio, background interpolation, ADC spectrum offset, Maximum acceptable peak |
106 | - General fit settings (Peak sigma, S/N ratio, background interpolation, ADC spectrum offset, Maximum acceptable peak |
107 | fit error, pedestal lower limit, background subtraction, export fits). Settings for analysis based on fitting of peaks |
107 | fit error, pedestal lower limit, background subtraction, export fits). Settings for analysis based on fitting of peaks |
108 | on the ADC spectra (breakdown voltage and relative PDE). The current progress of the analysis is displayed on the |
108 | on the ADC spectra (breakdown voltage and relative PDE). The current progress of the analysis is displayed on the |
109 | progress bar. |
109 | progress bar. |
110 | 110 | ||
111 | 3) Monitoring tab: UNDER DEVELOPMENT! Fieldpoint temperature sensor data view. |
111 | 3) Monitoring tab: UNDER DEVELOPMENT! Fieldpoint temperature sensor data view. |
112 | 112 | ||
113 | 4) Help tab: Displays the contents of this help file. |
113 | 4) Help tab: Displays the contents of this help file. |
114 | 114 | ||
115 | On the top, there are 3 menus: |
115 | On the top, there are 3 menus: |
116 | a) File: |
116 | a) File: |
117 | - Set user layout -> Set a user saved layout of the program subwindows or use the default. |
117 | - Set user layout -> Set a user saved layout of the program subwindows or use the default. |
118 | - Save current layout -> Save the program subwindow layout to be used later. This will remember the sizes of each subwindow |
118 | - Save current layout -> Save the program subwindow layout to be used later. This will remember the sizes of each subwindow |
119 | (Settings pane, Main measurement window, Display, Histogram file selection,...) and the overall size of the program window. |
119 | (Settings pane, Main measurement window, Display, Histogram file selection,...) and the overall size of the program window. |
120 | - Save current measurement settings -> UNDER DEVELOPMENT! Will evantually save the entered values from the Measurement tab. |
120 | - Save current measurement settings -> UNDER DEVELOPMENT! Will evantually save the entered values from the Measurement tab. |
121 | - Save current analysis settings -> UNDER DEVELOPMENT! Will eventually save the entered values from the Analysis tab. |
121 | - Save current analysis settings -> UNDER DEVELOPMENT! Will eventually save the entered values from the Analysis tab. |
122 | - Exit -> Exit the software (shortkey x) |
122 | - Exit -> Exit the software (shortkey x) |
123 | 123 | ||
124 | b) Analysis (each takes you to the appropriate options for the analysis): |
124 | b) Analysis (each takes you to the appropriate options for the analysis): |
125 | - Histogram type -> Change between histogram types (same as in histogram controls window). |
125 | - Histogram type -> Change between histogram types (same as in histogram controls window). |
126 | - Fit spectrum -> UNDER DEVELOPMENT! Will produce a fit of ADC spectrum peak structure of the current file/files. |
126 | - Fit spectrum -> UNDER DEVELOPMENT! Will produce a fit of ADC spectrum peak structure of the current file/files. |
127 | - Integrate spectrum -> Integrate the ADC spectrum of the current file/files inside the selected ADC range. |
127 | - Integrate spectrum -> Integrate the ADC spectrum of the current file/files inside the selected ADC range. |
128 | - Integrate spectrum (X direction) -> Same as Integrate spectrum, but the selected files were produced as X axis scans. |
128 | - Integrate spectrum (X direction) -> Same as Integrate spectrum, but the selected files were produced as X axis scans. |
129 | Makes the determination of an X directional edge scan and produces a 2D plot if Z axis scan was also enabled. |
129 | Makes the determination of an X directional edge scan and produces a 2D plot if Z axis scan was also enabled. |
130 | - Integrate spectrum (Y direction) -> Same as Integrate spectrum (X direction), but the selected files were produced as |
130 | - Integrate spectrum (Y direction) -> Same as Integrate spectrum (X direction), but the selected files were produced as |
131 | Y axis scans. |
131 | Y axis scans. |
132 | - Relative PDE -> Produce a relative PDE plot, where selected files were produced as incidence angle scans. |
132 | - Relative PDE -> Produce a relative PDE plot, where selected files were produced as incidence angle scans. |
133 | - Surface 2D scan -> Produce an integral of the ADC spectrum, where selected files were produced as surface scans (in |
133 | - Surface 2D scan -> Produce an integral of the ADC spectrum, where selected files were produced as surface scans (in |
134 | X and Y directions). |
134 | X and Y directions). |
135 | - Timing analysis -> UNDER DEVELOPMENT! Will make an analysis on the TDC spectrum of measurements. |
135 | - Timing analysis -> UNDER DEVELOPMENT! Will make an analysis on the TDC spectrum of measurements. |
136 | 136 | ||
137 | c) Help information |
137 | c) Help information |
138 | 138 | ||
139 | Important! |
139 | Important! |
140 | When using any analysis method, only events inside the selected TDC window will be used (set the TDC range accordingly). |
140 | When using any analysis method, only events inside the selected TDC window will be used (set the TDC range accordingly). |
141 | 141 | ||
142 | _____________________________________ |
142 | _____________________________________ |
143 | 3b. Old program version (trunk_v0.9): |
143 | 3b. Old program version (trunk_v0.9): |
144 | 144 | ||
145 | The main window is divided into 5 subwindows: |
145 | The main window is divided into 5 subwindows: |
146 | a) Settings window: |
146 | a) Settings window: |
147 | - ON/OFF switches for voltage and surface scans. |
147 | - ON/OFF switches for voltage and surface scans. |
148 | - a voltage limiter -> sets the maximum output voltage for safety reasons |
148 | - a voltage limiter -> sets the maximum output voltage for safety reasons |
149 | - clean plots toggle switch -> when ON, no additional stats will be displayed on plots/histograms |
149 | - clean plots toggle switch -> when ON, no additional stats will be displayed on plots/histograms |
150 | - scope IP -> sets the oscilloscope IP address |
150 | - scope IP -> sets the oscilloscope IP address |
151 | - LASER settings info panel -> this will be written to the output file and is used for supplying additional information |
151 | - LASER settings info panel -> this will be written to the output file and is used for supplying additional information |
152 | - chamber temperature -> the chamber temperature to be written to the output file |
152 | - chamber temperature -> the chamber temperature to be written to the output file |
153 | - incidence angle -> the angle at which the sample is rotated around its axis, relative to the LASER beam (0 degrees is |
153 | - incidence angle -> the angle at which the sample is rotated around its axis, relative to the LASER beam (0 degrees is |
154 | perpendicular to LASER beam) |
154 | perpendicular to LASER beam) |
155 | 155 | ||
156 | b) Main measurement window: |
156 | b) Main measurement window: |
157 | - settings for table position and bias voltage |
157 | - settings for table position and bias voltage |
158 | - when scans are enabled, additional settings for scans |
158 | - when scans are enabled, additional settings for scans |
159 | - number of events -> setting for the number of events to gather in a measurement |
159 | - number of events -> setting for the number of events to gather in a measurement |
160 | - time stamp -> informational time (start time of measurement is written to output file) |
160 | - time stamp -> informational time (start time of measurement is written to output file) |
161 | - file selector (for scans, the filenames will be appended sequential numbers to distinguish them) |
161 | - file selector (for scans, the filenames will be appended sequential numbers to distinguish them) |
162 | - start acquisition button -> starts the measurement based on selected settings |
162 | - start acquisition button -> starts the measurement based on selected settings |
163 | - waveform analysis settings (channel, measurement type) |
163 | - waveform analysis settings (channel, measurement type) |
164 | - possibility to send custom one-line commands |
164 | - possibility to send custom one-line commands |
165 | 165 | ||
166 | c) Histogram file selection window: |
166 | c) Histogram file selection window: |
167 | - open past measurements for analysis |
167 | - open past measurements for analysis |
168 | - if using multiple files, use multiple file select or select all listed files |
168 | - if using multiple files, use multiple file select or select all listed files |
169 | - files will be used in order displayed on the list |
169 | - files will be used in order displayed on the list |
170 | - to clear the complete list, use the clear list button |
170 | - to clear the complete list, use the clear list button |
171 | - to edit the header information of currently selected files, use the edit header button |
171 | - to edit the header information of currently selected files, use the edit header button |
172 | - any opened measurement has an info display of its header at the bottom for easier navigation |
172 | - any opened measurement has an info display of its header at the bottom for easier navigation |
173 | 173 | ||
174 | d) Histogram window: |
174 | d) Histogram window: |
175 | - displays the currently selected histogram in the histogram file selection window |
175 | - displays the currently selected histogram in the histogram file selection window |
176 | 176 | ||
177 | e) Histogram controls window: |
177 | e) Histogram controls window: |
178 | - directly linked to the histogram window, it enables plotting options |
178 | - directly linked to the histogram window, it enables plotting options |
179 | - can set ranges on histogram plots |
179 | - can set ranges on histogram plots |
180 | - can change between different histogram types (ADC, TDC, ADC vs. TDC, 2D surface plot) |
180 | - can change between different histogram types (ADC, TDC, ADC vs. TDC, 2D surface plot) |
181 | - for the 2D surface plot, the relevant files need to be selected in the histogram file selection window |
181 | - for the 2D surface plot, the relevant files need to be selected in the histogram file selection window |
182 | - toggle for logarithmic Y scale |
182 | - toggle for logarithmic Y scale |
183 | - the currently selected histogram can be manually exported with the export button |
183 | - the currently selected histogram can be manually exported with the export button |
184 | - fit settings used when running "Fit spectrum" and "Fit all selected" options in the Analysis menu |
184 | - fit settings used when running "Fit spectrum" and "Fit all selected" options in the Analysis menu |
185 | 185 | ||
186 | On the top, there are 4 menus: |
186 | On the top, there are 4 menus: |
187 | a) File: |
187 | a) File: |
188 | - New Measurement -> not working |
188 | - New Measurement -> not working |
189 | - Exit -> exit the software (shortkey x) |
189 | - Exit -> exit the software (shortkey x) |
190 | 190 | ||
191 | b) Analysis: |
191 | b) Analysis: |
192 | - Histogram type -> change between histogram types (same as in histogram controls window) |
192 | - Histogram type -> change between histogram types (same as in histogram controls window) |
193 | - Fit spectrum -> fit the currently open spectrum for peaks |
193 | - Fit spectrum -> fit the currently open spectrum for peaks |
194 | - Fit all selected -> fit all the selected ADC spectra selected in the histogram file selection window for peaks and display |
194 | - Fit all selected -> fit all the selected ADC spectra selected in the histogram file selection window for peaks and display |
195 | the breakdown voltage plots |
195 | the breakdown voltage plots |
196 | - Integrate spectrum (X, Y) -> integrate the ADC spectrum for multiple files with an X or Y scan (used for edge scans) |
196 | - Integrate spectrum (X, Y) -> integrate the ADC spectrum for multiple files with an X or Y scan (used for edge scans) |
197 | - Relative PDE -> calculation of the relative PDE for the currently selected files |
197 | - Relative PDE -> calculation of the relative PDE for the currently selected files |
198 | 198 | ||
199 | c) Tools: |
199 | c) Tools: |
200 | - Fieldpoint temperature sensor -> direct graphing of the fieldpoint temperature sensor (with settings for fieldpoint channel, |
200 | - Fieldpoint temperature sensor -> direct graphing of the fieldpoint temperature sensor (with settings for fieldpoint channel, |
201 | start time and end time), output is a graph (if exporting) and a comma separated list saved to folder ./fieldpoint. Updating |
201 | start time and end time), output is a graph (if exporting) and a comma separated list saved to folder ./fieldpoint. Updating |
202 | the graph can cause unstable behavior. If possible, use ~/sipmscan/fieldpoint_standalone instead. |
202 | the graph can cause unstable behavior. If possible, use ~/sipmscan/fieldpoint_standalone instead. |
203 | 203 | ||
204 | d) Windows: |
204 | d) Windows: |
205 | - Specific window tiling |
205 | - Specific window tiling |
206 | - Switch between active windows |
206 | - Switch between active windows |
207 | 207 | ||
208 | e) Help information |
208 | e) Help information |
209 | 209 | ||
210 | Important! |
210 | Important! |
211 | When using any analysis method (surface 2D plot, fitting, integration, ADC spectra display) only events inside the selected TDC |
211 | When using any analysis method (surface 2D plot, fitting, integration, ADC spectra display) only events inside the selected TDC |
212 | window will be used so set the TDC range accordingly. |
212 | window will be used so set the TDC range accordingly. |
213 | 213 | ||
214 | =================================== |
214 | =================================== |
215 | = 4. Preparing for measurements === |
215 | = 4. Preparing for measurements === |
216 | =================================== |
216 | =================================== |
217 | 217 | ||
218 | General information for preparing the experimental setup and software for measurements. |
218 | General information for preparing the experimental setup and software for measurements. |
219 | 219 | ||
220 | ________________________ |
220 | ________________________ |
221 | 4a. Pre-software checks: |
221 | 4a. Pre-software checks: |
222 | 222 | ||
223 | Before running the Online version of the program, make sure that CAMAC (Computer Automated Measurement And Control) is turned |
223 | Before running the Online version of the program, make sure that CAMAC (Computer Automated Measurement And Control) is turned |
224 | on and is connected to the computer via a USB cable. If upon starting, the program gives the following message: |
224 | on and is connected to the computer via a USB cable. If upon starting, the program gives the following message: |
225 | 225 | ||
226 | daq::connect() - No devices were detected! |
226 | daq::connect() - No devices were detected! |
227 | 227 | ||
228 | then CAMAC was not started or the program did not properly register it. |
228 | then CAMAC was not started or the program did not properly register it. |
229 | 229 | ||
230 | In addition, for the Online version of the program, make sure that all movement table controllers are turned on and are connected |
230 | In addition, for the Online version of the program, make sure that all movement table controllers are turned on and are connected |
231 | to the computer via a USB cable. |
231 | to the computer via a USB cable. |
232 | 232 | ||
233 | For the connection with the oscilloscope (Online and Offline with scope control versions of the program), make sure it is |
233 | For the connection with the oscilloscope (Online and Offline with scope control versions of the program), make sure it is |
234 | connected to the same network with a UTP cable and that the VXI software is started on it. |
234 | connected to the same network with a UTP cable and that the VXI software is started on it. |
235 | 235 | ||
236 | ______________________________________________ |
236 | ______________________________________________ |
237 | 4b. Experimental setup pre-measurement checks: |
237 | 4b. Experimental setup pre-measurement checks: |
238 | 238 | ||
239 | When making changes inside the setup, make sure that no cables are hindering the movement of any of the movement tables. For |
239 | When making changes inside the setup, make sure that no cables are hindering the movement of any of the movement tables. For |
240 | the X, Y and Z axis table, the most critical are motor control cables (white, flat, multiwire cables) and the optical cable |
240 | the X, Y and Z axis table, the most critical are motor control cables (white, flat, multiwire cables) and the optical cable |
241 | for laser optics (yellow or orange optical fibre). For the rotation table, the most critical are voltage supply cable (marked |
241 | for laser optics (yellow or orange optical fibre). For the rotation table, the most critical are voltage supply cable (marked |
242 | with BIAS) and signal cables (the same as bias cable, but unmarked or marked with SIGNAL). |
242 | with BIAS) and signal cables (the same as bias cable, but unmarked or marked with SIGNAL). |
243 | 243 | ||
244 | Additionally, whenever putting the experimental setup back together, note the distance between the laser optics and the sample. |
244 | Additionally, whenever putting the experimental setup back together, note the distance between the laser optics and the sample. |
245 | The sample should be placed out of harms way from the collimator of the optics (check it by setting Z axis position to 0). |
245 | The sample should be placed out of harms way from the collimator of the optics (check it by setting Z axis position to 0). |
246 | 246 | ||
247 | ____________________________________ |
247 | ____________________________________ |
248 | 4c. Software pre-measurement checks: |
248 | 4c. Software pre-measurement checks: |
249 | 249 | ||
250 | Before starting any measurement, it is suggested to set the Voltage limit (Settings pane, Measurement tab) in order to avoid |
250 | Before starting any measurement, it is suggested to set the Voltage limit (Settings pane, Measurement tab) in order to avoid |
251 | any unwanted mistakes in bias voltage settings (to avoid any irreparable damage to the sample). Also, make sure to note the |
251 | any unwanted mistakes in bias voltage settings (to avoid any irreparable damage to the sample). Also, make sure to note the |
252 | output channel for bias voltage supply and not change any other channels (since they could be connected to other experimental |
252 | output channel for bias voltage supply and not change any other channels (since they could be connected to other experimental |
253 | setups). |
253 | setups). |
254 | 254 | ||
255 | ===================== |
255 | ===================== |
256 | = 5. Measurements === |
256 | = 5. Measurements === |
257 | ===================== |
257 | ===================== |
258 | 258 | ||
259 | Information on the settings for performing measurements available in this program and information on the movement tables. |
259 | Information on the settings for performing measurements available in this program and information on the movement tables. |
260 | 260 | ||
261 | _________________________ |
261 | _________________________ |
262 | 5a. Measurement settings: |
262 | 5a. Measurement settings: |
263 | 263 | ||
264 | On the Settings pane in the Measurement tab, the type of measurement can be selected: |
264 | On the Settings pane in the Measurement tab, the type of measurement can be selected: |
265 | - None is checked: The program will perform a single measurement (useful for quickly determining the state of the setup). |
265 | - None is checked: The program will perform a single measurement (useful for quickly determining the state of the setup). |
266 | - Voltage scan is checked: The program will enable V(min), V(max) and V(step) settings and perform multiple measurements at |
266 | - Voltage scan is checked: The program will enable V(min), V(max) and V(step) settings and perform multiple measurements at |
267 | different bias voltages. The number of measurements is equal to: |
267 | different bias voltages. The number of measurements is equal to: |
268 | 268 | ||
269 | Floor( [V(max) - V(min)]/V(step) ) |
269 | Floor( [V(max) - V(min)]/V(step) ) |
270 | 270 | ||
271 | The last measurement is at a voltage always lower or equal to V(max) for safety reasons. Whenever V(step) is 0, only one |
271 | The last measurement is at a voltage always lower or equal to V(max) for safety reasons. Whenever V(step) is 0, only one |
272 | measurement will be performed at V(min). |
272 | measurement will be performed at V(min). |
273 | 273 | ||
274 | - Surface scan is checked: The program will enable X(min), X(max) and X(step), and Y(min), Y(max) and Y(step) settings and |
274 | - Surface scan is checked: The program will enable X(min), X(max) and X(step), and Y(min), Y(max) and Y(step) settings and |
275 | perform multiple measurements at different table positions (surface scan). The number of measurements is equal to: |
275 | perform multiple measurements at different table positions (surface scan). The number of measurements is equal to: |
276 | 276 | ||
277 | Floor( [X(max) - X(min)]/X(step) ) Floor( [Y(max) - Y(min)]/Y(step) ) |
277 | Floor( [X(max) - X(min)]/X(step) ) Floor( [Y(max) - Y(min)]/Y(step) ) |
278 | 278 | ||
279 | The last measurement is at a position always smaller or equal to X(max) or Y(max). Whenever X(step) is 0, only one measurement |
279 | The last measurement is at a position always smaller or equal to X(max) or Y(max). Whenever X(step) is 0, only one measurement |
280 | will be performed at X(min) and equally in the Y axis direction. By setting one axis step size to 0, only scans along one axis |
280 | will be performed at X(min) and equally in the Y axis direction. By setting one axis step size to 0, only scans along one axis |
281 | are performed (for example for edge scans). |
281 | are performed (for example for edge scans). |
282 | 282 | ||
283 | - Z-axis scan is checked: The program will enable Z(min), Z(max) and Z(step) settings and perform multiple measurements at |
283 | - Z-axis scan is checked: The program will enable Z(min), Z(max) and Z(step) settings and perform multiple measurements at |
284 | different distances between laser optics and the sample (Z axis). The number of measurements is equal to: |
284 | different distances between laser optics and the sample (Z axis). The number of measurements is equal to: |
285 | 285 | ||
286 | Floor( [Z(max) - Z(min)]/Z(step) ) |
286 | Floor( [Z(max) - Z(min)]/Z(step) ) |
287 | 287 | ||
288 | The last measurement is at a position always smaller or equal to Z(max). Whenever Z(step) is 0, only one measurement will be |
288 | The last measurement is at a position always smaller or equal to Z(max). Whenever Z(step) is 0, only one measurement will be |
289 | performed at Z(min). |
289 | performed at Z(min). |
290 | 290 | ||
291 | - Rotation scan is checked: The program will enable Angle(min), Angle(max) and Angle(step) settings and perform multiple |
291 | - Rotation scan is checked: The program will enable Angle(min), Angle(max) and Angle(step) settings and perform multiple |
292 | measurements at different incidence angles (angle away from perpendicular incidence of laser light on the sample). The number |
292 | measurements at different incidence angles (angle away from perpendicular incidence of laser light on the sample). The number |
293 | of measurements is equal to: |
293 | of measurements is equal to: |
294 | 294 | ||
295 | Floor( [Angle(max) - Angle(min)]/Angle(step) ) |
295 | Floor( [Angle(max) - Angle(min)]/Angle(step) ) |
296 | 296 | ||
297 | The last measurement is at an angle always smaller or equal to Angle(max). Whenever Angle(step) is 0, only one measurement |
297 | The last measurement is at an angle always smaller or equal to Angle(max). Whenever Angle(step) is 0, only one measurement |
298 | will be performed at Angle(min). |
298 | will be performed at Angle(min). |
299 | 299 | ||
300 | Surface scan and Z axis scan can be combined to perform edge scans at different distances between optics and sample (useful |
300 | Surface scan and Z axis scan can be combined to perform edge scans at different distances between optics and sample (useful |
301 | for finding the focal point of the laser). |
301 | for finding the focal point of the laser). |
302 | 302 | ||
303 | _______________________________________ |
303 | _______________________________________ |
304 | 5b. Temperature chamber considerations: |
304 | 5b. Temperature chamber considerations: |
305 | 305 | ||
306 | Whenever using the temperature chamber, be careful about the set temperature. SiPM samples have a specific operational and |
306 | Whenever using the temperature chamber, be careful about the set temperature. SiPM samples have a specific operational and |
307 | storage temperatures that should not be exceeded. The temperature chamber, however, has slight overshoots when increasing |
307 | storage temperatures that should not be exceeded. The temperature chamber, however, has slight overshoots when increasing |
308 | the temperature, thus heating slightly above the set temperature (sometimes as much as 5 degrees) and then cooling back down. |
308 | the temperature, thus heating slightly above the set temperature (sometimes as much as 5 degrees) and then cooling back down. |
309 | 309 | ||
310 | The chamber also has some problems cooling after previous heating (ex. coming from 0 degrees to 25 degrees and then again |
310 | The chamber also has some problems cooling after previous heating (ex. coming from 0 degrees to 25 degrees and then again |
311 | cooling the chamber). In this case, it will seem to remain around some temperature, although it is supposed to be cooling |
311 | cooling the chamber). In this case, it will seem to remain around some temperature, although it is supposed to be cooling |
312 | down. Sometimes this can be solved by turning off the chamber and waiting for some time or by making a large temperature |
312 | down. Sometimes this can be solved by turning off the chamber and waiting for some time or by making a large temperature |
313 | jump from higher to lower temperature (taking into consideration the sample temperature range). |
313 | jump from higher to lower temperature (taking into consideration the sample temperature range). |
314 | 314 | ||
315 | Opening the chamber after measurements at low temperatures should be very short, since condensation forms very quickly that |
315 | Opening the chamber after measurements at low temperatures should be very short, since condensation forms very quickly that |
316 | can then lead to the water droplets freezing at low temperatures. Ideally, the chamber should be warmed close to room |
316 | can then lead to the water droplets freezing at low temperatures. Ideally, the chamber should be warmed close to room |
317 | temperature before opening, but any very short changes to the setup can still be performed when at lower temperatures. |
317 | temperature before opening, but any very short changes to the setup can still be performed when at lower temperatures. |
318 | 318 | ||
319 | ___________________ |
319 | ___________________ |
320 | 5c. Movement table: |
320 | 5c. Movement table: |
321 | 321 | ||
322 | The movement tables are controlled by National Aperture MicroMini controllers through a subprogram found in |
322 | The movement tables are controlled by National Aperture MicroMini controllers through a subprogram found in |
323 | $sipmscan/trunk/src/MIKRO. Sometimes special measures are needed (in case of problems) that are not available inside the |
323 | $sipmscan/trunk/src/MIKRO. Sometimes special measures are needed (in case of problems) that are not available inside the |
324 | sipmscan software, but can be achieved by going directly to the subprogram. The subprogram can be run, by going directly |
324 | sipmscan software, but can be achieved by going directly to the subprogram. The subprogram can be run, by going directly |
325 | to its directory and running: |
325 | to its directory and running: |
326 | 326 | ||
327 | ./mikro_ctrl [arguments] |
327 | ./mikro_ctrl [arguments] |
328 | 328 | ||
329 | The arguments can be (only running ./mikro_ctrl will bring up help information): |
329 | The arguments can be (only running ./mikro_ctrl will bring up help information): |
330 | - Node select: -n [node nr]. The [nodenr] is the address number of the controller as set on the front of the MicroMini |
330 | - Node select: -n [node nr]. The [nodenr] is the address number of the controller as set on the front of the MicroMini |
331 | controller. |
331 | controller. |
332 | - Initialize node: -i [init type]. The [inittype] is the initialization type that can be 3M Linear (1), 3M Rotational (2), |
332 | - Initialize node: -i [init type]. The [inittype] is the initialization type that can be 3M Linear (1), 3M Rotational (2), |
333 | 4M Linear (3) or 4M Rotational (4). 3M are the smaller/shorter versions, while 4M are the larger/longer versions (all three |
333 | 4M Linear (3) or 4M Rotational (4). 3M are the smaller/shorter versions, while 4M are the larger/longer versions (all three |
334 | axis are 4M Linear and the angle is 3M Rotational). Always needs the node select argument (-n). |
334 | axis are 4M Linear and the angle is 3M Rotational). Always needs the node select argument (-n). |
335 | - Node homing: -h. Sets the node to a predetermined 0 value (home). Always needs the node select argument (-n). IMPORTANT: The |
335 | - Node homing: -h. Sets the node to a predetermined 0 value (home). Always needs the node select argument (-n). IMPORTANT: The |
336 | rotational table must never be set to home! It does not have a predetemined zero, so the table will infinitely spin and can |
336 | rotational table must never be set to home! It does not have a predetemined zero, so the table will infinitely spin and can |
337 | cause harm to the sample or attached cables. |
337 | cause harm to the sample or attached cables. |
338 | - Reset node: -r. Does a complete reset of the controller. Always needs the node select argument (-n). After reset, the |
338 | - Reset node: -r. Does a complete reset of the controller. Always needs the node select argument (-n). After reset, the |
339 | controller needs to be initialized in order to work properly. |
339 | controller needs to be initialized in order to work properly. |
340 | - Node status: -a. Returns the current status of the controller. Can be used with node select argument (-n) to target specific |
340 | - Node status: -a. Returns the current status of the controller. Can be used with node select argument (-n) to target specific |
341 | controller or without to display status from all. |
341 | controller or without to display status from all. |
342 | - Node position: -p. Returns the current position of the controller. Always needs the node select argument (-n). |
342 | - Node position: -p. Returns the current position of the controller. Always needs the node select argument (-n). |
343 | - Node get command: -g [command]. Get return value from the issued command. Always needs the node select argument (-n). For |
343 | - Node get command: -g [command]. Get return value from the issued command. Always needs the node select argument (-n). For |
344 | possible commands, see the MicroMini user manual. |
344 | possible commands, see the MicroMini user manual. |
345 | - Node set command: -v [value] -s [command]. Set a value with an issued command. Always needs the node select argument (-n). |
345 | - Node set command: -v [value] -s [command]. Set a value with an issued command. Always needs the node select argument (-n). |
346 | For possible commands and values, see the MicroMini user manual. |
346 | For possible commands and values, see the MicroMini user manual. |
347 | - Custom node command: -c [command]. Run one of the node commands without setting a value. Always needs the node select |
347 | - Custom node command: -c [command]. Run one of the node commands without setting a value. Always needs the node select |
348 | argument (-n). For possible commands and values, see the MicroMini user manual. |
348 | argument (-n). For possible commands and values, see the MicroMini user manual. |
349 | 349 | ||
350 | Example commands: |
350 | Example commands: |
351 | - Reset node 1: |
351 | - Reset node 1: |
352 | ./mikro_ctrl -n 1 -r |
352 | ./mikro_ctrl -n 1 -r |
353 | - Initialize node 2 as a 4M Linear type: |
353 | - Initialize node 2 as a 4M Linear type: |
354 | ./mikro_ctrl -n 2 -i 3 |
354 | ./mikro_ctrl -n 2 -i 3 |
355 | - Home node 3: |
355 | - Home node 3: |
356 | ./mikro_ctrl -n 3 -h |
356 | ./mikro_ctrl -n 3 -h |
357 | - Determine node 1 position: |
357 | - Determine node 1 position: |
358 | ./mikro_ctrl -n 1 -p |
358 | ./mikro_ctrl -n 1 -p |
359 | - Prepare to move node 2 to an absolute position of 1000 and move it: |
359 | - Prepare to move node 2 to an absolute position of 1000 and move it: |
360 | ./mikro_ctrl -n 2 -v 500 -s la |
360 | ./mikro_ctrl -n 2 -v 500 -s la |
361 | ./mikro_ctrl -c m |
361 | ./mikro_ctrl -c m |
362 | - Prepare to move node 3 relative to current position for -500 and move it: |
362 | - Prepare to move node 3 relative to current position for -500 and move it: |
363 | ./mikro_ctrl -n 2 -v -500 -s lr |
363 | ./mikro_ctrl -n 2 -v -500 -s lr |
364 | ./mikro_ctrl -c m |
364 | ./mikro_ctrl -c m |
365 | - Abort the current movement of node 4: |
365 | - Abort the current movement of node 4: |
366 | ./mikro_ctrl -n 4 -c ab |
366 | ./mikro_ctrl -n 4 -c ab |
367 | 367 | ||
368 | Documentation: |
368 | Documentation: |
369 | - MicroMini controller manual: http://www-f9.ijs.si/~rok/detectors/oprema/national_aperture_stages/MicroMini_Manual.pdf |
369 | - MicroMini controller manual: http://www-f9.ijs.si/~rok/detectors/oprema/national_aperture_stages/MicroMini_Manual.pdf |
370 | - 4M Linear table: http://www.naimotion.com/mm4mex.htm |
370 | - 4M Linear table: http://www.naimotion.com/mm4mex.htm |
371 | - 3M Rotational table: http://www.naimotion.com/mm3mr.htm |
371 | - 3M Rotational table: http://www.naimotion.com/mm3mr.htm |
372 | 372 | ||
373 | ________________________ |
373 | ________________________ |
374 | 5d. Bias voltage supply: |
374 | 5d. Bias voltage supply: |
375 | 375 | ||
376 | The bias voltage is supplied by the MPOD HV & LV power supply system through a subscript found in $sipmscan/trunk/src/mpod |
376 | The bias voltage is supplied by the MPOD HV & LV power supply system through a subscript found in $sipmscan/trunk/src/mpod |
377 | (using the snmp software). Sometimes special measures are needed (in case of problems) that are not available inside the |
377 | (using the snmp software). Sometimes special measures are needed (in case of problems) that are not available inside the |
378 | sipmscan software, but can be achieved by going directly to the subprogram. The subprogram can be run, by going directly to |
378 | sipmscan software, but can be achieved by going directly to the subprogram. The subprogram can be run, by going directly to |
379 | its directory and running: |
379 | its directory and running: |
380 | 380 | ||
381 | ./mpod_voltage.sh [arguments] |
381 | ./mpod_voltage.sh [arguments] |
382 | 382 | ||
383 | The arguments can be: |
383 | The arguments can be: |
384 | - Reset all output channels: --resetall |
384 | - Reset all output channels: --resetall |
385 | - Reset a selected output channel: -r [channel] |
385 | - Reset a selected output channel: -r [channel] |
386 | - Selects an output channel: -o [channel] |
386 | - Selects an output channel: -o [channel] |
387 | - Sets the output channel voltage: -v [voltage] |
387 | - Sets the output channel voltage: -v [voltage] |
388 | - Turns the output on/off: -s [0/1] |
388 | - Turns the output on/off: -s [0/1] |
389 | - Get the current output channel voltage: -g |
389 | - Get the current output channel voltage: -g |
390 | 390 | ||
391 | Example commands: |
391 | Example commands: |
392 | - Get the set bias voltage on channel 1 (U0): |
392 | - Get the set bias voltage on channel 1 (U0): |
393 | ./mpod_voltage.sh -o 1 -g |
393 | ./mpod_voltage.sh -o 1 -g |
394 | - Turn the bias voltage off on channel 2 (U1): |
394 | - Turn the bias voltage off on channel 2 (U1): |
395 | ./mpod_voltage.sh -o 2 -s 0 |
395 | ./mpod_voltage.sh -o 2 -s 0 |
396 | - Turn the bias voltage on and set it to 24.5V on channel 1 (U0): |
396 | - Turn the bias voltage on and set it to 24.5V on channel 1 (U0): |
397 | ./mpod_voltage.sh -o 1 -v 24.5 -s 1 |
397 | ./mpod_voltage.sh -o 1 -v 24.5 -s 1 |
398 | - Reset channel 2 (U1): |
398 | - Reset channel 2 (U1): |
399 | ./mpod_voltage.sh -o 2 -r |
399 | ./mpod_voltage.sh -o 2 -r |
400 | 400 | ||
401 | In its complete state, the command used in the script mpod_voltage.sh for setting for example an output voltage of 24.5 to |
401 | In its complete state, the command used in the script mpod_voltage.sh for setting for example an output voltage of 24.5 to |
402 | channel 1 (U0): |
402 | channel 1 (U0): |
403 | snmpset -v 2c -M +. -m +WIENER-CRATE-MIB -c guru [IP address] outputVoltage.1 F 24.5 |
403 | snmpset -v 2c -M +. -m +WIENER-CRATE-MIB -c guru [IP address] outputVoltage.1 F 24.5 |
404 | 404 | ||
405 | Documentation: |
405 | Documentation: |
406 | - Net-SNMP: http://www.net-snmp.org/docs/man/ |
406 | - Net-SNMP: http://www.net-snmp.org/docs/man/ |
407 | - MPOD: http://file.wiener-d.com/documentation/MPOD/Manual_MPOD_LV-HV_2.9.pdf |
407 | - MPOD: http://file.wiener-d.com/documentation/MPOD/Manual_MPOD_LV-HV_2.9.pdf |
408 | 408 | ||
409 | ========================== |
409 | ========================== |
410 | = 6. Measurement files === |
410 | = 6. Measurement files === |
411 | ========================== |
411 | ========================== |
412 | 412 | ||
413 | The measurement files, used for saving results, are constructed in native ROOT format to increase the read/write speeds while |
413 | The measurement files, used for saving results, are constructed in native ROOT format to increase the read/write speeds while |
414 | reading and saving data. |
414 | reading and saving data. |
415 | ________________________ |
415 | ________________________ |
416 | 6a. ROOT file structure: |
416 | 6a. ROOT file structure: |
417 | 417 | ||
418 | The output ROOT files are structured in this way: |
418 | The output ROOT files are structured in this way: |
419 | 419 | ||
420 | ROOT file (TFile) |
420 | ROOT file (TFile) |
421 | | |
421 | | |
422 | |== header_data (TTree): Header information (same for all events) |
422 | |== header_data (TTree): Header information (same for all events) |
423 | | | |
423 | | | |
424 | | |== nrch (TBranch): Number of channels (ADC + TDC channels) |
424 | | |== nrch (TBranch): Number of channels (ADC + TDC channels) |
425 | | |== timestamp (TBranch): Unix timestamp for start of measurement |
425 | | |== timestamp (TBranch): Unix timestamp for start of measurement |
426 | | |== biasvolt (TBranch): Measurement bias voltage |
426 | | |== biasvolt (TBranch): Measurement bias voltage |
427 | | |== xpos (TBranch): X axis position in table units |
427 | | |== xpos (TBranch): X axis position in table units |
428 | | |== ypos (TBranch): Y axis position in table units |
428 | | |== ypos (TBranch): Y axis position in table units |
429 | | |== zpos (TBranch): Z axis position in table units |
429 | | |== zpos (TBranch): Z axis position in table units |
430 | | |== temperature (TBranch): Chamber temperature |
430 | | |== temperature (TBranch): Chamber temperature |
431 | | |== angle (TBranch): Incidence angle of measurement |
431 | | |== angle (TBranch): Incidence angle of measurement |
432 | | |== laserinfo (TBranch): Additional info for measurement |
432 | | |== laserinfo (TBranch): Additional info for measurement |
433 | | |
433 | | |
434 | |== meas_data (TTree): Measured values from ADC and TDC (all events) |
434 | |== meas_data (TTree): Measured values from ADC and TDC (all events) |
435 | | | |
435 | | | |
436 | | |== ADC0 (TBranch): All events from ADC channel 0 saved in order |
436 | | |== ADC0 (TBranch): All events from ADC channel 0 saved in order |
437 | | |== TDC0 (TBranch): All events from TDC channel 0 saved in order |
437 | | |== TDC0 (TBranch): All events from TDC channel 0 saved in order |
438 | | |== ADC1 (TBranch): All events from ADC channel 1 saved in order |
438 | | |== ADC1 (TBranch): All events from ADC channel 1 saved in order |
439 | | |== TDC1 (TBranch): All events from TDC channel 1 saved in order |
439 | | |== TDC1 (TBranch): All events from TDC channel 1 saved in order |
440 | | |== ... (TBranch): Additional channels up to 8 (0-7) in total |
440 | | |== ... (TBranch): Additional channels up to 8 (0-7) in total |
441 | | |
441 | | |
442 | |== scope_data (TTree, optional): Measured values from the oscilloscope |
442 | |== scope_data (TTree, optional): Measured values from the oscilloscope |
443 | | |
443 | | |
444 | |== measdata (TBranch): Currently in development |
444 | |== measdata (TBranch): Currently in development |
445 | 445 | ||
446 | 446 | ||
447 | The easiest way to get the data is to create structures: |
447 | The easiest way to get the data is to create structures: |
448 | 448 | ||
449 | struct EventHeader { |
449 | struct EventHeader { |
450 | int nrch; |
450 | int nrch; |
451 | int timestamp; |
451 | int timestamp; |
452 | double biasvolt; |
452 | double biasvolt; |
453 | int xpos; |
453 | int xpos; |
454 | int ypos; |
454 | int ypos; |
455 | int zpos; |
455 | int zpos; |
456 | double temperature; |
456 | double temperature; |
457 | double angle; |
457 | double angle; |
458 | char laserinfo[256]; |
458 | char laserinfo[256]; |
459 | } evtheader; |
459 | } evtheader; |
460 | 460 | ||
461 | struct EventData { |
461 | struct EventData { |
462 | int adcdata[8]; |
462 | int adcdata[8]; |
463 | int tdcdata[8]; |
463 | int tdcdata[8]; |
464 | } evtdata; |
464 | } evtdata; |
465 | 465 | ||
466 | struct EventMeas { |
466 | struct EventMeas { |
467 | double measdata; |
467 | double measdata; |
468 | } evtmeas; |
468 | } evtmeas; |
469 | 469 | ||
470 | 470 | ||
471 | Then opening the file: |
471 | Then opening the file: |
472 | 472 | ||
473 | TFile* inputfile = TFile::Open("filename.root","READ"); |
473 | TFile* inputfile = TFile::Open("filename.root","READ"); |
474 | 474 | ||
475 | Then getting separate information: |
475 | Then getting separate information: |
476 | - for instance for reading the bias voltage from header: |
476 | - for instance for reading the bias voltage from header: |
477 | 477 | ||
478 | TTree* sometree; |
478 | TTree* sometree; |
479 | inputfile->GetObject("header_data", sometree); |
479 | inputfile->GetObject("header_data", sometree); |
480 | sometree->SetBranchAddress("biasvolt", &evtheader.biasvolt); |
480 | sometree->SetBranchAddress("biasvolt", &evtheader.biasvolt); |
481 | sometree->GetEntry(0); |
481 | sometree->GetEntry(0); |
482 | 482 | ||
483 | - for instance for reading all ADC and TDC events in a file from channel 1 (ADC0): |
483 | - for instance for reading all ADC and TDC events in a file from channel 1 (ADC0): |
484 | 484 | ||
485 | TTree* sometree; |
485 | TTree* sometree; |
486 | inputfile->GetObject("meas_data", sometree); |
486 | inputfile->GetObject("meas_data", sometree); |
487 | char selectedCh[256]; |
487 | char selectedCh[256]; |
488 | for(int i = 0; i < sometree->GetEntries(); i++) |
488 | for(int i = 0; i < sometree->GetEntries(); i++) |
489 | { |
489 | { |
490 | sprintf(selectedCh, "ADC%d", 0); |
490 | sprintf(selectedCh, "ADC%d", 0); |
491 | sometree->SetBranchAddress(selectedCh, &evtdata.adcdata[i]); |
491 | sometree->SetBranchAddress(selectedCh, &evtdata.adcdata[i]); |
492 | sometree->GetEntry(i); |
492 | sometree->GetEntry(i); |
493 | 493 | ||
494 | sprintf(selectedCh, "TDC%d", 0); |
494 | sprintf(selectedCh, "TDC%d", 0); |
495 | sometree->SetBranchAddress(selectedCh, &evtdata.tdcdata[i]); |
495 | sometree->SetBranchAddress(selectedCh, &evtdata.tdcdata[i]); |
496 | sometree->GetEntry(i); |
496 | sometree->GetEntry(i); |
497 | } |
497 | } |
498 | 498 | ||
499 | ______________________________ |
499 | ______________________________ |
500 | 6b. Opening measurement files: |
500 | 6b. Opening measurement files: |
501 | 501 | ||
502 | The sipmscan software has internal handling for saving and opening measurement files. To open these files for an analysis, use |
502 | The sipmscan software has internal handling for saving and opening measurement files. To open these files for an analysis, use |
503 | the File selection button in the Histogram file selection window (Analysis tab). Once the file or files are opened, it is possible |
503 | the File selection button in the Histogram file selection window (Analysis tab). Once the file or files are opened, it is possible |
504 | to double click a file on the list to display its histogram. The histogram can then be manipulated by changing ADC or TDC ranges, |
504 | to double click a file on the list to display its histogram. The histogram can then be manipulated by changing ADC or TDC ranges, |
505 | or changing the type of displayed histogram (ADC, TDC ADC versus TDC). |
505 | or changing the type of displayed histogram (ADC, TDC ADC versus TDC). |
506 | 506 | ||
507 | Each of the selected files has a display of its header below the file list in order to quickly determine at what conditions and |
507 | Each of the selected files has a display of its header below the file list in order to quickly determine at what conditions and |
508 | when this measurement was taken. If there are any problems with the header, modifications can be performed with the Edit header |
508 | when this measurement was taken. If there are any problems with the header, modifications can be performed with the Edit header |
509 | button. |
509 | button. |
510 | 510 | ||
511 | After that analysis on the measurements can be performed, based on the selected ranges for ADC and TDC (note that each measured |
511 | After that analysis on the measurements can be performed, based on the selected ranges for ADC and TDC (note that each measured |
512 | event has a ADC and TDC channel value saved to the file). |
512 | event has a ADC and TDC channel value saved to the file). |
513 | 513 | ||
514 | ================= |
514 | ================= |
515 | = 7. Analysis === |
515 | = 7. Analysis === |
516 | ================= |
516 | ================= |
517 | 517 | ||
518 | The sipmscan software already includes a number of analysis options: |
518 | The sipmscan software already includes a number of analysis options: |
519 | - Plotting ADC (Analog-to-Digital Converter) spectrum, TDC (Time-to-Digital Converter) spectrum and ADC versus TDC 2D plots. |
519 | - Plotting ADC (Analog-to-Digital Converter) spectrum, TDC (Time-to-Digital Converter) spectrum and ADC versus TDC 2D plots. |
520 | - Fitting of ADC spectrum photon equivalent peaks. |
520 | - Fitting of ADC spectrum photon equivalent peaks. |
521 | - ADC spectrum integration: Single or along X or Y directions (for edge scans). |
521 | - ADC spectrum integration: Single or along X or Y directions (for edge scans). |
522 | - Relative Photon Detection Efficiency: Efficiency of sample relative to incidence angle. |
522 | - Relative Photon Detection Efficiency: Efficiency of sample relative to incidence angle. |
523 | - Breakdown voltage: Determination of silicon detector breakdown voltage through ADC spectrum photon peak separation (gain). |
523 | - Breakdown voltage: Determination of silicon detector breakdown voltage through ADC spectrum photon peak separation (gain). |
524 | - Surface scan: Production of a 2D plot by integrating the ADC spectrum in each laser position. |
524 | - Surface scan: Production of a 2D plot by integrating the ADC spectrum in each laser position. |
525 | 525 | ||
526 | Still to come... |
526 | Still to come... |
527 | 527 | ||
528 | =================== |
528 | =================== |
529 | = 8. Change log === |
529 | = 8. Change log === |
530 | =================== |
530 | =================== |
531 | 531 | ||
532 |
|
532 | 5.10.2016 (Current Rev) |
- | 533 | a) Fixed a couple of bugs and layout positions. |
|
- | 534 | b) Added settings files for measurement and analysis settings. With this, everytime a new measurement or a new analysis is |
|
- | 535 | ran, the selected settings are saved to a file. This way, if the program crashes, the selected settings will be automatically |
|
- | 536 | filled in. |
|
- | 537 | ||
- | 538 | 30.9.2016 (Rev 172): |
|
533 | a) Fixed the time estimation for surface and Z-axis scans (TimeEstimateNew). |
539 | a) Fixed the time estimation for surface and Z-axis scans (TimeEstimateNew). |
534 | b) Did the same as c) in the previous revision, but separately for opening histogram files and for selecting the measurement |
540 | b) Did the same as c) in the previous revision, but separately for opening histogram files and for selecting the measurement |
535 | output file. |
541 | output file. |
536 | c) Added an Emergency stop button to the movement of the table - just in case a wrong value is inserted and there is something |
542 | c) Added an Emergency stop button to the movement of the table - just in case a wrong value is inserted and there is something |
537 | in the way. |
543 | in the way. |
538 | d) Added a way to integrate the surface scan, when using the "Start and Edit" option. This can be useful for determining the |
544 | d) Added a way to integrate the surface scan, when using the "Start and Edit" option. This can be useful for determining the |
539 | angular dependence of the light passing onto a complete camera pixel. |
545 | angular dependence of the light passing onto a complete camera pixel. |
540 | 546 | ||
541 | 11.8.2016 (Rev 167): |
547 | 11.8.2016 (Rev 167): |
542 | a) When using breakdown voltage or relative PDE analysis and with only one file selected, the analysis is stopped and the fit |
548 | a) When using breakdown voltage or relative PDE analysis and with only one file selected, the analysis is stopped and the fit |
543 | is displayed on the graph. This makes it easier to setup fitting settings. |
549 | is displayed on the graph. This makes it easier to setup fitting settings. |
544 | b) Added the possibility to export plots created through analysis ("Start and edit" option). |
550 | b) Added the possibility to export plots created through analysis ("Start and edit" option). |
545 | c) Everytime, when opening a histogram file, the following open and save dialog windows automatically open up in that directory. |
551 | c) Everytime, when opening a histogram file, the following open and save dialog windows automatically open up in that directory. |
546 | This makes it easier to find the directory that was used last. |
552 | This makes it easier to find the directory that was used last. |
547 | d) Added a dropdown list to the Analysis tab, so that it is possible to set position units for plots (table units or microns). |
553 | d) Added a dropdown list to the Analysis tab, so that it is possible to set position units for plots (table units or microns). |
548 | e) Normalization to a maximum of 1 now works for surface scans. |
554 | e) Normalization to a maximum of 1 now works for surface scans. |
549 | 555 | ||
550 | 4.4.2016 (Rev 146): |
556 | 4.4.2016 (Rev 146): |
551 | a) Complete restructure of the program, so that it now runs seperately, not through ROOT (libraries are constructed pre-run). |
557 | a) Complete restructure of the program, so that it now runs seperately, not through ROOT (libraries are constructed pre-run). |
552 | Program is now split into multiple tabs for easier use, three of which are Measurement, Analysis and Help. |
558 | Program is now split into multiple tabs for easier use, three of which are Measurement, Analysis and Help. |
553 | b) Added support for relative PDE measurements with included sample rotation table. |
559 | b) Added support for relative PDE measurements with included sample rotation table. |
554 | c) Improvement of analysis part of the program (includes ADC spectrum integration, breakdown voltage characterization, surface |
560 | c) Improvement of analysis part of the program (includes ADC spectrum integration, breakdown voltage characterization, surface |
555 | scans, relative PDE characterization,...). |
561 | scans, relative PDE characterization,...). |
556 | d) Added tooltips for different parts of the program for quick reference. Use them by hovering over any text entries, number |
562 | d) Added tooltips for different parts of the program for quick reference. Use them by hovering over any text entries, number |
557 | entries, check boxes or buttons. |
563 | entries, check boxes or buttons. |
558 | e) Connection to temperature data and oscilloscope currently under development. |
564 | e) Connection to temperature data and oscilloscope currently under development. |
559 | f) Older version of program moved to https://f9pc00.ijs.si/svn/f9daq/lab/sipmscan/trunk_v0.9 and will no longer be in development. |
565 | f) Older version of program moved to https://f9pc00.ijs.si/svn/f9daq/lab/sipmscan/trunk_v0.9 and will no longer be in development. |
560 | 566 | ||
561 | 17.7.2015 (Rev 129): |
567 | 17.7.2015 (Rev 129): |
562 | a) Fixed a problem with ADC peak fitting (peak fitting returning a segmentation fault). |
568 | a) Fixed a problem with ADC peak fitting (peak fitting returning a segmentation fault). |
563 | b) Added support to edit file headers (in case, some were created at an older date and did not include some header information or |
569 | b) Added support to edit file headers (in case, some were created at an older date and did not include some header information or |
564 | there was a mistake in writing them). |
570 | there was a mistake in writing them). |
565 | c) Temperature data can only be retrieved when connected to the IJS network (IP = 178.172.43.xxx) and is disabled otherwise. |
571 | c) Temperature data can only be retrieved when connected to the IJS network (IP = 178.172.43.xxx) and is disabled otherwise. |
566 | d) The relative PDE measurement now takes the incidence angle value directly from input files. |
572 | d) The relative PDE measurement now takes the incidence angle value directly from input files. |
567 | e) Currently, data acquisition only works on 32bit computers. |
573 | e) Currently, data acquisition only works on 32bit computers. |
568 | f) Fixed issue with program not correctly writting multiple channels. |
574 | f) Fixed issue with program not correctly writting multiple channels. |
569 | 575 | ||
570 | 5.5.2015 (Rev 128): |
576 | 5.5.2015 (Rev 128): |
571 | a) Added a header display for opened files in the histogram file selection window. This enables a quicker view of the measurement |
577 | a) Added a header display for opened files in the histogram file selection window. This enables a quicker view of the measurement |
572 | information. |
578 | information. |
573 | b) Added an incidence angle input to be able to save sample rotation angle to headers of files. |
579 | b) Added an incidence angle input to be able to save sample rotation angle to headers of files. |
574 | c) Added support for the fieldpoint temperature sensor (FP RTD 122). Can now plot and export data from the sensor for a specific |
580 | c) Added support for the fieldpoint temperature sensor (FP RTD 122). Can now plot and export data from the sensor for a specific |
575 | channel and specific time range. For now, this option only works if the PC you are using this program on is connected to an |
581 | channel and specific time range. For now, this option only works if the PC you are using this program on is connected to an |
576 | internet/ethernet connection at IJS. |
582 | internet/ethernet connection at IJS. |
577 | d) Added a limited relative PDE analysis option. At this time, it takes the selected files and calculates the PDE, relative to |
583 | d) Added a limited relative PDE analysis option. At this time, it takes the selected files and calculates the PDE, relative to |
578 | the first selected file. The first file should be measured at incidence angle 0, with others having an incidence angle shift of |
584 | the first selected file. The first file should be measured at incidence angle 0, with others having an incidence angle shift of |
579 | +15 (1st file -> 0, 2nd file -> 15, 3rd file -> 30,...). |
585 | +15 (1st file -> 0, 2nd file -> 15, 3rd file -> 30,...). |
580 | 586 | ||
581 | 9.4.2015 (Rev 127): |
587 | 9.4.2015 (Rev 127): |
582 | a) Added communications panel for connecting to a Tektronix scope. |
588 | a) Added communications panel for connecting to a Tektronix scope. |
583 | b) Added limited support for waveform analysis with a Tektronix scope. For now, it only works when linking it to CAMAC acquisition. |
589 | b) Added limited support for waveform analysis with a Tektronix scope. For now, it only works when linking it to CAMAC acquisition. |
584 | c) Added a manual chamber temperature entry field. |
590 | c) Added a manual chamber temperature entry field. |
585 | 591 | ||
586 | 16.3.2015 (Rev 117): |
592 | 16.3.2015 (Rev 117): |
587 | a) First version of sipmscan. |
593 | a) First version of sipmscan. |
588 | b) Added support for CAMAC, bias voltage settings and table position settings. |
594 | b) Added support for CAMAC, bias voltage settings and table position settings. |
589 | c) Added support for opening measured histograms. |
595 | c) Added support for opening measured histograms. |
590 | d) Added support for analysis: |
596 | d) Added support for analysis: |
591 | - making surface plots |
597 | - making surface plots |
592 | - fitting the ADC spectrum |
598 | - fitting the ADC spectrum |
593 | - creating breakdown voltage plots |
599 | - creating breakdown voltage plots |
594 | - integrating the ADC spectrum with changing X or Y direction (edge scans) |
600 | - integrating the ADC spectrum with changing X or Y direction (edge scans) |