diff options
author | tlatorre <tlatorre@uchicago.edu> | 2020-11-30 17:15:26 -0500 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2020-11-30 17:15:26 -0500 |
commit | 3716b099fe18ff458012084d344fce5f439d3532 (patch) | |
tree | b33fb9a03e5ca8e0d2026353f3597b104b9218a6 | |
parent | 8a8e51c15ec61e50e1e32a0ca5b71fdf758937a5 (diff) | |
download | sddm-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/Makefile | 2 | ||||
-rwxr-xr-x | utils/chi2 | 7 | ||||
-rwxr-xr-x | utils/dm-search | 7 | ||||
-rwxr-xr-x | utils/plot-dc | 7 | ||||
-rwxr-xr-x | utils/plot-energy | 7 | ||||
-rwxr-xr-x | utils/plot-fit-results | 2 | ||||
-rw-r--r-- | utils/sddm/__init__.py | 5 | ||||
-rw-r--r-- | utils/sddm/plot.py | 2 | ||||
-rw-r--r-- | utils/sddm/plot_energy.py | 2 | ||||
-rw-r--r-- | utils/sddm/stats.py | 6 |
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 @@ -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) |