decaylanguage 0.13.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- DecayLanguage-0.13.0.dist-info/LICENSE +23 -0
- DecayLanguage-0.13.0.dist-info/METADATA +320 -0
- DecayLanguage-0.13.0.dist-info/RECORD +37 -0
- DecayLanguage-0.13.0.dist-info/WHEEL +5 -0
- DecayLanguage-0.13.0.dist-info/top_level.txt +1 -0
- decaylanguage/__init__.py +27 -0
- decaylanguage/__main__.py +26 -0
- decaylanguage/_version.py +5 -0
- decaylanguage/data/DECAY_BELLE2.DEC +10783 -0
- decaylanguage/data/DECAY_LHCB.DEC +11657 -0
- decaylanguage/data/MintDalitzSpecialParticles.csv +37 -0
- decaylanguage/data/MintDalitzSpecialParticles.fwf +41 -0
- decaylanguage/data/MintDalitzSpecialParticlesLatex.csv +15 -0
- decaylanguage/data/README.rst +51 -0
- decaylanguage/data/WorkingOutModel.ipynb +682 -0
- decaylanguage/data/__init__.py +19 -0
- decaylanguage/data/ampgen.lark +65 -0
- decaylanguage/data/decfile.lark +66 -0
- decaylanguage/data/particle.lark +35 -0
- decaylanguage/dec/__init__.py +8 -0
- decaylanguage/dec/dec.py +1439 -0
- decaylanguage/dec/decparser.py +422 -0
- decaylanguage/dec/enums.py +96 -0
- decaylanguage/decay/__init__.py +8 -0
- decaylanguage/decay/decay.py +669 -0
- decaylanguage/decay/viewer.py +243 -0
- decaylanguage/modeling/AmpGenReader.ipynb +1589 -0
- decaylanguage/modeling/__init__.py +7 -0
- decaylanguage/modeling/ampgen2goofit.py +86 -0
- decaylanguage/modeling/ampgentransform.py +61 -0
- decaylanguage/modeling/amplitudechain.py +288 -0
- decaylanguage/modeling/decay.py +124 -0
- decaylanguage/modeling/goofit.py +386 -0
- decaylanguage/utils/__init__.py +15 -0
- decaylanguage/utils/errors.py +9 -0
- decaylanguage/utils/particleutils.py +65 -0
- decaylanguage/utils/utilities.py +53 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2018-2021, Eduardo Rodrigues and Henry Schreiner.
|
|
4
|
+
All rights reserved.
|
|
5
|
+
|
|
6
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
|
|
7
|
+
conditions are met:
|
|
8
|
+
|
|
9
|
+
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
|
|
12
|
+
disclaimer in the documentation and/or other materials provided with the distribution.
|
|
13
|
+
|
|
14
|
+
* Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products
|
|
15
|
+
derived from this software without specific prior written permission.
|
|
16
|
+
|
|
17
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
|
18
|
+
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
|
19
|
+
SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
20
|
+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
21
|
+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
22
|
+
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
23
|
+
POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: DecayLanguage
|
|
3
|
+
Version: 0.13.0
|
|
4
|
+
Summary: A language to describe, manipulate and convert particle decays
|
|
5
|
+
Home-page: https://github.com/scikit-hep/decaylanguage
|
|
6
|
+
Author: Eduardo Rodrigues, Henry Fredrick Schreiner III
|
|
7
|
+
Author-email: eduardo.rodrigues@cern.ch, henry.schreiner@cern.ch
|
|
8
|
+
Maintainer: The Scikit-HEP admins
|
|
9
|
+
Maintainer-email: scikit-hep-admins@googlegroups.com
|
|
10
|
+
License: BSD-3-Clause
|
|
11
|
+
Keywords: HEP,particle,decay,chain,representation
|
|
12
|
+
Platform: Any
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
|
16
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.6
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
26
|
+
Classifier: Topic :: Scientific/Engineering
|
|
27
|
+
Requires-Python: >=3.6
|
|
28
|
+
Description-Content-Type: text/markdown
|
|
29
|
+
License-File: LICENSE
|
|
30
|
+
Requires-Dist: attrs (>=19.2)
|
|
31
|
+
Requires-Dist: deprecated
|
|
32
|
+
Requires-Dist: graphviz
|
|
33
|
+
Requires-Dist: lark-parser (>=0.11.0)
|
|
34
|
+
Requires-Dist: numpy (>=1.12)
|
|
35
|
+
Requires-Dist: pandas (>=0.22)
|
|
36
|
+
Requires-Dist: particle (==0.16.*)
|
|
37
|
+
Requires-Dist: plumbum (>=1.6.9)
|
|
38
|
+
Requires-Dist: importlib-resources (>=2.0) ; python_version < "3.9"
|
|
39
|
+
Provides-Extra: dev
|
|
40
|
+
Requires-Dist: pytest (>=6) ; extra == 'dev'
|
|
41
|
+
Provides-Extra: test
|
|
42
|
+
Requires-Dist: pytest (>=6) ; extra == 'test'
|
|
43
|
+
Requires-Dist: pytest-cov ; extra == 'test'
|
|
44
|
+
|
|
45
|
+
<img alt="DecayLanguage logo" src="https://raw.githubusercontent.com/scikit-hep/decaylanguage/master/images/DecayLanguage.png"/>
|
|
46
|
+
|
|
47
|
+
# DecayLanguage: describe, manipulate and convert particle decays
|
|
48
|
+
|
|
49
|
+
[](https://scikit-hep.org/)
|
|
50
|
+
[](https://pypi.python.org/pypi/decaylanguage)
|
|
51
|
+
[](https://anaconda.org/conda-forge/decaylanguage)
|
|
52
|
+
[](https://pypi.python.org/pypi/decaylanguage)
|
|
53
|
+
[](https://doi.org/10.5281/zenodo.3257423)
|
|
54
|
+
|
|
55
|
+
[](https://github.com/scikit-hep/decaylanguage/actions)
|
|
56
|
+
[](https://codecov.io/gh/scikit-hep/decaylanguage?branch=master)
|
|
57
|
+
[](https://readthedocs.org/projects/decaylanguage)
|
|
58
|
+
[](https://github.com/psf/black)
|
|
59
|
+
|
|
60
|
+
[](https://mybinder.org/v2/gh/scikit-hep/decaylanguage/master?urlpath=lab/tree/notebooks/DecayLanguageDemo.ipynb)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
DecayLanguage implements a language to describe and convert particle decays
|
|
64
|
+
between digital representations, effectively making it possible to interoperate
|
|
65
|
+
several fitting programs. Particular interest is given to programs dedicated
|
|
66
|
+
to amplitude analyses.
|
|
67
|
+
|
|
68
|
+
DecayLanguage provides tools to parse so-called .dec decay files,
|
|
69
|
+
and describe, manipulate and visualize decay chains.
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
## Installation
|
|
73
|
+
|
|
74
|
+
Just run the following:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
pip install decaylanguage
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
You can use a virtual environment through pipenv or with `--user` if you know
|
|
81
|
+
what those are. [Python
|
|
82
|
+
3.6+](http://docs.python-guide.org/en/latest/starting/installation) supported
|
|
83
|
+
(see version 0.12 for Python 2 & 3.5 support).
|
|
84
|
+
|
|
85
|
+
<details><summary>Dependencies: (click to expand)</summary><p>
|
|
86
|
+
|
|
87
|
+
Required and compatibility dependencies will be automatically installed by pip.
|
|
88
|
+
|
|
89
|
+
### Required dependencies:
|
|
90
|
+
|
|
91
|
+
- [particle](https://github.com/scikit-hep/particle): PDG particle data and identification codes
|
|
92
|
+
- [NumPy](https://scipy.org/install.html): The numerical library for Python
|
|
93
|
+
- [pandas](https://pandas.pydata.org/): Tabular data in Python
|
|
94
|
+
- [attrs](https://github.com/python-attrs/attrs): DataClasses for Python
|
|
95
|
+
- [plumbum](https://github.com/tomerfiliba/plumbum): Command line tools
|
|
96
|
+
- [lark-parser](https://github.com/lark-parser/lark): A modern parsing library for Python
|
|
97
|
+
- [graphviz](https://gitlab.com/graphviz/graphviz/) to render (DOT language) graph
|
|
98
|
+
descriptions and visualizations of decay chains.
|
|
99
|
+
|
|
100
|
+
### Python compatibility:
|
|
101
|
+
- [importlib_resources](http://importlib-resources.readthedocs.io/en/latest/) backport if using Python /< 3.7
|
|
102
|
+
</p></details>
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
## Getting started
|
|
106
|
+
|
|
107
|
+
The [Binder demo](https://mybinder.org/v2/gh/scikit-hep/decaylanguage/master?urlpath=lab/tree/notebooks/DecayLanguageDemo.ipynb)
|
|
108
|
+
is an excellent way to get started with `DecayLanguage`.
|
|
109
|
+
|
|
110
|
+
This is a quick user guide. For a full API docs, go [here](https://decaylanguage.readthedocs.io/en/latest/)
|
|
111
|
+
(note that it is presently work-in-progress).
|
|
112
|
+
|
|
113
|
+
### What is DecayLanguage?
|
|
114
|
+
|
|
115
|
+
`DecayLanguage` is a set of tools for building and transforming particle
|
|
116
|
+
decays:
|
|
117
|
+
|
|
118
|
+
1. It provides tools to parse so-called `.dec` decay files,
|
|
119
|
+
and describe, manipulate and visualize the resulting decay chains.
|
|
120
|
+
|
|
121
|
+
2. It implements a language to describe and convert particle decays
|
|
122
|
+
between digital representations, effectively making it possible to interoperate
|
|
123
|
+
several fitting programs. Particular interest is given to programs dedicated
|
|
124
|
+
to amplitude analyses.
|
|
125
|
+
|
|
126
|
+
### Particles
|
|
127
|
+
|
|
128
|
+
Particles are a key component when dealing with decays.
|
|
129
|
+
Refer to the [particle package](https://github.com/scikit-hep/particle)
|
|
130
|
+
for how to deal with particles and Monte Carlo particle identification codes.
|
|
131
|
+
|
|
132
|
+
### Parse decay files
|
|
133
|
+
|
|
134
|
+
Decay `.dec` files can be parsed simply with
|
|
135
|
+
|
|
136
|
+
```python
|
|
137
|
+
from decaylanguage import DecFileParser
|
|
138
|
+
|
|
139
|
+
parser = DecFileParser('my-decay-file.dec')
|
|
140
|
+
parser.parse()
|
|
141
|
+
|
|
142
|
+
# Inspect what decays are defined
|
|
143
|
+
parser.list_decay_mother_names()
|
|
144
|
+
|
|
145
|
+
# Print decay modes, etc. ...
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
A copy of the master DECAY.DEC file used by the LHCb experiment is provided
|
|
149
|
+
[here](https://github.com/scikit-hep/decaylanguage/tree/master/decaylanguage/data)
|
|
150
|
+
for convenience.
|
|
151
|
+
|
|
152
|
+
The `DecFileParser` class implements a series of methods giving access to all
|
|
153
|
+
information stored in decay files: the decays themselves, particle name aliases,
|
|
154
|
+
definitions of charge-conjugate particles, variable and Pythia-specific
|
|
155
|
+
definitions, etc.
|
|
156
|
+
|
|
157
|
+
It can be handy to parse from a multi-line string rather than a file:
|
|
158
|
+
|
|
159
|
+
```python
|
|
160
|
+
s = """Decay pi0
|
|
161
|
+
0.988228297 gamma gamma PHSP;
|
|
162
|
+
0.011738247 e+ e- gamma PI0_DALITZ;
|
|
163
|
+
0.000033392 e+ e+ e- e- PHSP;
|
|
164
|
+
0.000000065 e+ e- PHSP;
|
|
165
|
+
Enddecay
|
|
166
|
+
"""
|
|
167
|
+
|
|
168
|
+
dfp = DecFileParser.from_string(s)
|
|
169
|
+
dfp.parse()
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
#### Advanced usage
|
|
173
|
+
|
|
174
|
+
The list of `.dec` file decay models known to the package can be inspected via
|
|
175
|
+
|
|
176
|
+
```python
|
|
177
|
+
from decaylanguage.dec import known_decay_models
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Say you have to deal with a decay file containing a new model not yet on the list above.
|
|
181
|
+
Running the parser as usual will result in a `UnexpectedToken` exception.
|
|
182
|
+
It is nevertheless easy to deal with this issue; no need to wait for a new release.
|
|
183
|
+
It is just a matter of adding the model name to the list in `decaylanguage/data/decfile.lark`
|
|
184
|
+
(or your private copy), see the line
|
|
185
|
+
`MODEL_NAME.2 : "BaryonPCR"|"BTO3PI_CP"|"BTOSLLALI"|...`,
|
|
186
|
+
and then proceed as usual apart from adding an extra line to call to `load_grammar`
|
|
187
|
+
to specify the Lark grammar to use:
|
|
188
|
+
|
|
189
|
+
```python
|
|
190
|
+
dfp = DecFileParser('my_decfile.dec')
|
|
191
|
+
dfp.load_grammar('path/to/my_updated_decfile.lark')
|
|
192
|
+
dfp.parse()
|
|
193
|
+
...
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
This being said, please do submit a pull request to add new models,
|
|
197
|
+
if you spot missing ones ...
|
|
198
|
+
|
|
199
|
+
### Visualize decay files
|
|
200
|
+
|
|
201
|
+
The class `DecayChainViewer` allows the visualization of parsed decay chains:
|
|
202
|
+
|
|
203
|
+
```python
|
|
204
|
+
from decaylanguage import DecayChainViewer
|
|
205
|
+
|
|
206
|
+
# Build the (dictionary-like) D*+ decay chain representation setting the D+ and D0 mesons to stable,
|
|
207
|
+
# to avoid too cluttered an image
|
|
208
|
+
d = dfp.build_decay_chains('D*+', stable_particles=('D+', 'D0'))
|
|
209
|
+
DecayChainViewer(d) # works in a notebook
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+

|
|
213
|
+
|
|
214
|
+
The actual graph is available as
|
|
215
|
+
|
|
216
|
+
```python
|
|
217
|
+
# ...
|
|
218
|
+
dcv = DecayChainViewer(d)
|
|
219
|
+
dcv.graph
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
making all `graphviz.dot.Digraph` class properties and methods available, such as
|
|
223
|
+
|
|
224
|
+
```python
|
|
225
|
+
dcv.graph.render(filename='mygraph', format='pdf', view=True, cleanup=True)
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
In the same way, all `graphviz.dot.Digraph` class attributes are settable
|
|
229
|
+
upon instantiation of `DecayChainViewer`:
|
|
230
|
+
|
|
231
|
+
```python
|
|
232
|
+
dcv = DecayChainViewer(chain, name='TEST', format='pdf')
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Universal representation of decay chains
|
|
236
|
+
|
|
237
|
+
A series of classes and methods have been designed to provide universal representations
|
|
238
|
+
of particle decay chains of any complexity, and to provide the ability
|
|
239
|
+
to convert between these representations.
|
|
240
|
+
Specifically, class- and dictionary-based representations have been implemented.
|
|
241
|
+
|
|
242
|
+
An example of a class-based representation of a decay chain is the following:
|
|
243
|
+
|
|
244
|
+
```python
|
|
245
|
+
>>> from decaylanguage import DaughtersDict, DecayMode, DecayChain
|
|
246
|
+
>>>
|
|
247
|
+
>>> dm1 = DecayMode(0.0124, 'K_S0 pi0', model='PHSP')
|
|
248
|
+
>>> dm2 = DecayMode(0.692, 'pi+ pi-')
|
|
249
|
+
>>> dm3 = DecayMode(0.98823, 'gamma gamma')
|
|
250
|
+
>>> dc = DecayChain('D0', {'D0':dm1, 'K_S0':dm2, 'pi0':dm3})
|
|
251
|
+
>>> dc
|
|
252
|
+
<DecayChain: D0 -> K_S0 pi0 (2 sub-decays), BF=0.0124>
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Decay chains can be visualised with the `DecayChainViewer` class making use
|
|
256
|
+
of the dictionary representation `dc.to_dict()`, which is the simple
|
|
257
|
+
representation understood by `DecayChainViewer`, as see above:
|
|
258
|
+
|
|
259
|
+
```python
|
|
260
|
+
DecayChainViewer(dc.to_dict())
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
The fact that 2 representations of particle decay chains are provided ensures
|
|
264
|
+
the following:
|
|
265
|
+
|
|
266
|
+
1. Human-readable (class) and computer-efficient (dictionary) alternatives.
|
|
267
|
+
2. Flexibility for parsing, manipulation and storage of decay chain information.
|
|
268
|
+
|
|
269
|
+
### Decay modeling
|
|
270
|
+
|
|
271
|
+
The most common way to create a decay chain is to read in an [AmpGen]
|
|
272
|
+
style syntax from a file or a string. You can use:
|
|
273
|
+
|
|
274
|
+
```python
|
|
275
|
+
from decaylanguage.modeling import AmplitudeChain
|
|
276
|
+
lines, parameters, constants, states = AmplitudeChain.read_ampgen(text='''
|
|
277
|
+
EventType D0 K- pi+ pi+ pi-
|
|
278
|
+
|
|
279
|
+
D0[D]{K*(892)bar0{K-,pi+},rho(770)0{pi+,pi-}} 0 1 0.1 0 1 0.1
|
|
280
|
+
|
|
281
|
+
K(1460)bar-_mass 0 1460 1
|
|
282
|
+
K(1460)bar-_width 0 250 1
|
|
283
|
+
|
|
284
|
+
a(1)(1260)+::Spline::Min 0.18412
|
|
285
|
+
a(1)(1260)+::Spline::Max 1.86869
|
|
286
|
+
a(1)(1260)+::Spline::N 34
|
|
287
|
+
''')
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Here, `lines` will be a list of AmplitudeChain lines (pretty print supported in Jupyter notebooks),
|
|
291
|
+
`parameters` will be a table of parameters (ranged parameters not yet supported),
|
|
292
|
+
`constants` will be a table of constants,
|
|
293
|
+
and `states` will be the list of known states (EventType).
|
|
294
|
+
|
|
295
|
+
#### Converters
|
|
296
|
+
|
|
297
|
+
You can output to a format (currently only [GooFit] supported, feel free
|
|
298
|
+
to make a PR to add more). Use a subclass of DecayChain, in this case,
|
|
299
|
+
GooFitChain. To use the [GooFit] output, type from the shell:
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
python -m decaylanguage -G goofit myinput.opts
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
## Acknowledgements
|
|
306
|
+
|
|
307
|
+
The UK Science and Technology Facilities Council (STFC) and the University of Liverpool
|
|
308
|
+
provide funding for Eduardo Rodrigues (2020-) to work on this project part-time.
|
|
309
|
+
|
|
310
|
+
Support for this work was provided by the National Science Foundation
|
|
311
|
+
cooperative agreement OAC-1450377 (DIANA/HEP) in 2016-2019
|
|
312
|
+
and has been provided by OAC-1836650 (IRIS-HEP) since 2019.
|
|
313
|
+
Any opinions, findings, conclusions or recommendations expressed in this material
|
|
314
|
+
are those of the authors and do not necessarily reflect the views of the National Science Foundation.
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
[AmpGen]: https://gitlab.cern.ch/lhcb/Gauss/tree/LHCBGAUSS-1058.AmpGenDev/Gen/AmpGen
|
|
318
|
+
[GooFit]: https://GooFit.github.io
|
|
319
|
+
|
|
320
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
decaylanguage/__init__.py,sha256=m_luI0KvpAvCVDhBLxTwf9ObW0SGMFnu39mq61_ftOo,695
|
|
2
|
+
decaylanguage/__main__.py,sha256=5C2gWnFbfvDVC0mdnp7YnhHZB8lJhX6TArO-LM49oVs,641
|
|
3
|
+
decaylanguage/_version.py,sha256=YoxiEd2a3_SXwX-vRnmgSRH4ZrUvGq7JwQJpvV0eLYI,144
|
|
4
|
+
decaylanguage/data/DECAY_BELLE2.DEC,sha256=hZcGcK941-FvnSLfZwBvrGFVPiGOkTqQZKRo4eLA8xg,513709
|
|
5
|
+
decaylanguage/data/DECAY_LHCB.DEC,sha256=lAm_rGHiuYFv3JlFZqt3_DE0rX1CZi85S4o6yFqdECs,559864
|
|
6
|
+
decaylanguage/data/MintDalitzSpecialParticles.csv,sha256=pd-mZwHyp3Nigul4EbCGz2R5kHVh0GTelEBZfb-DjlY,3050
|
|
7
|
+
decaylanguage/data/MintDalitzSpecialParticles.fwf,sha256=RtAw_V7btv3XJkdzGvfbmVKJFZ7biv2ecfJ28mrhy2Q,4331
|
|
8
|
+
decaylanguage/data/MintDalitzSpecialParticlesLatex.csv,sha256=lsWdKUbTx5RuLf5cjkqcpPteJYUtlt4I5qSvb2xw_Jw,631
|
|
9
|
+
decaylanguage/data/README.rst,sha256=esV_9BydY7tTx1fdVXeY16LkHkqx0tFoaemRT8AZB0A,1661
|
|
10
|
+
decaylanguage/data/WorkingOutModel.ipynb,sha256=JNNN5vB1jNvZIrAdHqIO8xBOlM3XoYSsJabB5yubKzM,24969
|
|
11
|
+
decaylanguage/data/__init__.py,sha256=kbsVo92He4TppyLjTiRWg4jQLj9sNQzT7tTRS6XuzsQ,369
|
|
12
|
+
decaylanguage/data/ampgen.lark,sha256=Xlq7T62BRPPc0GI6mFqrBTMElDwRl1lUHu6_p74xsXY,1663
|
|
13
|
+
decaylanguage/data/decfile.lark,sha256=8qJytSMx8qQU0x3xTbY85rSbAVN8P0-gMUczq7Ws4l0,2603
|
|
14
|
+
decaylanguage/data/particle.lark,sha256=p0ysF8WfUnbiviS5xoJrIX_cGIftk2KzczRbjm_BRNY,568
|
|
15
|
+
decaylanguage/dec/__init__.py,sha256=Udlpg_i94haCHgQWeZy2zNci-fAJ8gNDUyhgFMMa8fw,156
|
|
16
|
+
decaylanguage/dec/dec.py,sha256=jtdlthWZq55-dGY__l1NERiKmKVnS_S39iQ7nV2YzpE,50840
|
|
17
|
+
decaylanguage/dec/decparser.py,sha256=waEt2CMWz0fAdvR8HhVhcEQzkXexA9RHH7PGGkUVZW8,13130
|
|
18
|
+
decaylanguage/dec/enums.py,sha256=uJZVTRo-1mckL6uIWlCVvbNh7TZYGWdmdbQ61xD4R6Q,1689
|
|
19
|
+
decaylanguage/decay/__init__.py,sha256=8fpZ23K6zYO1G6RAYEiAL7TwSsFqW8l5H1EXq7V2aM0,205
|
|
20
|
+
decaylanguage/decay/decay.py,sha256=mI9VXcSPBwqa1L6k7uJpH6pbF9bG-ts1i9yW6eiKn8U,22272
|
|
21
|
+
decaylanguage/decay/viewer.py,sha256=f4-8Ypl01ZQaXJU4D99tgn0VVdUJi2uTchnIJfhFlsI,8754
|
|
22
|
+
decaylanguage/modeling/AmpGenReader.ipynb,sha256=VYMSvKod94xgtv47_DdPNSO9Gw8dfI40fR9rrOLmQGY,95387
|
|
23
|
+
decaylanguage/modeling/__init__.py,sha256=zNe-37vLf2KDB8Id2hU0XxARaNJ3J3qrOfLyhu8Lhug,119
|
|
24
|
+
decaylanguage/modeling/ampgen2goofit.py,sha256=QeA_RWFw56T0jpiFYBrztZKNFMy4l-mEJJxrJqqI8n8,2588
|
|
25
|
+
decaylanguage/modeling/ampgentransform.py,sha256=N5OYfkcw8N2wlI-vnoPq8jYwI9_mtzOw-mMfj0JuXYY,2007
|
|
26
|
+
decaylanguage/modeling/amplitudechain.py,sha256=YDwn3mjv72Xd74F1B39HRB1EG8Mc-IQp6DYWRH3C_eE,9249
|
|
27
|
+
decaylanguage/modeling/decay.py,sha256=YmEZ13hzyxS_zNBAivdY9IaDf_RGaNhqQxxKEO5t8C4,3364
|
|
28
|
+
decaylanguage/modeling/goofit.py,sha256=FT5LjGIaoXBCx2NP-kfS0HpxmjoxcZA8dMRUwmt45EI,14409
|
|
29
|
+
decaylanguage/utils/__init__.py,sha256=fBB_EO3S9kw4g9DMnX4FCEQuwY80jwdWzZbeGGC1x90,290
|
|
30
|
+
decaylanguage/utils/errors.py,sha256=fGh691RiECMyuevn7YBCTOBTWWj0JOZR1An9bMcxF5g,327
|
|
31
|
+
decaylanguage/utils/particleutils.py,sha256=g3ve_kbD85Uk4dR2KgHDhqwCKKNWPW0WVqkEmLplax8,2073
|
|
32
|
+
decaylanguage/utils/utilities.py,sha256=EuHHkcjV6qOUh1zAFgptIHe0E8c6dgmJ81EGeJYj3UE,1332
|
|
33
|
+
DecayLanguage-0.13.0.dist-info/LICENSE,sha256=wG2bR7fBVvAMPl8eOdbRHhqEOfK5ZEBW3s4OdD5Zps4,1537
|
|
34
|
+
DecayLanguage-0.13.0.dist-info/METADATA,sha256=XujEY-8hOKhQiWuuSYYPDRFPVAl3wX5f-3lw78eUUfA,12062
|
|
35
|
+
DecayLanguage-0.13.0.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
|
|
36
|
+
DecayLanguage-0.13.0.dist-info/top_level.txt,sha256=Fq3n0TJQ7UcfVnSNXtu9F0cGIJJZOBsZ2lyQMOgJfOU,14
|
|
37
|
+
DecayLanguage-0.13.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
decaylanguage
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Copyright (c) 2018-2021, Eduardo Rodrigues and Henry Schreiner.
|
|
2
|
+
#
|
|
3
|
+
# Distributed under the 3-clause BSD license, see accompanying file LICENSE
|
|
4
|
+
# or https://github.com/scikit-hep/decaylanguage for details.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# Convenient access to the version number
|
|
8
|
+
from ._version import version as __version__
|
|
9
|
+
|
|
10
|
+
# Direct access to decay file parsing tools
|
|
11
|
+
from .dec import DecFileParser
|
|
12
|
+
|
|
13
|
+
# Direct access to decay chain representation classes and visualization tools
|
|
14
|
+
from .decay import DaughtersDict, DecayChain, DecayChainViewer, DecayMode
|
|
15
|
+
|
|
16
|
+
__all__ = (
|
|
17
|
+
"__version__",
|
|
18
|
+
"DecFileParser",
|
|
19
|
+
"DecayChainViewer",
|
|
20
|
+
"DaughtersDict",
|
|
21
|
+
"DecayMode",
|
|
22
|
+
"DecayChain",
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def __dir__():
|
|
27
|
+
return __all__
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# Copyright (c) 2018-2021, Eduardo Rodrigues and Henry Schreiner.
|
|
3
|
+
#
|
|
4
|
+
# Distributed under the 3-clause BSD license, see accompanying file LICENSE
|
|
5
|
+
# or https://github.com/scikit-hep/decaylanguage for details.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
from plumbum import cli
|
|
9
|
+
|
|
10
|
+
from decaylanguage.modeling.ampgen2goofit import ampgen2goofit
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DecayLanguageDecay(cli.Application):
|
|
14
|
+
generator = cli.SwitchAttr(["-G", "--generator"], cli.Set("goofit"), mandatory=True)
|
|
15
|
+
|
|
16
|
+
def main(self, filename):
|
|
17
|
+
if self.generator == "goofit":
|
|
18
|
+
ampgen2goofit(filename)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def main():
|
|
22
|
+
DecayLanguageDecay.run()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
if __name__ == "__main__":
|
|
26
|
+
main()
|