In [2]:
import numpy as np
import matplotlib.pyplot as plt
import math
from scipy import interpolate as interp

In [3]:
def linear_translate(x1,x2,X1,X2):
    B=(X1-X2)/(x1-x2)
    A=X1-B*x1
    return [A,B]
def linear_translate_axis(Ax,Bx,arr):
    return Ax+Bx*arr
def log_translate_axis(Ax,Bx,arr):
    return 10**(Ax+Bx*arr)
def log_translate(x1,x2,X1,X2):
    B=np.log10(float(X1)/float(X2))/(x1-x2)
    A=np.log10(X1)-B*x1
    return [A,B]
def format_xml_arr(arr):
    for i in range(1,len(arr)):
        arr[i]+=arr[i-1]
def log_translate_arr(Ax,Bx,Ay,By,arr):
    return 10**([Ax,Ay]+[Bx,By]*arr)

In [4]:
def format_xml_file(file):
    arr=[[0,0]]
    with open(file) as f:
        dat=f.read().splitlines()
        hold=''
        delete_list=[0]
        for i in range(0,len(dat)):
            dat[i]=dat[i].split(',')
            #print(arr[-1],dat[i],hold)
            if dat[i][0].isalpha():
                hold=dat[i][0]
            else:
                if hold=='M':
                    arr.append([float(dat[i][0]),float(dat[i][1])])
                elif hold=='m' or hold=='l':
                    arr.append([arr[-1][0]+float(dat[i][0]),arr[-1][1]+float(dat[i][1])])
                elif hold=='H':
                    arr.append([float(dat[i][0]),arr[-1][1]])
                elif hold=='h':
                    arr.append([arr[-1][0]+float(dat[i][0]),arr[-1][1]])
                elif hold=='V':
                    arr.append([arr[-1][0],float(dat[i][0])])
                elif hold=='v':
                    arr.append([arr[-1][0],arr[-1][1]+float(dat[i][0])])
    
    del arr[0]
    return arr

In [5]:
def format_xml(file_in,file_out):
    a=format_xml_file(file_in)
    b=np.array(a)
    Ax,Bx=log_translate(x1,x2,X1,X2)
    Ay,By=log_translate(y1,y2,Y1,Y2)
    c=log_translate_arr(Ax,Bx,Ay,By,b)
    np.savetxt(file_out,c)

In [5]:
fp_in="vector_portal_visible_raw/"
fp_out="vector_portal_visible_formatted/"

In [11]:
x1=102.117;x2=403.91;X1=1e-2;X2=1;
y1=211.11;y2=98.4858;Y1=1e-3;Y2=2e-4;

In [22]:
format_xml(fp_in+"BES3_1705.04265.dat",fp_out+"BES3_2017_formatted.dat")

In [14]:
format_xml(fp_in+"APEX1108.2750.dat",fp_out+"APEX2011_formatted.dat")

In [6]:
#1906.00176
x1=275.6694;x2=234.62337;X1=1;X2=1e-1;
y1=59.555832;y2=130.28009;Y1=1e-5;Y2=1e-4;
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
NA64_2019=np.array(format_xml_file("NA64_2019_1906.00176.dat"))
NA64_2019[:,0]=log_translate_axis(Ax,Bx,NA64_2019[:,0])
NA64_2019[:,1]=log_translate_axis(Ay,By,NA64_2019[:,1])
np.savetxt("NA64_2019_formatted.dat",NA64_2019)

In [6]:
#1906.00176
x1=145.30411;x2=234.62337;X1=1e-2;X2=1e-1;
y1=96.63295;y2=67.436142;Y1=1e-13;Y2=1e-14;
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
NA64_2019=np.array(format_xml_file("NA64_2019_1906.00176_2.dat"))
NA64_2019[:,0]=log_translate_axis(Ax,Bx,NA64_2019[:,0])
NA64_2019[:,1]=log_translate_axis(Ay,By,NA64_2019[:,1])
np.savetxt("NA64_2019_aD0.5_formatted.dat",NA64_2019)

