def read_data(filename, dpath_pion, dpath_kaon, plot='off'): pion = c51.open_data(filename, dpath_pion) kaon = c51.open_data(filename, dpath_kaon) #Fold meson data pion = c51.fold(pion) kaon = c51.fold(kaon) pion_ss = c51.make_gvars(pion[:,:,0,0]) pion_ps = c51.make_gvars(pion[:,:,1,0]) kaon_ss = c51.make_gvars(kaon[:,:,0,0]) kaon_ps = c51.make_gvars(kaon[:,:,1,0]) if plot=='on': dat = pion_ps E0 = 0.237 meff = c51.effective_mass(dat,1,'cosh') x = np.arange(len(meff)) xlim = [4,15] ylim = c51.find_yrange(meff, xlim[0], xlim[1]) c51.scatter_plot(x, meff, 'meff', xlim = xlim, ylim = ylim) scaled2pt = c51.scaled_correlator(dat, E0) ylim = c51.find_yrange(scaled2pt, xlim[0], xlim[1]) c51.scatter_plot(x, scaled2pt, 'scaled 2pt', xlim=xlim, ylim=ylim) ylim = c51.find_yrange(dat, xlim[0], xlim[1]) c51.scatter_plot(x, dat, 'data', xlim=xlim, ylim=ylim) else: pass pion_ss_ps = np.concatenate((pion[:,:,0,0],pion[:,:,1,0]), axis=1) kaon_ss_ps = np.concatenate((kaon[:,:,0,0],kaon[:,:,1,0]), axis=1) pion_ss_ps_gv = c51.make_gvars(pion_ss_ps) kaon_ss_ps_gv = c51.make_gvars(kaon_ss_ps) return pion_ss_ps_gv, kaon_ss_ps_gv
def read_data(filename, dpath_pion, dpath_kaon, plot='off'): pion = c51.open_data(filename, dpath_pion) kaon = c51.open_data(filename, dpath_kaon) #Fold meson data pion = c51.fold(pion) kaon = c51.fold(kaon) pion_ss = c51.make_gvars(pion[:, :, 0, 0]) pion_ps = c51.make_gvars(pion[:, :, 1, 0]) kaon_ss = c51.make_gvars(kaon[:, :, 0, 0]) kaon_ps = c51.make_gvars(kaon[:, :, 1, 0]) if plot == 'on': dat = pion_ps E0 = 0.237 meff = c51.effective_mass(dat, 1, 'cosh') x = np.arange(len(meff)) xlim = [4, 15] ylim = c51.find_yrange(meff, xlim[0], xlim[1]) c51.scatter_plot(x, meff, 'meff', xlim=xlim, ylim=ylim) scaled2pt = c51.scaled_correlator(dat, E0) ylim = c51.find_yrange(scaled2pt, xlim[0], xlim[1]) c51.scatter_plot(x, scaled2pt, 'scaled 2pt', xlim=xlim, ylim=ylim) ylim = c51.find_yrange(dat, xlim[0], xlim[1]) c51.scatter_plot(x, dat, 'data', xlim=xlim, ylim=ylim) else: pass pion_ss_ps = np.concatenate((pion[:, :, 0, 0], pion[:, :, 1, 0]), axis=1) kaon_ss_ps = np.concatenate((kaon[:, :, 0, 0], kaon[:, :, 1, 0]), axis=1) pion_ss_ps_gv = c51.make_gvars(pion_ss_ps) kaon_ss_ps_gv = c51.make_gvars(kaon_ss_ps) return pion_ss_ps_gv, kaon_ss_ps_gv
import c51lib as c51 import matplotlib.pyplot as plt #Read meson data filename = 'l2464f211b600m0102m0509m635a_avg.h5' datapath = 'l2464f211b600m0102m0509m635/wf1p0_m51p2_l58_a51p5_smrw5p0_n75/spectrum/ml0p0126_ms0p0693/pion/corr' data_ss = c51.read_data(filename, datapath, 0, 0) data_ps = c51.read_data(filename, datapath, 1, 0) data = np.concatenate((data_ss, data_ps), axis=1) data = c51.make_gvars(data) #data = data_ps #Plot effective mass T = len(data) * 0.5 meff = c51.effective_mass(data, 1) x = np.arange(len(meff)) ylim = c51.find_yrange(meff, 1, 10) #ylim = [0.47, 0.57] xr = [1, 15] c51.scatter_plot(x, meff, 'effective mass', xlim=[xr[0], xr[1]], ylim=ylim) #ylim = c51.find_yrange(meff, 65, 79) c51.scatter_plot(x, meff, 'effective mass ps', xlim=[T + xr[0], T + xr[1]], ylim=ylim) #Fit inputs = c51.read_yaml('temp.yml') prior = c51.dict_of_tuple_to_gvar(inputs['prior'])
##READ SPIN AND PARITY AVG'D DATA #filename = 'l2464f211b600m0102m0509m635_tune_avg.h5' #datapath = 'prot_w6p1_n94' #datapath = 'prot_w5p6_n94' filename = 'l2464f211b600m0102m0509m635a_avg.h5' datapath = 'l2464f211b600m0102m0509m635/wf1p0_m51p2_l58_a51p5_smrw5p0_n75/spectrum/ml0p0126_ms0p0693/pion/corr' data_ss = c51.read_data(filename, datapath, 0, 0) data_ps = c51.read_data(filename, datapath, 3, 0) data = np.concatenate((data_ss, data_ps), axis=1) data = c51.make_gvars(data) #data = data_ps #Plot effective mass T = len(data)*0.5 meff = c51.effective_mass(data, 1) x = np.arange(len(meff)) ylim = c51.find_yrange(meff, 1, 10) #ylim = [0.47, 0.57] xr = [1,15] c51.scatter_plot(x, meff, 'effective mass', xlim=[xr[0],xr[1]], ylim=ylim) #ylim = c51.find_yrange(meff, 65, 79) c51.scatter_plot(x, meff, 'effective mass ps', xlim=[T+xr[0],T+xr[1]], ylim=ylim) #Fit inputs = c51.read_yaml('temp.yml') prior = c51.dict_of_tuple_to_gvar(inputs['prior']) trange = inputs['trange'] fitfcn = c51.fit_function(T, nstates=2) fit = c51.fitscript(trange, data, prior, fitfcn.twopt_fitfcn_ss_ps, sets=2, result_flag='on') c51.stability_plot(fit, 'E0')