This commit is contained in:
2025-11-05 11:08:42 +01:00
commit 8caa048da4
2 changed files with 296 additions and 0 deletions

52
DataAnalysis.py Normal file
View File

@@ -0,0 +1,52 @@
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)