BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0Topipipi0.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: EvtD0Topipipi0.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 EVTD0TOPIPIPI0_HH
22#define EVTD0TOPIPIPI0_HH
23
25#include <vector>
26#include <complex>
27
28class EvtParticle;
29
31
32public:
33
35 virtual ~EvtD0Topipipi0();
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> GS(double mx2, double mr, double wr, double m1_2, double m2_2, double r, int l);
94 complex<double> irho(double mr2, double m1_2, double m2_2);
95 complex<double> Flatte(double mx2, double mr, double g1, double g2, double m1a, double m1b, double m2a, double m2b);
96 complex<double> RBW(double mx2, double mr, double wr, double m1_2, double m2_2, double r, int l);
97 double rho22(double sc);
98 complex<double> rhoMTX(int i, int j, double s);
99 complex<double> KMTX(int i, int j, double s);
100 complex<double> IMTX(int i, int j);
101 complex<double> FMTX(double Kijx, double Kijy, double rhojjx, double rhojjy, int i, int j);
102 double FINVMTX(double s, double *FINVx, double *FINVy);
103 complex<double> PVTR(int ID, double s);
104 complex<double> Fvector(double sa, double s0, int l);
105
106 vector<double> p4_Pip;
107 vector<double> p4_Pim;
108 vector<double> p4_Pi0;
109
110 vector<double> g_uv;
111 vector<double> epsilon_uvmn;
112 vector< complex<double> > fitpara;
113
114 double math_pi;
115 double mass_Pion;
116
117 double rRes;
118 double rD;
119 double m_Pi;
120 double m2_Pi;
121 double m_Pi0;
122 double m2_Pi0;
123
124 double m0_rho7700;
125 double w0_rho7700;
126
127 double m0_rho770p;
128 double w0_rho770p;
129
130 double m0_f21270;
131 double w0_f21270;
132
133 double s0_prod;
134
135 complex<double> m_AmpD0;
136 complex<double> m_AmpDb;
137 complex<double> m_RAmp;
138
139 double delta;
140
141};
142
143#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 getName(std::string &name)
EvtDecayBase * clone()
virtual ~EvtD0Topipipi0()
void decay(EvtParticle *p)
double y[1000]