Rev 167 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
146 | f9daq | 1 | SOFTWARE FOR SIPM CHARACTERIZATION WITH CAMAC, SCOPE, BIAS VOLTAGE AND TABLE POSITION SUPPORT |
2 | ============================================================================================= |
||
3 | By Gasper Kukec Mezek, April 2015. |
||
4 | |||
5 | ============== |
||
6 | = Contents === |
||
7 | ============== |
||
8 | |||
9 | 1. Installation |
||
10 | 2. Running the software |
||
11 | 3. Program feature overview |
||
12 | 3a. Current program version (trunk) |
||
13 | 3b. Old program version (trunk_v0.9) |
||
14 | 4. Preparing for measurements |
||
15 | 4a. Pre-software checks |
||
16 | 4b. Experimental setup pre-measurement checks |
||
17 | 4c. Software pre-measurement checks |
||
18 | 5. Measurements |
||
19 | 5a. Measurement settings |
||
20 | 5b. Temperature chamber considerations |
||
21 | 5c. Movement table |
||
22 | 5d. Bias voltage supply |
||
23 | 6. Measurement files |
||
24 | 6a. ROOT file structure |
||
25 | 6b. Opening measurement files |
||
26 | 7. Analysis |
||
27 | 8. Change log |
||
28 | |||
29 | ===================== |
||
30 | = 1. Installation === |
||
31 | ===================== |
||
32 | |||
33 | See $sipmscan/doc/INSTALL for installation instructions or use "./configure help". |
||
34 | |||
35 | ============================= |
||
36 | = 2. Running the software === |
||
37 | ============================= |
||
38 | |||
39 | Once installation is performed, use |
||
40 | ./start.sh |
||
41 | to start the software in offline mode or |
||
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 |
||
44 | was correctly established. |
||
45 | |||
46 | ================================= |
||
47 | = 3. Program feature overview === |
||
48 | ================================= |
||
49 | |||
50 | This part describes the different parts of the software and a short description on what they do. |
||
51 | ____________________________________ |
||
52 | 3a. Current program version (trunk): |
||
53 | |||
54 | The main window is divided into 4 tabs and then further into subwindows: |
||
55 | 1) Measurement tab: |
||
56 | a) Settings pane: |
||
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). |
||
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). |
||
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. |
||
63 | - LASER settings info panel -> Additional information to be written to the output file header (most generally used for |
||
64 | laser information). |
||
65 | - Chamber temperature -> Chamber temperature to be written to the output file (temperature not directly taken from the |
||
66 | fieldpoint sensor). |
||
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. |
||
69 | b) Display: Display of the live histogram, when it is turned on. |
||
70 | c) Main measurement window: |
||
71 | - Settings for bias voltage, table position and incidence angle measurements. |
||
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 |
||
74 | step size to 0. |
||
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. |
||
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,...). |
||
79 | - Start acquisition -> Starts the measurement based on currently selected settings. |
||
80 | - Current measurement progress bar -> Determines the status of the current measurement. |
||
81 | |||
82 | 2) Analysis tab: |
||
83 | a) Histogram file selection: |
||
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 |
||
86 | order displayed on 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. |
||
89 | b) Histogram: Displays the currently selected histogram from the histogram file selection subwindow. |
||
90 | c) Histogram controls: |
||
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). |
||
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). |
||
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. |
||
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 |
||
99 | information). |
||
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. |
||
102 | d) Analysis: |
||
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 |
||
105 | options to further edit the results. |
||
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 |
||
108 | on the ADC spectra (breakdown voltage and relative PDE). The current progress of the analysis is displayed on the |
||
109 | progress bar. |
||
110 | |||
111 | 3) Monitoring tab: UNDER DEVELOPMENT! Fieldpoint temperature sensor data view. |
||
112 | |||
113 | 4) Help tab: Displays the contents of this help file. |
||
114 | |||
115 | On the top, there are 3 menus: |
||
116 | a) File: |
||
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 |
||
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. |
||
121 | - Save current analysis settings -> UNDER DEVELOPMENT! Will eventually save the entered values from the Analysis tab. |
||
122 | - Exit -> Exit the software (shortkey x) |
||
123 | |||
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). |
||
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. |
||
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. |
||
130 | - Integrate spectrum (Y direction) -> Same as Integrate spectrum (X direction), but the selected files were produced as |
||
131 | Y axis 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 |
||
134 | X and Y directions). |
||
135 | - Timing analysis -> UNDER DEVELOPMENT! Will make an analysis on the TDC spectrum of measurements. |
||
136 | |||
137 | c) Help information |
||
138 | |||
139 | Important! |
||
140 | When using any analysis method, only events inside the selected TDC window will be used (set the TDC range accordingly). |
||
141 | |||
142 | _____________________________________ |
||
143 | 3b. Old program version (trunk_v0.9): |
||
144 | |||
145 | The main window is divided into 5 subwindows: |
||
146 | a) Settings window: |
||
147 | - ON/OFF switches for voltage and surface scans. |
||
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 |
||
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 |
||
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 |
||
154 | perpendicular to LASER beam) |
||
155 | |||
156 | b) Main measurement window: |
||
157 | - settings for table position and bias voltage |
||
158 | - when scans are enabled, additional settings for scans |
||
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) |
||
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 |
||
163 | - waveform analysis settings (channel, measurement type) |
||
164 | - possibility to send custom one-line commands |
||
165 | |||
166 | c) Histogram file selection window: |
||
167 | - open past measurements for analysis |
||
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 |
||
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 |
||
172 | - any opened measurement has an info display of its header at the bottom for easier navigation |
||
173 | |||
174 | d) Histogram window: |
||
175 | - displays the currently selected histogram in the histogram file selection window |
||
176 | |||
177 | e) Histogram controls window: |
||
178 | - directly linked to the histogram window, it enables plotting options |
||
179 | - can set ranges on histogram plots |
||
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 |
||
182 | - toggle for logarithmic Y scale |
||
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 |
||
185 | |||
186 | On the top, there are 4 menus: |
||
187 | a) File: |
||
188 | - New Measurement -> not working |
||
189 | - Exit -> exit the software (shortkey x) |
||
190 | |||
191 | b) Analysis: |
||
192 | - Histogram type -> change between histogram types (same as in histogram controls window) |
||
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 |
||
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) |
||
197 | - Relative PDE -> calculation of the relative PDE for the currently selected files |
||
198 | |||
199 | c) Tools: |
||
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 |
||
202 | the graph can cause unstable behavior. If possible, use ~/sipmscan/fieldpoint_standalone instead. |
||
203 | |||
204 | d) Windows: |
||
205 | - Specific window tiling |
||
206 | - Switch between active windows |
||
207 | |||
208 | e) Help information |
||
209 | |||
210 | Important! |
||
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. |
||
213 | |||
214 | =================================== |
||
215 | = 4. Preparing for measurements === |
||
216 | =================================== |
||
217 | |||
218 | General information for preparing the experimental setup and software for measurements. |
||
219 | |||
220 | ________________________ |
||
221 | 4a. Pre-software checks: |
||
222 | |||
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: |
||
225 | |||
226 | daq::connect() - No devices were detected! |
||
227 | |||
228 | then CAMAC was not started or the program did not properly register it. |
||
229 | |||
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. |
||
232 | |||
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. |
||
235 | |||
236 | ______________________________________________ |
||
237 | 4b. Experimental setup pre-measurement checks: |
||
238 | |||
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 |
||
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). |
||
243 | |||
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). |
||
246 | |||
247 | ____________________________________ |
||
248 | 4c. Software pre-measurement checks: |
||
249 | |||
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 |
||
252 | output channel for bias voltage supply and not change any other channels (since they could be connected to other experimental |
||
253 | setups). |
||
254 | |||
255 | ===================== |
||
256 | = 5. Measurements === |
||
257 | ===================== |
||
258 | |||
259 | Information on the settings for performing measurements available in this program and information on the movement tables. |
||
260 | |||
261 | _________________________ |
||
262 | 5a. Measurement settings: |
||
263 | |||
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). |
||
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: |
||
268 | |||
269 | Floor( [V(max) - V(min)]/V(step) ) |
||
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 |
||
272 | measurement will be performed at V(min). |
||
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 |
||
275 | perform multiple measurements at different table positions (surface scan). The number of measurements is equal to: |
||
276 | |||
277 | Floor( [X(max) - X(min)]/X(step) ) Floor( [Y(max) - Y(min)]/Y(step) ) |
||
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 |
||
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). |
||
282 | |||
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: |
||
285 | |||
286 | Floor( [Z(max) - Z(min)]/Z(step) ) |
||
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 |
||
289 | performed at Z(min). |
||
290 | |||
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 |
||
293 | of measurements is equal to: |
||
294 | |||
295 | Floor( [Angle(max) - Angle(min)]/Angle(step) ) |
||
296 | |||
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). |
||
299 | |||
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). |
||
302 | |||
303 | _______________________________________ |
||
304 | 5b. Temperature chamber considerations: |
||
305 | |||
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 |
||
308 | the temperature, thus heating slightly above the set temperature (sometimes as much as 5 degrees) and then cooling back down. |
||
309 | |||
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 |
||
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). |
||
314 | |||
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 |
||
317 | temperature before opening, but any very short changes to the setup can still be performed when at lower temperatures. |
||
318 | |||
319 | ___________________ |
||
320 | 5c. Movement table: |
||
321 | |||
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 |
||
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: |
||
326 | |||
327 | ./mikro_ctrl [arguments] |
||
328 | |||
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 |
||
331 | controller. |
||
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 |
||
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 |
||
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. |
||
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. |
||
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. |
||
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 |
||
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). |
||
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 |
||
348 | argument (-n). For possible commands and values, see the MicroMini user manual. |
||
349 | |||
350 | Example commands: |
||
351 | - Reset node 1: |
||
352 | ./mikro_ctrl -n 1 -r |
||
353 | - Initialize node 2 as a 4M Linear type: |
||
354 | ./mikro_ctrl -n 2 -i 3 |
||
355 | - Home node 3: |
||
356 | ./mikro_ctrl -n 3 -h |
||
357 | - Determine node 1 position: |
||
358 | ./mikro_ctrl -n 1 -p |
||
359 | - Prepare to move node 2 to an absolute position of 1000 and move it: |
||
360 | ./mikro_ctrl -n 2 -v 500 -s la |
||
361 | ./mikro_ctrl -c m |
||
362 | - Prepare to move node 3 relative to current position for -500 and move it: |
||
363 | ./mikro_ctrl -n 2 -v -500 -s lr |
||
364 | ./mikro_ctrl -c m |
||
365 | - Abort the current movement of node 4: |
||
366 | ./mikro_ctrl -n 4 -c ab |
||
367 | |||
368 | Documentation: |
||
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 |
||
371 | - 3M Rotational table: http://www.naimotion.com/mm3mr.htm |
||
372 | |||
373 | ________________________ |
||
374 | 5d. Bias voltage supply: |
||
375 | |||
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 |
||
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: |
||
380 | |||
381 | ./mpod_voltage.sh [arguments] |
||
382 | |||
383 | The arguments can be: |
||
384 | - Reset all output channels: --resetall |
||
385 | - Reset a selected output channel: -r [channel] |
||
386 | - Selects an output channel: -o [channel] |
||
387 | - Sets the output channel voltage: -v [voltage] |
||
388 | - Turns the output on/off: -s [0/1] |
||
389 | - Get the current output channel voltage: -g |
||
390 | |||
391 | Example commands: |
||
392 | - Get the set bias voltage on channel 1 (U0): |
||
393 | ./mpod_voltage.sh -o 1 -g |
||
394 | - Turn the bias voltage off on channel 2 (U1): |
||
395 | ./mpod_voltage.sh -o 2 -s 0 |
||
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 |
||
398 | - Reset channel 2 (U1): |
||
399 | ./mpod_voltage.sh -o 2 -r |
||
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 |
||
402 | channel 1 (U0): |
||
403 | snmpset -v 2c -M +. -m +WIENER-CRATE-MIB -c guru [IP address] outputVoltage.1 F 24.5 |
||
404 | |||
405 | Documentation: |
||
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 |
||
408 | |||
409 | ========================== |
||
410 | = 6. Measurement files === |
||
411 | ========================== |
||
412 | |||
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. |
||
415 | ________________________ |
||
416 | 6a. ROOT file structure: |
||
417 | |||
418 | The output ROOT files are structured in this way: |
||
419 | |||
420 | ROOT file (TFile) |
||
421 | | |
||
422 | |== header_data (TTree): Header information (same for all events) |
||
423 | | | |
||
424 | | |== nrch (TBranch): Number of channels (ADC + TDC channels) |
||
425 | | |== timestamp (TBranch): Unix timestamp for start of measurement |
||
426 | | |== biasvolt (TBranch): Measurement bias voltage |
||
427 | | |== xpos (TBranch): X axis position in table units |
||
428 | | |== ypos (TBranch): Y axis position in table units |
||
429 | | |== zpos (TBranch): Z axis position in table units |
||
430 | | |== temperature (TBranch): Chamber temperature |
||
431 | | |== angle (TBranch): Incidence angle of measurement |
||
432 | | |== laserinfo (TBranch): Additional info for measurement |
||
433 | | |
||
434 | |== meas_data (TTree): Measured values from ADC and TDC (all events) |
||
435 | | | |
||
436 | | |== ADC0 (TBranch): All events from ADC 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 |
||
439 | | |== TDC1 (TBranch): All events from TDC channel 1 saved in order |
||
440 | | |== ... (TBranch): Additional channels up to 8 (0-7) in total |
||
441 | | |
||
442 | |== scope_data (TTree, optional): Measured values from the oscilloscope |
||
443 | | |
||
444 | |== measdata (TBranch): Currently in development |
||
445 | |||
446 | |||
447 | The easiest way to get the data is to create structures: |
||
448 | |||
449 | struct EventHeader { |
||
450 | int nrch; |
||
451 | int timestamp; |
||
452 | double biasvolt; |
||
453 | int xpos; |
||
454 | int ypos; |
||
455 | int zpos; |
||
456 | double temperature; |
||
457 | double angle; |
||
458 | char laserinfo[256]; |
||
459 | } evtheader; |
||
460 | |||
461 | struct EventData { |
||
462 | int adcdata[8]; |
||
463 | int tdcdata[8]; |
||
464 | } evtdata; |
||
465 | |||
466 | struct EventMeas { |
||
467 | double measdata; |
||
468 | } evtmeas; |
||
469 | |||
470 | |||
471 | Then opening the file: |
||
472 | |||
473 | TFile* inputfile = TFile::Open("filename.root","READ"); |
||
474 | |||
475 | Then getting separate information: |
||
476 | - for instance for reading the bias voltage from header: |
||
477 | |||
478 | TTree* sometree; |
||
479 | inputfile->GetObject("header_data", sometree); |
||
480 | sometree->SetBranchAddress("biasvolt", &evtheader.biasvolt); |
||
481 | sometree->GetEntry(0); |
||
482 | |||
483 | - for instance for reading all ADC and TDC events in a file from channel 1 (ADC0): |
||
484 | |||
485 | TTree* sometree; |
||
486 | inputfile->GetObject("meas_data", sometree); |
||
487 | char selectedCh[256]; |
||
488 | for(int i = 0; i < sometree->GetEntries(); i++) |
||
489 | { |
||
490 | sprintf(selectedCh, "ADC%d", 0); |
||
491 | sometree->SetBranchAddress(selectedCh, &evtdata.adcdata[i]); |
||
492 | sometree->GetEntry(i); |
||
493 | |||
494 | sprintf(selectedCh, "TDC%d", 0); |
||
495 | sometree->SetBranchAddress(selectedCh, &evtdata.tdcdata[i]); |
||
496 | sometree->GetEntry(i); |
||
497 | } |
||
498 | |||
499 | ______________________________ |
||
500 | 6b. Opening measurement files: |
||
501 | |||
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 |
||
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). |
||
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 |
||
508 | when this measurement was taken. If there are any problems with the header, modifications can be performed with the Edit header |
||
509 | button. |
||
510 | |||
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). |
||
513 | |||
514 | ================= |
||
515 | = 7. Analysis === |
||
516 | ================= |
||
517 | |||
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. |
||
520 | - Fitting of ADC spectrum photon equivalent peaks. |
||
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. |
||
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. |
||
525 | |||
526 | Still to come... |
||
527 | |||
528 | =================== |
||
529 | = 8. Change log === |
||
530 | =================== |
||
531 | |||
532 | 4.4.2016 (Current Rev): |
||
533 | a) Complete restructure of the program, so that it now runs seperately, not through ROOT (libraries are constructed pre-run). |
||
534 | Program is now split into multiple tabs for easier use, three of which are Measurement, Analysis and Help. |
||
535 | b) Added support for relative PDE measurements with included sample rotation table. |
||
536 | c) Improvement of analysis part of the program (includes ADC spectrum integration, breakdown voltage characterization, surface |
||
537 | scans, relative PDE characterization,...). |
||
538 | d) Added tooltips for different parts of the program for quick reference. Use them by hovering over any text entries, number |
||
539 | entries, check boxes or buttons. |
||
540 | e) Connection to temperature data and oscilloscope currently under development. |
||
541 | 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. |
||
542 | |||
543 | 17.7.2015 (Rev 129): |
||
544 | a) Fixed a problem with ADC peak fitting (peak fitting returning a segmentation fault). |
||
545 | b) Added support to edit file headers (in case, some were created at an older date and did not include some header information or |
||
546 | there was a mistake in writing them). |
||
547 | c) Temperature data can only be retrieved when connected to the IJS network (IP = 178.172.43.xxx) and is disabled otherwise. |
||
548 | d) The relative PDE measurement now takes the incidence angle value directly from input files. |
||
549 | e) Currently, data acquisition only works on 32bit computers. |
||
550 | f) Fixed issue with program not correctly writting multiple channels. |
||
551 | |||
552 | 5.5.2015 (Rev 128): |
||
553 | a) Added a header display for opened files in the histogram file selection window. This enables a quicker view of the measurement |
||
554 | information. |
||
555 | b) Added an incidence angle input to be able to save sample rotation angle to headers of files. |
||
556 | c) Added support for the fieldpoint temperature sensor (FP RTD 122). Can now plot and export data from the sensor for a specific |
||
557 | channel and specific time range. For now, this option only works if the PC you are using this program on is connected to an |
||
558 | internet/ethernet connection at IJS. |
||
559 | d) Added a limited relative PDE analysis option. At this time, it takes the selected files and calculates the PDE, relative to |
||
560 | the first selected file. The first file should be measured at incidence angle 0, with others having an incidence angle shift of |
||
561 | +15 (1st file -> 0, 2nd file -> 15, 3rd file -> 30,...). |
||
562 | |||
563 | 9.4.2015 (Rev 127): |
||
564 | a) Added communications panel for connecting to a Tektronix scope. |
||
565 | b) Added limited support for waveform analysis with a Tektronix scope. For now, it only works when linking it to CAMAC acquisition. |
||
566 | c) Added a manual chamber temperature entry field. |
||
567 | |||
568 | 16.3.2015 (Rev 117): |
||
569 | a) First version of sipmscan. |
||
570 | b) Added support for CAMAC, bias voltage settings and table position settings. |
||
571 | c) Added support for opening measured histograms. |
||
572 | d) Added support for analysis: |
||
573 | - making surface plots |
||
574 | - fitting the ADC spectrum |
||
575 | - creating breakdown voltage plots |
||
576 | - integrating the ADC spectrum with changing X or Y direction (edge scans) |