AmpGen 2.1
Loading...
Searching...
No Matches
Lineshapes.h File Reference
#include <map>
#include <string>
#include <utility>
#include <vector>
#include "AmpGen/Expression.h"
#include "AmpGen/Factory.h"
#include "AmpGen/MsgService.h"
#include "AmpGen/Tensor.h"
#include "AmpGen/Particle.h"

Go to the source code of this file.

Classes

class  AmpGen::Lineshape::Base
 
class  AmpGen::Lineshape::Factory
 
class  AmpGen::Lineshape::None
 
class  AmpGen::Lineshape::BW
 Simple two-body Breit-Wigner lineshape that describes relatively narrow, isolated resonances that couple to a single channel / orbital configuration. More...
 
class  AmpGen::Lineshape::SBW
 Breit-Wigner lineshape with fixed width. More...
 
class  AmpGen::Lineshape::NonRelBW
 Nonrelativistic Breit-Wigner lineshape. More...
 
class  AmpGen::Lineshape::GounarisSakurai
 Gounaris-Sakurai lineshape models dispersive corrections to the \(I=1,J=1\) \(\pi\pi\) propagator. More...
 
class  AmpGen::Lineshape::LASS
 Description of the \( K\pi \) S-wave, based on the fits to scattering data. More...
 
class  AmpGen::Lineshape::GLASS
 Generalised description of the \( K\pi\) S-wave, taken from BABAR / BELLE analysis of \( D^{0} \to K_{S}^{0} \pi^{+} \pi^{-} \) https://journals.aps.org/prd/pdf/10.1103/PhysRevD.98.112012. More...
 
class  AmpGen::Lineshape::Flatte
 Lineshape to describe resonances with coupled channels such as \(f_{0}(980)^{0} / a_{0}(980) \). More...
 
class  AmpGen::Lineshape::Bugg
 
class  AmpGen::Lineshape::Isotensor
 
class  AmpGen::Lineshape::ExpFF
 Exponential form-factor of type \( e^{ - q^2 R^2 } \). More...
 
class  AmpGen::Lineshape::FormFactor
 
class  AmpGen::Lineshape::Gaussian
 Gaussian shape for (relatively) long lived states that are limited by experimental resolution, rather than natural width. More...
 
class  AmpGen::Lineshape::PolyNR
 Polynominal shape \( \mathcal{A}(s) = \sum^n_i c_i s^{i} \) where the sum is to lineshapeModifier::Degree, and the free parameters of the shape are lineshapeModifier_ci. More...
 
class  AmpGen::Lineshape::Poly
 Polynominal shape \( \mathcal{A}(s) = \sqrt{ \sum_{ij} c_{ij} s^{i} (s^\prime)^{j} } \) where the sum is to lineshapeModifier::Degree, and the free parameters of the shape are lineshapeModifier_cij. More...
 
class  AmpGen::Lineshape::FOCUS
 K matrix amplitudes used for I=1/2 and I=3/2 in the description of the \( K\pi \) S-wave in the analysis of \( D^{+}\rightarrow K^{-}\pi^{+}\pi^{+}\) https://arxiv.org/abs/0705.2248. More...
 
class  AmpGen::Lineshape::PALANO
 I=1/2 and I=3/2 K Matrices used in the description of the \( K\pi\) S-wave in the analysis of \(\eta_{c}\rightarrow K^{+} K^{-} \pi^{0}\) https://arxiv.org/abs/1701.04881. More...
 
class  AmpGen::Lineshape::kMatrixSimple
 Simple and flexible K matrix that implements a variable number of scalar channels and poles. More...
 
class  AmpGen::Lineshape::MIPWA
 Model-Independent Partial Wave parameterisation using cubic splines. More...
 
class  AmpGen::Lineshape::GSpline
 Lineshape with an arbitrary running width determined from a spline. More...
 
class  AmpGen::Lineshape::FormFactorSpline
 
class  AmpGen::Lineshape::DecaySpline
 
class  AmpGen::Lineshape::InelasticSpline
 
class  AmpGen::Lineshape::GenericKmatrix
 Implementation of a generic K-matrix. More...
 
class  AmpGen::Lineshape::EtaDalitz
 Empirical Dalitz plot distribution for \( \eta \rightarrow \pi^{+}\pi^{-}\pi^{0} \). More...
 
class  AmpGen::Lineshape::TD
 (Linear) time dependence More...
 
class  AmpGen::Lineshape::Photon
 

Namespaces

namespace  AmpGen
 
namespace  AmpGen::Lineshape
 Namespace that contains all lineshapes, i.e.
 

Macros

#define DECLARE_LINESHAPE(X)
 