In [7]:
#1807.05884.dat
x1=138.435;x2=376.021;X1=1e-2;X2=1e-1;
y1=90.8576;y2=178.355;Y1=1e-14;Y2=1e-12;
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
E137_u=np.array(format_xml_file("E1371807.05884.dat"))
E137_u[:,0]=log_translate_axis(Ax,Bx,E137_u[:,0])
E137_u[:,1]=log_translate_axis(Ay,By,E137_u[:,1])
np.savetxt("E137update_Y3_0.5.dat",E137_u)

In [66]:
#1311.0216
x1=1452.5;x2=4420;X1=0.1;X2=0.5;
y1=2427.5;y2=3237.5;Y1=1e-4;Y2=1e-3;
Ax,Bx=linear_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
hadesa=np.array(format_xml_file(fp_in+"HADES1311.0216.dat"))
hadesb=np.array(format_xml_file(fp_in+"HADES1311.0216b.dat"))
hadesc=np.array(format_xml_file(fp_in+"HADES1311.0216c.dat"))
hadesd=np.array(format_xml_file(fp_in+"HADES1311.0216d.dat"))
hades=np.concatenate((hadesa,hadesb,hadesc,hadesd),axis=0)
hades[:,0]=linear_translate_axis(Ax,Bx,hades[:,0])
hades[:,1]=log_translate_axis(Ay,By,hades[:,1])
hades[:,1]=[math.sqrt(y) for y in hades[:,1]]
np.savetxt(fp_out+"HADES2013_formatted.dat",hades)

In [46]:
#1409.0851
x1=100.501;x2=489.907;X1=10;X2=90;
y1=309.828;y2=91.8798;Y1=1e-5;Y2=1e-6;
Ax,Bx=linear_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
phenix=np.array(format_xml_file(fp_in+"PHENIX1409.0851.dat"))
phenix[:,0]=linear_translate_axis(Ax,Bx,phenix[:,0])/1000
phenix[:,1]=log_translate_axis(Ay,By,phenix[:,1])
phenix[:,1]=[math.sqrt(y) for y in phenix[:,1]]
np.savetxt(fp_out+"PHENIX2014_formatted.dat",phenix)

In [44]:
#1304.0671
x1=2152.5;x2=4772.5;X1=40;X2=100;
y1=2220;y2=3805;Y1=1e-5;Y2=1e-4;
Ax,Bx=linear_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
wasa=np.array(format_xml_file(fp_in+"WASA1304.0671.dat"))
wasa[:,0]=linear_translate_axis(Ax,Bx,wasa[:,0])/1000
wasa[:,1]=log_translate_axis(Ay,By,wasa[:,1])
wasa[:,1]=[math.sqrt(y) for y in wasa[:,1]]
np.savetxt(fp_out+"WASA2013_formatted.dat",wasa)

In [18]:
#1404.5502
x1=906.883;x2=2133.43;X1=100;X2=300;
y1=1421.71;y2=821.906;Y1=1e-5;Y2=1e-6;
Ax,Bx=linear_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
a1=format_xml_file(fp_in+"A1_1404.5502.dat")
a1=np.array(a1)
a1[:,0]=linear_translate_axis(Ax,Bx,a1[:,0])/1000
a1[:,1]=log_translate_axis(Ay,By,a1[:,1])
a1[:,1]=[math.sqrt(y) for y in a1[:,1]]
np.savetxt(fp_out+"A12014_formatted.dat",a1)

In [11]:
#0906.0580v1
x1=154.293;x2=277.429;X1=1e-2;X2=1;
y1=96.251;y2=208.027;Y1=1e-4;Y2=1e-8;
format_xml(fp_in+"E774_0906.0580.dat",fp_out+"E774_formatted.dat")
format_xml(fp_in+"E141_0906.0580.dat",fp_out+"E141_formatted.dat")
format_xml(fp_in+"E137_0906.0580.dat",fp_out+"E137_formatted.dat")

In [32]:
1504.00607
x1=1375;x2=4242.5;X1=10;X2=100;
y1=4020;y2=2405;Y1=1e-5;Y2=1e-6
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
na48=format_xml_file(fp_in+"NA482_1504.00607.dat")
na48=np.array(na48)
na48=log_translate_arr(Ax,Bx,Ay,By,na48)
na48[:,0]=na48[:,0]/1000
na48[:,1]=[math.sqrt(y) for y in na48[:,1]]
np.savetxt(fp_out+"NA48_2_formatted.dat",na48)

