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 mPi2 ;
62 double mKa2 ;
63 double mPi ;
64 double mKa ;
65 double mDsM;
66 double mD;
67 double mDs;
68 double rD;
69 double metap;
70 double mkstr;
71 double mk0;
72 double mass_Kaon;
73 double mass_Pion;
74 double mass_Pi0;
75 double math_pi;
76 double meta;
77 double ma0;
78 double Ga0;
79 double GS1;
80 double GS2;
81 double GS3;
82 double GS4;
83 int G[4][4];
84 };
85
87} // Belle2 namespace
#define K(x)
macro autogenerated by FFTW
Abstract base class for different kinds of events.