rustitude-gluex

Crates.iorustitude-gluex
lib.rsrustitude-gluex
version0.6.2
sourcesrc
created_at2024-04-05 20:19:57.187275
updated_at2024-08-18 00:06:26.707052
descriptionGlueX Amplitudes for Rustitude
homepagehttps://github.com/denehoffman/rustitude/
repositoryhttps://github.com/denehoffman/rustitude/
max_upload_size
id1197732
size150,907
Nathaniel D. Hoffman (denehoffman)

documentation

README

GlueX Amplitudes for Rustitude

GitHub Release GitHub last commit GitHub Actions Workflow Status GitHub License Crates.io Version docs.rs Codecov PyPI - Version Read the Docs

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 :white_check_mark:
BreitWigner3body.cc :x:
ComplexCoeff.cc rustitude::amplitude::ComplexScalar :white_check_mark:
Compton.cc :heavy_exclamation_mark:
DblRegge_FastEta.cc :heavy_exclamation_mark:
DblRegge_FastPi.cc :heavy_exclamation_mark:
EtaPb_tdist.cc :heavy_exclamation_mark:
Flatte.cc rustitude-gluex::resonances::Flatte :white_check_mark:
Hist2D.cc :x:
Lambda1520Angles.cc :x:
Lambda1520tdist.cc :x:
LowerVertexDelta.cc :x:
OmegaDalitz.cc rustitude-gluex::dalitz::OmegaDalitz :white_check_mark:
PhaseOffset.cc rustitude::amplitude::PCScalar :white_check_mark:
Pi0Regge.cc :heavy_exclamation_mark:
Pi0ReggeModel.cc :x:
Pi0SAID.cc :x:
PiPlusRegge.cc :x:
Piecewise.cc rustitude::amplitude::PiecewiseM :white_check_mark:
SinglePS.cc rustitude-gluex::harmonics::OnePS :white_check_mark:
ThreePiAngles.cc rustitude-gluex::polarization::ThreePiPolFrac :white_check_mark:
ThreePiAnglesSchilling.cc rustitude-gluex::sdmes::ThreePiSDME :white_check_mark:
TwoLeptonAngles.cc :heavy_exclamation_mark:
TwoLeptonAnglesGJ.cc :heavy_exclamation_mark:
TwoPSAngles.cc rustitude-gluex::harmonics::TwoPS :white_check_mark:
TwoPSHelicity.cc rustitude-gluex::harmonics::TwoPS :white_check_mark:
TwoPiAngles.cc rustitude-gluex::sdmes::TwoPiSDME :white_check_mark:
TwoPiAngles_amp.cc :heavy_exclamation_mark:
TwoPiAngles_primakoff.cc rustitude-gluex::harmonic::Zlm :white_check_mark:
TwoPiEtas_tdist.cc :x:
TwoPiNC_tdist.cc :x:
TwoPiW_brokenetas.cc :x:
TwoPiWt_primakoff.cc :heavy_exclamation_mark:
TwoPiWt_sigma.cc :x:
TwoPitdist.cc :x:
Uniform.cc N/A :white_check_mark:
VecRadiative_SDME.cc rustitude-gluex::sdmes::VecRadiativeSDME :white_check_mark:
Vec_ps_refl.cc :bangbang:
Ylm.cc rustitude-gluex::harmonics::Ylm :white_check_mark:
Zlm.cc rustitude-gluex::harmonics::{ZlmRe, ZlmIm} :white_check_mark:
not yet implemented rustitude-gluex::resonances::{KMatrixF0, KMatrixF2, KMatrixA0, KMatrixA2, KMatrixRho, KMatrixPi1} :white_check_mark:
Commit count: 266

cargo fmt