In [7]:
#1406.2980
x1=250.888;x2=400.15;X1=1e-1;X2=1;
y1=211.11;y2=98.4858;Y1=1e-3;Y2=2e-4;
format_xml(fp_in+"babar1406.2980.dat",fp_out+"Babar2014_formatted.dat")
format_xml(fp_in+"babar0905.4539.dat",fp_out+"babar2009_formatted.dat")

In [41]:
#1509.00740
x1=96.3223;x2=151.6556;X1=10;X2=100;
y1=107.91647;y2=35.94388;Y1=1e-5;Y2=1e-7;
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
kloe2015=np.array(format_xml_file(fp_in+"KLOE1509.00740.dat"))
kloe2015=log_translate_arr(Ax,Bx,Ay,By,kloe2015)
kloe2015[:,0]=kloe2015[:,0]/1000
kloe2015[:,1]=[math.sqrt(y) for y in kloe2015[:,1]]
np.savetxt(fp_out+"KLOE2015_formatted.dat",kloe2015)

kloe2013=np.array(format_xml_file(fp_in+"KLOE1110.0411.dat"))
kloe2013=log_translate_arr(Ax,Bx,Ay,By,kloe2013)
kloe2013[:,0]=kloe2013[:,0]/1000
kloe2013[:,1]=[math.sqrt(y) for y in kloe2013[:,1]]
np.savetxt(fp_out+"KLOE2013_formatted.dat",kloe2013)

kloe2014=np.array(format_xml_file(fp_in+"KLOE1404.7772.dat"))
kloe2014=log_translate_arr(Ax,Bx,Ay,By,kloe2014)
kloe2014[:,0]=kloe2014[:,0]/1000
kloe2014[:,1]=[math.sqrt(y) for y in kloe2014[:,1]]
np.savetxt(fp_out+"KLOE2014_formatted.dat",kloe2014)

In [43]:
#1603.06086
x1=0;x2=38.89273;X1=0;X2=200;
y1=-376.57767;y2=-215.18724;Y1=1e-7;Y2=1e-4;
Ax,Bx=linear_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
kloe2016=np.array(format_xml_file(fp_in+"KLOE1603.06086.dat"))
kloe2016[:,0]=linear_translate_axis(Ax,Bx,kloe2016[:,0])/1000
kloe2016[:,1]=log_translate_axis(Ay,By,kloe2016[:,1])
kloe2016[:,1]=[math.sqrt(y) for y in kloe2016[:,1]]
np.savetxt(fp_out+"KLOE2016_formatted.dat",kloe2016)

In [3]:
xenon10e=np.loadtxt("xenon10e.dat",delimiter=',')
format_xml_arr(xenon10e)
x1=159; x2=217; X1=0.010; X2=0.100
y1=36; y2=83; Y1=1e-34; Y2=1e-36
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
xenon10e=log_translate_arr(Ax,Bx,Ay,By,xenon10e)

In [66]:
np.savetxt("xenon10e_formatted.csv",xenon10e,delimiter=',')

In [13]:
#1703.00910
#This is FDM=1 case, Xenon10. It basically beats Xenon100 everywhere.
xenon10e2017=np.loadtxt("1703.00910.xenonelimits.dat",delimiter=',')
format_xml_arr(xenon10e2017)
x1=93.305; x2=195.719; X1=0.010; X2=0.100
y1=86.695; y2=151.848; Y1=1e-38; Y2=1e-37
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
xenon10e2017=log_translate_arr(Ax,Bx,Ay,By,xenon10e2017)
xenon100e2017=np.loadtxt("1703.00910.xenon100elimits.dat",delimiter=',')
format_xml_arr(xenon100e2017)
xenon100e2017=log_translate_arr(Ax,Bx,Ay,By,xenon100e2017)

