diff options
| -rw-r--r-- | README.md | 5 | ||||
| -rw-r--r-- | examples/Untitled.ipynb | 61 | ||||
| -rw-r--r-- | examples/paper.mplstyle | 27 | ||||
| -rw-r--r-- | golemflavor/misc.py | 1 | ||||
| -rw-r--r-- | golemflavor/mn.py | 2 | ||||
| -rw-r--r-- | golemflavor/param.py | 3 | ||||
| -rw-r--r-- | requirements.txt | 1 | ||||
| -rw-r--r-- | scripts/mc_x.py | 2 | ||||
| -rwxr-xr-x | setup.py | 5 | ||||
| -rw-r--r-- | submitter/contour_dag.py | 8 | ||||
| -rw-r--r-- | submitter/fr_dag.py | 10 | ||||
| -rw-r--r-- | submitter/mc_texture_dag.py | 10 | ||||
| -rw-r--r-- | submitter/sens_dag.py | 16 |
13 files changed, 128 insertions, 23 deletions
@@ -1,7 +1,7 @@ # GolemFlavor [](https://travis-ci.org/ShiveshM/GolemFlavor) - + [](https://github.com/ShiveshM/GolemFlavor/blob/master/LICENSE) GolemFlavor is a Python package for running an analysis pipeline using @@ -26,9 +26,10 @@ is not found. ### Dependencies GolemFlavor has the following dependencies: -* [`Python`](https://www.python.org/) 2.7 +* [`Python`](https://www.python.org/) >= 2.7 or >= 3.4 * [`NumPy`](http://www.numpy.org/) * [`SciPy`](https://www.scipy.org/) +* [`Six`](https://six.readthedocs.io/) * [`mpmath`](http://mpmath.org/) * [`emcee`](https://emcee.readthedocs.io/en/stable/) * [`PyMultiNest`](https://johannesbuchner.github.io/PyMultiNest/) diff --git a/examples/Untitled.ipynb b/examples/Untitled.ipynb new file mode 100644 index 0000000..cf5e123 --- /dev/null +++ b/examples/Untitled.ipynb @@ -0,0 +1,61 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from __future__ import absolute_import, division, print_function" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# GolemFlavor Basic Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "In this example, we will generate a fake measured flavour composition using a multivariate Gaussian distribution" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/paper.mplstyle b/examples/paper.mplstyle new file mode 100644 index 0000000..fcfaf31 --- /dev/null +++ b/examples/paper.mplstyle @@ -0,0 +1,27 @@ +figure.figsize : 5, 5 # figure size in inches +savefig.dpi : 600 # figure dots per inch + +font.size: 18 +font.family: serif +font.serif: Computer Modern, Latin Modern Roman, Bitstream Vera Serif +text.usetex: True + +axes.prop_cycle: cycler('color', ['29A2C6','FF6D31','73B66B','EF597B', '333333', 'FFCB18']) +axes.grid: False + +lines.linewidth: 2 +xtick.labelsize: medium +ytick.labelsize: medium +xtick.minor.visible: True # visibility of minor ticks on x-axis +ytick.minor.visible: True # visibility of minor ticks on y-axis +xtick.major.size: 6 # major tick size in points +xtick.minor.size: 3 # minor tick size in points +ytick.major.size: 6 # major tick size in points +ytick.minor.size: 3 # minor tick size in points +xtick.major.width: 1 +xtick.minor.width: 1 +ytick.major.width: 1 +ytick.minor.width: 1 + +legend.frameon: False +legend.fontsize: 12 diff --git a/golemflavor/misc.py b/golemflavor/misc.py index 9743b1a..c3293dc 100644 --- a/golemflavor/misc.py +++ b/golemflavor/misc.py @@ -16,6 +16,7 @@ from fractions import gcd import argparse from operator import attrgetter +from functools import reduce import numpy as np diff --git a/golemflavor/mn.py b/golemflavor/mn.py index a18a1e8..b559197 100644 --- a/golemflavor/mn.py +++ b/golemflavor/mn.py @@ -31,7 +31,7 @@ def lnProb(cube, ndim, n_params, mn_paramset, llh_paramset, asimov_paramset, 'params\ncube={0}\nmn_paramset]{1}'.format(cube, mn_paramset) ) pranges = mn_paramset.ranges - for i in xrange(ndim): + for i in range(ndim): mn_paramset[i].value = (pranges[i][1]-pranges[i][0])*cube[i] + pranges[i][0] for pm in mn_paramset.names: llh_paramset[pm].value = mn_paramset[pm].value diff --git a/golemflavor/param.py b/golemflavor/param.py index 59a7c59..4de5a7b 100644 --- a/golemflavor/param.py +++ b/golemflavor/param.py @@ -8,6 +8,7 @@ Param class and functions for the BSM flavor ratio analysis """ from __future__ import absolute_import, division +from six import string_types import sys @@ -121,7 +122,7 @@ class ParamSet(Sequence): def __getitem__(self, i): if isinstance(i, int): return self._params[i] - elif isinstance(i, basestring): + elif isinstance(i, string_types): return self._by_name[i] def __getattr__(self, attr): diff --git a/requirements.txt b/requirements.txt index 8ddddf4..4b53513 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ numpy scipy +six mpmath emcee pymultinest diff --git a/scripts/mc_x.py b/scripts/mc_x.py index 5d4a934..16c9c3d 100644 --- a/scripts/mc_x.py +++ b/scripts/mc_x.py @@ -187,7 +187,7 @@ def main(): srcs = [fr_utils.normalise_fr((x, 1-x, 0)) for x in samples.T[-1]] mmxs = map(fr_utils.angles_to_u, samples.T[:-1].T) frs = np.array( - [fr_utils.u_to_fr(srcs[i], mmxs[i]) for i in xrange(nsamples)], + [fr_utils.u_to_fr(srcs[i], mmxs[i]) for i in range(nsamples)], dtype=np.float64 ) mcmc_utils.save_chains(frs, outfile) @@ -54,6 +54,11 @@ setup( 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7' ], packages=find_packages(), install_requires=INSTALL_REQUIRES, diff --git a/submitter/contour_dag.py b/submitter/contour_dag.py index d8e8e49..fc7c191 100644 --- a/submitter/contour_dag.py +++ b/submitter/contour_dag.py @@ -1,5 +1,7 @@ #! /usr/bin/env python +from __future__ import absolute_import, division, print_function + import os import numpy as np @@ -52,7 +54,7 @@ dagfile += prefix + '.submit' with open(dagfile, 'w') as f: job_number = 1 for inj in injected_ratios: - print 'inj', inj + print('inj', inj) f.write('JOB\tjob{0}\t{1}\n'.format(job_number, condor_script)) f.write('VARS\tjob{0}\tir0="{1}"\n'.format(job_number, inj[0])) f.write('VARS\tjob{0}\tir1="{1}"\n'.format(job_number, inj[1])) @@ -63,5 +65,5 @@ with open(dagfile, 'w') as f: job_number += 1 if GLOBAL_PARAMS['data'] == 'real': break -print 'total jobs = {0}'.format(job_number - 1) -print 'dag file = {0}'.format(dagfile) +print('total jobs = {0}'.format(job_number - 1)) +print('dag file = {0}'.format(dagfile)) diff --git a/submitter/fr_dag.py b/submitter/fr_dag.py index d50417c..b0902f6 100644 --- a/submitter/fr_dag.py +++ b/submitter/fr_dag.py @@ -1,5 +1,7 @@ #! /usr/bin/env python +from __future__ import absolute_import, division, print_function + import os import numpy as np @@ -61,10 +63,10 @@ dagfile += prefix + '.submit' with open(dagfile, 'w') as f: job_number = 1 for dim in dims: - print 'dims', dim + print('dims', dim) of_d = datadir + '/DIM{0}/{1}'.format(dim, prefix) for src, tex in scenarios: - print 'scenario: src =', src, 'tex =', tex + print('scenario: src =', src, 'tex =', tex) f.write('JOB\tjob{0}\t{1}\n'.format(job_number, condor_script)) f.write('VARS\tjob{0}\tdimension="{1}"\n'.format(job_number, dim)) f.write('VARS\tjob{0}\ttexture="{1}"\n'.format(job_number, tex)) @@ -76,6 +78,6 @@ with open(dagfile, 'w') as f: f.write('VARS\tjob{0}\tdatadir="{1}"\n'.format(job_number, datadir)) job_number += 1 -print 'total jobs = {0}'.format(job_number - 1) -print 'dag file = {0}'.format(dagfile) +print('total jobs = {0}'.format(job_number - 1)) +print('dag file = {0}'.format(dagfile)) diff --git a/submitter/mc_texture_dag.py b/submitter/mc_texture_dag.py index 0b5adf4..a52f044 100644 --- a/submitter/mc_texture_dag.py +++ b/submitter/mc_texture_dag.py @@ -1,5 +1,7 @@ #! /usr/bin/env python +from __future__ import absolute_import, division, print_function + import os import numpy as np @@ -55,9 +57,9 @@ dagfile += prefix + '.submit' with open(dagfile, 'w') as f: job_number = 1 for src in source_ratios: - print 'src', src + print('src', src) for tex in textures: - print 'texture', tex + print('texture', tex) f.write('JOB\tjob{0}\t{1}\n'.format(job_number, condor_script)) f.write('VARS\tjob{0}\tsr0="{1}"\n'.format(job_number, src[0])) f.write('VARS\tjob{0}\tsr1="{1}"\n'.format(job_number, src[1])) @@ -68,6 +70,6 @@ with open(dagfile, 'w') as f: f.write('VARS\tjob{0}\tdatadir="{1}"\n'.format(job_number, datadir)) job_number += 1 -print 'total jobs = {0}'.format(job_number - 1) -print 'dag file = {0}'.format(dagfile) +print('total jobs = {0}'.format(job_number - 1)) +print('dag file = {0}'.format(dagfile)) diff --git a/submitter/sens_dag.py b/submitter/sens_dag.py index c51fcbe..1fa1531 100644 --- a/submitter/sens_dag.py +++ b/submitter/sens_dag.py @@ -1,5 +1,7 @@ #! /usr/bin/env python +from __future__ import absolute_import, division, print_function + import os import numpy as np @@ -72,14 +74,14 @@ dagfile += prefix + '.submit' with open(dagfile, 'w') as f: job_number = 1 for dim in dims: - print 'dims', dim + print('dims', dim) of_d = datadir + '/DIM{0}/{1}'.format(dim, prefix) for sources, tex in scenarios: - print 'texture', tex + print('texture', tex) for src in sources: - print 'source flavor', src - for r in xrange(GLOBAL_PARAMS['segments']): - print 'run', r + print('source flavor', src) + for r in range(GLOBAL_PARAMS['segments']): + print('run', r) f.write('JOB\tjob{0}\t{1}\n'.format(job_number, condor_script)) f.write('VARS\tjob{0}\tdimension="{1}"\n'.format(job_number, dim)) f.write('VARS\tjob{0}\tsr0="{1}"\n'.format(job_number, src[0])) @@ -92,5 +94,5 @@ with open(dagfile, 'w') as f: f.write('VARS\tjob{0}\tdatadir="{1}"\n'.format(job_number, of_d)) job_number += 1 -print 'total jobs = {0}'.format(job_number - 1) -print 'dag file = {0}'.format(dagfile) +print('total jobs = {0}'.format(job_number - 1)) +print('dag file = {0}'.format(dagfile)) |
