Belle II Software
development
EvtDsToKKpi.h
1
// Model: EvtDsToKKpi
2
// This file is an amplitude model for Ds+ -> K- K+ pi+.
3
// The model is from the BESIII Collaboration in PRD 104, 012016 (2021). DOI: https://doi.org/10.1103/PhysRevD.104.012016
4
//
5
// Permission to use 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
#include <EvtGenBase/EvtDecayProb.hh>
11
#include <EvtGenBase/EvtDecayAmp.hh>
12
#include <EvtGenBase/EvtParticle.hh>
13
#include <fstream>
14
15
namespace
Belle2
{
20
class
EvtDsToKKpi:
public
EvtDecayProb {
21
22
public
:
23
24
EvtDsToKKpi() {}
25
virtual
~EvtDsToKKpi();
26
std::string getName();
27
EvtDecayBase* clone();
28
void
init();
29
void
initProbMax();
30
void
decay(EvtParticle* p);
31
32
private
:
33
void
MIP_LineShape(
double
sa,
double
pro[2]);
34
void
calEvaMy(
double
* pKm,
double
* pKp,
double
* pPi,
double
* mass1,
double
* width1,
double
* amp,
double
* phase,
int
* g0,
35
int
* modetype,
int
nstates,
double
& Result);
36
void
Com_Multi(
double
a1[2],
double
a2[2],
double
res[2]);
37
void
Com_Divide(
double
a1[2],
double
a2[2],
double
res[2]);
38
double
SCADot(
double
a1[4],
double
a2[4]);
39
double
barrier(
int
l,
double
sa,
double
sb,
double
sc,
double
r);
40
double
barrierNeo(
int
l,
double
sa,
double
sb,
double
sc,
double
r,
double
mR);
41
double
barrierNeoDs(
int
l,
double
sa,
double
sb,
double
sc,
double
r,
double
mR,
double
mb);
42
void
calt1(
double
daug1[4],
double
daug2[4],
double
t1[4]);
43
void
calt2(
double
daug1[4],
double
daug2[4],
double
t2[4][4]);
44
void
propagator(
double
mass,
double
width,
double
sx,
double
prop[2]);
45
double
wid(
double
mass,
double
sa,
double
sb,
double
sc,
double
r,
int
l);
46
void
Flatte_rhoab(
double
sa,
double
sb,
double
sc,
double
rho[2]);
47
void
propagatorFlatte(
double
mass,
double
width,
double
sx,
double
* sb,
double
* sc,
double
prop[2]);
48
void
propagator980(
double
mass,
double
sx,
double
* sb,
double
* sc,
double
prop[2]);
49
void
propagatora0980(
double
mass,
double
sx,
double
* sb,
double
* sc,
double
prop[2]);
50
void
propagatorKstr1430(
double
mass,
double
sx,
double
* sb,
double
* sc,
double
prop[2]);
51
void
propagatorRBW(
double
mass,
double
width,
double
sa,
double
sb,
double
sc,
double
r,
int
l,
double
prop[2]);
52
void
propagatorRBWNeo(
double
mass,
double
width,
double
sa,
double
sb,
double
sc,
double
r,
int
l,
double
prop[2]);
53
void
propagatorRBWNeoKstr892(
double
mass,
double
width,
double
sa,
double
sb,
double
sc,
double
r,
int
l,
double
prop[2]);
54
double
h(
double
m,
double
q);
55
double
dh(
double
mass,
double
q0);
56
double
f(
double
mass,
double
sx,
double
q0,
double
q);
57
double
d(
double
mass,
double
q0);
58
void
propagatorGS(
double
mass,
double
width,
double
sa,
double
sb,
double
sc,
double
r,
int
l,
double
prop[2]);
59
60
// Parameters
61
double
phi[6], rho[6], mass[6], width[6];
62
int
modetype[6];
63
double
mD, mDs, rRes, rD, mkstr, mk0, mass_Kaon, mass_Pion, mass_Pi0, mass_EtaP, mass_Eta, math_pi, afRatio;
64
int
G[4][4], E[4][4][4][4];
65
66
};
67
68
}
// Belle2 namespace
Belle2
Abstract base class for different kinds of events.
Definition
MillepedeAlgorithm.h:17
generators
evtgen
models
besiii
include
EvtDsToKKpi.h
Generated on Sun May 10 2026 03:22:44 for Belle II Software by
1.13.2