BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0ToKKpi0.hh
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of models developed at BES collaboration
5// based on the EvtGen framework. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/BesCopyright
9// Copyright (A) 2006 Ping Rong-Gang @IHEP
10//
11// Module: EvtD0ToKKpi0.cc
12//
13// Description: Model provided by user, see the mannual
14//
15// Modification history:
16//
17// Liaoyuan Dong Aug. 8, 2022 Module created
18//
19//------------------------------------------------------------------------
20
21#ifndef EVTD0TOKKPI0_HH
22#define EVTD0TOKKPI0_HH
23
25#include <vector>
26#include <complex>
27
28class EvtParticle;
29
31
32public:
33
35 virtual ~EvtD0ToKKpi0();
36
37 void getName(std::string& name);
39
40 void init();
41 void initProbMax();
42 void decay(EvtParticle *p);
43
44private:
45
46 double AmplitudeSquare(int charm, int tagmode);
47
48 EvtVector4R GetDaugMomLab(int i){return _p4Lab[i];}
49 EvtVector4R GetDaugMomCM(int i) {return _p4CM[i];}
50 EvtVector4R GetDaugMomHel(int i){return _p4Hel[i];}
51
52 EvtVector4R _p4Lab[10],_p4CM[10],_p4Hel[10];
53 int _nd;
54 int charm;
55 int tagmode;
56
57 void setInput(double* pip, double* pim, double* pi0);
58 int CalAmp();
59
60 complex<double> Get_AmpD0(){return m_AmpD0;}
61 complex<double> Get_AmpDb(){return m_AmpDb;}
62
63 double Get_strongPhase();
64 complex<double> Amp(vector<double> Pip, vector<double> Pim, vector<double> Pi0);
65 double arg(complex<double> x);
66 double mag2(complex<double> x);
67 double mag2_itf(complex<double> x, complex<double> y);
68
69 complex<double> CalD0Amp();
70 complex<double> CalDbAmp();
71
72 vector<double> sum_tensor(vector<double> pa, vector<double> pb);
73 double contract_11_0(vector<double> pa, vector<double> pb);
74 double contract_22_0(vector<double> pa, vector<double> pb);
75 vector<double> contract_21_1(vector<double> pa, vector<double> pb);
76 vector<double> contract_22_2(vector<double> pa, vector<double> pb);
77 vector<double> contract_31_2(vector<double> pa, vector<double> pb);
78 vector<double> contract_41_3(vector<double> pa, vector<double> pb);
79 vector<double> contract_42_2(vector<double> pa, vector<double> pb);
80
81 vector<double> OrbitalTensors(vector<double> pa, vector<double> pb, vector<double> pc, double r, int rank);
82 vector<double> ProjectionTensors(vector<double> pa, int rank);
83
84 double fundecaymomentum(double mr2, double m1_2, double m2_2);
85 double fundecaymomentum2(double mr2, double m1_2, double m2_2);
86 complex<double> breitwigner(double mx2, double mr, double wr);
87 double h(double m, double q);
88 double dh(double m0, double q0);
89 double f(double m0, double sx, double q0, double q);
90 double d(double m0, double q0);
91 double wid(double mass, double sa, double sb, double sc, double r, int l);
92
93 complex<double> KPiSLass(double mx2, double mr, double wr, double a, double r, double R, double phi_R, double phi_F);
94 complex<double> GS(double mx2, double mr, double wr, double m1_2, double m2_2, double r, int l);
95 complex<double> irho(double mr2, double m1_2, double m2_2);
96 complex<double> Flatte(double mx2, double mr, double g1, double g2, double m1a, double m1b, double m2a, double m2b);
97 complex<double> RBW(double mx2, double mr, double wr, double m1_2, double m2_2, double r, int l);
98 double rho22(double sc);
99 complex<double> rhoMTX(int i, int j, double s);
100 complex<double> KMTX(int i, int j, double s);
101 complex<double> IMTX(int i, int j);
102 complex<double> FMTX(double Kijx, double Kijy, double rhojjx, double rhojjy, int i, int j);
103 double FINVMTX(double s, double *FINVx, double *FINVy);
104 complex<double> PVTR(int ID, double s);
105 complex<double> Fvector(double sa, double s0, int l);
106
107 vector<double> p4_Kap;
108 vector<double> p4_Kam;
109 vector<double> p4_Pi0;
110
111 vector<double> g_uv;
112 vector<double> epsilon_uvmn;
113 vector< complex<double> > fitpara;
114
115 double math_pi;
116 double mass_Pion;
117
118 double rRes;
119 double rD;
120 double m_Pi;
121 double m2_Pi;
122 double m_Pi0;
123 double m2_Pi0;
124 double m_Ka;
125 double m2_Ka;
126
127 double m0_Kst892;
128 double w0_Kst892;
129
130 double m0_Kst1410;
131 double w0_Kst1410;
132
133 double m0_phi1020;
134 double w0_phi1020;
135
136 double m0_f0980;
137 double g1_f0980;
138 double g2_f0980;
139
140 double m0_K01430;
141 double w0_K01430;
142 double a_lass;
143 double r_lass;
144
145 double s0_prod;
146
147 complex<double> m_AmpD0;
148 complex<double> m_AmpDb;
149 complex<double> m_RAmp;
150
151 double delta;
152
153};
154
155#endif
double mass
TF1 * g1
int ID[no]
XmlRpcServer s
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
Definition KKsem.h:33
void decay(EvtParticle *p)
void getName(std::string &name)
virtual ~EvtD0ToKKpi0()
EvtDecayBase * clone()
double y[1000]