Probe files

[1]:
from opal import load_dataset

ds = load_dataset('./RingCyclotron/', fname='RRI2.h5')

print( ds )

        H5 dataset.

        Number of steps: 1

        Available step attributes (0):



        Available step datasets (10):

        bunchNumber
        id
        px
        py
        pz
        time
        turn
        x
        y
        z

Set the plotting style

[2]:
from opal.visualization.styles import load_style

load_style('jupyter')
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[2], line 3
      1 from opal.visualization.styles import load_style
----> 3 load_style('jupyter')

File ~/pyOPALTools/opal/visualization/styles/load_style.py:31, in load_style(use)
     29 from opal.utilities.logger import opal_logger
     30 opal_logger.info("Loading '" + use + "' plotting style")
---> 31 eval(use + '()')

File <string>:1

File ~/pyOPALTools/opal/visualization/styles/jupyter.py:31, in jupyter()
     29 # reset
     30 from opal.visualization.styles.default import default
---> 31 default()
     33 if mpl.__version__ < '2':
     34     opal_logger.error('jupyter style not available for matplotlib version ' + mpl.__version__)

File ~/pyOPALTools/opal/visualization/styles/default.py:38, in default()
     36 mpl.rcParams['lines.linestyle']         = '-'           # solid line
     37 mpl.rcParams['lines.color']             = 'C0'          # has no affect on plot(); see axes.prop_cycle
---> 38 mpl.rcParams['lines.marker']            = None          # the default marker
     39 mpl.rcParams['lines.markeredgewidth']   = 1.0           # the line width around the marker symbol
     40 mpl.rcParams['lines.markersize']        = 6             # markersize, in points

File /usr/local/lib/python3.8/dist-packages/matplotlib/__init__.py:722, in RcParams.__setitem__(self, key, val)
    720         cval = self.validate[key](val)
    721     except ValueError as ve:
--> 722         raise ValueError(f"Key {key}: {ve}") from None
    723     self._set(key, cval)
    724 except KeyError as err:

ValueError: Key lines.marker: Could not convert None to str

Do some plotting …

[3]:
plt = ds.plot_probe_histogram(bins=300)
plt.show()
plt.close()
_images/Probe_5_0.svg
[4]:
from opal.analysis.cyclotron import eval_radius
import matplotlib.pyplot as plt

t = ds.getData('turn')

x = ds.getData('x')
y = ds.getData('y')

# second peak of above figure
x = x[t == 1]
y = y[t == 1]

r = eval_radius(x, y)

plt.hist(r, bins=400)
plt.show()
plt.close()
_images/Probe_6_0.svg