In [15]:
np.savetxt("xenon10e_2017_formatted.csv",xenon10e2017,delimiter=',')
np.savetxt("xenon100e_2017_formatted.csv",xenon100e2017,delimiter=',')

In [15]:
babar2017=np.loadtxt("babar2017.dat",delimiter=',')
format_xml_arr(babar2017)
y1=211.843; y2=50.1547; Y1=1e-3; Y2=1e-4;
x1=181.417; x2=430.866; X1=1e-2; X2=1.0
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
babar2017_formatted=log_translate_arr(Ax,Bx,Ay,By,babar2017)

In [17]:
np.savetxt("babar2017_formatted.dat",babar2017_formatted,delimiter=' ')

In [5]:
NA64_2016 = np.loadtxt("NA64_2016_data.dat",delimiter=',')
format_xml_arr(NA64_2016)
NA64_2017 = np.loadtxt("NA64_2017_data.dat",delimiter=',')
format_xml_arr(NA64_2017)
NA64_2018 = np.loadtxt("NA64_2018plus_data.dat",delimiter=',')
format_xml_arr(NA64_2018)
y1=186.935;y2=105.657;Y1=1e-4;Y2=2e-5;
x1=202.677;x2=314.646;X1=1e-2;X2=1e-1;
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
NA64_2016_formatted=log_translate_arr(Ax,Bx,Ay,By,NA64_2016)
NA64_2017_formatted=log_translate_arr(Ax,Bx,Ay,By,NA64_2017)
NA64_2018_formatted=log_translate_arr(Ax,Bx,Ay,By,NA64_2018)

In [1]:



---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-1f02aafdbfc2> in <module>()
----> 1 NA64_2018 = np.loadtxt("NA64_2018.dat",delimiter=',')

NameError: name 'np' is not defined

In [6]:
np.savetxt("NA64_2016_formatted.dat",NA64_2016_formatted,delimiter=' ')
np.savetxt("NA64_2017_formatted.dat",NA64_2017_formatted,delimiter=' ')
np.savetxt("NA64_2018_formatted.dat",NA64_2018_formatted,delimiter=' ')

In [5]:
anomalon_1705_06726= np.loadtxt("Anomalon.dat",delimiter=',')
format_xml_arr(anomalon_1705_06726)
BtoKX_1705_06726= np.loadtxt("1705.06726.BtoKX.dat",delimiter=',')
format_xml_arr(BtoKX_1705_06726)
ZtogammaX_1705_06726= np.loadtxt("1705.06726.ZtogammaX.dat",delimiter=',')
format_xml_arr(ZtogammaX_1705_06726)
KtopiX_1705_06726= np.loadtxt("1705.06726.KtopiX.dat",delimiter=',')
format_xml_arr(KtopiX_1705_06726)
y1=389.711;y2=188.273;Y1=10**-2;Y2=10**-5;
x1=272.109;x2=478.285;X1=10**-2;X2=1;
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
anomalon_1705_06726_formatted=log_translate_arr(Ax,Bx,Ay,By,anomalon_1705_06726)
BtoKX_1705_06726_formatted=log_translate_arr(Ax,Bx,Ay,By,BtoKX_1705_06726)
ZtogammaX_1705_06726_formatted=log_translate_arr(Ax,Bx,Ay,By,ZtogammaX_1705_06726)
KtopiX_1705_06726_formatted=log_translate_arr(Ax,Bx,Ay,By,KtopiX_1705_06726)

In [7]:
np.savetxt("Anomalon_formatted.dat",anomalon_1705_06726_formatted,delimiter=' ')
np.savetxt("1705.06726.BtoKX_formatted.dat",BtoKX_1705_06726_formatted,delimiter=' ')
    np.savetxt("1705.06726.ZtogammaX_formatted.dat",ZtogammaX_1705_06726_formatted,delimiter=' ')
np.savetxt("1705.06726.KtopiX_formatted.dat",KtopiX_1705_06726_formatted,delimiter=' ')

In [9]:
anomalon_1705_06726_formatted[:,1]**2


