6#include "TLorentzVector.h"
12#include "CLHEP/Matrix/Vector.h"
13#include "CLHEP/Matrix/Matrix.h"
14#include "CLHEP/Matrix/SymMatrix.h"
15#include "CLHEP/Vector/ThreeVector.h"
16#include "CLHEP/Vector/LorentzVector.h"
17#include "CLHEP/Vector/TwoVector.h"
18using CLHEP::HepVector;
19using CLHEP::Hep3Vector;
20using CLHEP::Hep2Vector;
21using CLHEP::HepLorentzVector;
34std::vector<double>
operator + (std::vector<double> &lhs, std::vector<double> &rhs) {
35 assert(
int(lhs.size()) ==
int(rhs.size()));
36 std::vector<double> sum; sum.clear();
38 for (
int i=0; i<int(lhs.size()); i++) {
39 sum.push_back(lhs[i]+rhs[i]);
63void D0ToKSpipipi0::readInputFile() {
65 resonance_par[
"kstarm_892_mass"] = 0.89166;
66 resonance_par[
"kstarm_892_width"] = 0.0508;
67 resonance_par[
"kstar0_892_mass"] = 0.89581;
68 resonance_par[
"kstar0_892_width"] = 0.0474;
69 resonance_par[
"kstarp_892_mass"] = 0.89166;
70 resonance_par[
"kstarp_892_width"] = 0.0508;
71 resonance_par[
"k1m_1270_mass"] = 1.272;
72 resonance_par[
"k1m_1270_width"] = 0.087;
73 resonance_par[
"k10_1270_mass"] = 1.272;
74 resonance_par[
"k10_1270_width"] = 0.087;
75 resonance_par[
"k1m_1400_mass"] = 1.403;
76 resonance_par[
"k1m_1400_width"] = 0.174;
77 resonance_par[
"k10_1400_mass"] = 1.403;
78 resonance_par[
"k10_1400_width"] = 0.174;
79 resonance_par[
"kstarm_1410_mass"] = 1.414;
80 resonance_par[
"kstarm_1410_width"] = 0.232;
81 resonance_par[
"kstar0_1410_mass"] = 1.414;
82 resonance_par[
"kstar0_1410_width"] = 0.232;
83 resonance_par[
"k0starm_1430_mass"] = 1.425;
84 resonance_par[
"k0starm_1430_width"] = 0.27;
85 resonance_par[
"k0star0_1430_mass"] = 1.425;
86 resonance_par[
"k0star0_1430_width"] = 0.27;
87 resonance_par[
"k2starm_1430_mass"] = 1.4256;
88 resonance_par[
"k2starm_1430_width"] = 0.0985;
89 resonance_par[
"k2star0_1430_mass"] = 1.4324;
90 resonance_par[
"k2star0_1430_width"] = 0.109;
91 resonance_par[
"km_1460_mass"] = 1.46;
92 resonance_par[
"km_1460_width"] = 0.26;
93 resonance_par[
"k0_1460_mass"] = 1.46;
94 resonance_par[
"k0_1460_width"] = 0.26;
95 resonance_par[
"k2m_1580_mass"] = 1.58;
96 resonance_par[
"k2m_1580_width"] = 0.11;
97 resonance_par[
"k20_1580_mass"] = 1.58;
98 resonance_par[
"k20_1580_width"] = 0.11;
99 resonance_par[
"km_1630_mass"] = 1.595;
100 resonance_par[
"km_1630_width"] = 0.016;
101 resonance_par[
"k0_1630_mass"] = 1.595;
102 resonance_par[
"k0_1630_width"] = 0.016;
103 resonance_par[
"k1m_1650_mass"] = 1.65;
104 resonance_par[
"k1m_1650_width"] = 0.15;
105 resonance_par[
"k10_1650_mass"] = 1.65;
106 resonance_par[
"k10_1650_width"] = 0.15;
107 resonance_par[
"kstarm_1680_mass"] = 1.717;
108 resonance_par[
"kstarm_1680_width"] = 0.322;
109 resonance_par[
"kstar0_1680_mass"] = 1.717;
110 resonance_par[
"kstar0_1680_width"] = 0.322;
111 resonance_par[
"k2m_1770_mass"] = 1.773;
112 resonance_par[
"k2m_1770_width"] = 0.186;
113 resonance_par[
"k20_1770_mass"] = 1.773;
114 resonance_par[
"k20_1770_width"] = 0.186;
115 resonance_par[
"sigma_500_mass"] = 0.9264;
116 resonance_par[
"sigma_500_width"] = 0.45623;
117 resonance_par[
"sigma_500_gf"] = 0.0024;
118 resonance_par[
"f0_980_mass"] = 0.965;
119 resonance_par[
"f0_980_width"] = 0.055;
120 resonance_par[
"f0_980_g1"] = 0.165;
121 resonance_par[
"f0_980_g2"] = 4.21;
122 resonance_par[
"f0_1370_mass"] = 1.37;
123 resonance_par[
"f0_1370_width"] = 0.26;
124 resonance_par[
"f2_1270_mass"] = 1.275;
125 resonance_par[
"f2_1270_width"] = 0.185;
126 resonance_par[
"rhop_770_mass"] = 0.77511;
127 resonance_par[
"rhop_770_width"] = 0.1491;
128 resonance_par[
"rhom_770_mass"] = 0.77511;
129 resonance_par[
"rhom_770_width"] = 0.1491;
130 resonance_par[
"rho0_770_mass"] = 0.77526;
131 resonance_par[
"rho0_770_width"] = 0.1478;
132 resonance_par[
"omega_782_mass"] = 0.78265;
133 resonance_par[
"omega_782_width"] = 0.00849;
134 resonance_par[
"eta_547_mass"] = 0.547862;
135 resonance_par[
"eta_547_width"] = 0.00131;
136 resonance_par[
"phi_1020_mass"] = 1.01946;
137 resonance_par[
"phi_1020_width"] = 0.00426;
138 resonance_par[
"a10_1260_mass"] = 1.366;
139 resonance_par[
"a10_1260_width"] = 0.542;
140 resonance_par[
"kstarm_phsp_mass"] = 2;
141 resonance_par[
"kstarm_phsp_width"] = 90;
142 resonance_par[
"kstar0_phsp_mass"] = 2;
143 resonance_par[
"kstar0_phsp_width"] = 90;
144 resonance_par[
"kstarp_phsp_mass"] = 2;
145 resonance_par[
"kstarp_phsp_width"] = 90;
146 resonance_par[
"rhop_phsp_mass"] = 2;
147 resonance_par[
"rhop_phsp_width"] = 90;
148 resonance_par[
"rho0_phsp_mass"] = 2;
149 resonance_par[
"rho0_phsp_width"] = 90;
150 resonance_par[
"rhom_phsp_mass"] = 2;
151 resonance_par[
"rhom_phsp_width"] = 90;
152 resonance_par[
"k1m_phsp_mass"] = 2;
153 resonance_par[
"k1m_phsp_width"] = 90;
154 resonance_par[
"k10_phsp_mass"] = 2;
155 resonance_par[
"k10_phsp_width"] = 90;
156 resonance_par[
"k1p_phsp_mass"] = 2;
157 resonance_par[
"k1p_phsp_width"] = 90;
158 resonance_par[
"a10_phsp_mass"] = 2;
159 resonance_par[
"a10_phsp_width"] = 90;
164void D0ToKSpipipi0::initPar() {
167 for (
int i=0; i<4; i++) {
168 for (
int j=0; j<4; j++) {
180 for (
int i=0; i<4; i++) {
181 for (
int j=0; j<4; j++) {
182 for (
int k=0; k<4; k++) {
183 for (
int l=0; l<4; l++) {
184 if (i==j || i==k || i==l || j==k || j==l || k==l) {
185 epsilon.push_back(0.0);
187 if (i==0 && j==1 && k==2 && l==3) epsilon.push_back( 1.0);
188 if (i==0 && j==1 && k==3 && l==2) epsilon.push_back(-1.0);
189 if (i==0 && j==2 && k==1 && l==3) epsilon.push_back(-1.0);
190 if (i==0 && j==2 && k==3 && l==1) epsilon.push_back( 1.0);
191 if (i==0 && j==3 && k==1 && l==2) epsilon.push_back( 1.0);
192 if (i==0 && j==3 && k==2 && l==1) epsilon.push_back(-1.0);
194 if (i==1 && j==0 && k==2 && l==3) epsilon.push_back(-1.0);
195 if (i==1 && j==0 && k==3 && l==2) epsilon.push_back( 1.0);
196 if (i==1 && j==2 && k==0 && l==3) epsilon.push_back( 1.0);
197 if (i==1 && j==2 && k==3 && l==0) epsilon.push_back(-1.0);
198 if (i==1 && j==3 && k==0 && l==2) epsilon.push_back(-1.0);
199 if (i==1 && j==3 && k==2 && l==0) epsilon.push_back( 1.0);
201 if (i==2 && j==0 && k==1 && l==3) epsilon.push_back( 1.0);
202 if (i==2 && j==0 && k==3 && l==1) epsilon.push_back(-1.0);
203 if (i==2 && j==1 && k==0 && l==3) epsilon.push_back(-1.0);
204 if (i==2 && j==1 && k==3 && l==0) epsilon.push_back( 1.0);
205 if (i==2 && j==3 && k==0 && l==1) epsilon.push_back( 1.0);
206 if (i==2 && j==3 && k==1 && l==0) epsilon.push_back(-1.0);
208 if (i==3 && j==0 && k==1 && l==2) epsilon.push_back(-1.0);
209 if (i==3 && j==0 && k==2 && l==1) epsilon.push_back( 1.0);
210 if (i==3 && j==1 && k==0 && l==2) epsilon.push_back( 1.0);
211 if (i==3 && j==1 && k==2 && l==0) epsilon.push_back(-1.0);
212 if (i==3 && j==2 && k==0 && l==1) epsilon.push_back(-1.0);
213 if (i==3 && j==2 && k==1 && l==0) epsilon.push_back( 1.0);
229void D0ToKSpipipi0::addPartialWave(
complex<double> amp,
double mag,
double pha) {
232 totalAmp += (amp * coeff);
239 totalAmp += (amp1 *amp2 * coeff);
244 totalAmp += (t1 * resX * resY * coeff);
251 totalAmp += (t1 * resX1 * resY1 + fact * t2 * resX2 * resY2) * coeff;
258void D0ToKSpipipi0::createSpinfactor(vector<double> ks0, vector<double> pip, vector<double> pim, vector<double> pi0) {
289 spinfactor[
"D2PP_P2SP_pippimpi0_pimpi0_0"] = D2PP_P2SP();
290 spinfactor[
"D2PP_P2SP_pippimpi0_pippi0_0"] = D2PP_P2SP();
291 spinfactor[
"D2PP_P2SP_pippimpi0_pippim_0"] = D2PP_P2SP();
292 spinfactor[
"D2PP_P2SP_ks0pimpi0_ks0pim_0"] = D2PP_P2SP();
293 spinfactor[
"D2PP_P2SP_ks0pimpi0_ks0pi0_0"] = D2PP_P2SP();
294 spinfactor[
"D2PP_P2SP_ks0pimpi0_pimpi0_0"] = D2PP_P2SP();
295 spinfactor[
"D2PP_P2SP_ks0pippi0_ks0pip_0"] = D2PP_P2SP();
296 spinfactor[
"D2PP_P2SP_ks0pippi0_ks0pi0_0"] = D2PP_P2SP();
297 spinfactor[
"D2PP_P2SP_ks0pippi0_pippi0_0"] = D2PP_P2SP();
298 spinfactor[
"D2PP_P2SP_ks0pippim_ks0pip_0"] = D2PP_P2SP();
299 spinfactor[
"D2PP_P2SP_ks0pippim_ks0pim_0"] = D2PP_P2SP();
300 spinfactor[
"D2PP_P2SP_ks0pippim_pippim_0"] = D2PP_P2SP();
303 spinfactor[
"D2PP_P2VP_pippimpi0_pimpi0_1"] = D2PP_P2VP(pi0, pim, pip, ks0, 1);
304 spinfactor[
"D2PP_P2VP_pippimpi0_pippi0_1"] = D2PP_P2VP(pip, pi0, pim, ks0, 1);
305 spinfactor[
"D2PP_P2VP_pippimpi0_pippim_1"] = D2PP_P2VP(pip, pim, pi0, ks0, 1);
306 spinfactor[
"D2PP_P2VP_ks0pimpi0_ks0pim_1"] = D2PP_P2VP(ks0, pim, pi0, pip, 1);
307 spinfactor[
"D2PP_P2VP_ks0pimpi0_ks0pi0_1"] = D2PP_P2VP(ks0, pi0, pim, pip, 1);
308 spinfactor[
"D2PP_P2VP_ks0pimpi0_pimpi0_1"] = D2PP_P2VP(pim, pi0, ks0, pip, 1);
309 spinfactor[
"D2PP_P2VP_ks0pippi0_ks0pip_1"] = D2PP_P2VP(ks0, pip, pi0, pim, 1);
310 spinfactor[
"D2PP_P2VP_ks0pippi0_ks0pi0_1"] = D2PP_P2VP(ks0, pi0, pip, pim, 1);
311 spinfactor[
"D2PP_P2VP_ks0pippi0_pippi0_1"] = D2PP_P2VP(pip, pi0, ks0, pim, 1);
312 spinfactor[
"D2PP_P2VP_ks0pippim_ks0pip_1"] = D2PP_P2VP(ks0, pip, pim, pi0, 1);
313 spinfactor[
"D2PP_P2VP_ks0pippim_ks0pim_1"] = D2PP_P2VP(ks0, pim, pip, pi0, 1);
314 spinfactor[
"D2PP_P2VP_ks0pippim_pippim_1"] = D2PP_P2VP(pip, pim, ks0, pi0, 1);
317 spinfactor[
"D2VP_V2VP_pippimpi0_pimpi0_1"] = D2VP_V2VP(pi0, pim, pip, ks0, 1);
318 spinfactor[
"D2VP_V2VP_pippimpi0_pippi0_1"] = D2VP_V2VP(pip, pi0, pim, ks0, 1);
319 spinfactor[
"D2VP_V2VP_pippimpi0_pippim_1"] = D2VP_V2VP(pip, pim, pi0, ks0, 1);
320 spinfactor[
"D2VP_V2VP_ks0pimpi0_ks0pim_1"] = D2VP_V2VP(ks0, pim, pi0, pip, 1);
321 spinfactor[
"D2VP_V2VP_ks0pimpi0_ks0pi0_1"] = D2VP_V2VP(ks0, pi0, pim, pip, 1);
322 spinfactor[
"D2VP_V2VP_ks0pimpi0_pimpi0_1"] = D2VP_V2VP(pim, pi0, ks0, pip, 1);
323 spinfactor[
"D2VP_V2VP_ks0pippi0_ks0pip_1"] = D2VP_V2VP(ks0, pip, pi0, pim, 1);
324 spinfactor[
"D2VP_V2VP_ks0pippi0_ks0pi0_1"] = D2VP_V2VP(ks0, pi0, pip, pim, 1);
325 spinfactor[
"D2VP_V2VP_ks0pippi0_pippi0_1"] = D2VP_V2VP(pip, pi0, ks0, pim, 1);
326 spinfactor[
"D2VP_V2VP_ks0pippim_ks0pip_1"] = D2VP_V2VP(ks0, pip, pim, pi0, 1);
327 spinfactor[
"D2VP_V2VP_ks0pippim_ks0pim_1"] = D2VP_V2VP(ks0, pim, pip, pi0, 1);
328 spinfactor[
"D2VP_V2VP_ks0pippim_pippim_1"] = D2VP_V2VP(pip, pim, ks0, pi0, 1);
331 spinfactor[
"D2AP_A2SP_pippimpi0_pimpi0_1"] = D2AP_A2SP(pi0, pim, pip, ks0, 1);
332 spinfactor[
"D2AP_A2SP_pippimpi0_pippi0_1"] = D2AP_A2SP(pip, pi0, pim, ks0, 1);
333 spinfactor[
"D2AP_A2SP_pippimpi0_pippim_1"] = D2AP_A2SP(pip, pim, pi0, ks0, 1);
334 spinfactor[
"D2AP_A2SP_ks0pimpi0_ks0pim_1"] = D2AP_A2SP(ks0, pim, pi0, pip, 1);
335 spinfactor[
"D2AP_A2SP_ks0pimpi0_ks0pi0_1"] = D2AP_A2SP(ks0, pi0, pim, pip, 1);
336 spinfactor[
"D2AP_A2SP_ks0pimpi0_pimpi0_1"] = D2AP_A2SP(pim, pi0, ks0, pip, 1);
337 spinfactor[
"D2AP_A2SP_ks0pippi0_ks0pip_1"] = D2AP_A2SP(ks0, pip, pi0, pim, 1);
338 spinfactor[
"D2AP_A2SP_ks0pippi0_ks0pi0_1"] = D2AP_A2SP(ks0, pi0, pip, pim, 1);
339 spinfactor[
"D2AP_A2SP_ks0pippi0_pippi0_1"] = D2AP_A2SP(pip, pi0, ks0, pim, 1);
340 spinfactor[
"D2AP_A2SP_ks0pippim_ks0pip_1"] = D2AP_A2SP(ks0, pip, pim, pi0, 1);
341 spinfactor[
"D2AP_A2SP_ks0pippim_ks0pim_1"] = D2AP_A2SP(ks0, pim, pip, pi0, 1);
342 spinfactor[
"D2AP_A2SP_ks0pippim_pippim_1"] = D2AP_A2SP(pip, pim, ks0, pi0, 1);
345 spinfactor[
"D2AP_A2VP_pippimpi0_pimpi0_0"] = D2AP_A2VP(pi0, pim, pip, ks0, 0);
346 spinfactor[
"D2AP_A2VP_pippimpi0_pippi0_0"] = D2AP_A2VP(pip, pi0, pim, ks0, 0);
347 spinfactor[
"D2AP_A2VP_pippimpi0_pippim_0"] = D2AP_A2VP(pip, pim, pi0, ks0, 0);
348 spinfactor[
"D2AP_A2VP_ks0pimpi0_ks0pim_0"] = D2AP_A2VP(ks0, pim, pi0, pip, 0);
349 spinfactor[
"D2AP_A2VP_ks0pimpi0_ks0pi0_0"] = D2AP_A2VP(ks0, pi0, pim, pip, 0);
350 spinfactor[
"D2AP_A2VP_ks0pimpi0_pimpi0_0"] = D2AP_A2VP(pim, pi0, ks0, pip, 0);
351 spinfactor[
"D2AP_A2VP_ks0pippi0_ks0pip_0"] = D2AP_A2VP(ks0, pip, pi0, pim, 0);
352 spinfactor[
"D2AP_A2VP_ks0pippi0_ks0pi0_0"] = D2AP_A2VP(ks0, pi0, pip, pim, 0);
353 spinfactor[
"D2AP_A2VP_ks0pippi0_pippi0_0"] = D2AP_A2VP(pip, pi0, ks0, pim, 0);
354 spinfactor[
"D2AP_A2VP_ks0pippim_ks0pip_0"] = D2AP_A2VP(ks0, pip, pim, pi0, 0);
355 spinfactor[
"D2AP_A2VP_ks0pippim_ks0pim_0"] = D2AP_A2VP(ks0, pim, pip, pi0, 0);
356 spinfactor[
"D2AP_A2VP_ks0pippim_pippim_0"] = D2AP_A2VP(pip, pim, ks0, pi0, 0);
357 spinfactor[
"D2AP_A2VP_pippimpi0_pimpi0_2"] = D2AP_A2VP(pi0, pim, pip, ks0, 2);
358 spinfactor[
"D2AP_A2VP_pippimpi0_pippi0_2"] = D2AP_A2VP(pip, pi0, pim, ks0, 2);
359 spinfactor[
"D2AP_A2VP_pippimpi0_pippim_2"] = D2AP_A2VP(pip, pim, pi0, ks0, 2);
360 spinfactor[
"D2AP_A2VP_ks0pimpi0_ks0pim_2"] = D2AP_A2VP(ks0, pim, pi0, pip, 2);
361 spinfactor[
"D2AP_A2VP_ks0pimpi0_ks0pi0_2"] = D2AP_A2VP(ks0, pi0, pim, pip, 2);
362 spinfactor[
"D2AP_A2VP_ks0pimpi0_pimpi0_2"] = D2AP_A2VP(pim, pi0, ks0, pip, 2);
363 spinfactor[
"D2AP_A2VP_ks0pippi0_ks0pip_2"] = D2AP_A2VP(ks0, pip, pi0, pim, 2);
364 spinfactor[
"D2AP_A2VP_ks0pippi0_ks0pi0_2"] = D2AP_A2VP(ks0, pi0, pip, pim, 2);
365 spinfactor[
"D2AP_A2VP_ks0pippi0_pippi0_2"] = D2AP_A2VP(pip, pi0, ks0, pim, 2);
366 spinfactor[
"D2AP_A2VP_ks0pippim_ks0pip_2"] = D2AP_A2VP(ks0, pip, pim, pi0, 2);
367 spinfactor[
"D2AP_A2VP_ks0pippim_ks0pim_2"] = D2AP_A2VP(ks0, pim, pip, pi0, 2);
368 spinfactor[
"D2AP_A2VP_ks0pippim_pippim_2"] = D2AP_A2VP(pip, pim, ks0, pi0, 2);
371 spinfactor[
"D2AP_A2TP_pippimpi0_pimpi0_1"] = D2AP_A2TP(pi0, pim, pip, ks0, 1);
372 spinfactor[
"D2AP_A2TP_pippimpi0_pippi0_1"] = D2AP_A2TP(pip, pi0, pim, ks0, 1);
373 spinfactor[
"D2AP_A2TP_pippimpi0_pippim_1"] = D2AP_A2TP(pip, pim, pi0, ks0, 1);
374 spinfactor[
"D2AP_A2TP_ks0pimpi0_ks0pim_1"] = D2AP_A2TP(ks0, pim, pi0, pip, 1);
375 spinfactor[
"D2AP_A2TP_ks0pimpi0_ks0pi0_1"] = D2AP_A2TP(ks0, pi0, pim, pip, 1);
376 spinfactor[
"D2AP_A2TP_ks0pimpi0_pimpi0_1"] = D2AP_A2TP(pim, pi0, ks0, pip, 1);
377 spinfactor[
"D2AP_A2TP_ks0pippi0_ks0pip_1"] = D2AP_A2TP(ks0, pip, pi0, pim, 1);
378 spinfactor[
"D2AP_A2TP_ks0pippi0_ks0pi0_1"] = D2AP_A2TP(ks0, pi0, pip, pim, 1);
379 spinfactor[
"D2AP_A2TP_ks0pippi0_pippi0_1"] = D2AP_A2TP(pip, pi0, ks0, pim, 1);
380 spinfactor[
"D2AP_A2TP_ks0pippim_ks0pip_1"] = D2AP_A2TP(ks0, pip, pim, pi0, 1);
381 spinfactor[
"D2AP_A2TP_ks0pippim_ks0pim_1"] = D2AP_A2TP(ks0, pim, pip, pi0, 1);
382 spinfactor[
"D2AP_A2TP_ks0pippim_pippim_1"] = D2AP_A2TP(pip, pim, ks0, pi0, 1);
385 spinfactor[
"D2TP_T2VP_pippimpi0_pimpi0_2"] = D2TP_T2VP(pi0, pim, pip, ks0, 2);
386 spinfactor[
"D2TP_T2VP_pippimpi0_pippi0_2"] = D2TP_T2VP(pip, pi0, pim, ks0, 2);
387 spinfactor[
"D2TP_T2VP_pippimpi0_pippim_2"] = D2TP_T2VP(pip, pim, pi0, ks0, 2);
388 spinfactor[
"D2TP_T2VP_ks0pimpi0_ks0pim_2"] = D2TP_T2VP(ks0, pim, pi0, pip, 2);
389 spinfactor[
"D2TP_T2VP_ks0pimpi0_ks0pi0_2"] = D2TP_T2VP(ks0, pi0, pim, pip, 2);
390 spinfactor[
"D2TP_T2VP_ks0pimpi0_pimpi0_2"] = D2TP_T2VP(pim, pi0, ks0, pip, 2);
391 spinfactor[
"D2TP_T2VP_ks0pippi0_ks0pip_2"] = D2TP_T2VP(ks0, pip, pi0, pim, 2);
392 spinfactor[
"D2TP_T2VP_ks0pippi0_ks0pi0_2"] = D2TP_T2VP(ks0, pi0, pip, pim, 2);
393 spinfactor[
"D2TP_T2VP_ks0pippi0_pippi0_2"] = D2TP_T2VP(pip, pi0, ks0, pim, 2);
394 spinfactor[
"D2TP_T2VP_ks0pippim_ks0pip_2"] = D2TP_T2VP(ks0, pip, pim, pi0, 2);
395 spinfactor[
"D2TP_T2VP_ks0pippim_ks0pim_2"] = D2TP_T2VP(ks0, pim, pip, pi0, 2);
396 spinfactor[
"D2TP_T2VP_ks0pippim_pippim_2"] = D2TP_T2VP(pip, pim, ks0, pi0, 2);
399 spinfactor[
"D2TP_T2TP_pippimpi0_pimpi0_2"] = D2TP_T2TP(pi0, pim, pip, ks0, 2);
400 spinfactor[
"D2TP_T2TP_pippimpi0_pippi0_2"] = D2TP_T2TP(pip, pi0, pim, ks0, 2);
401 spinfactor[
"D2TP_T2TP_pippimpi0_pippim_2"] = D2TP_T2TP(pip, pim, pi0, ks0, 2);
402 spinfactor[
"D2TP_T2TP_ks0pimpi0_ks0pim_2"] = D2TP_T2TP(ks0, pim, pi0, pip, 2);
403 spinfactor[
"D2TP_T2TP_ks0pimpi0_ks0pi0_2"] = D2TP_T2TP(ks0, pi0, pim, pip, 2);
404 spinfactor[
"D2TP_T2TP_ks0pimpi0_pimpi0_2"] = D2TP_T2TP(pim, pi0, ks0, pip, 2);
405 spinfactor[
"D2TP_T2TP_ks0pippi0_ks0pip_2"] = D2TP_T2TP(ks0, pip, pi0, pim, 2);
406 spinfactor[
"D2TP_T2TP_ks0pippi0_ks0pi0_2"] = D2TP_T2TP(ks0, pi0, pip, pim, 2);
407 spinfactor[
"D2TP_T2TP_ks0pippi0_pippi0_2"] = D2TP_T2TP(pip, pi0, ks0, pim, 2);
408 spinfactor[
"D2TP_T2TP_ks0pippim_ks0pip_2"] = D2TP_T2TP(ks0, pip, pim, pi0, 2);
409 spinfactor[
"D2TP_T2TP_ks0pippim_ks0pim_2"] = D2TP_T2TP(ks0, pim, pip, pi0, 2);
410 spinfactor[
"D2TP_T2TP_ks0pippim_pippim_2"] = D2TP_T2TP(pip, pim, ks0, pi0, 2);
413 spinfactor[
"D2PTP_PT2SP_pippimpi0_pimpi0_2"] = D2PTP_PT2SP(pi0, pim, pip, ks0, 2);
414 spinfactor[
"D2PTP_PT2SP_pippimpi0_pippi0_2"] = D2PTP_PT2SP(pip, pi0, pim, ks0, 2);
415 spinfactor[
"D2PTP_PT2SP_pippimpi0_pippim_2"] = D2PTP_PT2SP(pip, pim, pi0, ks0, 2);
416 spinfactor[
"D2PTP_PT2SP_ks0pimpi0_ks0pim_2"] = D2PTP_PT2SP(ks0, pim, pi0, pip, 2);
417 spinfactor[
"D2PTP_PT2SP_ks0pimpi0_ks0pi0_2"] = D2PTP_PT2SP(ks0, pi0, pim, pip, 2);
418 spinfactor[
"D2PTP_PT2SP_ks0pimpi0_pimpi0_2"] = D2PTP_PT2SP(pim, pi0, ks0, pip, 2);
419 spinfactor[
"D2PTP_PT2SP_ks0pippi0_ks0pip_2"] = D2PTP_PT2SP(ks0, pip, pi0, pim, 2);
420 spinfactor[
"D2PTP_PT2SP_ks0pippi0_ks0pi0_2"] = D2PTP_PT2SP(ks0, pi0, pip, pim, 2);
421 spinfactor[
"D2PTP_PT2SP_ks0pippi0_pippi0_2"] = D2PTP_PT2SP(pip, pi0, ks0, pim, 2);
422 spinfactor[
"D2PTP_PT2SP_ks0pippim_ks0pip_2"] = D2PTP_PT2SP(ks0, pip, pim, pi0, 2);
423 spinfactor[
"D2PTP_PT2SP_ks0pippim_ks0pim_2"] = D2PTP_PT2SP(ks0, pim, pip, pi0, 2);
424 spinfactor[
"D2PTP_PT2SP_ks0pippim_pippim_2"] = D2PTP_PT2SP(pip, pim, ks0, pi0, 2);
427 spinfactor[
"D2PTP_PT2VP_pippimpi0_pimpi0_2"] = D2PTP_PT2VP(pi0, pim, pip, ks0, 2);
428 spinfactor[
"D2PTP_PT2VP_pippimpi0_pippi0_2"] = D2PTP_PT2VP(pip, pi0, pim, ks0, 2);
429 spinfactor[
"D2PTP_PT2VP_pippimpi0_pippim_2"] = D2PTP_PT2VP(pip, pim, pi0, ks0, 2);
430 spinfactor[
"D2PTP_PT2VP_ks0pimpi0_ks0pim_2"] = D2PTP_PT2VP(ks0, pim, pi0, pip, 2);
431 spinfactor[
"D2PTP_PT2VP_ks0pimpi0_ks0pi0_2"] = D2PTP_PT2VP(ks0, pi0, pim, pip, 2);
432 spinfactor[
"D2PTP_PT2VP_ks0pimpi0_pimpi0_2"] = D2PTP_PT2VP(pim, pi0, ks0, pip, 2);
433 spinfactor[
"D2PTP_PT2VP_ks0pippi0_ks0pip_2"] = D2PTP_PT2VP(ks0, pip, pi0, pim, 2);
434 spinfactor[
"D2PTP_PT2VP_ks0pippi0_ks0pi0_2"] = D2PTP_PT2VP(ks0, pi0, pip, pim, 2);
435 spinfactor[
"D2PTP_PT2VP_ks0pippi0_pippi0_2"] = D2PTP_PT2VP(pip, pi0, ks0, pim, 2);
436 spinfactor[
"D2PTP_PT2VP_ks0pippim_ks0pip_2"] = D2PTP_PT2VP(ks0, pip, pim, pi0, 2);
437 spinfactor[
"D2PTP_PT2VP_ks0pippim_ks0pim_2"] = D2PTP_PT2VP(ks0, pim, pip, pi0, 2);
438 spinfactor[
"D2PTP_PT2VP_ks0pippim_pippim_2"] = D2PTP_PT2VP(pip, pim, ks0, pi0, 2);
441 spinfactor[
"D2PTP_PT2TP_pippimpi0_pimpi0_2"] = D2PTP_PT2TP(pi0, pim, pip, ks0, 2);
442 spinfactor[
"D2PTP_PT2TP_pippimpi0_pippi0_2"] = D2PTP_PT2TP(pip, pi0, pim, ks0, 2);
443 spinfactor[
"D2PTP_PT2TP_pippimpi0_pippim_2"] = D2PTP_PT2TP(pip, pim, pi0, ks0, 2);
444 spinfactor[
"D2PTP_PT2TP_ks0pimpi0_ks0pim_2"] = D2PTP_PT2TP(ks0, pim, pi0, pip, 2);
445 spinfactor[
"D2PTP_PT2TP_ks0pimpi0_ks0pi0_2"] = D2PTP_PT2TP(ks0, pi0, pim, pip, 2);
446 spinfactor[
"D2PTP_PT2TP_ks0pimpi0_pimpi0_2"] = D2PTP_PT2TP(pim, pi0, ks0, pip, 2);
447 spinfactor[
"D2PTP_PT2TP_ks0pippi0_ks0pip_2"] = D2PTP_PT2TP(ks0, pip, pi0, pim, 2);
448 spinfactor[
"D2PTP_PT2TP_ks0pippi0_ks0pi0_2"] = D2PTP_PT2TP(ks0, pi0, pip, pim, 2);
449 spinfactor[
"D2PTP_PT2TP_ks0pippi0_pippi0_2"] = D2PTP_PT2TP(pip, pi0, ks0, pim, 2);
450 spinfactor[
"D2PTP_PT2TP_ks0pippim_ks0pip_2"] = D2PTP_PT2TP(ks0, pip, pim, pi0, 2);
451 spinfactor[
"D2PTP_PT2TP_ks0pippim_ks0pim_2"] = D2PTP_PT2TP(ks0, pim, pip, pi0, 2);
452 spinfactor[
"D2PTP_PT2TP_ks0pippim_pippim_2"] = D2PTP_PT2TP(pip, pim, ks0, pi0, 2);
459 spinfactor[
"D2SS_ks0pim_pippi0_0"] = D2SS();
460 spinfactor[
"D2SS_ks0pi0_pippim_0"] = D2SS();
461 spinfactor[
"D2SS_ks0pip_pimpi0_0"] = D2SS();
464 spinfactor[
"D2VS_ks0pim_pippi0_1"] = D2VS(ks0, pim, pip, pi0, 1);
465 spinfactor[
"D2VS_ks0pi0_pippim_1"] = D2VS(ks0, pi0, pip, pim, 1);
466 spinfactor[
"D2VS_ks0pip_pimpi0_1"] = D2VS(ks0, pip, pim, pi0, 1);
467 spinfactor[
"D2VS_pimpi0_ks0pip_1"] = D2VS(pim, pi0, ks0, pip, 1);
468 spinfactor[
"D2VS_pippim_ks0pi0_1"] = D2VS(pip, pim, ks0, pi0, 1);
469 spinfactor[
"D2VS_pippi0_ks0pim_1"] = D2VS(pip, pi0, ks0, pim, 1);
472 spinfactor[
"D2VV_ks0pim_pippi0_0"] = D2VV(ks0, pim, pip, pi0, 0);
473 spinfactor[
"D2VV_ks0pi0_pippim_0"] = D2VV(ks0, pi0, pip, pim, 0);
474 spinfactor[
"D2VV_ks0pip_pimpi0_0"] = D2VV(ks0, pip, pim, pi0, 0);
475 spinfactor[
"D2VV_ks0pim_pippi0_1"] = D2VV(ks0, pim, pip, pi0, 1);
476 spinfactor[
"D2VV_ks0pi0_pippim_1"] = D2VV(ks0, pi0, pip, pim, 1);
477 spinfactor[
"D2VV_ks0pip_pimpi0_1"] = D2VV(ks0, pip, pim, pi0, 1);
478 spinfactor[
"D2VV_ks0pim_pippi0_2"] = D2VV(ks0, pim, pip, pi0, 2);
479 spinfactor[
"D2VV_ks0pi0_pippim_2"] = D2VV(ks0, pi0, pip, pim, 2);
480 spinfactor[
"D2VV_ks0pip_pimpi0_2"] = D2VV(ks0, pip, pim, pi0, 2);
483 spinfactor[
"D2TS_ks0pim_pippi0_2"] = D2TS(ks0, pim, pip, pi0, 2);
484 spinfactor[
"D2TS_ks0pi0_pippim_2"] = D2TS(ks0, pi0, pip, pim, 2);
485 spinfactor[
"D2TS_ks0pip_pimpi0_2"] = D2TS(ks0, pip, pim, pi0, 2);
486 spinfactor[
"D2TS_pimpi0_ks0pip_2"] = D2TS(pim, pi0, ks0, pip, 2);
487 spinfactor[
"D2TS_pippim_ks0pi0_2"] = D2TS(pip, pim, ks0, pi0, 2);
488 spinfactor[
"D2TS_pippi0_ks0pim_2"] = D2TS(pip, pi0, ks0, pim, 2);
491 spinfactor[
"D2TV_ks0pim_pippi0_1"] = D2TV(ks0, pim, pip, pi0, 1);
492 spinfactor[
"D2TV_ks0pi0_pippim_1"] = D2TV(ks0, pi0, pip, pim, 1);
493 spinfactor[
"D2TV_ks0pip_pimpi0_1"] = D2TV(ks0, pip, pim, pi0, 1);
494 spinfactor[
"D2TV_pimpi0_ks0pip_1"] = D2TV(pim, pi0, ks0, pip, 1);
495 spinfactor[
"D2TV_pippim_ks0pi0_1"] = D2TV(pip, pim, ks0, pi0, 1);
496 spinfactor[
"D2TV_pippi0_ks0pim_1"] = D2TV(pip, pi0, ks0, pim, 1);
497 spinfactor[
"D2TV_ks0pim_pippi0_2"] = D2TV(ks0, pim, pip, pi0, 2);
498 spinfactor[
"D2TV_ks0pi0_pippim_2"] = D2TV(ks0, pi0, pip, pim, 2);
499 spinfactor[
"D2TV_ks0pip_pimpi0_2"] = D2TV(ks0, pip, pim, pi0, 2);
500 spinfactor[
"D2TV_pimpi0_ks0pip_2"] = D2TV(pim, pi0, ks0, pip, 2);
501 spinfactor[
"D2TV_pippim_ks0pi0_2"] = D2TV(pip, pim, ks0, pi0, 2);
502 spinfactor[
"D2TV_pippi0_ks0pim_2"] = D2TV(pip, pi0, ks0, pim, 2);
505 spinfactor[
"D2TT_ks0pim_pippi0_0"] = D2TT(ks0, pim, pip, pi0, 0);
506 spinfactor[
"D2TT_ks0pi0_pippim_0"] = D2TT(ks0, pi0, pip, pim, 0);
507 spinfactor[
"D2TT_ks0pip_pimpi0_0"] = D2TT(ks0, pip, pim, pi0, 0);
508 spinfactor[
"D2TT_ks0pim_pippi0_1"] = D2TT(ks0, pim, pip, pi0, 1);
509 spinfactor[
"D2TT_ks0pi0_pippim_1"] = D2TT(ks0, pi0, pip, pim, 1);
510 spinfactor[
"D2TT_ks0pip_pimpi0_1"] = D2TT(ks0, pip, pim, pi0, 1);
511 spinfactor[
"D2TT_ks0pim_pippi0_2"] = D2TT(ks0, pim, pip, pi0, 2);
512 spinfactor[
"D2TT_ks0pi0_pippim_2"] = D2TT(ks0, pi0, pip, pim, 2);
513 spinfactor[
"D2TT_ks0pip_pimpi0_2"] = D2TT(ks0, pip, pim, pi0, 2);
521void D0ToKSpipipi0::createPropagator(vector<double> Ks0, vector<double> Pip, vector<double> Pim, vector<double>
Pi0) {
523 HepLorentzVector ks0;ks0.setX(Ks0[0]);ks0.setY(Ks0[1]);ks0.setZ(Ks0[2]);ks0.setT(Ks0[3]);
524 HepLorentzVector pip;pip.setX(Pip[0]);pip.setY(Pip[1]);pip.setZ(Pip[2]);pip.setT(Pip[3]);
525 HepLorentzVector pim;pim.setX(Pim[0]);pim.setY(Pim[1]);pim.setZ(Pim[2]);pim.setT(Pim[3]);
526 HepLorentzVector pi0;pi0.setX(
Pi0[0]);pi0.setY(
Pi0[1]);pi0.setZ(
Pi0[2]);pi0.setT(
Pi0[3]);
542 double m2_ks0 = ks0.invariantMass2();
543 double m2_pip = pip.invariantMass2();
544 double m2_pim = pim.invariantMass2();
545 double m2_pi0 = pi0.invariantMass2();
546 double m2_ks0pip = (ks0 + pip).invariantMass2();
547 double m2_ks0pim = (ks0 + pim).invariantMass2();
548 double m2_ks0pi0 = (ks0 + pi0).invariantMass2();
549 double m2_pippim = (pip + pim).invariantMass2();
550 double m2_pippi0 = (pip + pi0).invariantMass2();
551 double m2_pimpi0 = (pim + pi0).invariantMass2();
552 double m2_ks0pippim = (ks0 + pip + pim).invariantMass2();
553 double m2_ks0pippi0 = (ks0 + pip + pi0).invariantMass2();
554 double m2_ks0pimpi0 = (ks0 + pim + pi0).invariantMass2();
555 double m2_pippimpi0 = (pip + pim + pi0).invariantMass2();
567 propagator[
"kstarm_892" ] = create_RBW_propagator(
"kstarm_892", m2_ks0pim, m2_ks0, m2_pim, 1);
568 propagator[
"kstar0_892" ] = create_RBW_propagator(
"kstar0_892", m2_ks0pi0, m2_ks0, m2_pi0, 1);
569 propagator[
"kstarp_892" ] = create_RBW_propagator(
"kstarp_892", m2_ks0pip, m2_ks0, m2_pip, 1);
570 propagator[
"k1m_1270" ] = create_BW_propagator(
"k1m_1270", m2_ks0pimpi0);
571 propagator[
"k10_1270" ] = create_BW_propagator(
"k10_1270", m2_ks0pippim);
572 propagator[
"k1m_1400" ] = create_BW_propagator(
"k1m_1400", m2_ks0pimpi0);
573 propagator[
"k10_1400" ] = create_BW_propagator(
"k10_1400", m2_ks0pippim);
574 propagator[
"kstarm2_1410" ] = create_BW_propagator(
"kstarm_1410", m2_ks0pim);
575 propagator[
"kstar02_1410" ] = create_BW_propagator(
"kstar0_1410", m2_ks0pi0);
576 propagator[
"kstarm3_1410" ] = create_BW_propagator(
"kstarm_1410", m2_ks0pimpi0);
577 propagator[
"kstar03_1410" ] = create_BW_propagator(
"kstar0_1410", m2_ks0pippim);
578 propagator[
"k0starm_1430" ] = create_KPiSLASS_propagator(
"k0starm_1430", m2_ks0pim, m2_ks0, m2_pim);
579 propagator[
"k0star0_1430" ] = create_KPiSLASS_propagator(
"k0star0_1430", m2_ks0pi0, m2_ks0, m2_pi0);
582 propagator[
"k2starm2_1430"] = create_BW_propagator(
"k2starm_1430", m2_ks0pim);
583 propagator[
"k2star02_1430"] = create_BW_propagator(
"k2star0_1430", m2_ks0pi0);
584 propagator[
"k2starm3_1430"] = create_BW_propagator(
"k2starm_1430", m2_ks0pimpi0);
585 propagator[
"k2star03_1430"] = create_BW_propagator(
"k2star0_1430", m2_ks0pippim);
586 propagator[
"km_1460" ] = create_BW_propagator(
"km_1460", m2_ks0pimpi0);
587 propagator[
"k0_1460" ] = create_BW_propagator(
"k0_1460", m2_ks0pippim);
588 propagator[
"k2m_1580" ] = create_BW_propagator(
"k2m_1580", m2_ks0pimpi0);
589 propagator[
"k20_1580" ] = create_BW_propagator(
"k20_1580", m2_ks0pippim);
590 propagator[
"km_1630" ] = create_BW_propagator(
"km_1630", m2_ks0pimpi0);
591 propagator[
"k0_1630" ] = create_BW_propagator(
"k0_1630", m2_ks0pippim);
592 propagator[
"k1m_1650" ] = create_BW_propagator(
"k1m_1650", m2_ks0pimpi0);
593 propagator[
"k10_1650" ] = create_BW_propagator(
"k10_1650", m2_ks0pippim);
594 propagator[
"kstarm2_1680" ] = create_BW_propagator(
"kstarm_1680", m2_ks0pim);
595 propagator[
"kstar02_1680" ] = create_BW_propagator(
"kstar0_1680", m2_ks0pi0);
596 propagator[
"kstarm3_1680" ] = create_BW_propagator(
"kstarm_1680", m2_ks0pimpi0);
597 propagator[
"kstar03_1680" ] = create_BW_propagator(
"kstar0_1680", m2_ks0pippim);
598 propagator[
"k2m_1770" ] = create_BW_propagator(
"k2m_1770", m2_ks0pimpi0);
599 propagator[
"k20_1770" ] = create_BW_propagator(
"k20_1770", m2_ks0pippim);
602 propagator[
"sigma_500" ] = create_sigma_propagator(
"sigma_500", m2_pippim);
603 propagator[
"rhop_770" ] = create_RBW_propagator(
"rhop_770", m2_pippi0, m2_pip, m2_pi0, 1);
604 propagator[
"rhom_770" ] = create_RBW_propagator(
"rhom_770", m2_pimpi0, m2_pim, m2_pi0, 1);
605 propagator[
"rho0_770" ] = create_GS_propagator(
"rho0_770", m2_pippim);
606 propagator[
"omega2_782" ] = create_BW_propagator(
"omega_782", m2_pippim);
607 propagator[
"f0_980" ] = create_Flatte2_propagator(
"f0_980", m2_pippim, mpion, mpion, mkaon, mkaon);
608 propagator[
"f0_1370" ] = create_BW_propagator(
"f0_1370", m2_pippim);
609 propagator[
"f2_1270" ] = create_BW_propagator(
"f2_1270", m2_pippim);
614 propagator[
"phi_1020" ] = create_BW_propagator(
"phi_1020", m2_pippimpi0);
616 propagator[
"omega3_782" ] = create_BW_propagator(
"omega_782", m2_pippimpi0);
618 propagator[
"eta_547" ] = create_BW_propagator(
"eta_547", m2_pippimpi0);
626 propagator[
"kstarm_phsp" ] = create_BW_propagator(
"kstarm_phsp", m2_ks0pim);
627 propagator[
"kstar0_phsp" ] = create_BW_propagator(
"kstar0_phsp", m2_ks0pi0);
628 propagator[
"kstarp_phsp" ] = create_BW_propagator(
"kstarp_phsp", m2_ks0pip);
629 propagator[
"rhop_phsp" ] = create_BW_propagator(
"rhop_phsp", m2_pippi0);
630 propagator[
"rhom_phsp" ] = create_BW_propagator(
"rhom_phsp", m2_pimpi0);
631 propagator[
"rho0_phsp" ] = create_BW_propagator(
"rho0_phsp", m2_pippim);
632 propagator[
"k1m_phsp" ] = create_BW_propagator(
"k1m_phsp", m2_ks0pimpi0);
633 propagator[
"k10_phsp" ] = create_BW_propagator(
"k10_phsp", m2_ks0pippim);
634 propagator[
"k1p_phsp" ] = create_BW_propagator(
"k1p_phsp", m2_ks0pippi0);
635 propagator[
"a10_phsp" ] = create_BW_propagator(
"a10_phsp", m2_pippimpi0);
643double D0ToKSpipipi0::contract_11_0(vector<double> pa, vector<double> pb) {
644 assert(pa.size() == pb.size() && pa.size() == 4);
646 double temp = pa[3]*pb[3] - pa[0]*pb[0] - pa[1]*pb[1] - pa[2]*pb[2];
650vector<double> D0ToKSpipipi0::contract_21_1(vector<double> pa, vector<double> pb){
651 assert(pa.size() == 16 && pb.size() == 4);
653 vector<double> temp; temp.clear();
654 for (
int i=0; i<4; i++) {
656 for (
int j=0; j<4; j++) {
658 sum += pa[idx]*pb[j]*g[4*j+j];
666double D0ToKSpipipi0::contract_22_0(vector<double> pa, vector<double> pb){
667 assert(pa.size() == 16 && pb.size() == 16);
670 for (
int i=0; i<4; i++) {
671 for (
int j=0; j<4; j++) {
673 temp += pa[idx]*pb[idx]*g[4*i+i]*g[4*j+j];
680vector<double> D0ToKSpipipi0::contract_31_2(vector<double> pa, vector<double> pb){
681 assert(pa.size() == 64 && pb.size() == 4);
683 vector<double> temp; temp.clear();
684 for (
int i=0; i<16; i++) {
686 for (
int j=0; j<4; j++) {
688 sum += pa[idx]*pb[j]*g[4*j+j];
696vector<double> D0ToKSpipipi0::contract_41_3(vector<double> pa, vector<double> pb){
697 assert(pa.size() == 256 && pb.size()==4);
699 vector<double> temp; temp.clear();
700 for (
int i=0; i<64; i++) {
702 for (
int j=0; j<4; j++) {
704 sum += pa[idx]*pb[j]*g[4*j+j];
712vector<double> D0ToKSpipipi0::contract_42_2(vector<double> pa, vector<double> pb){
713 assert(pa.size() == 256 && pb.size() == 16);
715 vector<double> temp; temp.clear();
716 for (
int i=0; i<16; i++) {
718 for (
int j=0; j<4; j++) {
719 for (
int k=0; k<4; k++) {
720 int idxa = i*16+j*4+k;
722 sum += pa[idxa] * pb[idxb] * g[4*j+j] * g[4*k+k];
731vector<double> D0ToKSpipipi0::contract_22_2(vector<double> pa, vector<double> pb){
732 assert(pa.size() == 16 && pb.size() == 16);
734 vector<double> temp; temp.clear();
735 for (
int i=0; i<4; i++) {
736 for (
int j=0; j<4; j++) {
738 for (
int k=0; k<4; k++) {
741 sum += pa[idxa] * pb[idxb] * g[4*k+k];
753vector<double> D0ToKSpipipi0::Proj(vector<double> pa,
int rank) {
755 cout<<
"Error: pa"<<endl;
759 cout<<
"Error: L<0 !!!"<<endl;
763 double msa = contract_11_0(pa, pa);
766 vector<double> proj_uv; proj_uv.clear();
767 for (
int i=0; i<4; i++) {
768 for (
int j=0; j<4; j++) {
770 double temp = -g[idx] + pa[i]*pa[j]/msa;
771 proj_uv.push_back(temp);
775 vector<double> proj; proj.clear();
778 vector<double>
t;
t.clear();
781 }
else if (rank==1) {
783 }
else if (rank==2) {
784 vector<double> proj_uvmn; proj_uvmn.clear();
785 for (
int i=0; i<4; i++) {
786 for (
int j=0; j<4; j++) {
787 for (
int k=0; k<4; k++) {
788 for (
int l=0; l<4; l++) {
790 int idx1_1 = 4*i + k;
791 int idx1_2 = 4*i + l;
792 int idx1_3 = 4*i + j;
794 int idx2_1 = 4*j + l;
795 int idx2_2 = 4*j + k;
796 int idx2_3 = 4*k + l;
798 double temp = (1.0/2.0)*(proj_uv[idx1_1]*proj_uv[idx2_1] + proj_uv[idx1_2]*proj_uv[idx2_2]) - (1.0/3.0)*proj_uv[idx1_3]*proj_uv[idx2_3];
799 proj_uvmn.push_back(temp);
807 cout<<
"rank>2: please add it by yourself!!!"<<endl;
815vector<double> D0ToKSpipipi0::OrbitalTensors(vector<double> pa, vector<double> pb, vector<double> pc,
double r,
int rank) {
816 assert(pa.size() == 4 && pb.size() == 4 && pc.size() == 4);
818 cout<<
"Error: L<0 !!!"<<endl;
823 vector<double> mr; mr.clear();
825 for(
int i=0; i<4; i++){
826 double temp = pb[i] - pc[i];
831 double msa = contract_11_0(pa, pa);
832 double msb = contract_11_0(pb, pb);
833 double msc = contract_11_0(pc, pc);
836 double top = msa + msb - msc;
837 double Q2abc = top*top/(4.0*msa) - msb;
842 double Q_02 = Q_0*Q_0;
843 double Q_04 = Q_02*Q_02;
847 double Q4abc = Q2abc*Q2abc;
851 double mB1 = sqrt(2.0/(Q2abc + Q_02));
852 double mB2 = sqrt(13.0/(Q4abc + (3.0*Q_02)*Q2abc + 9.0*Q_04));
857 vector<double> proj_uv; proj_uv.clear();
858 for (
int i=0; i<4; i++) {
859 for (
int j=0; j<4; j++) {
861 double temp = -g[idx] + pa[i]*pa[j]/msa;
862 proj_uv.push_back(temp);
866 vector<double> Bt; Bt.clear();
869 vector<double>
t;
t.clear();
873 vector<double> t_u; t_u.clear();
874 vector<double> Bt_u; Bt_u.clear();
875 for (
int i=0; i<4; i++) {
877 for (
int j=0; j<4; j++) {
879 temp += -proj_uv[idx]*mr[j]*g[j*4+j];
882 Bt_u.push_back(temp*mB1);
884 if (rank==1) Bt = Bt_u;
886 double t_u2 = contract_11_0(t_u,t_u);
888 vector<double> Bt_uv; Bt_uv.clear();
889 for (
int i=0; i<4; i++) {
890 for (
int j=0; j<4; j++) {
892 double temp = t_u[i]*t_u[j] + (1.0/3.0)*proj_uv[idx]*t_u2;
893 Bt_uv.push_back(temp*mB2);
896 if (rank==2) Bt = Bt_uv;
899 cout<<
"rank>2: please add it by yorself!!!"<<endl;
911double D0ToKSpipipi0::D2PP_P2SP() {
913 double SF_D2PP_P2SP = 1.0;
919double D0ToKSpipipi0::D2PP_P2VP(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
920 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
923 vector<double> V =
p1 +
p2;
924 vector<double> P2 =
p3;
925 vector<double>
P = V + P2;
926 vector<double> P1 =
p4;
928 vector<double> P_orbitals_Spin1OrbitalTensor = OrbitalTensors(
P, V, P2, rRes, 1);
929 vector<double> V_orbitals_Spin1OrbitalTensor = OrbitalTensors(V,
p1,
p2, rRes, 1);
931 double SF_D2PP_P2VP = 0.;
932 SF_D2PP_P2VP = contract_11_0(P_orbitals_Spin1OrbitalTensor, V_orbitals_Spin1OrbitalTensor);
938double D0ToKSpipipi0::D2VP_V2VP(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
939 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
942 vector<double> V2 =
p1 +
p2;
943 vector<double> P2 =
p3;
944 vector<double> V1 = V2 + P2;
945 vector<double> P1 =
p4;
946 vector<double> D = V1 + P1;
948 vector<double> D_orbitals_Spin1OrbitalTensor = OrbitalTensors(D, V1, P1, rD , 1);
949 vector<double> V1_orbitals_Spin1OrbitalTensor = OrbitalTensors(V1, V2, P2, rRes, 1);
950 vector<double> V2_orbitals_Spin1OrbitalTensor = OrbitalTensors(V2,
p1,
p2, rRes, 1);
951 vector<double> Proj1_V1 = Proj(V1, 1);
953 double SF_D2VP_V2VP = 0.;
954 SF_D2VP_V2VP = contract_11_0( contract_21_1(contract_31_2(contract_41_3(epsilon, V1), V2_orbitals_Spin1OrbitalTensor), V1_orbitals_Spin1OrbitalTensor), contract_21_1(Proj1_V1, D_orbitals_Spin1OrbitalTensor) );
961double D0ToKSpipipi0::D2AP_A2SP(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
962 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
965 vector<double> S =
p1 +
p2;
966 vector<double> P2 =
p3;
967 vector<double>
A = S + P2;
968 vector<double> P1 =
p4;
969 vector<double> D =
A + P1;
971 vector<double> D_orbitals_Spin1OrbitalTensor = OrbitalTensors(D, A, P1, rD , 1);
972 vector<double> A_orbitals_Spin1OrbitalTensor = OrbitalTensors(A, S, P2, rRes, 1);
974 double SF_D2AP_A2SP = 0.;
975 SF_D2AP_A2SP = contract_11_0(D_orbitals_Spin1OrbitalTensor, A_orbitals_Spin1OrbitalTensor);
981double D0ToKSpipipi0::D2AP_A2VP(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
982 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
985 vector<double> V =
p1 +
p2;
986 vector<double> P2 =
p3;
987 vector<double>
A = V + P2;
988 vector<double> P1 =
p4;
989 vector<double> D =
A + P1;
991 vector<double> D_orbitals_Spin1OrbitalTensor = OrbitalTensors(D, A, P1, rD , 1);
992 vector<double> A_orbitals_Spin2OrbitalTensor = OrbitalTensors(A, V, P2, rRes, 2);
993 vector<double> V_orbitals_Spin1OrbitalTensor = OrbitalTensors(V,
p1,
p2, rRes, 1);
994 vector<double> Proj1_A = Proj(A, 1);
996 double SF_D2AP_A2VP = 0.;
997 if (l==0) {SF_D2AP_A2VP = contract_11_0(D_orbitals_Spin1OrbitalTensor, contract_21_1(Proj1_A, V_orbitals_Spin1OrbitalTensor));}
998 if (l==2) {SF_D2AP_A2VP = contract_11_0(D_orbitals_Spin1OrbitalTensor, contract_21_1(A_orbitals_Spin2OrbitalTensor, V_orbitals_Spin1OrbitalTensor));}
1004double D0ToKSpipipi0::D2AP_A2TP(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
1005 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
1008 vector<double> T =
p1 +
p2;
1009 vector<double> P2 =
p3;
1010 vector<double>
A = T + P2;
1011 vector<double> P1 =
p4;
1012 vector<double> D =
A + P1;
1014 vector<double> D_orbitals_Spin1OrbitalTensor = OrbitalTensors(D, A, P1, rD , 1);
1015 vector<double> A_orbitals_Spin1OrbitalTensor = OrbitalTensors(A, T, P2, rRes, 1);
1016 vector<double> T_orbitals_Spin2OrbitalTensor = OrbitalTensors(T,
p1,
p2, rRes, 2);
1017 vector<double> Proj2_A = Proj(A, 2);
1019 double SF_D2AP_A2TP = 0.;
1021 SF_D2AP_A2TP = contract_11_0(D_orbitals_Spin1OrbitalTensor, contract_21_1(contract_42_2(Proj2_A, T_orbitals_Spin2OrbitalTensor), A_orbitals_Spin1OrbitalTensor));
1022 return SF_D2AP_A2TP;
1027double D0ToKSpipipi0::D2TP_T2VP(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
1028 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
1031 vector<double> V =
p1 +
p2;
1032 vector<double> P2 =
p3;
1033 vector<double> T = V + P2;
1034 vector<double> P1 =
p4;
1035 vector<double> D = T + P1;
1037 vector<double> D_orbitals_Spin2OrbitalTensor = OrbitalTensors(D, T, P1, rD , 2);
1038 vector<double> T_orbitals_Spin2OrbitalTensor = OrbitalTensors(T, V, P2, rRes, 2);
1039 vector<double> V_orbitals_Spin1OrbitalTensor = OrbitalTensors(V,
p1,
p2, rRes, 1);
1040 vector<double> Proj1_T = Proj(T, 1);
1041 vector<double> Proj2_T = Proj(T, 2);
1043 double SF_D2TP_T2VP = 0.;
1044 SF_D2TP_T2VP = contract_22_0( contract_42_2(Proj2_T, D_orbitals_Spin2OrbitalTensor), contract_22_2(contract_31_2(contract_41_3(epsilon, T), contract_21_1(Proj1_T, V_orbitals_Spin1OrbitalTensor)), T_orbitals_Spin2OrbitalTensor) );
1045 return SF_D2TP_T2VP;
1050double D0ToKSpipipi0::D2TP_T2TP(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
1051 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
1054 vector<double> T2 =
p1 +
p2;
1055 vector<double> P2 =
p3;
1056 vector<double> T1 = T2 + P2;
1057 vector<double> P1 =
p4;
1058 vector<double> D = T1 + P1;
1060 vector<double> D_orbitals_Spin2OrbitalTensor = OrbitalTensors(D , T1, P1, rD , 2);
1061 vector<double> T1_orbitals_Spin1OrbitalTensor = OrbitalTensors(T1, T2, P2, rRes, 1);
1062 vector<double> T2_orbitals_Spin2OrbitalTensor = OrbitalTensors(T2,
p1,
p2, rRes, 2);
1063 vector<double> Proj2_T1 = Proj(T1, 2);
1065 double SF_D2TP_T2TP = 0.;
1066 SF_D2TP_T2TP = contract_22_0( contract_22_2(contract_31_2(contract_41_3(epsilon, T1), T1_orbitals_Spin1OrbitalTensor), T2_orbitals_Spin2OrbitalTensor), contract_42_2(Proj2_T1, D_orbitals_Spin2OrbitalTensor) );
1068 return SF_D2TP_T2TP;
1073double D0ToKSpipipi0::D2PTP_PT2SP(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
1074 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
1077 vector<double> S =
p1 +
p2;
1078 vector<double> P2 =
p3;
1079 vector<double> PT = S + P2;
1080 vector<double> P1 =
p4;
1081 vector<double> D = PT + P1;
1083 vector<double> D_orbitals_Spin2OrbitalTensor = OrbitalTensors(D , PT, P1, rD , 2);
1084 vector<double> PT_orbitals_Spin2OrbitalTensor = OrbitalTensors(PT, S, P2, rRes, 2);
1086 double SF_D2PTP_PT2SP = 0.;
1087 SF_D2PTP_PT2SP = contract_22_0(D_orbitals_Spin2OrbitalTensor, PT_orbitals_Spin2OrbitalTensor);
1088 return SF_D2PTP_PT2SP;
1093double D0ToKSpipipi0::D2PTP_PT2VP(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
1094 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
1097 vector<double> V =
p1 +
p2;
1098 vector<double> P2 =
p3;
1099 vector<double> PT = V + P2;
1100 vector<double> P1 =
p4;
1101 vector<double> D = PT + P1;
1103 vector<double> D_orbitals_Spin2OrbitalTensor = OrbitalTensors(D , PT, P1, rD , 2);
1104 vector<double> PT_orbitals_Spin1OrbitalTensor = OrbitalTensors(PT, V, P2, rRes, 1);
1105 vector<double> V_orbitals_Spin1OrbitalTensor = OrbitalTensors(V ,
p1,
p2, rRes, 1);
1106 vector<double> Proj2_PT = Proj(PT, 2);
1108 double SF_D2PTP_PT2VP = 0.;
1109 SF_D2PTP_PT2VP = contract_22_0(D_orbitals_Spin2OrbitalTensor, contract_31_2(contract_41_3(Proj2_PT, V_orbitals_Spin1OrbitalTensor), PT_orbitals_Spin1OrbitalTensor));
1110 return SF_D2PTP_PT2VP;
1115double D0ToKSpipipi0::D2PTP_PT2TP(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
1116 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
1119 vector<double> T =
p1 +
p2;
1120 vector<double> P2 =
p3;
1121 vector<double> PT = T + P2;
1122 vector<double> P1 =
p4;
1123 vector<double> D = PT + P1;
1125 vector<double> D_orbitals_Spin2OrbitalTensor = OrbitalTensors(D , PT, P1, rD , 2);
1126 vector<double> T_orbitals_Spin2OrbitalTensor = OrbitalTensors(T ,
p1,
p2, rRes, 2);
1127 vector<double> Proj2_PT = Proj(PT, 2);
1129 double SF_D2PTP_PT2TP = 0.;
1130 SF_D2PTP_PT2TP = contract_22_0(D_orbitals_Spin2OrbitalTensor, contract_42_2(Proj2_PT, T_orbitals_Spin2OrbitalTensor));
1131 return SF_D2PTP_PT2TP;
1140double D0ToKSpipipi0::D2SS() {
1142 double SF_D2SS = 1.0;
1148double D0ToKSpipipi0::D2VS(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l){
1149 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
1152 vector<double> V =
p1 +
p2;
1153 vector<double> S =
p3 +
p4;
1154 vector<double> D = V + S;
1156 vector<double> D_orbitals_Spin1OrbitalTensor = OrbitalTensors(D, V, S, rD , 1);
1157 vector<double> V_orbitals_Spin1OrbitalTensor = OrbitalTensors(V,
p1,
p2, rRes, 1);
1159 double SF_D2VS = 0.;
1160 SF_D2VS = contract_11_0(D_orbitals_Spin1OrbitalTensor, V_orbitals_Spin1OrbitalTensor);
1166double D0ToKSpipipi0::D2VV(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
1167 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
1170 vector<double> V1 =
p1 +
p2;
1171 vector<double> V2 =
p3 +
p4;
1172 vector<double> D = V1 + V2;
1174 vector<double> D_orbitals_Spin1OrbitalTensor = OrbitalTensors(D , V1, V2, rD , 1);
1175 vector<double> D_orbitals_Spin2OrbitalTensor = OrbitalTensors(D , V1, V2, rD , 2);
1176 vector<double> V1_orbitals_Spin1OrbitalTensor = OrbitalTensors(V1,
p1,
p2, rRes, 1);
1177 vector<double> V2_orbitals_Spin1OrbitalTensor = OrbitalTensors(V2,
p3,
p4, rRes, 1);
1180 if (l==0) {SF_D2VV = contract_11_0(V1_orbitals_Spin1OrbitalTensor, V2_orbitals_Spin1OrbitalTensor);}
1181 if (l==1) {SF_D2VV = contract_11_0(contract_21_1(contract_31_2( contract_41_3(epsilon, D), V2_orbitals_Spin1OrbitalTensor ), V1_orbitals_Spin1OrbitalTensor), D_orbitals_Spin1OrbitalTensor);}
1182 if (l==2) {SF_D2VV = contract_11_0(contract_21_1(D_orbitals_Spin2OrbitalTensor, V2_orbitals_Spin1OrbitalTensor), V1_orbitals_Spin1OrbitalTensor);}
1188double D0ToKSpipipi0::D2TS(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
1189 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
1192 vector<double> T =
p1 +
p2;
1193 vector<double> S =
p3 +
p4;
1194 vector<double> D = T + S;
1196 vector<double> D_orbitals_Spin2OrbitalTensor = OrbitalTensors(D, T, S, rD , 2);
1197 vector<double> T_orbitals_Spin2OrbitalTensor = OrbitalTensors(T,
p1,
p2, rRes, 2);
1199 double SF_D2TS = 0.;
1200 SF_D2TS = contract_22_0(D_orbitals_Spin2OrbitalTensor, T_orbitals_Spin2OrbitalTensor);
1206double D0ToKSpipipi0::D2TV(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
1207 assert(
p1.size()==4 &&
p2.size()==4 &&
p3.size()==4 &&
p4.size()==4);
1210 vector<double> T =
p1 +
p2;
1211 vector<double> V =
p3 +
p4;
1212 vector<double> D = T + V;
1214 vector<double> D_orbitals_Spin1OrbitalTensor = OrbitalTensors(D, T, V, rD , 1);
1215 vector<double> D_orbitals_Spin2OrbitalTensor = OrbitalTensors(D, T, V, rD , 2);
1216 vector<double> T_orbitals_Spin2OrbitalTensor = OrbitalTensors(T,
p1,
p2, rRes, 2);
1217 vector<double> V_orbitals_Spin1OrbitalTensor = OrbitalTensors(V,
p3,
p4, rRes, 1);
1219 double SF_D2TV = 0.;
1220 if (l==1) {SF_D2TV = contract_11_0(D_orbitals_Spin1OrbitalTensor, contract_21_1(T_orbitals_Spin2OrbitalTensor, V_orbitals_Spin1OrbitalTensor));}
1221 if (l==2) {SF_D2TV = contract_22_0( contract_31_2(contract_41_3(epsilon, D), V_orbitals_Spin1OrbitalTensor), contract_22_2(D_orbitals_Spin2OrbitalTensor, T_orbitals_Spin2OrbitalTensor) );}
1227double D0ToKSpipipi0::D2TT(vector<double>
p1, vector<double>
p2, vector<double>
p3, vector<double>
p4,
int l) {
1229 vector<double> T1 =
p1 +
p2;
1230 vector<double> T2 =
p3 +
p4;
1231 vector<double> D = T1 + T2;
1233 vector<double> D_orbitals_Spin1OrbitalTensor = OrbitalTensors(D , T1, T2, rD , 1);
1234 vector<double> D_orbitals_Spin2OrbitalTensor = OrbitalTensors(D , T1, T2, rD , 2);
1235 vector<double> T1_orbitals_Spin2OrbitalTensor = OrbitalTensors(T1,
p1,
p2, rRes, 2);
1236 vector<double> T2_orbitals_Spin2OrbitalTensor = OrbitalTensors(T2,
p3,
p4, rRes, 2);
1238 double SF_D2TT = 0.;
1239 if (l==0) {SF_D2TT = contract_22_0(T1_orbitals_Spin2OrbitalTensor, T2_orbitals_Spin2OrbitalTensor);}
1240 if (l==1) {SF_D2TT = contract_22_0( contract_31_2(contract_41_3(epsilon, D), D_orbitals_Spin1OrbitalTensor), contract_22_2(T1_orbitals_Spin2OrbitalTensor, T2_orbitals_Spin2OrbitalTensor) );}
1241 if (l==2) {SF_D2TT = contract_22_0( D_orbitals_Spin2OrbitalTensor, contract_22_2(T1_orbitals_Spin2OrbitalTensor, T2_orbitals_Spin2OrbitalTensor) );}
1249double D0ToKSpipipi0::fundecaymomentum(
double mr2,
double m1_2,
double m2_2) {
1250 double mr = sqrt(mr2);
1251 double poly = mr2*mr2 + m1_2*m1_2 + m2_2*m2_2 - 2.0*m1_2*mr2 - 2.0*m2_2*mr2 - 2.0*m1_2*m2_2;
1252 double ret = sqrt(poly)/(2.0*mr);
1258double D0ToKSpipipi0::fundecaymomentum2(
double mr2,
double m1_2,
double m2_2) {
1259 double poly = mr2*mr2 + m1_2*m1_2 + m2_2*m2_2 - 2.0*m1_2*mr2 - 2.0*m2_2*mr2 - 2.0*m1_2*m2_2;
1260 double ret = poly/(4.0*mr2);
1266double D0ToKSpipipi0::wid(
double mass,
double sa,
double sb,
double sc,
double r,
int l) {
1270 double m = sqrt(sa);
1271 double q = fundecaymomentum2(sa,sb,sc);
1272 double q0 = fundecaymomentum2(sa0,sb,sc);
1277 if(l == 1) F = sqrt((1.0+z0)/(1.0+z));
1278 if(l == 2) F = sqrt((9.0+3.0*z0+z0*z0)/(9.0+3.0*z+z*z));
1279 if(l == 3) F = sqrt((225.0+45.0*z0+6.0*z0*z0+z0*z0*z0)/(225.0+45.0*z+6.0*z*z+z*z*z));
1280 if(l == 4) F = sqrt((11025.0+1575.0*z0+135.0*z0*z0+10.0*z0*z0*z0+z0*z0*z0*z0)/(11025.0+1575.0*z+135.0*z*z+10.0*z*z*z+z*z*z*z));
1282 double t = sqrt(
q/q0);
1283 for(uint i=0; i<(2*l+1); i++) {
1286 widm *= (
mass/m*F*F);
1293 double denom_real = mr2 - mx2;
1294 double denom_imag = mr * wr;
1295 double denom = denom_real * denom_real + denom_imag * denom_imag;
1297 double output_x = 0., output_y = 0.;
1298 if (wr<0) {output_x = 1/sqrt(denom);}
1300 output_x = denom_real/denom;
1301 output_y = denom_imag/denom;
1313complex<double> D0ToKSpipipi0::RBW(
double mx2,
double mr,
double wr,
double m1_2,
double m2_2,
double r,
int l) {
1316 double denom_real = mr2 - mx2;
1317 double denom_imag = mr * wr * wid(mr, mx2, m1_2, m2_2, r, l);
1319 double denom = denom_real * denom_real + denom_imag * denom_imag;
1320 double output_x = denom_real/denom;
1321 double output_y = denom_imag/denom;
1329complex<double> D0ToKSpipipi0::LASS(
double mx2,
double m1_2,
double m2_2) {
1333 double m1430 = 1.463;
1334 double w1430 = 0.233;
1335 double sa0 = m1430*m1430;
1336 double q0 = (sa0+sb-sc)*(sa0+sb-sc)/(4.0*sa0)-sb;
1337 if(q0<0) q0 = 1e-16;
1338 double qs = (sa+sb-sc)*(sa+sb-sc)/(4.0*sa)-sb;
1339 double q = sqrt(qs);
1340 double width = w1430*
q*m1430/sqrt(sa*q0);
1341 double temp_R = atan(m1430*width/(sa0-sa));
1342 if(temp_R<0) temp_R += math_pi;
1343 double deltaR = -5.31 + temp_R;
1344 double temp_F = atan(2.0*1.07*
q/(2.0+(-1.8)*1.07*qs));
1345 if(temp_F<0) temp_F += math_pi;
1346 double deltaF = 2.33 + temp_F;
1347 double output_x = 0.8*
sin(deltaF)*
cos(deltaF) +
sin(deltaR)*
cos(deltaR + 2.0*deltaF);
1348 double output_y = 0.8*
sin(deltaF)*
sin(deltaF) +
sin(deltaR)*
sin(deltaR + 2.0*deltaF);
1356double D0ToKSpipipi0::h(
double m,
double q) {
1357 double h = 2.0/math_pi*
q/m*log((m+2.0*
q)/(2.0*
mass_Pion));
1361double D0ToKSpipipi0::dh(
double m0,
double q0) {
1362 double dh = h(m0,q0)*(1.0/(8.0*q0*q0)-1.0/(2.0*m0*m0))+1.0/(2.0*math_pi*m0*m0);
1366double D0ToKSpipipi0::f(
double m0,
double sx,
double q0,
double q) {
1367 double m = sqrt(sx);
1368 double f = m0*m0/(q0*q0*q0)*(
q*
q*(h(m,
q)-h(m0,q0))+(m0*m0-sx)*q0*q0*dh(m0,q0));
1372double D0ToKSpipipi0::d(
double m0,
double q0) {
1374 + m0/(2.0*math_pi*q0) \
1379complex<double> D0ToKSpipipi0::GS(
double mx2,
double mr,
double wr,
double m1_2,
double m2_2,
double r,
int l) {
1382 double q = fundecaymomentum(mx2, m1_2, m2_2);
1383 double q0 = fundecaymomentum(mr2, m1_2, m2_2);
1384 double numer = 1.0+d(mr,q0)*wr/mr;
1385 double denom_real = mr2-mx2+wr*
f(mr,mx2,q0,
q);
1386 double denom_imag = mr*wr*wid(mr,mx2,m1_2,m2_2,r,l);
1388 double denom = denom_real*denom_real+denom_imag*denom_imag;
1389 double output_x = denom_real*numer/denom;
1390 double output_y = denom_imag*numer/denom;
1396complex<double> D0ToKSpipipi0::create_RBW_propagator(
string name,
double mx2,
double m1_2,
double m2_2,
int l) {
1397 double mr = resonance_par[name+
"_mass"];
1398 double wr = resonance_par[name+
"_width"];
1399 return RBW(mx2, mr, wr, m1_2, m2_2, rRes, l);
1402complex<double> D0ToKSpipipi0::create_BW_propagator(
string name,
double mx2){
1403 double mr = resonance_par[name+
"_mass"];
1404 double wr = resonance_par[name+
"_width"];
1405 return BW(mx2, mr, wr);
1408complex<double> D0ToKSpipipi0::create_GS_propagator(
string name,
double mx2){
1409 double mr = resonance_par[name+
"_mass"];
1410 double wr = resonance_par[name+
"_width"];
1411 return GS(mx2, mr, wr, mpip*mpip, mpim*mpim, rRes, 1);
1414complex<double> D0ToKSpipipi0::create_KPiSLASS_propagator(
string name,
double mx2,
double m1_2,
double m2_2){
1415 return LASS(mx2, m1_2, m2_2);
1419double D0ToKSpipipi0::rho4pi(
double s) {
1422 double tmp=1.0-16.0*
mpi*
mpi/
s;
1424 if(tmp <= 0) ret = 0.0;
1425 else ret = sqrt(tmp)/(1.0+
exp(9.8f-3.5*
s));
1430double D0ToKSpipipi0::rho2pi(
double s) {
1434 if(
s <= 4.0*
mpi*
mpi) ret = 0.0;
1435 else ret = sqrt(1.0-4.0*
mpi*
mpi/
s);
1440complex<double> D0ToKSpipipi0::sigma(
double mx2,
double mr,
double gf) {
1444 double diff = mr2-mx2;
1447 double g1=(0.5843+1.6663*mx2)*(mx2-
mpi*
mpi/2.0)/(mr2-
mpi*
mpi/2.0)*
exp(-(mx2-mr2)/1.082);
1450 double w1=
g1*rho2pi(mx2)/rho2pi(mr2);
1451 double w2=g2*rho4pi(mx2)/rho4pi(mr2);
1452 double ws=mr*(w1+w2);
1453 double denom=diff*diff+ws*ws;
1455 double output_x = diff/denom;
1456 double output_y = ws/denom;
1463complex<double> D0ToKSpipipi0::create_sigma_propagator(
string name,
double mx2) {
1465 double mr = resonance_par[name+
"_mass"];
1466 double wr = resonance_par[name+
"_width"];
1468 double gf = resonance_par[name+
"_gf"];
1470 return sigma(mx2, mr, gf);
1474complex<double> D0ToKSpipipi0::irho(
double mr2,
double m1_2,
double m2_2) {
1475 double mr = sqrt(mr2);
1476 double poly = mr2*mr2 + m1_2*m1_2 + m2_2*m2_2 - 2*m1_2*mr2 -2*m2_2*mr2 -2*m1_2*m2_2;
1478 double output_x = 0., output_y = 0.;
1479 if (poly >= 0) {output_x = 2.0*sqrt(poly)/(2.0*mr2); output_y = 0.;}
1480 if (poly < 0) {output_x = 0.; output_y = 2.0*sqrt(-1.0*poly)/(2.0*mr2);}
1487complex<double> D0ToKSpipipi0::Flatte2(
double mx2,
double mr2,
double g1,
double m1a,
double m1b,
double g2,
double m2a,
double m2b) {
1489 double diff = mr2-mx2;
1496 double ws =
real(iws);
1497 double denom = diff*diff + ws*ws;
1499 double output_x = diff/denom;
1500 double output_y = ws/denom;
1507complex<double> D0ToKSpipipi0::create_Flatte2_propagator(
string name,
double mx2,
double m1a,
double m1b,
double m2a,
double m2b) {
1508 double mr = resonance_par[name+
"_mass"];
1509 double wr = resonance_par[name+
"_width"];
1512 double g1 = resonance_par[name+
"_g1"];
1513 double g2 = resonance_par[name+
"_g2"];
1515 return Flatte2(mx2, mr2,
g1, m1a, m1b, g2, m2a, m2b);
1518void D0ToKSpipipi0::readInputCoeff () {
1519 coefficient[
"phasespace"] = 0;
1520 coefficient[
"<kstarm_892|rhop_770>_0_mag"] = 25;
1521 coefficient[
"<kstarm_892|rhop_770>_0_phase"] = 0;
1522 coefficient[
"<kstarm_892|rhop_770>_1_mag"] = 11.2665;
1523 coefficient[
"<kstarm_892|rhop_770>_1_phase"] = 0.548994;
1524 coefficient[
"<kstarm_892|rhop_770>_2_mag"] = 6.73954;
1525 coefficient[
"<kstarm_892|rhop_770>_2_phase"] = 1.96845;
1526 coefficient[
"<kstar0_892|rho0_770>_0_mag"] = 9.62259;
1527 coefficient[
"<kstar0_892|rho0_770>_0_phase"] = 4.39676;
1528 coefficient[
"<kstar0_892|rho0_770>_1_mag"] = 3.49377;
1529 coefficient[
"<kstar0_892|rho0_770>_1_phase"] = -2.56438;
1530 coefficient[
"<kstar0_892|rho0_770>_2_mag"] = 3.30796;
1531 coefficient[
"<kstar0_892|rho0_770>_2_phase"] = 5.17417;
1532 coefficient[
"<omega3_782|rho_770>_1_mag"] = 14.1209;
1533 coefficient[
"<omega3_782|rho_770>_1_phase"] = 2.06989;
1534 coefficient[
"<phi_1020|rho_770>_1_mag"] = 0.835627;
1535 coefficient[
"<phi_1020|rho_770>_1_phase"] = -2.92636;
1536 coefficient[
"<eta_547|rhom_phsp>_1_mag"] = 81.3879;
1537 coefficient[
"<eta_547|rhom_phsp>_1_phase"] = -1.51303;
1538 coefficient[
"<eta_547|rhom_phsp>_0_mag"] = 72.5434;
1539 coefficient[
"<eta_547|rhom_phsp>_0_phase"] = 3.89337;
1540 coefficient[
"<k1m_1270|rhom_770>_0_mag"] = 48.1147;
1541 coefficient[
"<k1m_1270|rhom_770>_0_phase"] = -0.0202615;
1542 coefficient[
"<k1m_1270|kstar_892>_0_mag"] = 5.73667;
1543 coefficient[
"<k1m_1270|kstar_892>_0_phase"] = 3.92441;
1544 coefficient[
"<k1m_1270|k0star_1430>_1_mag"] = 72.8988;
1545 coefficient[
"<k1m_1270|k0star_1430>_1_phase"] = -1.12332;
1546 coefficient[
"<k10_1270|rho0_770>_0_mag"] = 14.6425;
1547 coefficient[
"<k10_1270|rho0_770>_0_phase"] = 0.882522;
1548 coefficient[
"<k10_1270|kstarm_892>_0_mag"] = 4.40263;
1549 coefficient[
"<k10_1270|kstarm_892>_0_phase"] = 0.299025;
1550 coefficient[
"<k10_1270|k0starm_1430>_1_mag"] = 57.4271;
1551 coefficient[
"<k10_1270|k0starm_1430>_1_phase"] = 1.25342;
1552 coefficient[
"<k1m_1400|kstar_892>_0_mag"] = 7.41837;
1553 coefficient[
"<k1m_1400|kstar_892>_0_phase"] = 2.60505;
1554 coefficient[
"<k10_1400|kstarm_892>_0_mag"] = -38.728;
1555 coefficient[
"<k10_1400|kstarm_892>_0_phase"] = 2.64084;
1556 coefficient[
"<kstar02_1410|rho0_770>_1_mag"] = 32.6332;
1557 coefficient[
"<kstar02_1410|rho0_770>_1_phase"] = 0.266067;
1558 coefficient[
"<kstarm2_1410|rhop_770>_0_mag"] = 84.8711;
1559 coefficient[
"<kstarm2_1410|rhop_770>_0_phase"] = -1.22924;
1560 coefficient[
"<kstarm2_1410|rhop_770>_1_mag"] = 30.6599;
1561 coefficient[
"<kstarm2_1410|rhop_770>_1_phase"] = -3.02164;
1562 coefficient[
"<kstarm2_1410|rhop_770>_2_mag"] = 23.5133;
1563 coefficient[
"<kstarm2_1410|rhop_770>_2_phase"] = 4.90416;
1564 coefficient[
"<kstarm3_1410|kstar_892>_1_mag"] = -5.00895;
1565 coefficient[
"<kstarm3_1410|kstar_892>_1_phase"] = 0.75297;
1566 coefficient[
"<kstarm3_1410|rhom_770>_1_mag"] = 21.0146;
1567 coefficient[
"<kstarm3_1410|rhom_770>_1_phase"] = 2.11827;
1568 coefficient[
"<km_1460|kstar_892>_1_mag"] = -18.5953;
1569 coefficient[
"<km_1460|kstar_892>_1_phase"] = 1.72652;
1570 coefficient[
"<km_1460|k0star_1430>_0_mag"] = 500;
1571 coefficient[
"<km_1460|k0star_1430>_0_phase"] = 3.22602;
1572 coefficient[
"<k0_1460|kstarm_892>_1_mag"] = 14.7543;
1573 coefficient[
"<k0_1460|kstarm_892>_1_phase"] = 0.510956;
1574 coefficient[
"<k1m_1650|kstar_892>_0_mag"] = 11.7635;
1575 coefficient[
"<k1m_1650|kstar_892>_0_phase"] = 2.59972;
1576 coefficient[
"<k10_1650|kstarm_892>_0_mag"] = 27.9014;
1577 coefficient[
"<k10_1650|kstarm_892>_0_phase"] = -1.07364;
1578 coefficient[
"<k1m_1650|rhom_770>_0_mag"] = 23.2323;
1579 coefficient[
"<k1m_1650|rhom_770>_0_phase"] = -1.33583;
1580 coefficient[
"<kstar03_1680|kstarm_892>_1_mag"] = 23.4824;
1581 coefficient[
"<kstar03_1680|kstarm_892>_1_phase"] = 0.139691;
1582 coefficient[
"<kstarm3_1680|kstar_892>_1_mag"] = 11.8553;
1583 coefficient[
"<kstarm3_1680|kstar_892>_1_phase"] = -3.47852;
1584 coefficient[
"<k0star0_1430|rho0_phsp>_0_mag"] = 500;
1585 coefficient[
"<k0star0_1430|rho0_phsp>_0_phase"] = -5.1306;
1586 coefficient[
"<k1p_phsp|rhop_770>_1_mag"] = 197.192;
1587 coefficient[
"<k1p_phsp|rhop_770>_1_phase"] = 0.35067;
1588 coefficient[
"<k1m_phsp|rhom_770>_1_mag"] = 151.864;
1589 coefficient[
"<k1m_phsp|rhom_770>_1_phase"] = -5.11224;
1590 coefficient[
"<k1m_phsp|rhom_770>_2_mag"] = 21.6383;
1591 coefficient[
"<k1m_phsp|rhom_770>_2_phase"] = -0.843621;
1592 coefficient[
"<k0starm_1430|rhop_phsp>_0_mag"] = -500;
1593 coefficient[
"<k0starm_1430|rhop_phsp>_0_phase"] = 4.00277;
1594 coefficient[
"<k0_1460|sigma_500>_0_mag"] = 500;
1595 coefficient[
"<k0_1460|sigma_500>_0_phase"] = -5.70929;
1596 coefficient[
"<k10_1270|f0_980>_1_mag"] = 106.293;
1597 coefficient[
"<k10_1270|f0_980>_1_phase"] = 0.947063;
1598 coefficient[
"<k10_1400|f0_1370>_1_mag"] = 184.717;
1599 coefficient[
"<k10_1400|f0_1370>_1_phase"] = -0.0197254;
1600 coefficient[
"<rho0_770|k0star0_1430>_1_mag"] = 159.521;
1601 coefficient[
"<rho0_770|k0star0_1430>_1_phase"] = 0.164038;
1602 coefficient[
"<k2starm3_1430|kstar_892>_2_mag"] = 0.400134;
1603 coefficient[
"<k2starm3_1430|kstar_892>_2_phase"] = 0.533053;
1604 coefficient[
"<k2star02_1430|f2_1270>_1_mag"] = 45.2478;
1605 coefficient[
"<k2star02_1430|f2_1270>_1_phase"] = 1.81556;
1606 coefficient[
"<kstar0_892|f0_980>_1_mag"] = 24.2878;
1607 coefficient[
"<kstar0_892|f0_980>_1_phase"] = 1.93217;
1608 coefficient[
"<kstarm_phsp|rhop_phsp>_0_mag"] = 500;
1609 coefficient[
"<kstarm_phsp|rhop_phsp>_0_phase"] = 1.48706;
1610 coefficient[
"<rho0_770|kstar0_phsp>_1_mag"] = 58.8657;
1611 coefficient[
"<rho0_770|kstar0_phsp>_1_phase"] = 3.54134;
1625 createPropagator(ks0, pip, pim, pi0);
1626 createSpinfactor(ks0, pip, pim, pi0);
1632double f_isoConj = -1. * sqrt(2.0);
1633double one = 1.0, minus_one = -1.0;
1634addPartialWave(spinfactor[
"D2VV_ks0pim_pippi0_0"], propagator[
"kstarm_892"], propagator[
"rhop_770"], coefficient[
"<kstarm_892|rhop_770>_0_mag"], coefficient[
"<kstarm_892|rhop_770>_0_phase"]);
1635addPartialWave(spinfactor[
"D2VV_ks0pim_pippi0_1"], propagator[
"kstarm_892"], propagator[
"rhop_770"], coefficient[
"<kstarm_892|rhop_770>_1_mag"], coefficient[
"<kstarm_892|rhop_770>_1_phase"]);
1636addPartialWave(spinfactor[
"D2VV_ks0pim_pippi0_2"], propagator[
"kstarm_892"], propagator[
"rhop_770"], coefficient[
"<kstarm_892|rhop_770>_2_mag"], coefficient[
"<kstarm_892|rhop_770>_2_phase"]);
1637addPartialWave(spinfactor[
"D2VV_ks0pi0_pippim_0"], propagator[
"kstar0_892"], propagator[
"rho0_770"], coefficient[
"<kstar0_892|rho0_770>_0_mag"], coefficient[
"<kstar0_892|rho0_770>_0_phase"]);
1638addPartialWave(spinfactor[
"D2VV_ks0pi0_pippim_1"], propagator[
"kstar0_892"], propagator[
"rho0_770"], coefficient[
"<kstar0_892|rho0_770>_1_mag"], coefficient[
"<kstar0_892|rho0_770>_1_phase"]);
1639addPartialWave(spinfactor[
"D2VV_ks0pi0_pippim_2"], propagator[
"kstar0_892"], propagator[
"rho0_770"], coefficient[
"<kstar0_892|rho0_770>_2_mag"], coefficient[
"<kstar0_892|rho0_770>_2_phase"]);
1640complex<double> omega_ks0_propagator = propagator[
"rhop_770"] * spinfactor[
"D2VP_V2VP_pippimpi0_pippi0_1"]
1641 + minus_one*propagator[
"rho0_770"] * spinfactor[
"D2VP_V2VP_pippimpi0_pippim_1"]
1642 + propagator[
"rhom_770"] * spinfactor[
"D2VP_V2VP_pippimpi0_pimpi0_1"];
1643addPartialWave(omega_ks0_propagator, propagator[
"omega3_782"], coefficient[
"<omega3_782|rho_770>_1_mag"], coefficient[
"<omega3_782|rho_770>_1_phase"]);
1644complex<double> phi_ks0_propagator = propagator[
"rhop_770"] * spinfactor[
"D2VP_V2VP_pippimpi0_pippi0_1"]
1645 + minus_one*propagator[
"rho0_770"] * spinfactor[
"D2VP_V2VP_pippimpi0_pippim_1"]
1646 + propagator[
"rhom_770"] * spinfactor[
"D2VP_V2VP_pippimpi0_pimpi0_1"];
1647addPartialWave(phi_ks0_propagator, propagator[
"phi_1020"], coefficient[
"<phi_1020|rho_770>_1_mag"], coefficient[
"<phi_1020|rho_770>_1_phase"]);
1648addPartialWave(spinfactor[
"D2PP_P2VP_pippimpi0_pimpi0_1"], propagator[
"eta_547"], propagator[
"rhom_phsp"], coefficient[
"<eta_547|rhom_phsp>_1_mag"], coefficient[
"<eta_547|rhom_phsp>_1_phase"]);
1649addPartialWave(spinfactor[
"D2PP_P2SP_pippimpi0_pimpi0_0"], propagator[
"eta_547"], propagator[
"rhom_phsp"], coefficient[
"<eta_547|rhom_phsp>_0_mag"], coefficient[
"<eta_547|rhom_phsp>_0_phase"]);
1650addPartialWave(spinfactor[
"D2AP_A2VP_ks0pimpi0_pimpi0_0"], propagator[
"k1m_1270"], propagator[
"rhom_770"], coefficient[
"<k1m_1270|rhom_770>_0_mag"], coefficient[
"<k1m_1270|rhom_770>_0_phase"]);
1651addPartialWave(spinfactor[
"D2AP_A2VP_ks0pimpi0_ks0pim_0"], propagator[
"k1m_1270"], propagator[
"kstarm_892"], spinfactor[
"D2AP_A2VP_ks0pimpi0_ks0pi0_0"], propagator[
"k1m_1270"], propagator[
"kstar0_892"], f_isoConj, coefficient[
"<k1m_1270|kstar_892>_0_mag"], coefficient[
"<k1m_1270|kstar_892>_0_phase"]);
1652addPartialWave(spinfactor[
"D2AP_A2SP_ks0pimpi0_ks0pim_1"], propagator[
"k1m_1270"], propagator[
"k0starm_1430"], spinfactor[
"D2AP_A2SP_ks0pimpi0_ks0pi0_1"], propagator[
"k1m_1270"], propagator[
"k0star0_1430"], f_isoConj, coefficient[
"<k1m_1270|k0star_1430>_1_mag"], coefficient[
"<k1m_1270|k0star_1430>_1_phase"]);
1653addPartialWave(spinfactor[
"D2AP_A2VP_ks0pippim_pippim_0"], propagator[
"k10_1270"], propagator[
"rho0_770"], coefficient[
"<k10_1270|rho0_770>_0_mag"], coefficient[
"<k10_1270|rho0_770>_0_phase"]);
1654addPartialWave(spinfactor[
"D2AP_A2VP_ks0pippim_ks0pim_0"], propagator[
"k10_1270"], propagator[
"kstarm_892"], coefficient[
"<k10_1270|kstarm_892>_0_mag"], coefficient[
"<k10_1270|kstarm_892>_0_phase"]);
1655addPartialWave(spinfactor[
"D2AP_A2SP_ks0pippim_ks0pim_1"], propagator[
"k10_1270"], propagator[
"k0starm_1430"], coefficient[
"<k10_1270|k0starm_1430>_1_mag"], coefficient[
"<k10_1270|k0starm_1430>_1_phase"]);
1656addPartialWave(spinfactor[
"D2AP_A2VP_ks0pimpi0_ks0pim_0"], propagator[
"k1m_1400"], propagator[
"kstarm_892"], spinfactor[
"D2AP_A2VP_ks0pimpi0_ks0pi0_0"], propagator[
"k1m_1400"], propagator[
"kstar0_892"], f_isoConj, coefficient[
"<k1m_1400|kstar_892>_0_mag"], coefficient[
"<k1m_1400|kstar_892>_0_phase"]);
1657addPartialWave(spinfactor[
"D2AP_A2VP_ks0pippim_ks0pim_0"], propagator[
"k10_1400"], propagator[
"kstarm_892"], coefficient[
"<k10_1400|kstarm_892>_0_mag"], coefficient[
"<k10_1400|kstarm_892>_0_phase"]);
1658addPartialWave(spinfactor[
"D2VV_ks0pi0_pippim_1"], propagator[
"kstar02_1410"], propagator[
"rho0_770"], coefficient[
"<kstar02_1410|rho0_770>_1_mag"], coefficient[
"<kstar02_1410|rho0_770>_1_phase"]);
1659addPartialWave(spinfactor[
"D2VV_ks0pim_pippi0_0"], propagator[
"kstarm2_1410"], propagator[
"rhop_770"], coefficient[
"<kstarm2_1410|rhop_770>_0_mag"], coefficient[
"<kstarm2_1410|rhop_770>_0_phase"]);
1660addPartialWave(spinfactor[
"D2VV_ks0pim_pippi0_1"], propagator[
"kstarm2_1410"], propagator[
"rhop_770"], coefficient[
"<kstarm2_1410|rhop_770>_1_mag"], coefficient[
"<kstarm2_1410|rhop_770>_1_phase"]);
1661addPartialWave(spinfactor[
"D2VV_ks0pim_pippi0_2"], propagator[
"kstarm2_1410"], propagator[
"rhop_770"], coefficient[
"<kstarm2_1410|rhop_770>_2_mag"], coefficient[
"<kstarm2_1410|rhop_770>_2_phase"]);
1662addPartialWave(spinfactor[
"D2VP_V2VP_ks0pimpi0_ks0pim_1"], propagator[
"kstarm3_1410"], propagator[
"kstarm_892"], spinfactor[
"D2VP_V2VP_ks0pimpi0_ks0pi0_1"], propagator[
"kstarm3_1410"], propagator[
"kstar0_892"], f_isoConj, coefficient[
"<kstarm3_1410|kstar_892>_1_mag"], coefficient[
"<kstarm3_1410|kstar_892>_1_phase"]);
1663addPartialWave(spinfactor[
"D2VP_V2VP_ks0pimpi0_pimpi0_1"], propagator[
"kstarm3_1410"], propagator[
"rhom_770"], coefficient[
"<kstarm3_1410|rhom_770>_1_mag"], coefficient[
"<kstarm3_1410|rhom_770>_1_phase"]);
1664addPartialWave(spinfactor[
"D2PP_P2VP_ks0pimpi0_ks0pim_1"], propagator[
"km_1460"], propagator[
"kstarm_892"], spinfactor[
"D2PP_P2VP_ks0pimpi0_ks0pi0_1"], propagator[
"km_1460"], propagator[
"kstar0_892"], f_isoConj, coefficient[
"<km_1460|kstar_892>_1_mag"], coefficient[
"<km_1460|kstar_892>_1_phase"]);
1665addPartialWave(spinfactor[
"D2PP_P2SP_ks0pimpi0_ks0pim_0"], propagator[
"km_1460"], propagator[
"k0starm_1430"], spinfactor[
"D2PP_P2SP_ks0pimpi0_ks0pi0_0"], propagator[
"km_1460"], propagator[
"k0star0_1430"], f_isoConj, coefficient[
"<km_1460|k0star_1430>_0_mag"], coefficient[
"<km_1460|k0star_1430>_0_phase"]);
1666addPartialWave(spinfactor[
"D2PP_P2VP_ks0pippim_ks0pim_1"], propagator[
"k0_1460"], propagator[
"kstarm_892"], coefficient[
"<k0_1460|kstarm_892>_1_mag"], coefficient[
"<k0_1460|kstarm_892>_1_phase"]);
1667addPartialWave(spinfactor[
"D2AP_A2VP_ks0pimpi0_ks0pim_0"], propagator[
"k1m_1650"], propagator[
"kstarm_892"], spinfactor[
"D2AP_A2VP_ks0pimpi0_ks0pi0_0"], propagator[
"k1m_1650"], propagator[
"kstar0_892"], f_isoConj, coefficient[
"<k1m_1650|kstar_892>_0_mag"], coefficient[
"<k1m_1650|kstar_892>_0_phase"]);
1668addPartialWave(spinfactor[
"D2AP_A2VP_ks0pippim_ks0pim_0"], propagator[
"k10_1650"], propagator[
"kstarm_892"], coefficient[
"<k10_1650|kstarm_892>_0_mag"], coefficient[
"<k10_1650|kstarm_892>_0_phase"]);
1669addPartialWave(spinfactor[
"D2AP_A2VP_ks0pimpi0_pimpi0_0"], propagator[
"k1m_1650"], propagator[
"rhom_770"], coefficient[
"<k1m_1650|rhom_770>_0_mag"], coefficient[
"<k1m_1650|rhom_770>_0_phase"]);
1670addPartialWave(spinfactor[
"D2VP_V2VP_ks0pippim_ks0pim_1"], propagator[
"kstar03_1680"], propagator[
"kstarm_892"], coefficient[
"<kstar03_1680|kstarm_892>_1_mag"], coefficient[
"<kstar03_1680|kstarm_892>_1_phase"]);
1671addPartialWave(spinfactor[
"D2VP_V2VP_ks0pimpi0_ks0pim_1"], propagator[
"kstarm3_1680"], propagator[
"kstarm_892"], spinfactor[
"D2VP_V2VP_ks0pimpi0_ks0pi0_1"], propagator[
"kstarm3_1680"], propagator[
"kstar0_892"], f_isoConj, coefficient[
"<kstarm3_1680|kstar_892>_1_mag"], coefficient[
"<kstarm3_1680|kstar_892>_1_phase"]);
1672addPartialWave(spinfactor[
"D2SS_ks0pi0_pippim_0"], propagator[
"k0star0_1430"], propagator[
"rho0_phsp"], coefficient[
"<k0star0_1430|rho0_phsp>_0_mag"], coefficient[
"<k0star0_1430|rho0_phsp>_0_phase"]);
1673addPartialWave(spinfactor[
"D2PP_P2VP_ks0pippi0_pippi0_1"], propagator[
"k1p_phsp"], propagator[
"rhop_770"], coefficient[
"<k1p_phsp|rhop_770>_1_mag"], coefficient[
"<k1p_phsp|rhop_770>_1_phase"]);
1674addPartialWave(spinfactor[
"D2PP_P2VP_ks0pimpi0_pimpi0_1"], propagator[
"k1m_phsp"], propagator[
"rhom_770"], coefficient[
"<k1m_phsp|rhom_770>_1_mag"], coefficient[
"<k1m_phsp|rhom_770>_1_phase"]);
1675addPartialWave(spinfactor[
"D2AP_A2VP_ks0pimpi0_pimpi0_2"], propagator[
"k1m_phsp"], propagator[
"rhom_770"], coefficient[
"<k1m_phsp|rhom_770>_2_mag"], coefficient[
"<k1m_phsp|rhom_770>_2_phase"]);
1676addPartialWave(spinfactor[
"D2SS_ks0pim_pippi0_0"], propagator[
"k0starm_1430"], propagator[
"rhop_phsp"], coefficient[
"<k0starm_1430|rhop_phsp>_0_mag"], coefficient[
"<k0starm_1430|rhop_phsp>_0_phase"]);
1677addPartialWave(spinfactor[
"D2PP_P2SP_ks0pippim_pippim_0"], propagator[
"k0_1460"], propagator[
"sigma_500"], coefficient[
"<k0_1460|sigma_500>_0_mag"], coefficient[
"<k0_1460|sigma_500>_0_phase"]);
1678addPartialWave(spinfactor[
"D2AP_A2SP_ks0pippim_pippim_1"], propagator[
"k10_1270"], propagator[
"f0_980"], coefficient[
"<k10_1270|f0_980>_1_mag"], coefficient[
"<k10_1270|f0_980>_1_phase"]);
1679addPartialWave(spinfactor[
"D2AP_A2SP_ks0pippim_pippim_1"], propagator[
"k10_1400"], propagator[
"f0_1370"], coefficient[
"<k10_1400|f0_1370>_1_mag"], coefficient[
"<k10_1400|f0_1370>_1_phase"]);
1680addPartialWave(spinfactor[
"D2VS_pippim_ks0pi0_1"], propagator[
"rho0_770"], propagator[
"k0star0_1430"], coefficient[
"<rho0_770|k0star0_1430>_1_mag"], coefficient[
"<rho0_770|k0star0_1430>_1_phase"]);
1681addPartialWave(spinfactor[
"D2TP_T2VP_ks0pimpi0_ks0pim_2"], propagator[
"k2starm3_1430"], propagator[
"kstarm_892"], spinfactor[
"D2TP_T2VP_ks0pimpi0_ks0pi0_2"], propagator[
"k2starm3_1430"], propagator[
"kstar0_892"], f_isoConj, coefficient[
"<k2starm3_1430|kstar_892>_2_mag"], coefficient[
"<k2starm3_1430|kstar_892>_2_phase"]);
1682addPartialWave(spinfactor[
"D2TT_ks0pi0_pippim_1"], propagator[
"k2star02_1430"], propagator[
"f2_1270"], coefficient[
"<k2star02_1430|f2_1270>_1_mag"], coefficient[
"<k2star02_1430|f2_1270>_1_phase"]);
1683addPartialWave(spinfactor[
"D2VS_ks0pi0_pippim_1"], propagator[
"kstar0_892"], propagator[
"f0_980"], coefficient[
"<kstar0_892|f0_980>_1_mag"], coefficient[
"<kstar0_892|f0_980>_1_phase"]);
1684addPartialWave(spinfactor[
"D2SS_ks0pim_pippi0_0"], propagator[
"kstarm_phsp"], propagator[
"rhop_phsp"], coefficient[
"<kstarm_phsp|rhop_phsp>_0_mag"], coefficient[
"<kstarm_phsp|rhop_phsp>_0_phase"]);
1685addPartialWave(spinfactor[
"D2VS_pippim_ks0pi0_1"], propagator[
"rho0_770"], propagator[
"kstar0_phsp"], coefficient[
"<rho0_770|kstar0_phsp>_1_mag"], coefficient[
"<rho0_770|kstar0_phsp>_1_phase"]);
double sin(const BesAngle a)
double cos(const BesAngle a)
double P(RecMdcKalTrack *trk)
std::vector< double > operator+(std::vector< double > &lhs, std::vector< double > &rhs)
string toString(const T &t)
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
double imag(const EvtComplex &c)
EvtComplex exp(const EvtComplex &c)
*******INTEGER m_nBinMax INTEGER m_NdiMax !No of bins in histogram for cell exploration division $ !Last vertex $ !Last active cell $ !Last cell in buffer $ !No of sampling when dividing cell $ !No of function total $ !Flag for random ceel for $ !Flag for type of for WtMax $ !Flag which decides whether vertices are included in the sampling $ entire domain is hyp !Maximum effective eevents per saves r n generator level $ !Flag for chat level in output
****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
complex< double > Amp(vector< double > ks0, vector< double > pip, vector< double > pim, vector< double > pi0)
double double double * p4
double precision pisqo6 one