Proton Calorimetry/Equipment: Difference between revisions

From PBTWiki
Jump to navigation Jump to search
 
(59 intermediate revisions by 6 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.


== [[/Caen Detector Emulator|Caen Detector Emulator]] ==
== [[/QuARC General Information|General Information]] ==


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.
Summary of QuARC components and codes needed.


More details can be found on the [[/Caen Detector Emulator|Caen Detector Emulator]] page.
== [[/FPGAs_DDC232|FPGAs: Nexys Video, USB104, Zybo Z7 and DDC232 Interface]] ==


== [[/Nikon DSLR|Nikon D70 DSLR]] ==
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.


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 [[/FPGAs_DDC232|FPGAs: Nexys Video, USB104, Zybo Z7 and DDC232 Interface]] page.


More details can be found on the [[/Nikon DSLR|Nikon D70 DSLR]] page.
== [[/Photodiode_Interface_Boards|DDC232-based Photodiode Interface Boards]] ==


== Remote Desktop Access ==
Custom ADC boards that take standard photodiodes have been designed that are based on the TI DDC232 and interface to an FPGA.


The DAQ laptop (hep-pool-12) can be controlled via Windows Remote Desktop. Make sure the DAQ laptop has remote control access enabled (Settings: Remote control). The controlling computer needs Windows Remote Desktop installed. In order to remotely control the DAQ laptop, follow these steps:
More details can be found on the [[/Photodiode_Interface_Boards|DDC232-based Photodiode Interface Boards]] page.


* Connect DAQ laptop via ethernet cable to the router
== [[/Inventory Location|D106 Inventory and Location]] ==
* Turn the router on. Turn WIFI on if needed
* Connect your computer to the router via ethernet cable or WIFI. For ethernet use the normal ethernet ports (not the WAN port)
* 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. Set the IP address of the DAQ laptop as pc name. If necessary, update the DAQ laptops IP address (see next step).
* (OPTIONAL) To find out the IP address of the DAQ laptop:
** Navigate to: Control Panel -> Network and Internet -> Network and Sharing Center
** Right click on "Local Area Connection" of the router
** Select "Properties"
** Select "Details": There you go
* Or find IP address by accessing the router:
** Open http://tplinklogin.net/ in a browser
** Enter Username and password which you can find on the back side of the router
** Navigate to DHCP: DHCP Client List
** IP address is listed under the pcs name: hep-pool-12


The list of items and tools stored in D106, updated on Dec 2020, is available on the [[/Inventory Location|D106 Inventory and Location]] page.


In order to access a folder on hep-pool-12 (currently PBTData):
== [[/ISDI CMOS Sensor|ISDI CMOS Sensor]] ==
* On a mac, go to: Finder
* Go (across the top menu)
* Connect to Server: Select: smb://HEP-POOL-12/
*Connect


== LeCroy Scope Trace Conversion: Binary to ASCII ==
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. 


To convert .trc binary data to .txt data that is formatted similarly to the output files from a CAEN DT5751 digitiser:
More details can be found on the [[/ISDI CMOS Sensor|ISDI CMOS Sensor]] page.


# Copy contents of <code>/unix/pbt/aknoetze/ConversionScripts</code> to a new directory.
== [[/Caen Detector Emulator|Caen Detector Emulator]] ==
# 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.
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.


To concatenate the new data files together into one single file, while in the directory <code>NEWASCII</code>,type:
More details can be found on the [[/Caen Detector Emulator|Caen Detector Emulator]] page.


<pre>
== [[/Nikon DSLR|Nikon D70 DSLR]] ==
cat *.txt > OutputFileName.txt
</pre>


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.


== Working with LeCroy Scope Trace Files in ROOT using the LeCroyData Class ==
More details can be found on the [[/Nikon DSLR|Nikon D70 DSLR]] page.
 
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 ==

Latest revision as of 16:09, 29 May 2024

This page contains information on the various pieces of experimental equipment that form the Proton Calorimetry detector setup.

General Information

Summary of QuARC components and codes needed.

FPGAs: Nexys Video, USB104, Zybo Z7 and DDC232 Interface

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.

More details can be found on the FPGAs: Nexys Video, USB104, Zybo Z7 and DDC232 Interface page.

DDC232-based Photodiode Interface Boards

Custom ADC boards that take standard photodiodes have been designed that are based on the TI DDC232 and interface to an FPGA.

More details can be found on the DDC232-based Photodiode Interface Boards page.

D106 Inventory and Location

The list of items and tools stored in D106, updated on Dec 2020, is available on the D106 Inventory and Location page.

ISDI CMOS Sensor

The ISDI 1510-100 15x10cm CMOS pixel sensor allows images of the scintillator detector stack light output to be recorded.

More details can be found on the ISDI CMOS Sensor page.

Caen Detector Emulator

The Caen DT5800D Detector Emulator provides the capability for emulating the output of an arbitrary detector system.

More details can be found on the Caen Detector Emulator page.

Nikon D70 DSLR

A 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 D70 DSLR page.

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.

More details can be found on the TI DDC1128 Evaluation Module page.

Remote Desktop Access

More details can be found on the Remote Desktop Access page.

Connecting HV to DAQ Laptop

More details can be found on the Connecting HV to DAQ Laptop page.

LeCroy Oscilloscope

Details of the analysis of single-module calorimeter data taken by the LeCroy scope can be found on the LeCroy Oscilloscope page.

This page needs to be updated with work completed in the 2018-2019 academic year.

Manuals

Manuals for relevant detector hardware.

WaveCatcher

WaveCatcherFamily_V1.2.pdf
Full description of the WaveCatcher Family hardware with paths to Control & Readout software and libraries. Covers the 2-channel and 8-channel WaveCatcher modules, the 16-Channel WaveCatcher board and module, and all the options of the 64-Channel WaveCatcher Crate (16, 32, 48 or 64 channels).
WaveCatcher64Ch_Library_1.1.16.pdf
Users manual for WaveCatcher64Ch Control and Readout Library
WaveCatcherSoftware_V1.1.pdf
User manual for the WaveCatcher Family Control & Readout software (Windows Only, includes scope-like GUI).

Caen

DT5751 Product Page
Caen product page for DT5751 2-4 Channel 10 bit 2/1 GS/s Digitizer.
DT5751 User Manual
User manual for DT5751 2-4 Channel 10 bit 2/1 GS/s Digitizer.
DT5740 Product Page
Caen product page for DT5740 16/32-Channel 12 bit 62.5MS/s Digitizer supporting DPP-QDC firmware.
DT5740 User Manual
User manual for the DT5740 Desktop 16/32-channel Desktop Digitizer, that also functions in QDC charge integration mode with the DPP-QDC firmware.
UM4874_DPP-QDC_UserManual
User manual for the Digital Pulse Processing for Charge to Digital Converter DPP-QDC implemented exclusively for the "D" model of the 740 Digitizer series (740D).