Setup

Schematic

Communication

The development board communicates with a PC through a fiber-ethernet converter.  Because the media converter is passive, it's only necessary to set the IP address of the Gb card on the PC to that programmed into the dev board FPGA.  This can be done from a terminal as follows (assumes root/sudo access):

ifconfig enp4s0 192.168.0.1

This assumes that the network controller name is enp4s0 (current as of 2017/08/03).  Once the IP address has been set, the MTU of the device is set as follows

ifconfig enp4s0 mtu 9000

The MTU of the device needs to be 9000 in order to handle the expected data rates. 

Configuring

 Before communication with the FGPA can be established, the following configuration needs to be loaded

devboard.xml

Operation

Starting trackerGui

The trackerGui can be started by issuing the following commands from a terminal

cd /home/heavyphoton/work/daq
source setup.sh
./bin/trackerGui

Preparing to Run

 Once the trackerGui has been started, the device under test (hybrid, half-module, etc.) needs to be configured as follows:

  1. HardReset
  2. Load Settings (Select the file located at config/calibration_config.xml)
  3. SoftReset



Figure 1: trackerGui

Once the APV's have been configured, the trackerGui should display "5 Out Of 5 Apvs Are Synced" as shown in Figure 1.

Taking a Calibration Run

A calibration run can be taken as follows

cd /home/HeavyPhoton/work/daq/run_scripts/
source setup.sh
python run_calibration.py -r RUN_NUMBER -h HYBRID_ID 

The HYBRID_ID is the identifier of the hybrid that is being tested.  All files will be saved to the folder

/home/HeavyPhoton/work/daq/data/hybrid_[HYBRID_ID]/[RUN_NUMBER]/data/


Taking a Gain Run

In order to check the linearity of a hybrid/half-module, the response of the APV25 as a function of input charge needs to be measured and fit to a linear function.  This requires taking several calibration runs at different input charge values.  This can be done by issuing the following commands in a terminal

trackerGui &
cd /home/HeavyPhoton/work/daq/run_scripts
python run_gain.py -r RUN_NUMBER -h HYBRID_ID

The HYBRID_ID is the identifier of the hybrid that is being tested.  All files will be saved to the folder  

/home/HeavyPhoton/work/daq/data/hybrid_[HYBRID_ID]/[RUN_NUMBER]/data/[CHARGE_VALUE]

Troubleshooting

Hybrid Type

If the data looks strange, there is a chance that the HybridType is set incorrectly.  When testing L1-L3 (L4-L6) hybrids/half-modules the HybridType should be set to Old (New).  In order to check/change the HybridType open the configuration file

/home/heavyphoton/work/daq/config/calibration_config.xml 

with your favorite text editor and search for the xml tag <HybridType>.  The type should be changed to match the DUT. 

Quality Assurance Tests

Running Baseline Analysis

Running the baseline analysis can be done as follows

cd /path/to/analysis_folder/
baseline -i INPUT_FILE -h/m HYBRID/HALF_MODULE_ID -p /path/to/analysis/folder -r RUN_NUMBER  

If running over data taken before the APV25 ordering was fixed, the '-c' flag will apply the software fix.  

Running Calibration Analysis

After a calibration run for each calibration group has been taken (see Taking a calibration run), the analysis of the files can be done by issuing the following commands from a terminal

cd /path/to/analysis_folder/
apv25_qa -l INPUT_FILE_LIST -h/n HYBRID/HALF_MODULE_ID -p /path/to/analysis/folder -b /path/to/baseline/file/BASELINE.baseline -r RUN_NUMBER

The INPUT_FILE_LIST is simply a text file which contains a list of file names.  The HYBRID_ID is the identifier of the hybrid that is being tested.  The '-b' flag is optional and specifies the location of the text file containing the pedestals (baseline) and noise for each of the channels.  The text file is generated within the baseline folder of the analysis directory by the baseline analysis described above.  If the '-b' flag is not used or if the file specified does not exist, the first shaper signal sample will be used as the pedestal.

In the case, e.g. testing or debugging, that only a single file (single calibration group) needs to be analyzed, the '-l' flag is replaced by the '-i' flag in the command above as follows

apv25_qa -i INPUT_FILE.bin -h HYBRID_ID -p /path/to/analysis/folder -b /path/to/baseline/file/BASELINE.baseline -r RUN_NUMBER

Once the calibration analysis has been completed, all plots will appear in the 'plots' directory.

Running Gain Analysis

Once a gain run has been taken, the analysis can be run by issuing the following commands in a terminal

cd /home/HeavyPhoton/workdir/hps/run_scripts/
python run_gain_analysis.py -r [RUN_NUMBER] -h [HYBRID_ID] -b [PATH_TO_BASELINE_FILE]

This will looks through all of the files, run a calibration analysis on a charge group and then extract the gain from the resulting ROOT files.  The plots will be saved to the following location

/home/HeavyPhoton/workdir/hps/data/hybrid_[HYBRID_ID]/[RUN_NUMBER]/data/plots

 

ifconfig eth1 mtu 4000

  • No labels