Out[9]:
array([  8.19973429e-01,   7.41233473e-01,   6.83046550e-01,
         6.38470794e-01,   6.02727394e-01,   5.54233597e-01,
         5.12972899e-01,   4.70827826e-01,   4.18007130e-01,
         3.70146285e-01,   3.38828121e-01,   3.13904847e-01,
         2.88747923e-01,   2.66720657e-01,   2.45210585e-01,
         2.21056364e-01,   1.98490285e-01,   1.80676999e-01,
         1.64541322e-01,   1.51396200e-01,   1.42304410e-01,
         1.31701326e-01,   1.22382494e-01,   1.15531176e-01,
         1.06213997e-01,   9.63972347e-02,   8.91657518e-02,
         8.20142159e-02,   7.41335154e-02,   6.83187104e-02,
         6.38602175e-02,   6.02851420e-02,   5.54347644e-02,
         5.15936712e-02,   4.83425628e-02,   4.44530524e-02,
         4.04969794e-02,   3.75001241e-02,   3.51732688e-02,
         3.29139525e-02,   3.10032188e-02,   2.88946027e-02,
         2.66921955e-02,   2.45446145e-02,   2.21041204e-02,
         1.96095289e-02,   1.72989063e-02,   1.56871496e-02,
         1.39243922e-02,   1.25898585e-02,   1.15523252e-02,
         1.06199429e-02,   9.61001826e-03,   8.49802887e-03,
         7.49463598e-03,   6.68127368e-03,   5.74553420e-03,
         4.94661290e-03,   4.35417885e-03,   3.82272221e-03,
         3.32383466e-03,   3.00692296e-03,   2.68482568e-03,
         2.39263187e-03,   2.12028008e-03,   1.88047694e-03,
         1.65889729e-03,   1.50474890e-03,   1.36858009e-03,
         1.25820897e-03,   1.15483644e-03,   1.04165181e-03,
         9.20110508e-04,   8.08026511e-04,   7.10326500e-04,
         6.08751266e-04,   5.06540094e-04,   4.29132756e-04,
         3.75438723e-04,   3.25480478e-04,   2.78707962e-04,
         2.54375123e-04,   2.28219862e-04,   2.00089453e-04,
         1.72538804e-04,   1.48384221e-04,   1.25338580e-04,
         1.05930276e-04,   8.57237190e-05,   6.65155494e-05,
         5.28398899e-05,   3.94903723e-05,   2.87877878e-05,
         2.09627755e-05,   1.61389537e-05,   1.18980919e-05,
         8.81624016e-06,   6.34977255e-06,   4.78871757e-06,
         3.18611575e-06,   2.27875771e-06,   1.68712327e-06,
         1.19931282e-06,   7.77047703e-07,   5.55603712e-07,
         3.45895559e-07,   2.21010886e-07,   1.58918172e-07,
         1.27200473e-07,   9.07575623e-08,   6.94477973e-08,
         5.37832015e-08,   3.83033298e-08,   2.41671042e-08,
         1.73642835e-08,   1.30783210e-08,   9.27905286e-09,
         6.65292366e-09,   4.64127050e-09,   3.30519414e-09,
         2.19967461e-09,   1.46071929e-09,   9.58171881e-10,
         6.83655825e-10,   4.78970296e-10,   3.25324256e-10,
         2.32612957e-10,   1.72266849e-10,   1.22458059e-10,
         8.35700106e-11,   6.16778140e-11,   4.41946594e-11,
         2.89501442e-11,   2.08123572e-11,   1.60143596e-11,
         1.27226648e-11,   9.07762379e-12,   6.45250063e-12,
         4.59534301e-12,   2.86322324e-12,   1.75402341e-12,
         1.21229650e-12,   9.14260396e-13,   6.55509211e-13,
         5.20735901e-13,   3.89069960e-13])

In [7]:
NA64_2018 = np.loadtxt("NA64_2018.dat",delimiter=',')
format_xml_arr(NA64_2018)
x1=125.29126;x2=200.49438;X1=1e-2;X2=1e-1;
y1=116.07875;y2=193.88962;Y1=1e-4;Y2=1e-3;
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
NA64_2018_formatted = log_translate_arr(Ax,Bx,Ay,By,NA64_2018)
np.savetxt("NA64_2017_formatted.dat",NA64_2018_formatted,delimiter=' ')

