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)  |