update README

This commit is contained in:
2024-02-09 17:07:47 +01:00
parent 8d974d0913
commit 5b83e57e6f

View File

@ -8,22 +8,23 @@ Provides an absolute calibration of high gain. Copper fluorescence is used to il
Scripts are:
- *CuFluo_exposure.sh* to perform the exposure in the X-ray box
- *CuFluo_analysis.cpp* to measure the peak-to-peak distance
- *CuFluo_Ka_KaKb_Comp.cpp* to quantify the difference between different fit models
- Legacy: *CuFluo_Ka_KaKb_Comp.cpp* to quantify the difference between different fit models
## Direct beam
Provides a relative calibration between high and medium gains. The current in the X-ray box is varied to measure the response of high and medium gains. The ratio of the two gains is the ratio of fitted gradients.
Scripts are:
- *DB_scan.sh* to perform the scan
- *DB_analysis.cpp* to calculate the response, fit the gradients and measure the ratio
For calibration of storage cells:
- *CuFluo_exposure_sc.sh* to perform the exposure in the X-ray box
- *CuFluo_analysis_sc_singlethread_data.cpp* to read pixel spectra from a single storage cell into .root
- *CuFluo_analysis_sc_singlethread_fits.cpp* to measure the peak-to-peak distance for a single storage cell
Not written multithreaded, but can be launched for multiple storage cells on multiple cores in parallel.
## Backplane pulsing
Also provides a relative calibration between high and medium gains. A seperate circuit board is used to pulse the voltage on the backplane of the sensor. By varying the size of the pulse, the response of high and medium gains can be measured and fit with linear functions. The ratio of the two gains is the ratio of fitted gradients.
Provides a relative calibration between high and medium gains. A seperate circuit board is used to pulse the voltage on the backplane of the sensor. By varying the size of the pulse, the response of high and medium gains can be measured and fit with linear functions. The ratio of the two gains is the ratio of fitted gradients.
Scripts are:
- *BP_scan.sh* to perform the scan
- *BP_analysis.cpp* to calculate the response, fit the gradients and measure the ratio
- *BP_DB_Comp.cpp* to quantify the difference between the two methods
- Legacy: *BP_DB_Comp.cpp* to quantify the difference between the two methods
For calibration of storage cells, we assume that the relative gains behave the same for all storage cells and no extra data are taken or analysis performed.
## Current source
Provides a relative calibration between medium and low gains. An internal current source is used to inject charge into the ASIC one column at a time. By varying the integration time, the amound of collected charge is varied and the response of medium and low gain can be measured. The ratio of the two gains is the ratio of fitted gradients.
@ -31,7 +32,9 @@ Provides a relative calibration between medium and low gains. An internal curren
Scripts are:
- *CS_scan.sh* to perform the scan
- *CS_analysis.cpp* to calculate the response, fit the gradients and measure the ratio
- *CS_BaselineTest.cpp* to check that increasing the integratio time doesn't change the baseline
- Legacy: *CS_BaselineTest.cpp* to check that increasing the integratio time doesn't change the baseline
For calibration of storage cells, we assume that the relative gains behave the same for all storage cells and no extra data are taken or analysis performed.
## Full dynamic range calibration
The full dynamic range can be calibrated by combining information from the various measurements.
@ -43,6 +46,38 @@ The full dynamic range can be calibrated by combining information from the vario
Scripts are:
- *JFMC_CalibWriter.cpp* to perform the calibration
For calibration of storage cells:
- *JFMC_CalibWriter_sc.cpp* to perform the calibration
## Basic steps to perform the calibration
Data taking:
- Setup environment variables: *source setup_env.sh*
- Set receiver PC: *source pccalib.sh <pc_name>* (either mpc2012 or pc-jungfrau-test)
- Create receiver commands: *source filename_creator.sh <module number>*
- *sls_detector_put hostname jfcalib_x* (x=0..5)
- If required: Setup pulse generator serial connection on pc8830 (BP_scan)
- If required: Setup x-ray box (CuFluo_exposure)
- Launch data taking script (*BP_scan.sh*, *CS_scan.sh*, *CuFluo_exposure.sh*)
- Monitor if there is any significant package loss. (For BP_scan and CS_scan, there must not be any loss! CuFluo exposure tolerates some loss.)
- Data are saved to /mnt/sls_det_storage/jungfrau_calib/data/Module_XXX_Calib/
Data analysis:
- Edit *CS_analysis.cpp* to add the module number(s) you want to calibrate (if they are not already included): *scan_v6.push_back("<module number>");*
- Recompile *make CS_analysis* (easiest to do it on mpc2012 to avoid running into issues with the version of ROOT)
- Rerun *source filename_creator.sh <module number>* to get the commands to launch scripts for the module
- If required: Modify commands for storage cells
- Launch the analysis scripts (*JFMC_CalibWriter_wBP* only when all the other analyses have finished)
- Output is saved to data/ and plots/
## Legacy: Direct beam
Provides a relative calibration between high and medium gains. The current in the X-ray box is varied to measure the response of high and medium gains. The ratio of the two gains is the ratio of fitted gradients.
Scripts are:
- *DB_scan.sh* to perform the scan
- *DB_analysis.cpp* to calculate the response, fit the gradients and measure the ratio
## References
- Calibration status and plans for the charge integrating JUNGFRAU pixel detector for SwissFEL, S. Redford et al 2016 JINST 11 C11013
- First full dynamic range calibration of the JUNGFRAU photon detector, S. Redford et al 2018 JINST 13 C01027