Belle II Software development
EvtDsToKpipi.h
1// Model: EvtDsToKpipi
2// This file is an amplitude model for Ds+ -> K- pi+ pi+.
3// The model is from the BESIII Collaboration in JHEP08 (2022) 196. DOI: https://doi.org/10.1007/JHEP08(2022)196
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
11#include <EvtGenBase/EvtDecayProb.hh>
12
13namespace Belle2 {
18
19 class EvtDsToKpipi: public EvtDecayProb {
20
21 public:
22 EvtDsToKpipi() {}
23 virtual ~EvtDsToKpipi();
24
25 std::string getName();
26 EvtDecayBase* clone();
27
28 void init();
29 void initProbMax();
30 void decay(EvtParticle* p);
31
32 private:
33
34 void Com_Multi(double a1[2], double a2[2], double res[2]);
35 void Com_Divide(double a1[2], double a2[2], double res[2]);
36 void calt1(double daug1[4], double daug2[4], double t1[4]);
37 void calt2(double daug1[4], double daug2[4], double t2[4][4]);
38 void propagatorCBW(double mass, double width, double sx, double prop[2]);
39 void propagatorFlatte(double mass, double width, double sa, double prop[2]);
40 void propagatorGS(double mass, double width, double sa, double sb, double sc, double r2, double prop[2]);
41 void calEva(double* K, double* Pi1, double* Pi2, double* mass1, double* width1, double* amp, double* phase, int* g0, int* spin,
42 int* modetype, int nstates, double& Result);
43 double SCADot(double a1[4], double a2[4]);
44 double barrier(int l, double sa, double sb, double sc, double r, double mass);
45 double wid(double mass2, double mass, double sa, double sb, double sc, double r2, int l);
46 double widl1(double mass2, double mass, double sa, double sb, double sc, double r2);
47 double DDalitz(double P1[4], double P2[4], double P3[4], int Ang, double mass);
48 void propagatorRBW(double mass, double width, double sa, double sb, double sc, double r2, int l, double prop[2]);
49 void propagatorKstr1430(double mass, double sx, double* sb, double* sc, double prop[2]);
50 void Flatte_rhoab(double sa, double sb, double sc, double rho[2]);
51 void propagatorsigma500(double sa, double sb, double sc, double prop[2]);
52 void rhoab(double sa, double sb, double sc, double res[2]);
53 void rho4Pi(double sa, double res[2]);
54
55
56 int modetype[8];
57 double mass[8];
58 double width[8];
59 double rho[8];
60 double phi[8];
61 double spin[8];
62 double GK1410;
63 double GKst0;
64 double GKstm;
65 double Grho;
66 double Grho1450;
67 double mK1410;
68 double mKst0;
69 double mKstm;
70 double mrho;
71 double mPi2 ;
72 double mKa2 ;
73 double mPi ;
74 double mKa ;
75 double mDsM;
76 double mrho1450;
77 double mD;
78 double mDs;
79 double rRes;
80 double rD;
81 double metap;
82 double mkstr;
83 double mk0;
84 double mass_Kaon;
85 double mass_Pion;
86 double mass_Pi0;
87 double math_pi;
88 double meta;
89 double ma0;
90 double Ga0;
91 double GS1;
92 double GS2;
93 double GS3;
94 double GS4;
95 int G[4][4];
96 };
97
99} // Belle2 namespace
#define K(x)
macro autogenerated by FFTW
Abstract base class for different kinds of events.