aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortlatorre <tlatorre@uchicago.edu>2020-11-30 17:15:26 -0500
committertlatorre <tlatorre@uchicago.edu>2020-11-30 17:15:26 -0500
commit3716b099fe18ff458012084d344fce5f439d3532 (patch)
treeb33fb9a03e5ca8e0d2026353f3597b104b9218a6
parent8a8e51c15ec61e50e1e32a0ca5b71fdf758937a5 (diff)
downloadsddm-3716b099fe18ff458012084d344fce5f439d3532.tar.gz
sddm-3716b099fe18ff458012084d344fce5f439d3532.tar.bz2
sddm-3716b099fe18ff458012084d344fce5f439d3532.zip
update code to work with python3
This commit updates the python code to work with python 3 and with a newer version of matplotlib. - zip_longest -> izip_longest - fix tick marks for log plots - scipy.misc -> scipy.special
-rw-r--r--src/Makefile2
-rwxr-xr-xutils/chi27
-rwxr-xr-xutils/dm-search7
-rwxr-xr-xutils/plot-dc7
-rwxr-xr-xutils/plot-energy7
-rwxr-xr-xutils/plot-fit-results2
-rw-r--r--utils/sddm/__init__.py5
-rw-r--r--utils/sddm/plot.py2
-rw-r--r--utils/sddm/plot_energy.py2
-rw-r--r--utils/sddm/stats.py6
10 files changed, 38 insertions, 9 deletions
diff --git a/src/Makefile b/src/Makefile
index 834bdb4..107b44b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,7 +1,7 @@
release_hdr := $(shell sh -c './mkreleasehdr.sh')
CFLAGS=-fdiagnostics-color -O2 -Wall -g -DSWAP_BYTES
-LDLIBS=-fdiagnostics-color -lm -lgsl -lgslcblas -lnlopt_cxx -lstdc++ -lz -lhdf5
+LDLIBS=-fdiagnostics-color -lm -lgsl -lgslcblas -lnlopt -lz -lhdf5
PREFIX?=$(HOME)/local
INSTALL_BIN=$(PREFIX)/bin
diff --git a/utils/chi2 b/utils/chi2
index 5d56f17..acb59de 100755
--- a/utils/chi2
+++ b/utils/chi2
@@ -29,13 +29,13 @@ from scipy.stats import iqr, poisson
from matplotlib.lines import Line2D
from scipy.stats import iqr, norm, beta, percentileofscore
from scipy.special import spence
-from itertools import izip_longest
from sddm.stats import *
from sddm.dc import estimate_errors, EPSILON, truncnorm_scaled
import emcee
from sddm import printoptions
from sddm.utils import fast_cdf, correct_energy_bias
import nlopt
+from itertools import chain
# Likelihood Fit Parameters
# 0 - Atmospheric Neutrino Flux Scale
@@ -125,6 +125,11 @@ def plot_hist2(hists, bins, color=None):
bincenters = (bins[1:] + bins[:-1])/2
plt.hist(bincenters, bins=bins, histtype='step', weights=hists[id],color=color)
plt.gca().set_xscale("log")
+ major = np.array([10,100,1000,10000])
+ minor = np.unique(list(chain(*list(range(i,i*10,i) for i in major[:-1]))))
+ minor = np.setdiff1d(minor,major)
+ plt.gca().set_xticks(major)
+ plt.gca().set_xticks(minor,minor=True)
plt.xlabel("Energy (MeV)")
plt.title('$' + ''.join([particle_id[int(''.join(x))] for x in grouper(str(id),2)]) + '$')
diff --git a/utils/dm-search b/utils/dm-search
index 872004b..1e9c987 100755
--- a/utils/dm-search
+++ b/utils/dm-search
@@ -27,7 +27,6 @@ from scipy.stats import iqr, poisson
from matplotlib.lines import Line2D
from scipy.stats import iqr, norm, beta, percentileofscore
from scipy.special import spence
-from itertools import izip_longest
from sddm.stats import *
from sddm.dc import estimate_errors, EPSILON, truncnorm_scaled
import emcee
@@ -37,6 +36,7 @@ from scipy.integrate import quad
from sddm.dm import *
from sddm import SNOMAN_MASS, AV_RADIUS
import nlopt
+from itertools import chain
# Likelihood Fit Parameters
# 0 - Atmospheric Neutrino Flux Scale
@@ -145,6 +145,11 @@ def plot_hist2(hists, bins, color=None):
bincenters = (bins[1:] + bins[:-1])/2
plt.hist(bincenters, bins=bins, histtype='step', weights=hists[id],color=color)
plt.gca().set_xscale("log")
+ major = np.array([10,100,1000,10000])
+ minor = np.unique(list(chain(*list(range(i,i*10,i) for i in major[:-1]))))
+ minor = np.setdiff1d(minor,major)
+ plt.gca().set_xticks(major)
+ plt.gca().set_xticks(minor,minor=True)
plt.xlabel("Energy (MeV)")
plt.title('$' + ''.join([particle_id[int(''.join(x))] for x in grouper(str(id),2)]) + '$')
diff --git a/utils/plot-dc b/utils/plot-dc
index d2e461d..e20d5cc 100755
--- a/utils/plot-dc
+++ b/utils/plot-dc
@@ -28,7 +28,7 @@ from scipy.stats import iqr, poisson
from matplotlib.lines import Line2D
from scipy.stats import iqr, norm, beta
from scipy.special import spence
-from itertools import izip_longest
+from itertools import chain
particle_id = {20: 'e', 22: r'\mu'}
@@ -52,6 +52,11 @@ def plot_hist2(df, muons=False):
bins = np.logspace(np.log10(20),np.log10(10e3),21)
plt.hist(df_id.ke.values, bins=bins, histtype='step')
plt.gca().set_xscale("log")
+ major = np.array([10,100,1000,10000])
+ minor = np.unique(list(chain(*list(range(i,i*10,i) for i in major[:-1]))))
+ minor = np.setdiff1d(minor,major)
+ plt.gca().set_xticks(major)
+ plt.gca().set_xticks(minor,minor=True)
plt.xlabel("Energy (MeV)")
plt.title('$' + ''.join([particle_id[int(''.join(x))] for x in grouper(str(id),2)]) + '$')
diff --git a/utils/plot-energy b/utils/plot-energy
index 4568bcc..2fb2aa1 100755
--- a/utils/plot-energy
+++ b/utils/plot-energy
@@ -31,7 +31,7 @@ from scipy.stats import iqr, poisson
from matplotlib.lines import Line2D
from scipy.stats import iqr, norm, beta
from scipy.special import spence
-from itertools import izip_longest
+from itertools import chain
particle_id = {20: 'e', 22: r'\mu'}
@@ -56,6 +56,11 @@ def plot_hist2(df, muons=False):
plt.hist(df_id.ke.values, bins=bins, histtype='step')
plt.gca().set_xscale("log")
plt.xlabel("Energy (MeV)")
+ major = np.array([10,100,1000,10000])
+ minor = np.unique(list(chain(*list(range(i,i*10,i) for i in major[:-1]))))
+ minor = np.setdiff1d(minor,major)
+ plt.gca().set_xticks(major)
+ plt.gca().set_xticks(minor,minor=True)
plt.title('$' + ''.join([particle_id[int(''.join(x))] for x in grouper(str(id),2)]) + '$')
if len(df):
diff --git a/utils/plot-fit-results b/utils/plot-fit-results
index 20c3c68..cc85213 100755
--- a/utils/plot-fit-results
+++ b/utils/plot-fit-results
@@ -133,7 +133,7 @@ if __name__ == '__main__':
label = 'Muon' if id == IDP_MU_MINUS else 'Electron'
- marker = markers.next()
+ marker = next(markers)
plt.figure(1)
plt.errorbar(T,dT['median']*100/T,yerr=dT['median_err']*100/T,fmt=marker,label=label)
diff --git a/utils/sddm/__init__.py b/utils/sddm/__init__.py
index 8bed558..3b3ace7 100644
--- a/utils/sddm/__init__.py
+++ b/utils/sddm/__init__.py
@@ -1,6 +1,9 @@
from __future__ import print_function, division
import sys
-from itertools import izip_longest
+if sys.version_info[0] == 3:
+ from itertools import zip_longest as izip_longest
+else:
+ from itertools import izip_longest
import os
import h5py
import pandas as pd
diff --git a/utils/sddm/plot.py b/utils/sddm/plot.py
index 935b26a..93a58db 100644
--- a/utils/sddm/plot.py
+++ b/utils/sddm/plot.py
@@ -95,7 +95,7 @@ def despine(fig=None, ax=None, top=True, right=True, left=False,
val = offset.get(side, 0)
except AttributeError:
val = offset
- _set_spine_position(ax_i.spines[side], ('outward', val))
+ ax_i.spines[side].set_position(('outward', val))
# Potentially move the ticks
if left and not right:
diff --git a/utils/sddm/plot_energy.py b/utils/sddm/plot_energy.py
index 67849b5..50ecd89 100644
--- a/utils/sddm/plot_energy.py
+++ b/utils/sddm/plot_energy.py
@@ -21,7 +21,7 @@ from scipy.special import spence, gammaln
from .dc import DC_MUON, DC_JUNK, DC_CRATE_ISOTROPY, DC_QVNHIT, DC_NECK, DC_FLASHER, DC_ESUM, DC_OWL, DC_OWL_TRIGGER, DC_FTS, DC_ITC, DC_BREAKDOWN
from . import grouper, print_warning, AV_RADIUS, PSUP_RADIUS, read_hdf
import pandas as pd
-from scipy.misc import logsumexp
+from scipy.special import logsumexp
from os.path import exists, join
from os import environ
diff --git a/utils/sddm/stats.py b/utils/sddm/stats.py
index ff2a6ad..9269be3 100644
--- a/utils/sddm/stats.py
+++ b/utils/sddm/stats.py
@@ -2,6 +2,7 @@ from __future__ import print_function, division
import numpy as np
from scipy.stats import gamma, dirichlet, multinomial, poisson
from . import grouper
+from itertools import chain
particle_id = {20: 'e', 22: r'\mu'}
@@ -125,6 +126,11 @@ def plot_hist2_data_mc(data, mc, bins=None, norm=None):
plt.hist(data[data.id == id].ke.values, bins=bins, histtype='step', label="Data", color="C0")
plt.hist(mc[mc.id == id].ke.values, bins=bins, histtype='step', weights=np.tile(norm,len(mc[mc.id == id].ke.values)), label="Monte Carlo", color="C1")
plt.gca().set_xscale("log")
+ major = np.array([10,100,1000,10000])
+ minor = np.unique(list(chain(*list(range(i,i*10,i) for i in major[:-1]))))
+ minor = np.setdiff1d(minor,major)
+ plt.gca().set_xticks(major)
+ plt.gca().set_xticks(minor,minor=True)
plt.xlabel("Energy (MeV)")
p = get_multinomial_prob(hist,hist_mc,norm)
plt.text(0.95,0.95,"p = %.2f" % p,horizontalalignment='right',verticalalignment='top',transform=plt.gca().transAxes)