Proton Calorimetry/Equipment: Difference between revisions

From PBTWiki
Jump to navigation Jump to search
Line 70: Line 70:
| <code>int LeCroyData::getPointsPerAcq();</code>
| <code>int LeCroyData::getPointsPerAcq();</code>
| Returns the number of data points (voltage / time pairs) recorded in each acquisition in the file.
| Returns the number of data points (voltage / time pairs) recorded in each acquisition in the file.
| <code>
| rowspan="3" | <code>
//Plotting a single acquisition using ROOT's TGraph class
//Plotting a single acquisition using ROOT's TGraph class



Revision as of 14:58, 24 January 2018

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

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.

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:

  1. Copy contents of /unix/pbt/aknoetze/ConversionScripts to a new directory.
  2. Open trc2txt.py in a text editor.
    1. Change path to directory containing .trc data files by editing variable dirpath
    2. Change number of decimal points for each column by editing: np.savetxt(..., fmt=‘...’,...)
  3. Run trc2txt.py

Converted .txt files will be in the copied directory NEWASCII. 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 NEWASCII,type:

cat *.txt > OutputFileName.txt


Working with LeCroy Scope Trace Files in ROOT using the LeCroyData Class

The LeCroyData class is defined in SimpleLeCroyRoutines.C, which can be found at /unix/pbt/users/dwalker/LeCroy. 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:

Method Signature Notes Example
LeCroyData::LeCroyData(std::string fileName); 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.

//Instantiating a new LeCroyData object

LeCroyData* lcd = new LeCroyData("../data/aug16/lecroy/C1Trace00000.trc");

int LeCroyData::getAcqCount(); Returns the number of acquisitions recorded in the file.

//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;

}

double* LeCroyData::getTriggerArray(); Returns a C-style array containing the time in ns at which each acquisition in the file was triggered, relative to the first trigger.
double* LeCroyData::getOffsetArray(); 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.
int LeCroyData::getPointsPerAcq(); Returns the number of data points (voltage / time pairs) recorded in each acquisition in the file.

//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();

double* LeCroyData::getAcqWave(int segment); 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.
double* LeCroyData::getAcqTime(int segment); 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.
string LeCroyData::getTimestamp(); 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".


Additional methods are being added to handle the generation of spectra and improve access to timing data.

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