Overview
The beamtime on July 21 is the final shift of the dec 2022 epix10ka calibration beamtimes. From the December beam times two primary problems were observed, the check mark problem for the small 10k's and 3 out of the 4 quads of the MFX 2M showing values that were too low after switching.
Fig. 1 AML-L linearity behavior for small ePix10ka. Fig. 2 AML-L linearity compared to FL linearity for small epix10ka.
Fig 3. The observed problem when switching for 3 of the quads for the ePix10k2M.1.
We believe the problem is due to the X-ray pulse arriving to early in the measurement cycle, and only partially within the ACQ window, For the upcoming beamtimes 4 detectors will be evaluated: epix10ka front facing (no. 27), epix10ka sidefacing 1mm Si, ePix10k2M.1, and a prototype of the ePix10ka non-ghosting ASIC (NG). For the first 2 shifts, the primary aims are (in order of importance):
- Evaluate the problems observed for the 2M and the smalls and correct these, so we can properly calibrate the smalls during the final beamtime.
- to evaluate the linearity and switching dependence on the total flux hitting the detector, i.e. pinhole experiment;
- to evaluate the magnitude of the tigerteeth in switching when running with CompEnOn and Off,
- evaluate the performance of the NG detector (linearity, switching, ghosting).
The aim of the final shift is to calibrate the small ePix10ka detectors when we have corrected the problems observed in December, so we have valid calibration data for all detectors. We will be set up for all three beam times to measure air scatter at different fluxes. Before going to the beamtime, the following work has to be done:
- DAQ scripts for time scan and intensity scans have to be identified and tested that they run at station,
- Python visualisations for a few pixels that show both linearities (ADU vs. wave-8), and the timing scans (delay vs measured average intensity); evaluation of dropped shots to see if there is any persistence.
- The scope setup allowing us to see the x-ray pulse position compared to ACQ window has to be verified and ready (stand-alone diode and scope on network);
- The wave-8 with stand-alone diodes need to be set up at station;
- Setup has to be built and all detectors incorporated into the DAQ;
We are planning to have a dry run for the experiment at the end of the week prior to the first beamtime.
Shift coverage and responsibility.
Visualisation and DAQ scripts: Philip, Bhavna, Xavier;
Hardware setup and running the DAQ: Conny, Kaz, Dionisio.
Schedule to be discussed.
| time slot | staff |
---|---|---|
shift 1 | 6pm-1am | Kaz, Philip, Xavier, Conny, Julian. |
shift 2 | 11pm-6am | Bhavna, Dionisio, Conny (as needed), Gabriel. |
| ||
shift 1 | 6pm-1am | Dionisio, Kaz, Conny, Philip, Gabriel. |
shift 2 | 11pm-6am | Conny, Bhavna, Xavier. |
| ||
shift 1 | 6pm-1am | Conny, Dionisio, Bhavna (remote, only there until 22:00hrs), Xavier, Gabriel. |
shift 2 | 11pm-6am | Conny (as needed), Kaz, Philip. |
Experimental setup
The section will be filled out once the experiment is set up. Previous setup for reference:
Fig. Temp. Setup with small 10k's (ff and sf). Wave-8 diodes not mounted.
Fig. Final setup for the small 10k's. In picture, NG and FF cameras.
Measurement plan:
15 July 2023(?):
epix10ksmall, front facing, side facing, NG installed. Ensure we have dropped shots at a reasonable ratio for drift behavior monitoring for all detectors, and persistence evaluation for the NG detector.
Evaluation of the checkmark for the small:
Timing scan for the small the small detectors to identify the ACQ window position. The very crudely measured transfer function performed during the december beamtime for the small 10k can be seen below (Fig. 4)
- Perform an intensity scan at the correct location and visualize to evaluate the performance of the Wave-8 and find a wave-8 combination that works for the setup; 5 pedestal run before each. Visualize in real time.
- Step through the rising edge of the transfer window. At each location, perform an intensity scan in AML to check the linearity behaviour as a function of how close to full in the window we are. 5 pedestal run intermittently. Visualize in real time.
Discuss the stepsize and range!
Fig 4. Transfer function epix10k small. Original delay shown acqtoasicrodelay = 18223.
Pinhole experiment and Comp en on & off:
Evaluate the tiger teeth effect for Comp_en_on and off; Evaluate the linear response and if it changes when doing intensity scans with the entire sensor area exposed (no pin-hole) and if only a small region is exposed (pin-hole)
- locate the pulse at correct location in timing window (determined above); then perform an intensity scans with the whole detector exposed, but CompEnOn set to off; 5 pedestal before each measurement. Visualize in real time.
- Perform 2 intensity scans with the whole detector exposed, but CompEnOn set to on; 5 pedestal before the runs. Visualize in real time.
- Install the pinhole mask in front of the camera and perform 2 additional intensity scans. 5 pedestal before measurements. Visualize in real time.
- Remove pinhole mask and collect data for 1 minute with high intensity to evaluate the dropped shots. 5 pedestal before measurements. Visualize in real time.
- was there something else from Philip related to the low vs AML response?
15 July 2023 or 21 July (?):
ePix10k2M.1.
Timing scan for ePix10k2M to identify the ACQ window position. The transfer function measured for this camera in Jan 2022 can be seen below (Fig. 5)
- Perform an intensity scan at the correct location and visualize to evaluate the performance of the Wave-8 and find a wave-8 combination that works for the setup; 5 pedestal run before each. Visualize in real time.
- Step through the rising edge of the transfer window. At each location, perform an intensity scan in AML to check the linearity behaviour as a function of how close to full in the window we are. 5 pedestal run intermittently. Visualize in real time.
Discuss the stepsize and range!
Fig 4. Transfer function epix10k small. Original delay acqtoasicrodelay = ? check from data.OO
21 July 2023 or 22 July (?):
Complete calibration of the small ePix10k's (from, side, NG). Make sure we use dropped shots.
Beamtime plan:
excel sheet of the expected measurements.
File containing the run number descriptions:
Loggbok location:
/sdf/home/n/nakahara/analysis/detectors/IH/epix10k_mfxx10050_20230715
night 1 - notes
night 2 - notes2 + loggbook
night 3 - loggbook.
Notes and observations from the beamtime and subsequent data analysis:
commands in hutch python:
get to hutch python from mfx-daq by typing mfx3. Commands of interest:
att(x) - sets the transmission to x. so x=0.20 gives 20% transmission;
lcls.bykik_get_period() - gets the drop period. So if you get 137, it drops every 137 shot
lcls.bykik_set_period(x) - drops every xth event (x=137 drops every 137 event, x=2 drops every second event)
Gain configuration settings:
Table A1. Tr_bit and pixel config file combinations required to get specific gain mode for the ePix10 small.
Gain mode | Tr_bit value | Pixel config file |
FH | 1 | 12 (mode_12.txt - yellow) |
FM | 0 | 12 (mode_12.txt - yellow) |
FL | Does not matter | 8 (mode_8.txt - brown) |
AHL | 1 | 0 (mode_0.txt - red) |
AML | 0 | 0 (mode_0.txt - red) |
AHL-L | 1 | 4 (mode_4.txt - salmon) |
AML-L | 0 | 4 (mode_4.txt - salmon) |
Folder structure:
cd /sdf/data/lcls/ds/mfx/mfxx1005021/results
(ana-4.0.48-py3) ls
lowFlux philiph scan scripts
The idea is to put scripts under scripts and scan or lowFlux ntuples/.npy files etc under scan or lowFlux. This is how I had things set up on the old psana.
To copy the files to another experiment (from mfxx1005021 to xcsc00120), then use:
cp -rp /sdf/data/lcls/ds/mfx/mfxx1005021/results/scripts /sdf/data/lcls/ds/xcs/xcsc00121/results/scripts
cp -rp /sdf/data/lcls/ds/mfx/mfxx1005021/results/scripts /sdf/data/lcls/ds/xcs/xcsc00121/results/scan
cp -rp /sdf/data/lcls/ds/mfx/mfxx1005021/results/scripts /sdf/data/lcls/ds/xcs/xcsc00121/results/lowFlux
however, you will lijkely not want to copy all the files in scan and lowFlux, so it might be easier to just create them in the folder for the new experiment.
Instructions to run the DAQ scripts and analysis:
Script description, please see: Script descriptions
Attenuator scans:
DAQ scans:
- intensity scan that produces multiple files:
Leland has written a new attenuator scan script for us. To use this, go on mfx-daq and:
- if in mfx-monitor, then ssh mfx-daq
- Start mfx hutch python by typing "mfx3"
- import numpy as np
- scan_list = [1,0.66,0.33,0.1,0.05] (i.e 100%, 66%, 33%, 10%, 5%)
- x.attenuator_scan(events=240,record=True,config=False,transmissions=scan_list)
to just manually change the attenuation, write att(20) in the hutch python.
The DAQ needs to be in the configured state before running this script.
2. intensity scan that produces a single file:
x.attenuator_single_scan(events=12000,record=True,transmissions=[1.0,0.8, 0.61,0.4,0.2,0.1,0.05,0.01])
1.0,0.8, 0.61,0.4,0.2,0.1,0.05,0.01 are the transmissions with 1.0 having no attenuation, and 0.01 being 1% transmission.
Analysis script:
??????
Timing scans:
DAQ scan:
Run the following:
~ddamiani/Workarea/daq/daq-dev/tools/scanning/epix10ka_scan_exponential -L yes -e 100 --start 1000 -f 2000 -n 9 -P AcqToAsicR0Delay -p 0 -D MfxEndstation -t 2
use -h to get variable description.
-e events
--start starting scan position
-f finishing position
-n number of steps in the intervall
-P scanning variable to change
Analysis scripts:
You can find it here: /sdf/data/lcls/ds/mfx/mfxx1005021/results/scripts
You can call it with: >python -i TimeScan.py -d Epix10ka -r 472
Dropped shot visualization:
One can run e.g. python persistenceCheck.py -r 272 -d Epix10ka2M --maxNevents 450000 with the usual base class to analyze persistence. The script stores the mean and flux of kicked events and the immediately preceding events and also makes a dumb plot.
Check the detector configurations.:
(ana-4.0.48-py3) /sdf/group/lcls/ds/daq/current/build/pdsapp/bin/x86_64-rhel7-opt/configdb_readxtc -e ./xtc/
Updated default run for intensity scans:
Results:
Primary finding for smalls: the detector is marginally timed in, which is causing the low values after switching. The delay, ACQToAsicR0delay, should be shifted from 18223 to 17223.