BOSS 8.0.0
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 <complex>
5#include <map>
6#include <vector>
7
8using namespace std;
9
11
12public:
14 virtual ~D0ToKSpipipi0();
15
16 void init();
17
18 complex<double> Amp( vector<double> ks0, vector<double> pip, vector<double> pim,
19 vector<double> pi0 );
20
21private:
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,
32 double pha );
33 void addPartialWave( double t1, complex<double> resX1, complex<double> resY1, double t2,
34 complex<double> resX2, complex<double> resY2, double fact, double mag,
35 double pha ); // For iso-spin conjugate
36
37 void createPropagator( vector<double> ks0, vector<double> pip, vector<double> pim,
38 vector<double> pi0 );
39 void createSpinfactor( vector<double> ks0, vector<double> pip, vector<double> pim,
40 vector<double> pi0 );
41
42 // Spin Factor
43 vector<double> Proj( vector<double> pa, int rank );
44 double contract_11_0( vector<double> pa, vector<double> pb );
45 double contract_22_0( vector<double> pa, vector<double> pb );
46 vector<double> contract_21_1( vector<double> pa, vector<double> pb );
47 vector<double> contract_22_2( vector<double> pa, vector<double> pb );
48 vector<double> contract_31_2( vector<double> pa, vector<double> pb );
49 vector<double> contract_41_3( vector<double> pa, vector<double> pb );
50 vector<double> contract_42_2( vector<double> pa, vector<double> pb );
51
52 vector<double> OrbitalTensors( vector<double> pa, vector<double> pb, vector<double> pc,
53 double r, int rank );
54
55 //------------------------------------------------------------//
56 double D2PP_P2SP();
57 double D2PP_P2VP( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
58 int l );
59 double D2VP_V2VP( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
60 int l );
61 double D2AP_A2SP( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
62 int l );
63 double D2AP_A2VP( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
64 int l );
65 double D2AP_A2TP( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
66 int l );
67 double D2TP_T2VP( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
68 int l );
69 double D2TP_T2TP( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
70 int l );
71 double D2PTP_PT2SP( vector<double> p1, vector<double> p2, vector<double> p3,
72 vector<double> p4, int l );
73 double D2PTP_PT2VP( vector<double> p1, vector<double> p2, vector<double> p3,
74 vector<double> p4, int l );
75 double D2PTP_PT2TP( vector<double> p1, vector<double> p2, vector<double> p3,
76 vector<double> p4, int l );
77 double D2SS();
78 double D2VS( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
79 int l );
80 double D2VV( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
81 int l );
82 double D2TS( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
83 int l );
84 double D2TV( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
85 int l );
86 double D2TT( vector<double> p1, vector<double> p2, vector<double> p3, vector<double> p4,
87 int l );
88
89 // Propagator
90 double fundecaymomentum( double mr2, double m1_2, double m2_2 );
91 double fundecaymomentum2( double mr2, double m1_2, double m2_2 );
92 double wid( double mass, double sa, double sb, double sc, double r, int l );
93 complex<double> BW( double mx2, double mr, double wr );
94 complex<double> RBW( double mx2, double mr, double wr, double m1_2, double m2_2, double r,
95 int l );
96 complex<double> LASS( double mx2, double m1_2, double m2_2 );
97
98 double h( double m, double q );
99 double dh( double m0, double q0 );
100 double f( double m0, double sx, double q0, double q );
101 double d( double m0, double q0 );
102 complex<double> GS( double mx2, double mr, double wr, double m1_2, double m2_2, double r,
103 int l );
104
105 double rho4pi( double s );
106 double rho2pi( double s );
107 complex<double> sigma( double mx2, double mr, double gf );
108
109 complex<double> irho( double mr2, double m1_2, double m2_2 );
110 complex<double> Flatte2( double mx2, double mr2, double g1, double m1a, double m1b,
111 double g2, double m2a, double m2b );
112
113 complex<double> create_RBW_propagator( string name, double mx2, double m1_2, double m2_2,
114 int l );
115 complex<double> create_BW_propagator( string name, double mx2 );
116 complex<double> create_GS_propagator( string name, double mx2 ); // for rho0
117 complex<double> create_KPiSLASS_propagator( string name, double mx2, double m1_2,
118 double m2_2 );
119 complex<double> create_sigma_propagator( string name, double mx2 );
120 complex<double> create_Flatte2_propagator( string name, double mx2, double, double, double,
121 double );
122
123 int _nd;
124
125 double rRes;
126 double rD;
127
128 double math_pi;
129 double mpip;
130 double mpim;
131 double mpion;
132 double mkaon;
133
134 vector<double> m_ks;
135 vector<double> m_pip;
136 vector<double> m_pim;
137 vector<double> m_pi0;
138
139 vector<double> g;
140 vector<double> epsilon;
141
142 complex<double> totalAmp;
143
144 std::map<string, double> resonance_par;
145 std::map<string, double> coefficient;
146 std::map<string, double> spinfactor;
147 std::map<string, complex<double>> propagator;
148
149 std::vector<string> VwaveName;
150 std::vector<string> VcoeffName;
151 std::vector<string> Vres1;
152 std::vector<string> Vres2;
153 std::vector<string> Vmodetype;
154 std::vector<string> Vcom1;
155 std::vector<int> Vl;
156 std::vector<int> Vconj;
157};
158
159#endif
double p2[4]
double p1[4]
double mass
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
const double mkaon
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
const double epsilon
complex< double > Amp(vector< double > ks0, vector< double > pip, vector< double > pim, vector< double > pi0)
virtual ~D0ToKSpipipi0()