Skip to content
This repository has been archived by the owner on May 15, 2024. It is now read-only.

denehoffman/rustitude-gluex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 ‼️
Hist2D.cc
Lambda1520Angles.cc
Lambda1520tdist.cc
LowerVertexDelta.cc
OmegaDalitz.cc rustitude-gluex::dalitz::OmegaDalitz
PhaseOffset.cc ‼️
Pi0Regge.cc
Pi0ReggeModel.cc
Pi0SAID.cc
PiPlusRegge.cc
Piecewise.cc rustitude::amplitude::Piecewise
SinglePS.cc rustitude-gluex::harmonics::OnePS
ThreePiAngles.cc ‼️
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 ‼️
TwoPiEtas_tdist.cc
TwoPiNC_tdist.cc
TwoPiW_brokenetas.cc
TwoPiWt_primakoff.cc
TwoPiWt_sigma.cc
TwoPitdist.cc
Uniform.cc N/A
VecRadiative_SDME.cc ‼️
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}