In [99]:
CDMSelec = np.loadtxt("1804.10697.SuperCDMS.dat",delimiter=',')
format_xml_arr(CDMSelec)
x1=105.82982;x2=259.22375;X1=1e-3;X2=100e-3
y1=264.07059;y2=80.258824;Y1=1e-27;Y2=1e-41
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
CDMSelec_2018_formatted=log_translate_arr(Ax,Bx,Ay,By,CDMSelec)
np.savetxt("CDMS_electron_2018_formatted.dat",CDMSelec_2018_formatted,delimiter=' ')

In [100]:
SENSEI2018_1=np.loadtxt("SENSEI2018_1.dat",delimiter=',')
SENSEI2018_2=np.loadtxt("SENSEI2018_2.dat",delimiter=',')
SENSEI2018_3=np.loadtxt("SENSEI2018_3.dat",delimiter=',')
SENSEI2018_4=np.loadtxt("SENSEI2018_4.dat",delimiter=',')
SENSEI2018=[SENSEI2018_1,SENSEI2018_2,SENSEI2018_3,SENSEI2018_4]
for arr in SENSEI2018:
    format_xml_arr(arr)
x_set=np.unique(np.append(np.append(np.append(SENSEI2018[0][:,0],SENSEI2018[1][:,0]),
                                               SENSEI2018[2][:,0]),SENSEI2018[3][:,0]))
interp_arr = [interp.interp1d(arr[:,0],arr[:,1],bounds_error=False,fill_value=10000) for arr in SENSEI2018]
x_set=[x for x in x_set]
SENSEI2018f=np.array([[x,min([func(x) for func in interp_arr]).tolist()] for x in x_set])
x1=104.473;x2=192.09;X1=1e-3;X2=10e-3;
y1=347.496;y2=318.992;Y1=1e-28;Y2=1e-29;
Ax,Bx=log_translate(x1,x2,X1,X2)
Ay,By=log_translate(y1,y2,Y1,Y2)
SENSEI2018_formatted=log_translate_arr(Ax,Bx,Ay,By,SENSEI2018f)
np.savetxt("SENSEI2018_formatted.dat",SENSEI2018_formatted,delimiter=' ')

In [86]:
interp_arr[0](1)


Out[86]:
array(10000.)

In [92]:
SENSEI2018f


Out[92]:
[[77.797, 484.789],
 [81.465, 437.93],
 [84.812, 422.47700000000003],
 [87.895, 412.26200000000006],
 [90.746, 403.97300000000007],
 [93.402, 397.2420000000001],
 [95.887, 391.26200000000006],
 [100.418, 380.9920000000001],
 [104.47300000000001, 372.34400000000005],
 [131.148, 314.488],
 [131.14800000000002, 314.48799999999994],
 [146.754, 287.352],
 [146.75400000000002, 287.352],
 [157.828, 271.492],
 [166.41400000000002, 251.62499999999997],
 [173.43, 241.32399999999998],
 [179.363, 235.45299999999997],
 [184.504, 231.76599999999996],
 [189.035, 229.32799999999997],
 [193.09, 227.664],
 [219.766, 224.40599999999998],
 [255.031, 229.74999999999997],
 [281.707, 236.50399999999996],
 [308.383, 244.19899999999996],
 [343.64799999999997, 255.02299999999997],
 [370.32399999999996, 263.42999999999995],
 [458.941, 291.78099999999995]]

In [78]:
x_set


Out[78]:
array([ 77.797,  81.465,  84.812,  87.895,  90.746,  93.402,  95.887,
       100.418, 104.473, 131.148, 131.148, 146.754, 146.754, 157.828,
       166.414, 173.43 , 179.363, 184.504, 189.035, 193.09 , 219.766,
       255.031, 281.707, 308.383, 343.648, 370.324, 458.941])

In [60]:
SENSEI2018f=[[x[0],min([func(x) for func in interp_arr])[0]] for x in x_set]


---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-60-3723f39fe655> in <module>()
----> 1 SENSEI2018f=[[x[0],min([func(x) for func in interp_arr])[0]] for x in x_set]