#define DEFINE_LINESHAPE(X)
 
#define DEFINE_GENERIC_SHAPE(X)
 

Functions

Expression AmpGen::Q2 (const Expression &Msq, const Expression &M1sq, const Expression &M2sq)
 
Expression AmpGen::kFactor (const Expression &mass, const Expression &width, std::vector< std::pair< std::string, Expression > > *dbexpressions=nullptr)
 
Expression AmpGen::BlattWeisskopf_Norm (const Expression &z, const Expression &z0, unsigned int L)
 
Expression AmpGen::BL (const Expression &s, const Expression &s0, const Expression &s1, const Expression &s2, const Expression &radius, const unsigned int &L)
 
Expression AmpGen::BlattWeisskopf (const Expression &z, unsigned int L)
 
Expression AmpGen::pol (const AmpGen::Expression &X, const std::vector< Expression > &p)
 
std::vector< ExpressionAmpGen::parameterVector (const std::string &name, const size_t &nParam)
 
Expression AmpGen::width (const Expression &s, const Expression &s1, const Expression &s2, const Expression &mass, const Expression &width, const Expression &radius, unsigned int L, DebugSymbols *dbexpressions=nullptr)
 

Macro Definition Documentation

◆ DECLARE_LINESHAPE

#define DECLARE_LINESHAPE ( X)
Value:
class X : public AmpGen::Lineshape::Base { \
static std::string _id; \
public: \
X(){ DEBUG("Constructing lineshape") ;} \
const AmpGen::Expression& s2, const std::string& particleName, \
const unsigned int& L, const std::string& lineshapeModifier, \
AmpGen::DebugSymbols* dbexpressions = 0) const override; \
const std::string& lineshapeModifier, \
AmpGen::DebugSymbols* dbexpressions = nullptr ) const override; \
}
Wrapper class for shared_ptrs to virtual expressions for use in conjunction with operators to build e...
Definition Expression.h:135
virtual Expression get(const Expression &s, const Expression &s1, const Expression &s2, const std::string &particleName, const unsigned &L, const std::string &lineshapeModifier, DebugSymbols *dbexpressions=nullptr) const =0
Describes a particle, its decay process and subsequent decay products, which are also Particles.
Definition Particle.h:103
#define DEBUG(X)
Used for printing verbose debugging messages, only if DEBUGLEVEL is defined.
Definition MsgService.h:66
std::vector< DebugSymbol > DebugSymbols
Definition Expression.h:111

Definition at line 43 of file Lineshapes.h.

◆ DEFINE_GENERIC_SHAPE

#define DEFINE_GENERIC_SHAPE ( X)
Value:
REGISTER_WITH_KEY( Lineshape::Base, Lineshape::X, #X, std::string ); \
AmpGen::Expression Lineshape::X::get( const AmpGen::Expression& s, const AmpGen::Expression& s1, \
const AmpGen::Expression& s2, const std::string& particleName, \
const unsigned int& L, const std::string& lineshapeModifier, \
AmpGen::DebugSymbols* dbexpressions ) const { return 0;} \
AmpGen::Expression Lineshape::X::get( const AmpGen::Particle& p, \
const std::string& lineshapeModifier, \
AmpGen::DebugSymbols* dbexpressions ) const
#define REGISTER_WITH_KEY(BASE_CLASS, DERIVED_CLASS, KEY, KEY_TYPE)
Definition Factory.h:12

Definition at line 69 of file Lineshapes.h.

◆ DEFINE_LINESHAPE

#define DEFINE_LINESHAPE ( X)
Value:
REGISTER_WITH_KEY( Lineshape::Base, Lineshape::X, #X, std::string ); \
AmpGen::Expression Lineshape::X::get( const AmpGen::Particle& p, \
const std::string& lineshapeModifier, \
AmpGen::DebugSymbols* dbexpressions ) const { return \
get(p.massSq(), p.daughter(0)->massSq(), p.daughter(1)->massSq(), \
p.name(), p.L(), lineshapeModifier, dbexpressions) ;} \
AmpGen::Expression Lineshape::X::get( const AmpGen::Expression& s, const AmpGen::Expression& s1, \
const AmpGen::Expression& s2, const std::string& particleName, \
const unsigned int& L, const std::string& lineshapeModifier, \
AmpGen::DebugSymbols* dbexpressions ) const
unsigned L() const
Returns the orbital angular.
std::shared_ptr< Particle > daughter(const size_t &index)
Returns the indexth decay product of this particle.
Expression massSq() const
Calculates the invariant mass-squared of the mass of this particle.
std::string name() const
Name of the decaying particle.

Definition at line 57 of file Lineshapes.h.