New data converter and analysis scripts
Draft of a more scalable ETROC2 data converter and simple analysis script.
The workflow will basically be:
- Set up and configure ETROC / RB with test_ETROC script
- Start DAQ with a defined run number for a certain time
- Send triggers / qinj pulses
Right now, the DAQ script daq.py
can also set up the KCU-internal L1A generator (however, automatic charge injection generation is not yet tested / fully implemented).
Internal L1A mode
Set the ETROC into internal data generation mode:
python3 test_ETROC.py --test_chip --hard_reset --module 1 --internal_data
Then run the DAQ script with internal L1A generator, e.g. for 10s with a L1A rate of 10kHz like
python3 daq.py --run_time 10 --l1a_rate 10000 --run 123
This will produce an output_run_RUN_time_TIMESTAMP.dat file, which can be converted into awkward array / json format with
ipython3 -i data_dumper.py -- --input output_run_123_time_TIMESTAMP
Finally, plots can be made with
cd analysis
ipython3 -i timing_plot.py -- --input output_run_123_time_TIMESTAMP
External L1A
Set the ETROC into internal data generation mode:
python3 test_ETROC.py --test_chip --hard_reset --module 1 --internal_data
Start the DAQ script in the background and set the internal L1A generator to 0, for a run that lasts 200s.
python3 daq.py --run_time 200 --l1a_rate 0 --kcu 192.168.0.10 --run 129 &
Send 1000 triggers in short spills, then wait until 10s total have passed before starting the next spill, for 15 times.
python3 qinj_trigger.py --kcu 192.168.0.10 --cycle_time 10 --cycles 15 --trigger --pulses 1000
Charge injection
Set the ETROC into internal data generation mode:
python3 test_ETROC.py --test_chip --hard_reset --module 1 --qinj
Start the DAQ script in the background and set the internal L1A generator to 0, for a run that lasts 200s.
python3 daq.py --run_time 200 --l1a_rate 0 --kcu 192.168.0.10 --run 129 &
Send 1000 triggers in short spills, then wait until 10s total have passed before starting the next spill, for 15 times.
python3 qinj_trigger.py --kcu 192.168.0.10 --cycle_time 10 --cycles 15 --pulses 1000
Meta data storage
Tbd. Should be implemented into the daq.py
script whenever a run finishes.
Planning to dump the entire ETROC configurations.