<ipython-input-60-3723f39fe655> in <listcomp>(.0)
----> 1 SENSEI2018f=[[x[0],min([func(x) for func in interp_arr])[0]] for x in x_set]

IndexError: invalid index to scalar variable.

In [55]:
x_set=map(np.unique,sorted(np.append(np.append(np.append(SENSEI2018[0][:,0],SENSEI2018[1][:,0]),
                                               SENSEI2018[2][:,0]),SENSEI2018[3][:,0])))

In [44]:
SENSEI2018


Out[44]:
[[77.797, 1.0],
 [81.465, 1.0],
 [84.812, 1.0],
 [87.895, 1.0],
 [90.746, 1.0],
 [93.402, 1.0],
 [95.887, 1.0],
 [100.418, 1.0],
 [104.47300000000001, 1.0],
 [131.148, 1.0],
 [131.14800000000002, 1.0],
 [146.754, 1.0],
 [146.754, 1.0],
 [146.75400000000002, 1.0],
 [157.828, 1.0],
 [157.828, 1.0],
 [157.828, 1.0],
 [166.41400000000002, 1.0],
 [166.41400000000002, 1.0],
 [166.41400000000002, 1.0],
 [173.43, 1.0],
 [173.43, 1.0],
 [173.43, 1.0],
 [179.363, 1.0],
 [179.363, 1.0],
 [179.363, 1.0],
 [184.504, 1.0],
 [184.504, 1.0],
 [184.504, 1.0],
 [189.035, 1.0],
 [189.035, 1.0],
 [189.035, 1.0],
 [193.09, 1.0],
 [193.09, 1.0],
 [193.09, 1.0],
 [219.766, 1.0],
 [219.766, 1.0],
 [219.766, 1.0],
 [255.031, 1.0],
 [255.031, 1.0],
 [255.031, 1.0],
 [281.707, 1.0],
 [281.707, 1.0],
 [281.707, 1.0],
 [308.383, 1.0],
 [308.383, 1.0],
 [308.383, 1.0],
 [343.64799999999997, 1.0],
 [343.64799999999997, 1.0],
 [343.64799999999997, 1.0],
 [370.32399999999996, 1.0],
 [370.32399999999996, 1.0],
 [370.32399999999996, 1.0],
 [458.941, 1.0],
 [458.941, 1.0],
 [458.941, 1.0]]

In [18]:
interp.interp1d(SENSEI2018[0]


Out[18]:
array([[157.828, 273.965],
       [166.414, 251.625],
       [173.43 , 241.324],
       [179.363, 235.453],
       [184.504, 231.766],
       [189.035, 229.328],
       [193.09 , 227.664],
       [219.766, 224.406],
       [255.031, 229.75 ],
       [281.707, 236.504],
       [308.383, 244.199],
       [343.648, 255.023],
       [370.324, 263.43 ],
       [458.941, 291.781]])

In [27]:
sorted(np.append(np.append(np.append(SENSEI2018[0][:,0],SENSEI2018[1][:,0]),SENSEI2018[2][:,0]),SENSEI2018[3][:,0]))


Out[27]:
[77.797,
 81.465,
 84.812,
 87.895,
 90.746,
 93.402,
 95.887,
 100.418,
 104.47300000000001,
 131.148,
 131.14800000000002,
 146.754,
 146.754,
 146.75400000000002,
 157.828,
 157.828,
 157.828,
 166.41400000000002,
 166.41400000000002,
 166.41400000000002,
 173.43,
 173.43,
 173.43,
 179.363,
 179.363,
 179.363,
 184.504,
 184.504,
 184.504,
 189.035,
 189.035,
 189.035,
 193.09,
 193.09,
 193.09,
 219.766,
 219.766,
 219.766,
 255.031,
 255.031,
 255.031,
 281.707,
 281.707,
 281.707,
 308.383,
 308.383,
 308.383,
 343.64799999999997,
 343.64799999999997,
 343.64799999999997,
 370.32399999999996,
 370.32399999999996,
 370.32399999999996,
 458.941,
 458.941,
 458.941]

In [ ]: