Belle II Software development
EvtDToKSpipipi.h
1// Model: EvtDToKSpipipi
2// This file is an amplitude model for D+ -> K_S0 pi+ pi+ pi-.
3// The model is from the BESIII Collaboration in PRD 100, 072008 (2019). DOI:  https://doi.org/10.1103/PhysRevD.100.072008
4//
5// Permission to include these files in basf2 was generously granted by the BESIII Collaboration.
6//
7// Please cite the original reference for any public/published results where this model was used.
8
9#pragma once
10
11#include <EvtGenBase/EvtDecayProb.hh>
12
13namespace Belle2 {
18
19 class EvtDToKSpipipi: public EvtDecayProb {
20
21 public:
22 EvtDToKSpipipi() {}
23 virtual ~EvtDToKSpipipi();
24 std::string getName();
25 EvtDecayBase* clone();
26 void init();
27 void initProbMax();
28 void decay(EvtParticle* p);
29
30 private:
32 EvtComplex KPiSFormfactor(const double sa, const double sb, const double sc, const double r);
34 double calPDF(double Km[], double Pip1[], double Pip2[], double Pim[]);
36 EvtComplex D2AP_A2VP(double P1[], double P2[], double P3[], double P4[], int L);
37 EvtComplex D2AP_A2SP(double P1[], double P2[], double P3[], double P4[]);
38 EvtComplex D2PP_P2VP(double P1[], double P2[], double P3[], double P4[]);
39 EvtComplex PHSP(double Km[], double Pip[]);
40
42 EvtComplex getprop(double daug1[], double daug2[], double mass, double width, int flag, int L);
44 EvtComplex rhoab(const double sa, const double sb, const double sc);
46 EvtComplex rho4Pi(const double sa);
47
49 double dot(double* a1, double* a2)const;
51 double Qabcs(const double sa, const double sb, const double sc)const;
53 double barrier(const double l, const double sa, const double sb, const double sc, const double r)const;
55 void calt1(double daug1[], double daug2[], double t1[]) const;
57 void calt2(double daug1[], double daug2[], double t2[][4]) const;
58
60 EvtComplex propogator(const double mass, const double width, const double sx) const;
62 double wid(const double mass, const double sa, const double sb, const double sc, const double r, const int l) const;
64 double h(const double m, const double q) const;
66 double dh(const double mass, const double q0) const;
68 double f(const double mass, const double sx, const double q0, const double q) const;
70 double d(const double mass, const double q0) const;
72 EvtComplex propagatorRBW(const double mass, const double width, const double sa, const double sb, const double sc, const double r,
73 const int l)const;
75 EvtComplex propagatorGS(const double mass, const double width, const double sa, const double sb, const double sc, const double r,
76 const int l)const;
77
79 static constexpr int STDim = 4;
80 double G[STDim][STDim], E[STDim][STDim][STDim][STDim];
81
83 static constexpr int numOfParameters = 24;
84 double rho[numOfParameters];
85 double phi[numOfParameters];
86 double mrho, Grho, mKstr, GKstr, msigma, Gsigma;
87 double ma1, Ga1, mK1270, GK1270, mK1400, GK1400, mK1460, GK1460, mK1650, GK1650;
88 double rho_omega, phi_omega;
89
91 double mD;
92 double rD;
93 double metap;
94 double mkstr;
95 double mk0;
96 double mass_Kaon;
97 double mass_Pion;
98 double math_pi;
99
100 double pi;
101 double mpi;
102 double g1;
103 double g2;
104
105 };
106
108} // Belle 2 Namespace
static constexpr int numOfParameters
Number of fit parameters.
static constexpr int STDim
Number of Spacetime Dimensions (t, x, y, z)
double mD
Fixed parameters.
EvtComplex getprop(double daug1[], double daug2[], double mass, double width, int flag, int L)
Propagator Lineshapes.
double f(const double mass, const double sx, const double q0, const double q) const
f function in Gounaris-Sakurai lineshape
EvtComplex D2AP_A2VP(double P1[], double P2[], double P3[], double P4[], int L)
Amplitude modes.
EvtComplex propagatorGS(const double mass, const double width, const double sa, const double sb, const double sc, const double r, const int l) const
Gounaris-Sakurai lineshape Function.
double calPDF(double Km[], double Pip1[], double Pip2[], double Pim[])
Probability distribution function of the decay.
double Qabcs(const double sa, const double sb, const double sc) const
Magnitudes of daughter particle momenta in the rest system of the mother particle.
void calt1(double daug1[], double daug2[], double t1[]) const
Covariant Spin-1 Projector.
EvtComplex propogator(const double mass, const double width, const double sx) const
Relativistic Breit-Wigner Lineshape Function (Fixed Width)
EvtComplex KPiSFormfactor(const double sa, const double sb, const double sc, const double r)
K pi S-wave form factor.
EvtComplex propagatorRBW(const double mass, const double width, const double sa, const double sb, const double sc, const double r, const int l) const
Relativistic Breit-Wigner Lineshape Function.
double dh(const double mass, const double q0) const
derivative h function in Gounaris-Sakurai lineshape
double wid(const double mass, const double sa, const double sb, const double sc, const double r, const int l) const
Energy Dependent Width.
double barrier(const double l, const double sa, const double sb, const double sc, const double r) const
Blatt-Weisskopf barrier factors.
double d(const double mass, const double q0) const
d function in Gounaris-Sakurai lineshape
EvtComplex rho4Pi(const double sa)
Two-body Phase-space Function (Two Pions)
EvtComplex rhoab(const double sa, const double sb, const double sc)
Two-body Phase-space Function.
void calt2(double daug1[], double daug2[], double t2[][4]) const
Covariant Spin-2 Projector.
double h(const double m, const double q) const
h function in Gounaris-Sakurai lineshape
double dot(double *a1, double *a2) const
Four-Vector Scalar Product.
Abstract base class for different kinds of events.