52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
import UsefulFuncs
|
|
import imp
|
|
from glob import glob
|
|
from ROOT import *
|
|
import numpy as np
|
|
from array import array
|
|
import matplotlib.pyplot as plt
|
|
|
|
imp.reload(UsefulFuncs)
|
|
exptime = 50
|
|
gain = 'g4'
|
|
moenchCode = 'Moench040'
|
|
date = '250423'
|
|
hv = 150
|
|
Folder = f'/mnt/sls_det_storage/moench_data/xiangyu/{date}_BP_cali_{moenchCode}_{hv}V_{gain}_{exptime}us'
|
|
RootFileName = f'{moenchCode}_AduToKevMapping_{gain}_{exptime}us_{hv}V_{date}.root'
|
|
CaliLut3DFileName = f'/home/xie_x1/MLED/data-process/utils/BacksidePulsing_Calibration/Moench040/{moenchCode}_AduToKevMapping_{gain}_{exptime}us_{hv}V_{date}.npy'
|
|
|
|
XrayFolder = f'/mnt/sls_det_storage/moench_data/2504_SoleilBeamtime/{moenchCode}_g4_SimonStars_150V_50us'
|
|
Roi = [140, 230, 120, 210]
|
|
Energy = 15
|
|
|
|
measurementConfig = {
|
|
'caliFile': np.load(CaliLut3DFileName),
|
|
'pedestalFileName': f'{XrayFolder}/{Energy}keV_pedestal_d0_f0_0.raw',
|
|
'signalFileNames': glob(f'{XrayFolder}/{Energy}keV_signal_d0_f*_0.raw'),
|
|
'etaxLUT': '/mnt/sls_det_storage/moench_data/MLXID/EtaInterpolation/Moench040_EtaxLUT_g4_50us_150V_250423.npy',
|
|
'etayLUT': '/mnt/sls_det_storage/moench_data/MLXID/EtaInterpolation/Moench040_EtayLUT_g4_50us_150V_250423.npy',
|
|
'Roi': Roi,
|
|
'NX': 400, 'NY': 400,
|
|
'energy': Energy, # keV
|
|
'selectionRange': 2,
|
|
'NFrame': 20_000_000, ### 20_000_000 in total
|
|
'NThread': 16,
|
|
'headerSize': 56,
|
|
'clusterWidth': 3, ### cluster width, must be odd number
|
|
'write3x3Cluster': True,
|
|
'NChunks': 200,
|
|
}
|
|
|
|
UsefulFuncs.init(measurementConfig)
|
|
UsefulFuncs.getPedestalAndNoise_simplified()
|
|
UsefulFuncs.getHists()
|
|
|
|
nBinX = UsefulFuncs.h2_interpolated.GetXaxis().GetNbins()
|
|
nBinY = UsefulFuncs.h2_interpolated.GetYaxis().GetNbins()
|
|
frame_intepolated = np.zeros((nBinY, nBinX))
|
|
for ix in range(nBinX):
|
|
for iy in range(nBinY):
|
|
frame_intepolated[iy, ix] = UsefulFuncs.h2_interpolated.GetBinContent(ix+1, iy+1)
|
|
|
|
np.save('SiemenStar_interpolatedFrame.npy', frame_intepolated) |