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