Rev 167 | Rev 173 | Go to most recent revision | Details | Compare with Previous | 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 | |||
| 172 | f9daq | 532 | ??.8.2016 (Current Rev) |
| 533 | 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 |
||
| 535 | 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 |
||
| 537 | 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 |
||
| 539 | angular dependence of the light passing onto a complete camera pixel. |
||
| 540 | |||
| 541 | 11.8.2016 (Rev 167): |
||
| 167 | f9daq | 542 | 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. |
||
| 544 | 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. |
||
| 546 | 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). |
||
| 548 | e) Normalization to a maximum of 1 now works for surface scans. |
||
| 549 | |||
| 550 | 4.4.2016 (Rev 146): |
||
| 146 | f9daq | 551 | 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. |
||
| 553 | 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 |
||
| 555 | 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 |
||
| 557 | entries, check boxes or buttons. |
||
| 558 | 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. |
||
| 560 | |||
| 561 | 17.7.2015 (Rev 129): |
||
| 562 | 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 |
||
| 564 | 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. |
||
| 566 | 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. |
||
| 568 | f) Fixed issue with program not correctly writting multiple channels. |
||
| 569 | |||
| 570 | 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 |
||
| 572 | information. |
||
| 573 | 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 |
||
| 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 |
||
| 576 | 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 |
||
| 578 | 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,...). |
||
| 580 | |||
| 581 | 9.4.2015 (Rev 127): |
||
| 582 | 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. |
||
| 584 | c) Added a manual chamber temperature entry field. |
||
| 585 | |||
| 586 | 16.3.2015 (Rev 117): |
||
| 587 | a) First version of sipmscan. |
||
| 588 | b) Added support for CAMAC, bias voltage settings and table position settings. |
||
| 589 | c) Added support for opening measured histograms. |
||
| 590 | d) Added support for analysis: |
||
| 591 | - making surface plots |
||
| 592 | - fitting the ADC spectrum |
||
| 593 | - creating breakdown voltage plots |
||
| 594 | - integrating the ADC spectrum with changing X or Y direction (edge scans) |