BOSS 8.0.0
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 <complex>
26#include <vector>
27
28class EvtParticle;
29class EvtVector4R;
30
31class EvtD0ToKKpi0 : public EvtDecayProb {
32
33public:
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 double AmplitudeSquare( int charm, int tagmode );
46
47 EvtVector4R GetDaugMomLab( int i ) { return _p4Lab[i]; }
48 EvtVector4R GetDaugMomCM( int i ) { return _p4CM[i]; }
49 EvtVector4R GetDaugMomHel( int i ) { return _p4Hel[i]; }
50
51 EvtVector4R _p4Lab[10], _p4CM[10], _p4Hel[10];
52 int _nd;
53 int charm;
54 int tagmode;
55
56 void setInput( double* pip, double* pim, double* pi0 );
57 int CalAmp();
58
59 complex<double> Get_AmpD0() { return m_AmpD0; }
60 complex<double> Get_AmpDb() { return m_AmpDb; }
61
62 double Get_strongPhase();
63 complex<double> Amp( vector<double> Pip, vector<double> Pim, vector<double> Pi0 );
64 double arg( complex<double> x );
65 double mag2( complex<double> x );
66 double mag2_itf( complex<double> x, complex<double> y );
67
68 complex<double> CalD0Amp();
69 complex<double> CalDbAmp();
70
71 vector<double> sum_tensor( vector<double> pa, vector<double> pb );
72 double contract_11_0( vector<double> pa, vector<double> pb );
73 double contract_22_0( vector<double> pa, vector<double> pb );
74 vector<double> contract_21_1( vector<double> pa, vector<double> pb );
75 vector<double> contract_22_2( vector<double> pa, vector<double> pb );
76 vector<double> contract_31_2( vector<double> pa, vector<double> pb );
77 vector<double> contract_41_3( vector<double> pa, vector<double> pb );
78 vector<double> contract_42_2( vector<double> pa, vector<double> pb );
79
80 vector<double> OrbitalTensors( vector<double> pa, vector<double> pb, vector<double> pc,
81 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,
94 double phi_R, double phi_F );
95 complex<double> GS( double mx2, double mr, double wr, double m1_2, double m2_2, double r,
96 int l );
97 complex<double> irho( double mr2, double m1_2, double m2_2 );
98 complex<double> Flatte( double mx2, double mr, double g1, double g2, double m1a, double m1b,
99 double m2a, double m2b );
100 complex<double> RBW( double mx2, double mr, double wr, double m1_2, double m2_2, double r,
101 int l );
102 double rho22( double sc );
103 complex<double> rhoMTX( int i, int j, double s );
104 complex<double> KMTX( int i, int j, double s );
105 complex<double> IMTX( int i, int j );
106 complex<double> FMTX( double Kijx, double Kijy, double rhojjx, double rhojjy, int i, int j );
107 double FINVMTX( double s, double* FINVx, double* FINVy );
108 complex<double> PVTR( int ID, double s );
109 complex<double> Fvector( double sa, double s0, int l );
110
111 vector<double> p4_Kap;
112 vector<double> p4_Kam;
113 vector<double> p4_Pi0;
114
115 vector<double> g_uv;
116 vector<double> epsilon_uvmn;
117 vector<complex<double>> fitpara;
118
119 double math_pi;
120 double mass_Pion;
121
122 double rRes;
123 double rD;
124 double m_Pi;
125 double m2_Pi;
126 double m_Pi0;
127 double m2_Pi0;
128 double m_Ka;
129 double m2_Ka;
130
131 double m0_Kst892;
132 double w0_Kst892;
133
134 double m0_Kst1410;
135 double w0_Kst1410;
136
137 double m0_phi1020;
138 double w0_phi1020;
139
140 double m0_f0980;
141 double g1_f0980;
142 double g2_f0980;
143
144 double m0_K01430;
145 double w0_K01430;
146 double a_lass;
147 double r_lass;
148
149 double s0_prod;
150
151 complex<double> m_AmpD0;
152 complex<double> m_AmpDb;
153 complex<double> m_RAmp;
154
155 double delta;
156};
157
158#endif
double mass
TF1 * g1
Double_t x[10]
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()