|
|
(23 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
| This page contains information on the various pieces of experimental equipment that form the Proton Calorimetry detector setup. | | This page contains information on the various pieces of experimental equipment that form the Proton Calorimetry detector setup. |
|
| |
|
| == [[/ISDI CMOS Sensor|ISDI CMOS Sensor]] == | | == [[/QuARC General Information|General Information]] == |
|
| |
|
| The [https://www.isdicmos.com/products ISDI 1510-100 15x10cm CMOS pixel sensor] allows images of the scintillator detector stack light output to be recorded.
| | Summary of QuARC components and codes needed. |
|
| |
|
| More details can be found on the [[/ISDI CMOS Sensor|ISDI CMOS Sensor]] page.
| | == [[/FPGAs_DDC232|FPGAs: Nexys Video, USB104, Zybo Z7 and DDC232 Interface]] == |
|
| |
|
| == [[/Caen Detector Emulator|Caen Detector Emulator]] ==
| | The DDC232 is a 32-channel ADC. Housed on a custom circuit board, it used to measure the charges of 16 photodiodes and is interfaced with a Nexys Video. |
|
| |
|
| The [http://www.caen.it/csite/CaenProd.jsp?idmod=837&parent=59 Caen DT5800D Detector Emulator] provides the capability for emulating the output of an arbitrary detector system.
| | More details can be found on the [[/FPGAs_DDC232|FPGAs: Nexys Video, USB104, Zybo Z7 and DDC232 Interface]] page. |
|
| |
|
| More details can be found on the [[/Caen Detector Emulator|Caen Detector Emulator]] page.
| | == [[/Photodiode_Interface_Boards|DDC232-based Photodiode Interface Boards]] == |
|
| |
|
| == [[/Nikon DSLR|Nikon D70 DSLR]] ==
| | Custom ADC boards that take standard photodiodes have been designed that are based on the TI DDC232 and interface to an FPGA. |
|
| |
|
| A [https://www.nikonusa.com/en/nikon-products/product-archive/dslr-cameras/d70.html Nikon D70 DSLR] was borrowed from Adam Gibson in Medical Physics to allow remote acquisition of scintillator images.
| | More details can be found on the [[/Photodiode_Interface_Boards|DDC232-based Photodiode Interface Boards]] page. |
|
| |
|
| More details can be found on the [[/Nikon DSLR|Nikon D70 DSLR]] page.
| | == [[/Inventory Location|D106 Inventory and Location]] == |
|
| |
|
| == Remote Desktop Access ==
| | The list of items and tools stored in D106, updated on Dec 2020, is available on the [[/Inventory Location|D106 Inventory and Location]] page. |
|
| |
|
| Long BNC signal cables have been shown to have an impact on the signal recorded. In order to avoid this problem a network allowing remote access to the DAQ laptop (used to control the High Voltage (HV) and the digitiser) and the oscilloscope has been set up using two Linksys AC1900 dual band routers. The routers are labelled "Experimental Room" (Linksys 14941) and "Control Room" (Linksys 14483).
| | == [[/ISDI CMOS Sensor|ISDI CMOS Sensor]] == |
|
| |
|
| The DAQ laptop (hep-pool-12) and the LeCroy oscilloscope can be controlled via Windows Remote Desktop. Make sure the DAQ laptop and the oscilloscope have remote control access enabled (Settings: Remote control). The controlling computer needs Windows Remote Desktop installed. There can be more than one controlling computer in order to have the HV and scope displayed on different screens for easy monitoring and access. In order to remotely control the DAQ laptop, follow these steps: | | The [https://www.isdicmos.com/products ISDI 1510-100 15x10cm CMOS pixel sensor] allows images of the scintillator detector stack light output to be recorded. |
|
| |
|
| *Turn on and log into (important particularly for the oscilloscope which won't allow a remote connection before a first login) the DAQ laptop, the oscilloscope and the controlling computers.
| | More details can be found on the [[/ISDI CMOS Sensor|ISDI CMOS Sensor]] page. |
| *Connect all relevant cables, using the normal ethernet ports on the routers (not the WAN port):
| |
| **Oscilloscope (top ethernet port) -> Experimental Room router (via 5 m ethernet cable)
| |
| **DAQ laptop -> Experimental Room router (via 5 m ethernet cable)
| |
| **Experimental Room router -> Control Room router (via long flat ethernet cable)
| |
| **Controlling computer 1 ->Control Room router (via 5 m ethernet cable)
| |
| **Controlling computer 2 ->Control Room router (via 5 m ethernet cable)
| |
| * Check that the DAQ laptop is connected to the router:
| |
| **Control Panel-> View Network Status and Tasks
| |
| * Open Microsoft Remote Desktop on your computer and start a session (either new or existing). Fill in the following details:
| |
| ** '''Connection name''': something relevant to the DAQ laptop or the oscilloscope, but can be anything you choose
| |
| ** '''PC name''':The IP address of the DAQ laptop and the oscilloscope. These have both been set to have static IP addresses:
| |
| *** DAQ laptop IP address: 192.168.1.201
| |
| *** Oscilloscope IP address: 192.168.1.202
| |
| *** DAQ desk PC IP address: 192.168.1.210
| |
| *** DAQ mac laptop PC IP address: using the LINKSYS 192.168.1.114 (using office network 192.168.4.48). Check with ipconfig -all
| |
|
| |
|
| ----
| | == [[/Caen Detector Emulator|Caen Detector Emulator]] == |
|
| |
|
| Note that if it is necessary to check the IP addresses (for example, if adding anything else onto the network), then:
| | The [http://www.caen.it/csite/CaenProd.jsp?idmod=837&parent=59 Caen DT5800D Detector Emulator] provides the capability for emulating the output of an arbitrary detector system. |
| *On the DAQ laptop (< Windows 10):
| |
| ** Navigate to: Control Panel -> Network and Internet -> Network and Sharing Center
| |
| ** Right click on "Local Area Connection" of the router
| |
| ** Select "Properties"
| |
| ** Select "Details": IPv4 address is here
| |
| *On the DAQ PC (Windows 10):
| |
| ** Right click on windows symbol in lower left corner
| |
| ** Select "Network connections"
| |
| ** Select "View you network properties"
| |
| ** IPv4 address is here
| |
| * Or find the IP address by accessing the router:
| |
| ** Go to 192.168.1.1 in a browser
| |
| ** The password to access the router is: admin
| |
| ** Navigate to "devices", which displays everything connected to the network with its IP address
| |
|
| |
|
| ----
| | More details can be found on the [[/Caen Detector Emulator|Caen Detector Emulator]] page. |
|
| |
|
| ** '''Gateway''': select "No gateway configured"
| | == [[/Nikon DSLR|Nikon D70 DSLR]] == |
| ** '''User name''':
| |
| *** DAQ laptop: hep
| |
| *** Oscilloscope: LeCroyUser
| |
| ** '''Password''': the DAQ laptop and oscilloscope passwords
| |
| ** '''Resolution''': select "Native"
| |
| ** '''Colors''': select "High Color (16 bit)"
| |
| ** '''Full screen mode''': select "OS X native"
| |
| * Start the connection by either selecting the relevant session and clicking "start" or double clicking the relevant session
| |
|
| |
|
| * Common troubleshoot: If your computer doesn't connect, try a different port for the ethernet cable or turn WIFI off and back on again
| | A [https://www.nikonusa.com/en/nikon-products/product-archive/dslr-cameras/d70.html Nikon D70 DSLR] was borrowed from Adam Gibson in Medical Physics to allow remote acquisition of scintillator images. |
|
| |
|
| ----
| | More details can be found on the [[/Nikon DSLR|Nikon D70 DSLR]] page. |
| In order to access a shared folder on the DAQ laptop (currently shared folder is PBTData):
| |
| * On a mac, go to: Finder
| |
| * Go (across the top menu)
| |
| * Connect to Server: Select: smb://HEP-POOL-12/ (name of DAQ laptop)
| |
| * Connect
| |
| | |
| In order to access a shared folder on the DAQ PC (currently shared folder is digiCamControl):
| |
| * On a mac, go to: Finder
| |
| * Go (across the top menu)
| |
| * Connect to Server: Select: smb://BN16180400 (name of DAQ PC)
| |
| * Connect
| |
| | |
| If you need to set up a new shared folder on a Windows pc follow the instructions on this website:
| |
| https://www.howtogeek.com/191116/how-to-share-files-between-windows-mac-and-linux-pcs-on-a-network/
| |
| | |
| Quick guide:
| |
| * Enable file sharing in a private network in Settings: Network and Internet: Sharing options
| |
| * Make the folder sharable in "properties" of the folder you want to share
| |
| * Try disable firewall if connection fails in Settings: Network and Internet: Windows Firewall
| |
| * Connect to windows pc/laptop as described above
| |
| | |
| == Connecting HV to DAQ Laptop ==
| |
| *The DAQ Laptop (hep-pool-12) or the DAQ Windows 10 Desktop PC are required to run the HV software GECO, with the necessary drivers installed.
| |
| *Turn the laptop/Desktop DAQ PC on.
| |
| *Connect the HV using either the grey or black USB cable (both have been tested and work) to the middle USB port on the left of the DAQ laptop or any port on the Desktop DAQ PC.
| |
| *Turn on the HV unit.
| |
| *On the DAQ laptop or Desktop DAQ PC, go to:
| |
| **Control Panel -> Hardware and Sound -> View devices and printers to check the COM Port address of the HV unit (displayed as an unidentified device).
| |
| **open the device properties (double click)->Hardware->Properties->Port Settings to see (Bits per second, Data bits, ...)
| |
| *On the DAQ laptop open the "GECO" software.
| |
| **Update the COM Port address if need be and connect.
| |
| * On the DAQ PC open the “GECO” software.
| |
| **assign a supply name, if not there;
| |
| **Power Supply Type: NIM/DESKTOP HV;
| |
| **Connection Type: VCP USB;
| |
| **Port: COM3; Baud: 9600; Data: 8; Stop: 1; Parity: None; LBus Adds: 0
| |
| *On the HV unit itself, from the main menu go to "Board" and change the "Control" to "Remote". Then turn the switch of the HV channel being used to "on".
| |
| You should now be able to control and monitor the HV remotely.
| |
| *To turn ON the HV:
| |
| ** Use Ch0 (pre-set parameters)
| |
| ** Make sure the switch on the HV module is ON for that specific channel
| |
| ** Select Interlock Close (Right-hand side of Caen software).
| |
| ** Turn ON Pw
| |
| -----------------
| |
| On the DAQ PC a connection can be estabilished via ethernet using the terminal emulator TeraTerm or GECO
| |
| * to check/assign the IP
| |
| ** pen TeraTerm with the HV connected via USB
| |
| ** select Serial and check the Port
| |
| ** on the emulator type CAEN
| |
| ** will open a screen with the terminal board menu
| |
| ** type E to check or set the IP
| |
| ** save (type S) and quit (type Q)
| |
| * To connect via ethernet using TeraTerm
| |
| ** select TCP7IP
| |
| ** service Telnet
| |
| ** TCP port 1470
| |
| ** Protocol IPv4
| |
| * To connect via ethernet using GECO
| |
| ** power supply type NIM/DESKTOP
| |
| ** connection type TCP/IP
| |
| ** IP address 192.168.0.3
| |
| ** LBus Addr 0
| |
| * ssh is not supported. You can use your mac OS, but using Telnet (telnet IP)
| |
| | |
| == Insall EPIX sotware on Widows ==
| |
| usefull links:
| |
| *EPIX disribtors http://www.epixinc.com/links/distlist.htm#international
| |
| *EPIX softwre suport http://www.epixinc.com/support/pcitips.htm
| |
| | |
| *Sotware installation (grphic card not connected)
| |
| ** from www.epixinc.com Downloads (http://epixinc.com/support/files.php), download the PIXCI® V3.8 Software, 64 bit app for Windows 64-Bit1 (file name: xcapwin64.exe)
| |
| ** double click on the file to start the softwre installation
| |
| ** the softwre will install all the drivers needed for the graphic card installation
| |
| ** error message: drivers pre-installation failed. But the sotware is installed
| |
| ** open XCAP to agree the license
| |
| ** enter the Software ID and Submit
| |
| ** the submitted ID should allow the software setup: XCAP-Lite -> OK
| |
| ** software installation completed
| |
| ** at this point you should have the error "Driver not installed or frame grabber not installed"
| |
| * once the Software installation is complete power down the computer and install the PIXCI frame grabber.
| |
| * OR restart Winsows and plug-in the frame grabber via thunderbolt 3 connection
| |
| ** from the Device Manager you should see the Immaging device PIXCI(R), but with an esclamation mark.
| |
| ** open File Explorer -> Program Files -> EPIX -> XCAP -> drivers -> Win10x64 -> right click the file epixxcw6 and manually install the driver
| |
| ** on Device Manager -> right-click Immaging device -> Update Drivers ->Browse my computer for driver software -> Let me pick from a list of available drivers on my computer -> select the driver from the list (PIXCI E8 ..., the one digitally signed!)
| |
| ** "Windows has finished installing the drivers"
| |
| ** the application could ask you to restart windows. If not, restart.
| |
| | |
| == LeCroy Scope Trace Conversion: Binary to ASCII ==
| |
| | |
| To convert .trc binary data to .txt data that is formatted similarly to the output files from a CAEN DT5751 digitiser:
| |
| | |
| # Copy contents of <code>/unix/pbt/aknoetze/ConversionScripts</code> to a new directory.
| |
| # Open <code>trc2txt.py</code> in a text editor.
| |
| ## Change path to directory containing .trc data files by editing variable <code>dirpath</code>
| |
| ## Change number of decimal points for each column by editing: <code>np.savetxt(..., fmt=‘...’,...)</code>
| |
| # Run <code>trc2txt.py</code>
| |
| | |
| Converted .txt files will be in the copied directory <code>NEWASCII</code>. These new files will possess the same file names as the original .txt files.
| |
| | |
| To concatenate the new data files together into one single file, while in the directory <code>NEWASCII</code>,type:
| |
| | |
| <pre>
| |
| cat *.txt > OutputFileName.txt
| |
| </pre>
| |
| | |
| | |
| == Working with LeCroy Scope Trace Files in ROOT using the LeCroyData Class ==
| |
| | |
| The LeCroyData class is defined in <code>SimpleLeCroyRoutines.C</code>, which can be found at <code>/unix/pbt/users/dwalker/LeCroy</code>.
| |
| The class is intended for use in interactive ROOT sessions, but can be used in compiled ROOT applets. Its public methods and their use are summarised below:
| |
| | |
| {| class="wikitable"
| |
| ! style="width: 25%" | Method Signature
| |
| ! style="width: 40%" | Notes
| |
| ! Example
| |
| |-
| |
| | <code>LeCroyData::LeCroyData(std::string fileName);</code>
| |
| | Constructor for the LeCroyData class. The string fileName must be a fully qualified path from the current working directory to the LeCroy binary format file to be loaded.
| |
| | <code>
| |
| //Instantiating a new LeCroyData object
| |
| | |
| LeCroyData* lcd = new LeCroyData("../data/aug16/lecroy/C1Trace00000.trc");
| |
| </code>
| |
| |-
| |
| | <code>int LeCroyData::getAcqCount();</code>
| |
| | Returns the number of acquisitions recorded in the file.
| |
| | rowspan="2" | <code>
| |
| //Printing every trigger time in a LeCroy binary file
| |
| | |
| LeCroyData lcd("C1Trace00037.trc");
| |
| | |
| int n = lcd.getAcqCount();
| |
| | |
| for(int i = 0; i<n; i++){
| |
| | |
| std::cout.flush()<<lcd.getTriggerArray()[i]<<std::endl;
| |
| | |
| }
| |
| | |
| </code>
| |
| |-
| |
| | <code>double* LeCroyData::getTriggerArray();</code>
| |
| | Returns a C-style array containing the time in ns at which each acquisition in the file was triggered, relative to the first trigger.
| |
| |-
| |
| | <code>double* LeCroyData::getOffsetArray();</code>
| |
| | Returns a C-style array containing the time in ns between the start of each acquisition and the time of the trigger for that acquisition.
| |
| |
| |
| |-
| |
| | <code>int LeCroyData::getPointsPerAcq();</code>
| |
| | Returns the number of data points (voltage / time pairs) recorded in each acquisition in the file.
| |
| | rowspan="3" | <code>
| |
| //Plotting a single acquisition using ROOT's TGraph class
| |
| | |
| LeCroyData lcd("C1Trace00000.trc");
| |
| | |
| int acquisitionNumber = 0;
| |
| | |
| double* x = lcd.getAcqTime(acquisitionNumber);
| |
| | |
| double* y = lcd.getAcqWave(acquisitionNumber);
| |
| | |
| int n = lcd.getPointsPerAcq();
| |
| | |
| TGraph* gr = new TGraph(n, x, y);
| |
| | |
| gr->Draw();
| |
| </code>
| |
| |-
| |
| | <code>double* LeCroyData::getAcqWave(int segment);</code>
| |
| | Returns a C-style array of doubles. The array contains the voltages recorded by the scope in an acquisition with index "segment", which runs from zero to the number of acquisitions in the file.
| |
| |
| |
| |-
| |
| | <code>double* LeCroyData::getAcqTime(int segment);</code>
| |
| | Returns a C-style array of doubles. The array contains the time in ns of each data point in the acquisition indexed by "segment", relative to the trigger for that acquisition.
| |
| |
| |
| |-
| |
| | <code>string LeCroyData::getTimestamp();</code>
| |
| | Returns a string describing the timestamp for the file as a date and a clock time. This time corresponds to the first trigger in the file and takes the format "d/m/yyyy @ hh:mm:ss.ssss".
| |
| |
| |
| |-
| |
| | <code>double* LeCroyData::getSpectrum();</code>
| |
| | Returns a C-style array of doubles, where each entry is the ADC Counts calculated for an event.
| |
| |rowspan="2"|
| |
| <code>
| |
| //Create and display a histogram of the ADC Counts of pulses in a file
| |
| | |
| LeCroyData* lcd = new LeCroyData("C1Trace00000.trc");
| |
| | |
| TH1D* hist = new TH1D("hist", "LeCroyData Spectrum;ADC Counts;Number of Events", 350, 0, -1);
| |
|
| |
|
| int n = lcd->getSpectrumSize();
| | == [[/TI DDC1128EVM|TI DDC1128 Evaluation Module]] == |
| | The DDC1128EVM provides a platform for evaluating the DDC1128 charge digitizing A/D converters. A PC interface board and two DDC1128 devices are included along with software that makes analysis and testing of these devices manageable. |
|
| |
|
| double* s = lcd->getSpectrum();
| | More details can be found on the [[/TI DDC1128EVM|TI DDC1128 Evaluation Module]] page. |
|
| |
|
| for(int i = 0; i<n; i++){ hist->Fill(s[i]); }
| | == [[/Remote_Desktop_Access|Remote Desktop Access]] == |
| | More details can be found on the [[/Remote_Desktop_Access|Remote Desktop Access]] page. |
|
| |
|
| hist->Draw();
| | == [[/HV|Connecting HV to DAQ Laptop]] == |
| </code>
| | More details can be found on the [[/HV|Connecting HV to DAQ Laptop]] page. |
| |- | |
| | <code>double* LeCroyData::getSpectrumSize();</code>
| |
| | Returns the number of entries in <code>LeCroyData::getSpectrum()</code> (equal to the number of entries in <code>LeCroyData::getSpectrumTime()</code>) as an integer.
| |
| | | |
| |-
| |
| | <code>double* LeCroyData::getSpectrumTime();</code>
| |
| | Returns a C-style array of doubles, where each entry is the time in ns at which an event recorded in the spectrum occurred, with respect to the first trigger time in the file.
| |
| |
| |
| |}
| |
|
| |
|
| | == [[/LeCroy|LeCroy Oscilloscope]] == |
| | Details of the analysis of single-module calorimeter data taken by the LeCroy scope can be found on the [[/LeCroy|LeCroy Oscilloscope]] page. |
|
| |
|
| Additional methods are being added to handle the generation of spectra and improve access to timing data.
| | This page needs to be updated with work completed in the 2018-2019 academic year. |
|
| |
|
| == Manuals == | | == Manuals == |