23 releases (5 breaking)
0.6.2 | Aug 18, 2024 |
---|---|
0.5.0 | Jul 30, 2024 |
#861 in Math
1,871 downloads per month
Used in 2 crates
285KB
5K
SLoC
GlueX Amplitudes for Rustitude
Table of Contents
Overview
This is a library of amplitudes which are commonly used in analyses of GlueX data.
Installation
Cargo provides the usual command for including this crate in a project, but what you are probably looking for is an installation of this crate alongside rustitude-core
. These crates are bundled into the meta-crate rustitude
, which has a gluex
feature (currently on by default):
cargo add rustitude
Usage
See rustitude
's documentation for more information on how to use this library.
TODOs
There are a few amplitudes from halld_sim which have been implemented, several which need to be implemented, and a few which don't need to be implemented (like Uniform.cc). Additionally, I see a few areas of improvement when it comes to providing a consistent interface across all amplitudes (selection of daughter particles varies a lot across amplitudes written by different people, for instance), and there are possibly a few amplitudes which will become more performant due to the abilities of rustitude
. For example, the Ylm
,ZlmRe
, and ZlmIm
implementations of Ylm.cc and Zlm.cc no longer calculate anything on the compute step, since the entire amplitude can be computed ahead of time. Here is a list of the identified halld_sim
amplitudes:
halld_sim Amplitude |
rustitude Equivalent |
Priority |
---|---|---|
BreitWigner.cc | rustitude-gluex::resonances::BreitWigner |
✅ |
BreitWigner3body.cc | ❌ | |
ComplexCoeff.cc | rustitude::amplitude::ComplexScalar |
✅ |
Compton.cc | ❗ | |
DblRegge_FastEta.cc | ❗ | |
DblRegge_FastPi.cc | ❗ | |
EtaPb_tdist.cc | ❗ | |
Flatte.cc | rustitude-gluex::resonances::Flatte |
✅ |
Hist2D.cc | ❌ | |
Lambda1520Angles.cc | ❌ | |
Lambda1520tdist.cc | ❌ | |
LowerVertexDelta.cc | ❌ | |
OmegaDalitz.cc | rustitude-gluex::dalitz::OmegaDalitz |
✅ |
PhaseOffset.cc | rustitude::amplitude::PCScalar |
✅ |
Pi0Regge.cc | ❗ | |
Pi0ReggeModel.cc | ❌ | |
Pi0SAID.cc | ❌ | |
PiPlusRegge.cc | ❌ | |
Piecewise.cc | rustitude::amplitude::PiecewiseM |
✅ |
SinglePS.cc | rustitude-gluex::harmonics::OnePS |
✅ |
ThreePiAngles.cc | rustitude-gluex::polarization::ThreePiPolFrac |
✅ |
ThreePiAnglesSchilling.cc | rustitude-gluex::sdmes::ThreePiSDME |
✅ |
TwoLeptonAngles.cc | ❗ | |
TwoLeptonAnglesGJ.cc | ❗ | |
TwoPSAngles.cc | rustitude-gluex::harmonics::TwoPS |
✅ |
TwoPSHelicity.cc | rustitude-gluex::harmonics::TwoPS |
✅ |
TwoPiAngles.cc | rustitude-gluex::sdmes::TwoPiSDME |
✅ |
TwoPiAngles_amp.cc | ❗ | |
TwoPiAngles_primakoff.cc | rustitude-gluex::harmonic::Zlm |
✅ |
TwoPiEtas_tdist.cc | ❌ | |
TwoPiNC_tdist.cc | ❌ | |
TwoPiW_brokenetas.cc | ❌ | |
TwoPiWt_primakoff.cc | ❗ | |
TwoPiWt_sigma.cc | ❌ | |
TwoPitdist.cc | ❌ | |
Uniform.cc | N/A | ✅ |
VecRadiative_SDME.cc | rustitude-gluex::sdmes::VecRadiativeSDME |
✅ |
Vec_ps_refl.cc | ‼️ | |
Ylm.cc | rustitude-gluex::harmonics::Ylm |
✅ |
Zlm.cc | rustitude-gluex::harmonics::{ZlmRe, ZlmIm} |
✅ |
not yet implemented | rustitude-gluex::resonances::{KMatrixF0, KMatrixF2, KMatrixA0, KMatrixA2, KMatrixRho, KMatrixPi1} |
✅ |
Dependencies
~40MB
~794K SLoC