Rev 173 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 173 | Rev 181 | ||
---|---|---|---|
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 | 2;12.2016 (Current Rev) |
- | 533 | a) Mostly fixed the fitting procedure for relative PDE point estimation. The maximum peak fit error should now work correctly, when excluding points that are far away from the relative PDE curve. |
|
- | 534 | ||
- | 535 | 5.10.2016 (Rev 174) |
|
533 | a) Fixed a couple of bugs and layout positions. |
536 | a) Fixed a couple of bugs and layout positions. |
534 | b) Added settings files for measurement and analysis settings. With this, everytime a new measurement or a new analysis is |
537 | b) Added settings files for measurement and analysis settings. With this, everytime a new measurement or a new analysis is |
535 | ran, the selected settings are saved to a file. This way, if the program crashes, the selected settings will be automatically |
538 | ran, the selected settings are saved to a file. This way, if the program crashes, the selected settings will be automatically |
536 | filled in. |
539 | filled in. |
537 | 540 | ||
538 | 30.9.2016 (Rev 172): |
541 | 30.9.2016 (Rev 172): |
539 | a) Fixed the time estimation for surface and Z-axis scans (TimeEstimateNew). |
542 | a) Fixed the time estimation for surface and Z-axis scans (TimeEstimateNew). |
540 | b) Did the same as c) in the previous revision, but separately for opening histogram files and for selecting the measurement |
543 | b) Did the same as c) in the previous revision, but separately for opening histogram files and for selecting the measurement |
541 | output file. |
544 | output file. |
542 | c) Added an Emergency stop button to the movement of the table - just in case a wrong value is inserted and there is something |
545 | c) Added an Emergency stop button to the movement of the table - just in case a wrong value is inserted and there is something |
543 | in the way. |
546 | in the way. |
544 | d) Added a way to integrate the surface scan, when using the "Start and Edit" option. This can be useful for determining the |
547 | d) Added a way to integrate the surface scan, when using the "Start and Edit" option. This can be useful for determining the |
545 | angular dependence of the light passing onto a complete camera pixel. |
548 | angular dependence of the light passing onto a complete camera pixel. |
546 | 549 | ||
547 | 11.8.2016 (Rev 167): |
550 | 11.8.2016 (Rev 167): |
548 | a) When using breakdown voltage or relative PDE analysis and with only one file selected, the analysis is stopped and the fit |
551 | a) When using breakdown voltage or relative PDE analysis and with only one file selected, the analysis is stopped and the fit |
549 | is displayed on the graph. This makes it easier to setup fitting settings. |
552 | is displayed on the graph. This makes it easier to setup fitting settings. |
550 | b) Added the possibility to export plots created through analysis ("Start and edit" option). |
553 | b) Added the possibility to export plots created through analysis ("Start and edit" option). |
551 | c) Everytime, when opening a histogram file, the following open and save dialog windows automatically open up in that directory. |
554 | c) Everytime, when opening a histogram file, the following open and save dialog windows automatically open up in that directory. |
552 | This makes it easier to find the directory that was used last. |
555 | This makes it easier to find the directory that was used last. |
553 | d) Added a dropdown list to the Analysis tab, so that it is possible to set position units for plots (table units or microns). |
556 | d) Added a dropdown list to the Analysis tab, so that it is possible to set position units for plots (table units or microns). |
554 | e) Normalization to a maximum of 1 now works for surface scans. |
557 | e) Normalization to a maximum of 1 now works for surface scans. |
555 | 558 | ||
556 | 4.4.2016 (Rev 146): |
559 | 4.4.2016 (Rev 146): |
557 | a) Complete restructure of the program, so that it now runs seperately, not through ROOT (libraries are constructed pre-run). |
560 | a) Complete restructure of the program, so that it now runs seperately, not through ROOT (libraries are constructed pre-run). |
558 | Program is now split into multiple tabs for easier use, three of which are Measurement, Analysis and Help. |
561 | Program is now split into multiple tabs for easier use, three of which are Measurement, Analysis and Help. |
559 | b) Added support for relative PDE measurements with included sample rotation table. |
562 | b) Added support for relative PDE measurements with included sample rotation table. |
560 | c) Improvement of analysis part of the program (includes ADC spectrum integration, breakdown voltage characterization, surface |
563 | c) Improvement of analysis part of the program (includes ADC spectrum integration, breakdown voltage characterization, surface |
561 | scans, relative PDE characterization,...). |
564 | scans, relative PDE characterization,...). |
562 | d) Added tooltips for different parts of the program for quick reference. Use them by hovering over any text entries, number |
565 | d) Added tooltips for different parts of the program for quick reference. Use them by hovering over any text entries, number |
563 | entries, check boxes or buttons. |
566 | entries, check boxes or buttons. |
564 | e) Connection to temperature data and oscilloscope currently under development. |
567 | e) Connection to temperature data and oscilloscope currently under development. |
565 | f) Older version of program moved to https://f9pc00.ijs.si/svn/f9daq/lab/sipmscan/trunk_v0.9 and will no longer be in development. |
568 | 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. |
566 | 569 | ||
567 | 17.7.2015 (Rev 129): |
570 | 17.7.2015 (Rev 129): |
568 | a) Fixed a problem with ADC peak fitting (peak fitting returning a segmentation fault). |
571 | a) Fixed a problem with ADC peak fitting (peak fitting returning a segmentation fault). |
569 | b) Added support to edit file headers (in case, some were created at an older date and did not include some header information or |
572 | b) Added support to edit file headers (in case, some were created at an older date and did not include some header information or |
570 | there was a mistake in writing them). |
573 | there was a mistake in writing them). |
571 | c) Temperature data can only be retrieved when connected to the IJS network (IP = 178.172.43.xxx) and is disabled otherwise. |
574 | c) Temperature data can only be retrieved when connected to the IJS network (IP = 178.172.43.xxx) and is disabled otherwise. |
572 | d) The relative PDE measurement now takes the incidence angle value directly from input files. |
575 | d) The relative PDE measurement now takes the incidence angle value directly from input files. |
573 | e) Currently, data acquisition only works on 32bit computers. |
576 | e) Currently, data acquisition only works on 32bit computers. |
574 | f) Fixed issue with program not correctly writting multiple channels. |
577 | f) Fixed issue with program not correctly writting multiple channels. |
575 | 578 | ||
576 | 5.5.2015 (Rev 128): |
579 | 5.5.2015 (Rev 128): |
577 | a) Added a header display for opened files in the histogram file selection window. This enables a quicker view of the measurement |
580 | a) Added a header display for opened files in the histogram file selection window. This enables a quicker view of the measurement |
578 | information. |
581 | information. |
579 | b) Added an incidence angle input to be able to save sample rotation angle to headers of files. |
582 | b) Added an incidence angle input to be able to save sample rotation angle to headers of files. |
580 | c) Added support for the fieldpoint temperature sensor (FP RTD 122). Can now plot and export data from the sensor for a specific |
583 | c) Added support for the fieldpoint temperature sensor (FP RTD 122). Can now plot and export data from the sensor for a specific |
581 | channel and specific time range. For now, this option only works if the PC you are using this program on is connected to an |
584 | channel and specific time range. For now, this option only works if the PC you are using this program on is connected to an |
582 | internet/ethernet connection at IJS. |
585 | internet/ethernet connection at IJS. |
583 | d) Added a limited relative PDE analysis option. At this time, it takes the selected files and calculates the PDE, relative to |
586 | d) Added a limited relative PDE analysis option. At this time, it takes the selected files and calculates the PDE, relative to |
584 | the first selected file. The first file should be measured at incidence angle 0, with others having an incidence angle shift of |
587 | the first selected file. The first file should be measured at incidence angle 0, with others having an incidence angle shift of |
585 | +15 (1st file -> 0, 2nd file -> 15, 3rd file -> 30,...). |
588 | +15 (1st file -> 0, 2nd file -> 15, 3rd file -> 30,...). |
586 | 589 | ||
587 | 9.4.2015 (Rev 127): |
590 | 9.4.2015 (Rev 127): |
588 | a) Added communications panel for connecting to a Tektronix scope. |
591 | a) Added communications panel for connecting to a Tektronix scope. |
589 | b) Added limited support for waveform analysis with a Tektronix scope. For now, it only works when linking it to CAMAC acquisition. |
592 | b) Added limited support for waveform analysis with a Tektronix scope. For now, it only works when linking it to CAMAC acquisition. |
590 | c) Added a manual chamber temperature entry field. |
593 | c) Added a manual chamber temperature entry field. |
591 | 594 | ||
592 | 16.3.2015 (Rev 117): |
595 | 16.3.2015 (Rev 117): |
593 | a) First version of sipmscan. |
596 | a) First version of sipmscan. |
594 | b) Added support for CAMAC, bias voltage settings and table position settings. |
597 | b) Added support for CAMAC, bias voltage settings and table position settings. |
595 | c) Added support for opening measured histograms. |
598 | c) Added support for opening measured histograms. |
596 | d) Added support for analysis: |
599 | d) Added support for analysis: |
597 | - making surface plots |
600 | - making surface plots |
598 | - fitting the ADC spectrum |
601 | - fitting the ADC spectrum |
599 | - creating breakdown voltage plots |
602 | - creating breakdown voltage plots |
600 | - integrating the ADC spectrum with changing X or Y direction (edge scans) |
603 | - integrating the ADC spectrum with changing X or Y direction (edge scans) |