BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
D0ToKSpipipi0.h
Go to the documentation of this file.
1#ifndef D0TOKSPIPIPI0_H
2#define D0TOKSPIPIPI0_H
3
4#include <vector>
5#include <complex>
6#include <map>
7
8using namespace std;
9
11
12public:
13
15 virtual ~D0ToKSpipipi0();
16
17 void init();
18
19 complex<double> Amp(vector<double> ks0, vector<double> pip, vector<double> pim, vector<double> pi0);
20private:
21
22 //double AmplitudeSquare();
23
24 void readInputFile();
25 void readInputCoeff();
26 void initPar();
27
28 // Functions
29 void addPartialWave(complex<double> amp, double mag, double pha);
30 void addPartialWave(complex<double> amp1, complex<double> amp2, double mag, double pha);
31 void addPartialWave(double t1, complex<double> resX, complex<double> resY, double mag, double pha);
32 void addPartialWave(double t1, complex<double> resX1, complex<double> resY1, double t2, complex<double> resX2, complex<double> resY2, double fact, double mag, double pha); // For iso-spin conjugate
33
34 void createPropagator(vector<double> ks0, vector<double> pip, vector<double> pim, vector<double> pi0);
35 void createSpinfactor(vector<double> ks0, vector<double> pip, vector<double> pim, vector<double> pi0);
36
37 // Spin Factor
38 vector<double> Proj(vector<double> pa, int rank);
39 double contract_11_0(vector<double> pa, vector<double> pb);
40 double contract_22_0(vector<double> pa, vector<double> pb);
41 vector<double> contract_21_1(vector<double> pa, vector<double> pb);
42 vector<double> contract_22_2(vector<double> pa, vector<double> pb);
43 vector<double> contract_31_2(vector<double> pa, vector<double> pb);
44 vector<double> contract_41_3(vector<double> pa, vector<double> pb);
45 vector<double> contract_42_2(vector<double> pa, vector<double> pb);
46
47 vector<double> OrbitalTensors(vector<double> pa, vector<double> pb, vector<double> pc, double r, int rank);
48
49 //------------------------------------------------------------//
50 double D2PP_P2SP();
51 double D2PP_P2VP(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
52 double D2VP_V2VP(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
53 double D2AP_A2SP(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
54 double D2AP_A2VP(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
55 double D2AP_A2TP(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
56 double D2TP_T2VP(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
57 double D2TP_T2TP(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
58 double D2PTP_PT2SP(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
59 double D2PTP_PT2VP(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
60 double D2PTP_PT2TP(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
61 double D2SS();
62 double D2VS(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
63 double D2VV(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
64 double D2TS(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
65 double D2TV(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
66 double D2TT(vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4, int l);
67
68
69 // Propagator
70 double fundecaymomentum(double mr2, double m1_2, double m2_2);
71 double fundecaymomentum2(double mr2, double m1_2, double m2_2);
72 double wid(double mass, double sa, double sb, double sc, double r, int l);
73 complex<double> BW(double mx2, double mr, double wr);
74 complex<double> RBW(double mx2, double mr, double wr, double m1_2, double m2_2, double r, int l);
75 complex<double> LASS(double mx2, double m1_2, double m2_2);
76
77 double h(double m, double q);
78 double dh(double m0, double q0);
79 double f(double m0, double sx, double q0, double q);
80 double d(double m0, double q0);
81 complex<double> GS(double mx2, double mr, double wr, double m1_2, double m2_2, double r, int l);
82
83 double rho4pi(double s);
84 double rho2pi(double s);
85 complex<double> sigma(double mx2, double mr, double gf);
86
87 complex<double> irho(double mr2, double m1_2, double m2_2);
88 complex<double> Flatte2(double mx2, double mr2, double g1, double m1a, double m1b, double g2, double m2a, double m2b);
89
90 complex<double> create_RBW_propagator(string name, double mx2, double m1_2, double m2_2, int l);
91 complex<double> create_BW_propagator(string name, double mx2);
92 complex<double> create_GS_propagator(string name, double mx2); //for rho0
93 complex<double> create_KPiSLASS_propagator(string name, double mx2, double m1_2, double m2_2);
94 complex<double> create_sigma_propagator(string name, double mx2);
95 complex<double> create_Flatte2_propagator(string name, double mx2, double, double, double, double);
96
97
98 int _nd;
99
100 double rRes;
101 double rD;
102
103 double math_pi;
104 double mpip;
105 double mpim;
106 double mpion;
107 double mkaon;
108
109 vector<double> m_ks;
110 vector<double> m_pip;
111 vector<double> m_pim;
112 vector<double> m_pi0;
113
114 vector<double> g;
115 vector<double> epsilon;
116
117 complex<double> totalAmp;
118
119 std::map<string,double> resonance_par;
120 std::map<string,double> coefficient;
121 std::map<string,double> spinfactor;
122 std::map< string,complex<double> > propagator;
123
124 std::vector<string> VwaveName;
125 std::vector<string> VcoeffName;
126 std::vector<string> Vres1;
127 std::vector<string> Vres2;
128 std::vector<string> Vmodetype;
129 std::vector<string> Vcom1;
130 std::vector<int> Vl;
131 std::vector<int> Vconj;
132};
133
134#endif
135
double p1[4]
double p2[4]
double mass
TTree * sigma
TF1 * g1
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
complex< double > Amp(vector< double > ks0, vector< double > pip, vector< double > pim, vector< double > pi0)
virtual ~D0ToKSpipipi0()
double double double * p4
Definition qcdloop1.h:77
double double * p3
Definition qcdloop1.h:76