summaryrefslogtreecommitdiff
path: root/python-phasespace.spec
blob: a4f4b4efcc22468fcea2ee128998f8377626c194 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
%global _empty_manifest_terminate_build 0
Name:		python-phasespace
Version:	1.8.0
Release:	1
Summary:	TensorFlow implementation of the Raubold and Lynch method for n-body events
License:	BSD-3-Clause
URL:		https://github.com/zfit/phasespace
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/a5/e6/3e733d43d3eb7a37c14ec987dc51bf81cf4e9d71e30fa811e35308af23af/phasespace-1.8.0.tar.gz
BuildArch:	noarch

Requires:	python3-tensorflow
Requires:	python3-tensorflow-probability
Requires:	python3-importlib-metadata
Requires:	python3-particle
Requires:	python3-zfit
Requires:	python3-zfit-physics
Requires:	python3-decaylanguage
Requires:	python3-graphviz
Requires:	python3-Sphinx
Requires:	python3-myst-nb
Requires:	python3-sphinx-bootstrap-theme
Requires:	python3-jupyter-sphinx
Requires:	python3-sphinx-math-dollar
Requires:	python3-awkward
Requires:	python3-coverage
Requires:	python3-flaky
Requires:	python3-matplotlib
Requires:	python3-nbval
Requires:	python3-numpy
Requires:	python3-pytest
Requires:	python3-pytest-cov
Requires:	python3-pytest-xdist
Requires:	python3-scipy
Requires:	python3-uproot
Requires:	python3-wget
Requires:	python3-bumpversion
Requires:	python3-pre-commit
Requires:	python3-twine
Requires:	python3-watchdog
Requires:	python3-particle
Requires:	python3-zfit
Requires:	python3-zfit-physics
Requires:	python3-decaylanguage
Requires:	python3-graphviz
Requires:	python3-Sphinx
Requires:	python3-myst-nb
Requires:	python3-sphinx-bootstrap-theme
Requires:	python3-jupyter-sphinx
Requires:	python3-sphinx-math-dollar
Requires:	python3-particle
Requires:	python3-zfit
Requires:	python3-zfit-physics
Requires:	python3-decaylanguage
Requires:	python3-tensorflow
Requires:	python3-tensorflow-probability
Requires:	python3-particle
Requires:	python3-zfit
Requires:	python3-zfit-physics
Requires:	python3-decaylanguage
Requires:	python3-awkward
Requires:	python3-coverage
Requires:	python3-flaky
Requires:	python3-matplotlib
Requires:	python3-nbval
Requires:	python3-numpy
Requires:	python3-pytest
Requires:	python3-pytest-cov
Requires:	python3-pytest-xdist
Requires:	python3-scipy
Requires:	python3-uproot
Requires:	python3-wget
Requires:	python3-tensorflow
Requires:	python3-tensorflow-probability

%description
Lately, data analysis in High Energy Physics (HEP), traditionally performed within the `ROOT`_ ecosystem,
has been moving more and more towards Python.
The possibility of carrying out purely Python-based analyses has become real thanks to the
development of many open source Python packages,
which have allowed to replace most ROOT functionality with Python-based packages.
One of the aspects where this is still not possible is in the random generation of `n`-body phase space events,
which are widely used in the field, for example to study kinematics
of the particle decays of interest, or to perform importance sampling in the case of complex amplitude models.
This has been traditionally done with the `TGenPhaseSpace`_ class, which is based of the GENBOD function of the
CERNLIB FORTRAN libraries and which requires a full working ROOT installation.
This package aims to address this issue by providing a TensorFlow-based implementation of such a function
to generate `n`-body decays without requiring a ROOT installation.
Additionally, an oft-needed functionality to generate complex decay chains, not included in ``TGenPhaseSpace``,
is also offered, leaving room for decaying resonances (which don't have a fixed mass, but can be seen as a
broad peak).

%package -n python3-phasespace
Summary:	TensorFlow implementation of the Raubold and Lynch method for n-body events
Provides:	python-phasespace
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-phasespace
Lately, data analysis in High Energy Physics (HEP), traditionally performed within the `ROOT`_ ecosystem,
has been moving more and more towards Python.
The possibility of carrying out purely Python-based analyses has become real thanks to the
development of many open source Python packages,
which have allowed to replace most ROOT functionality with Python-based packages.
One of the aspects where this is still not possible is in the random generation of `n`-body phase space events,
which are widely used in the field, for example to study kinematics
of the particle decays of interest, or to perform importance sampling in the case of complex amplitude models.
This has been traditionally done with the `TGenPhaseSpace`_ class, which is based of the GENBOD function of the
CERNLIB FORTRAN libraries and which requires a full working ROOT installation.
This package aims to address this issue by providing a TensorFlow-based implementation of such a function
to generate `n`-body decays without requiring a ROOT installation.
Additionally, an oft-needed functionality to generate complex decay chains, not included in ``TGenPhaseSpace``,
is also offered, leaving room for decaying resonances (which don't have a fixed mass, but can be seen as a
broad peak).

%package help
Summary:	Development documents and examples for phasespace
Provides:	python3-phasespace-doc
%description help
Lately, data analysis in High Energy Physics (HEP), traditionally performed within the `ROOT`_ ecosystem,
has been moving more and more towards Python.
The possibility of carrying out purely Python-based analyses has become real thanks to the
development of many open source Python packages,
which have allowed to replace most ROOT functionality with Python-based packages.
One of the aspects where this is still not possible is in the random generation of `n`-body phase space events,
which are widely used in the field, for example to study kinematics
of the particle decays of interest, or to perform importance sampling in the case of complex amplitude models.
This has been traditionally done with the `TGenPhaseSpace`_ class, which is based of the GENBOD function of the
CERNLIB FORTRAN libraries and which requires a full working ROOT installation.
This package aims to address this issue by providing a TensorFlow-based implementation of such a function
to generate `n`-body decays without requiring a ROOT installation.
Additionally, an oft-needed functionality to generate complex decay chains, not included in ``TGenPhaseSpace``,
is also offered, leaving room for decaying resonances (which don't have a fixed mass, but can be seen as a
broad peak).

%prep
%autosetup -n phasespace-1.8.0

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-phasespace -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 1.8.0-1
- Package Spec generated