Skip to main content

Jpp Python Package

Project description

The jppy Python package

https://git.km3net.de/km3py/jppy/badges/master/pipeline.svg https://examples.pages.km3net.de/km3badges/docs-latest-brightgreen.svg

This software provides Python access to functionalities in Jpp, like accessing PDF functions.

It currently depends on a few Jpp headers (no Jpp compilation needed) and on ROOT TMath (a compiled ROOT installation is needed).

Note: Beware that this package is WIP!

Installation

If you work on the Lyon CC, you can load the jpp/master module which contains the latest release of jppy:

module load jpp/master

The package can be installed via pip:

pip install jppy

or directly from the Git repository to get the latest stable from the master branch:

pip install git+https://git.km3net.de/km3py/jppy

or from a local clone:

git clone https://git.km3net.de/km3py/jppy
pip install jppy/

Example - Using PDFs

Here is an example how to play around with muon PDFs using the jppy module in Lyon. Notice that jppy is already installed in the jpp/master module:

░ tgal@cca010:~
░ 13:22:51 > module load jpp/master
░ tgal@cca010:~
░ 13:22:54 > module list
Currently Loaded Modulefiles:
  1) xrootd/4.8.1                      5) tools/tig/2.4.1
  2) km3net_env/1.1                    6) tools/the_silver_searcher/2.2.0
  3) python/3.7.5                      7) root/6.18.04
  4) tools/neovim/0.5.0                8) jpp/master
░ tgal@cca010:~
░ 13:22:56 > ipython
Python 3.7.5 (default, Nov  1 2019, 21:18:20)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.9.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import jppy

In [2]: jppy.version
Out[2]: '3.0.0a6'

In [3]: jppy.pdf.JMuonPDF?
Docstring:      <no docstring>
Init docstring: __init__(self: jppy.pdf.JMuonPDF, file_descriptor: str, TTS: float, number_of_points: int = 25, epsilon: float = 1e-10) -> None
File:           /pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/jppy/pdf.cpython-37m-x86_64-linux-gnu.so
Type:           pybind11_type
Subclasses:

In [4]: muon_pdf = jppy.pdf.JMuonPDF("/pbs/throng/km3net/src/Jpp/master/data/J%p
   ...: .dat", 0)
loading input from file /pbs/throng/km3net/src/Jpp/master/data/J1p.dat... OK
loading input from file /pbs/throng/km3net/src/Jpp/master/data/J2p.dat... OK
loading input from file /pbs/throng/km3net/src/Jpp/master/data/J3p.dat... OK
loading input from file /pbs/throng/km3net/src/Jpp/master/data/J4p.dat... OK
loading input from file /pbs/throng/km3net/src/Jpp/master/data/J5p.dat... OK
loading input from file /pbs/throng/km3net/src/Jpp/master/data/J6p.dat... OK
adding PDFs... OK

In [5]: muon_pdf.calculate?
Docstring: calculate(self: jppy.pdf.JMuonPDF, E: float, R: float, theta: float, phi: float, t1: float) -> JTOOLS::JResultPDF<double>
Type:      method

In [6]: result = muon_pdf.calculate(10, 5, 0, 0, 23)

In [7]: result?
Type:           JResultPDF
String form:    <jppy.pdf.JResultPDF object at 0x7f735b5ca770>
File:           /pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/jppy/pdf.cpython-37m-x86_64-linux-gnu.so
Docstring:      <no docstring>
Init docstring: __init__(self: jppy.pdf.JResultPDF, f: float, fp: float, v: float, V: float) -> None

In [8]: result.f
Out[8]: 0.0015357848280127355

In [9]: result.fp
Out[9]: -2.228096911939611e-05

In [10]: result.v
Out[10]: 0.02490276362751662

In [11]: result.V
Out[11]: 0.1164929687159807

In [12]: %timeit muon_pdf.calculate(10, 5, 0, 0, 23)
2.47 µs ± 293 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jppy-3.0.1.tar.gz (64.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page