import numpy as np, json, matplotlib; matplotlib.use('Agg'); import matplotlib.pyplot as plt lo=np.load('zp_pairs.npy'); H={k:np.load(f'zp_pairs_{k}.npy')[:,:4] for k in ['1e12','1e21','1e22']} G={'t<1e5':lo[lo[:,3]<1e5],'1e5-5e5':lo[(lo[:,3]>=1e5)&(lo[:,3]<5e5)],'5e5-1.13e6':lo[lo[:,3]>=5e5],'#1e12':H['1e12'],'#1e21':H['1e21'],'#1e22':H['1e22']} def zn(a): s,z1,z2,t=a.T; return s,np.sqrt(z1*z2)/np.log(t/(2*np.pi)),t rng=np.random.default_rng(0) def fit(a,smax=0.3): s,z,t=zn(a); m=s