36 model_name=
"DsToEta3pi";
56 phi[0] = 2.4600e+00; modetype[0] = 1;
57 phi[1] = 0.0000e+00; modetype[1] = 2;
58 phi[2] = -1.5394e+00; modetype[2] = 3;
59 phi[3] = -6.0185e+00; modetype[3] = 4;
60 phi[4] = -6.0185e+00; modetype[4] = 5;
61 phi[5] = -6.1365e+00; modetype[5] = 6;
62 phi[6] = -6.1365e+00; modetype[6] = 7;
63 phi[7] = 1.3514e+00; modetype[7] = 8;
64 phi[8] = 2.4527e+00; modetype[8] = 9;
65 phi[9] = -2.0956e+00; modetype[9] = 10;
66 phi[10]= -2.0956e+00; modetype[10] = 11;
80 mass1[0] = 9.9000e-01;
81 mass1[1] = 7.7526e-01;
82 mass1[2] = 5.2600e-01;
83 mass1[3] = 9.9000e-01;
84 mass1[4] = 9.9000e-01;
85 mass1[5] = 9.9000e-01;
86 mass1[6] = 9.9000e-01;
87 mass1[7] = 9.6500e-01;
88 mass1[8] = 5.2600e-01;
89 mass1[9] = 9.9000e-01;
90 mass1[10]= 9.9000e-01;
92 mass2[0] = 7.7526e-01;
93 mass2[1] = 1.3462e+00;
94 mass2[2] = 1.3462e+00;
95 mass2[3] = 1.4050e+00;
96 mass2[4] = 1.4050e+00;
97 mass2[5] = 1.8000e+00;
98 mass2[6] = 1.8000e+00;
99 mass2[7] = 1.8000e+00;
100 mass2[8] = 1.8000e+00;
101 mass2[9] = 1.4502e+00;
102 mass2[10]= 1.4502e+00;
104 width1[0] = 7.5000e-02;
105 width1[1] = 1.4910e-01;
106 width1[2] = 5.0000e-01;
107 width1[3] = 7.5000e-02;
108 width1[4] = 7.5000e-02;
109 width1[5] = 7.5000e-02;
110 width1[6] = 7.5000e-02;
111 width1[7] = 7.5000e-02;
112 width1[8] = 5.0000e-01;
113 width1[9] = 7.5000e-02;
114 width1[10]= 7.5000e-02;
116 width2[0] = 1.4910e-01;
117 width2[1] = 3.6900e-01;
118 width2[2] = 3.6900e-01;
119 width2[3] = 5.1000e-02;
120 width2[4] = 5.1000e-02;
121 width2[5] = 3.8600e-01;
122 width2[6] = 3.8600e-01;
123 width2[7] = 3.8600e-01;
124 width2[8] = 3.8600e-01;
125 width2[9] = 5.4000e-02;
126 width2[10]= 5.4000e-02;
140 mass_Pi0 = 0.1349766;
146 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
148 { { {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
149 {{0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,-1,0}},
150 {{0,0,0,0}, {0,0,0,-1}, {0,0,0,0}, {0,1,0,0} },
151 {{0,0,0,0}, {0,0,1,0}, {0,-1,0,0}, {0,0,0,0} } },
152 { {{0,0,0,0}, {0,0,0,0}, {0,0,0,-1}, {0,0,1,0} },
153 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
154 {{0,0,0,1}, {0,0,0,0}, {0,0,0,0}, {-1,0,0,0}},
155 {{0,0,-1,0}, {0,0,0,0}, {1,0,0,0}, {0,0,0,0} } },
156 { {{0,0,0,0}, {0,0,0,1}, {0,0,0,0}, {0,-1,0,0}},
157 {{0,0,0,-1}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0} },
158 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
159 {{0,1,0,0}, {-1,0,0,0}, {0,0,0,0}, {0,0,0,0} } },
160 { {{0,0,0,0}, {0,0,-1,0}, {0,1,0,0}, {0,0,0,0} },
161 {{0,0,1,0}, {0,0,0,0}, {-1,0,0,0}, {0,0,0,0} },
162 {{0,-1,0,0}, {1,0,0,0}, {0,0,0,0}, {0,0,0,0} },
163 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} } } };
164 for (
int i=0; i<4; i++) {
165 for (
int j=0; j<4; j++) {
167 for (
int k=0; k<4; k++) {
168 for (
int l=0; l<4; l++) {
169 E[i][j][k][l] = EE[i][j][k][l];
215 double Pip1[4],Pip2[4],Pim[4],Eta[4];
216 Pip1[1]=pip1.
get(1);Pip1[2]=pip1.
get(2);Pip1[3]=pip1.
get(3);
217 Pip2[1]=pip2.
get(1);Pip2[2]=pip2.
get(2);Pip2[3]=pip2.
get(3);
218 Pim[1] = pim.
get(1);Pim[2] = pim.
get(2);Pim[3] = pim.
get(3);
219 Eta[1] = eta.
get(1);Eta[2] = eta.
get(2);Eta[3] = eta.
get(3);
222 int g0[11]={1,1,1,1,1,1,1,1,1,1,1};
223 int g1[11]={1,1,1,1,1,1,1,1,1,1,1};
224 int g2[11]={0,0,0,0,0,0,0,0,0,0,0};
227 calEvaMy(Pip1, Pip2, Pim, Eta, mass1, mass2, width1, width2, rho, phi, g0,
g1, g2, modetype, nstates, prob);
233void EvtDsToEta3pi::calEvaMy(
double* Pip1,
double* Pip2,
double* Pim,
double* Eta,
double *mass1,
double *mass2,
double* width1,
double* width2,
double *amp,
double *phase,
int* g0,
int*
g1,
int* g2,
int* modetype,
int nstates,
double & Result){
234 double prho1[4],prho2[4],pa11[4],pa12[4],pa01[4],pa02[4],pD[4],pf11[4],pf12[4],pa0m[4],peta12951[4],peta12952[4],psigma1[4],psigma2[4];
235 Pip1[0] = sqrt(mass_Pion*mass_Pion + Pip1[1]*Pip1[1] + Pip1[2]*Pip1[2] + Pip1[3]*Pip1[3]);
236 Pip2[0] = sqrt(mass_Pion*mass_Pion + Pip2[1]*Pip2[1] + Pip2[2]*Pip2[2] + Pip2[3]*Pip2[3]);
237 Pim[0] = sqrt(mass_Pion*mass_Pion + Pim[1]*Pim[1] + Pim[2]*Pim[2] + Pim[3]*Pim[3]);
238 Eta[0] = sqrt(meta*meta + Eta[1]*Eta[1] + Eta[2]*Eta[2] + Eta[3]*Eta[3]);
241 for(
int i=0;i!=4;i++) {
242 prho1[i]=Pim[i] +Pip1[i];
243 prho2[i]=Pim[i] +Pip2[i];
244 pa11[i] =prho1[i]+Pip2[i];
245 pa12[i] =prho2[i]+Pip1[i];
246 psigma1[i] =Pim[i]+Pip1[i];
247 psigma2[i] =Pim[i]+Pip2[i];
248 pa01[i] =Eta[i] +Pip1[i];
249 pa02[i] =Eta[i] +Pip2[i];
250 pa0m[i] =Eta[i] +Pim[i];
251 pf11[i] =Pim[i] +Pip1[i] +Eta[i];
252 pf12[i] =Pim[i] +Pip2[i] +Eta[i];
253 pD[i] =pa11[i] +Eta[i];
254 peta12951[i] = Pim[i] +Pip1[i] +Eta[i];
255 peta12952[i] = Pim[i] +Pip2[i] +Eta[i];
257 double cof[2], amp_tmp1[2], amp_tmp2[2], amp_tmp[2], amp_PDF[2], PDF[2];
258 double amp_Omg, phs_Omg;
267 double spion1,spion2,spim,seta,sa11,sa12,srho1,srho2,sa01,sa02,sD,sf11,sf12,sa0m,seta12951,seta12952,ssigma1,ssigma2;
268 double t1rho1[4],t2rho1[4][4],t1rho2[4],t2rho2[4][4],t1a01[4],t1a02[4],t2a11[4][4],t2a12[4][4],t1d01[4],t1d02[4],t1f11[4],t2f11[4][4],t1f12[4],t2f12[4][4],t1a11[4],t1a12[4],t1f11_2[4],t1f12_2[4];
269 double temp_PDF, tmp1, tmp2, temp[2],tmp3,tmp4,temp_PDF1;
270 double pro[2], pro0[2], pro1[2],pro2[2],pro3[2],pro4[2];
271 double t1D[4],t2D[4][4],
B[3], t1Tm[4],
A[2], Bc[3];
273 double mass1sq, mass2sq;
275 seta = SCADot(Eta,Eta);
276 spion1 = SCADot(Pip1,Pip1);
277 spion2 = SCADot(Pip2,Pip2);
278 spim = SCADot(Pim,Pim);
280 srho1 = SCADot(prho1,prho1);
281 srho2 = SCADot(prho2,prho2);
282 sa11 = SCADot(pa11,pa11);
283 sa12 = SCADot(pa12,pa12);
285 sa01 = SCADot(pa01,pa01);
286 sa02 = SCADot(pa02,pa02);
287 sa0m = SCADot(pa0m,pa0m);
288 sf11 = SCADot(pf11,pf11);
289 sf12 = SCADot(pf12,pf12);
291 seta12951 = SCADot(peta12951,peta12951);
292 seta12952 = SCADot(peta12952,peta12952);
293 ssigma1 = SCADot(psigma1,psigma1);
294 ssigma2 = SCADot(psigma2,psigma2);
295 double seta2[2]={mass_Ks*mass_Ks,seta};
296 double spion12[2]={mass_Kaon*mass_Kaon,spion1};
297 double spion22[2]={mass_Kaon*mass_Kaon,spion2};
298 double spim2[2]={mass_Kaon*mass_Kaon,spim};
300 calt1(Pip1,Pim,t1rho1);
301 calt2(Pip1,Pim,t2rho1);
302 calt1(Pip2,Pim,t1rho2);
303 calt2(Pip2,Pim,t2rho2);
305 calt1(Pip1,Eta,t1a01);
306 calt1(Pip2,Eta,t1a02);
308 calt1(pa01,prho2,t1d01);
309 calt1(pa02,prho1,t1d02);
311 calt1(pa0m,Pip1,t1f11);
312 calt1(pa0m,Pip2,t1f12);
314 calt1(psigma1,Pip2,t1a11);
315 calt1(psigma2,Pip1,t1a12);
317 calt1(pa01,Pim,t1f11_2);
318 calt1(pa02,Pim,t1f12_2);
320 calt2(prho1,Pip2,t2a11);
321 calt2(prho2,Pip1,t2a12);
323 calt2(pa01,Pip1,t2f11);
324 calt2(pa02,Pip2,t2f12);
326 for(
int i=0; i<nstates; i++){
328 cof[0] = amp[i]*
cos(phase[i]);
329 cof[1] = amp[i]*
sin(phase[i]);
330 mass1sq = mass1[i]*mass1[i];
331 mass2sq = mass2[i]*mass2[i];
347 if(g0[i]==1) propagatora0980(mass1[i],sa01,seta2,spion12,pro0);
348 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; }
349 if(
g1[i]==1) propagatorGS(mass2sq,mass2[i],width2[i],srho2,spion2,spim,rRes2,pro1);
350 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0; }
351 Com_Multi(pro0,pro1,pro);
353 for(
int a=0; a<4; a++)
355 temp_PDF += G[a][a]*t1d01[a]*t1rho2[a];
358 B[1] = Barrier(1,srho2,spion2,spim,rRes2);
359 B[2] = Barrier(1,sD,sa01,srho2,rD2);
360 tmp1 =
B[1]*
B[2]*temp_PDF;
361 amp_tmp1[0] = tmp1*pro[0];
362 amp_tmp1[1] = tmp1*pro[1];
365 if(g0[i]==1) propagatora0980(mass1[i],sa02,seta2,spion22,pro0);
366 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; }
367 if(
g1[i]==1) propagatorGS(mass2sq,mass2[i],width2[i],srho1,spion1,spim,rRes2,pro1);
368 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0; }
369 Com_Multi(pro0,pro1,pro);
371 for(
int a=0; a<4; a++)
373 temp_PDF += G[a][a]*t1d02[a]*t1rho1[a];
376 B[1] = Barrier(1,srho1,spion1,spim,rRes2);
377 B[2] = Barrier(1,sD,sa02,srho1,rD2);
378 tmp2 =
B[1]*
B[2]*temp_PDF;
379 amp_tmp2[0] = tmp2*pro[0];
380 amp_tmp2[1] = tmp2*pro[1];
384 if(g0[i]==1) propagatorGS(mass1sq,mass1[i],width1[i],srho1,spion1,spim,rRes2,pro0);
385 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; }
386 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],sa11,srho1,spion2,rRes2,g2[i],pro1);
387 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0; }
388 Com_Multi(pro0,pro1,pro);
390 B[0] = Barrier(1,srho1,spion1,spim,rRes2);
391 B[2] = Barrier(1,sD,sa11,seta,rD2);
394 for(
int a=0; a<4; a++)
396 for(
int j=0; j<4; j++)
398 temp_PDF += t1D[a]*(G[a][j]-pa11[a]*pa11[j]/sa11)*t1rho1[j]*G[a][a]*G[j][j];
401 tmp1 =
B[0]*
B[2]*temp_PDF;
415 amp_tmp1[0] = tmp1*pro[0];
416 amp_tmp1[1] = tmp1*pro[1];
419 if(g0[i]==1) propagatorGS(mass1sq,mass1[i],width1[i],srho2,spion2,spim,rRes2,pro0);
420 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; }
421 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],sa12,srho2,spion1,rRes2,g2[i],pro1);
422 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0; }
423 Com_Multi(pro0,pro1,pro);
425 B[0] = Barrier(1,srho2,spion2,spim,rRes2);
426 B[2] = Barrier(1,sD,sa12,seta,rD2);
429 for(
int a=0; a<4; a++)
431 for(
int j=0; j<4; j++)
433 temp_PDF += t1D[a]*(G[a][j]-pa12[a]*pa12[j]/sa12)*t1rho2[j]*G[a][a]*G[j][j];
436 tmp2 =
B[0]*
B[2]*temp_PDF;
450 amp_tmp2[0] = tmp2*pro[0];
451 amp_tmp2[1] = tmp2*pro[1];
455 if(g0[i]==1) propagatorsigma500(ssigma1,spion1,spim,pro0);
456 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; }
457 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],sa11,ssigma1,spion2,rRes2,1,pro1);
458 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0; }
461 Com_Multi(pro0,pro1,pro);
463 B[2] = Barrier(1,sD,sa11,seta,rD2);
464 B[1] = Barrier(1,sa11,ssigma1,spion2,rRes2);
465 for(
int a=0; a<4; a++)
467 temp_PDF += t1D[a]*t1a11[a]*G[a][a];
469 tmp1 =
B[1]*
B[2]*temp_PDF;
470 amp_tmp1[0] = tmp1*pro[0];
471 amp_tmp1[1] = tmp1*pro[1];
473 if(g0[i]==1) propagatorsigma500(ssigma2,spion2,spim,pro0);
474 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; }
475 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],sa12,ssigma2,spion1,rRes2,1,pro1);
476 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0; }
479 Com_Multi(pro0,pro1,pro);
481 B[2] = Barrier(1,sD,sa12,seta,rD2);
482 B[1] = Barrier(1,sa12,ssigma2,spion1,rRes2);
483 for(
int a=0; a<4; a++)
485 temp_PDF += t1D[a]*t1a12[a]*G[a][a];
487 tmp2 =
B[1]*
B[2]*temp_PDF;
488 amp_tmp2[0] = tmp2*pro[0];
489 amp_tmp2[1] = tmp2*pro[1];
493 if(g0[i]==1) propagatora0980(mass1[i],sa0m,spim2,seta2,pro0);
494 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; pro2[0]=1;pro2[1]=0;}
495 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],seta12951,sa0m,spion1,rRes2,0,pro1);
496 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0; pro3[0]=1; pro3[1]=0;}
497 Com_Multi(pro0,pro1,pro);
498 calt1(pf11,Pip2,t1D);
500 amp_tmp1[0] = tmp1*pro[0];
501 amp_tmp1[1] = tmp1*pro[1];
504 if(g0[i]==1) propagatora0980(mass1[i],sa0m,spim2,seta2,pro0);
505 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; pro2[0]=1; pro2[1]=0;}
506 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],seta12952,sa0m,spion2,rRes2,0,pro1);
507 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0; pro3[0]=1; pro3[1]=0;}
508 Com_Multi(pro0,pro1,pro);
509 calt1(pf12,Pip1,t1D);
511 amp_tmp2[0] = tmp2*pro[0];
512 amp_tmp2[1] = tmp2*pro[1];
516 if(g0[i]==1) propagatora0980(mass1[i],sa01,spion12,seta2,pro2);
517 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; pro2[0]=1;pro2[1]=0;}
518 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],seta12951,sa01,spim,rRes2,0,pro3);
519 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0; pro3[0]=1; pro3[1]=0;}
520 Com_Multi(pro2,pro3,pro4);
521 calt1(pf11,Pip2,t1D);
523 amp_tmp1[0] = tmp3*pro4[0];
524 amp_tmp1[1] = tmp3*pro4[1];
527 if(g0[i]==1) propagatora0980(mass1[i],sa02,spion22,seta2,pro2);
528 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; pro2[0]=1; pro2[1]=0;}
529 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],seta12952,sa02,spim,rRes2,0,pro3);
530 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0; pro3[0]=1; pro3[1]=0;}
531 Com_Multi(pro2,pro3,pro4);
532 calt1(pf12,Pip1,t1D);
534 amp_tmp2[0] = tmp4*pro4[0];
535 amp_tmp2[1] = tmp4*pro4[1];
539 if(g0[i]==1) propagatora0980(mass1[i],sa0m,spim2,seta2,pro0);
540 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; pro2[0]=1;pro2[1]=0;}
542 if(
g1[i]==1) { pro1[0] = 1; pro1[1] = 0; pro3[0]=1; pro3[1]=0;}
543 Com_Multi(pro0,pro1,pro);
544 calt1(pf11,Pip2,t1D);
546 amp_tmp1[0] = tmp1*pro[0];
547 amp_tmp1[1] = tmp1*pro[1];
549 if(g0[i]==1) propagatora0980(mass1[i],sa0m,spim2,seta2,pro0);
550 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; pro2[0]=1; pro2[1]=0;}
552 if(
g1[i]==1) { pro1[0] = 1; pro1[1] = 0; pro3[0]=1; pro3[1]=0;}
553 Com_Multi(pro0,pro1,pro);
554 calt1(pf12,Pip1,t1D);
556 amp_tmp2[0] = tmp2*pro[0];
557 amp_tmp2[1] = tmp2*pro[1];
562 if(g0[i]==1) propagatora0980(mass1[i],sa01,spion12,seta2,pro2);
563 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; pro2[0]=1;pro2[1]=0;}
565 if(
g1[i]==1) { pro1[0] = 1; pro1[1] = 0; pro3[0]=1; pro3[1]=0;}
566 Com_Multi(pro2,pro3,pro4);
567 calt1(pf11,Pip2,t1D);
569 amp_tmp1[0] = tmp3*pro4[0];
570 amp_tmp1[1] = tmp3*pro4[1];
572 if(g0[i]==1) propagatora0980(mass1[i],sa02,spion22,seta2,pro2);
573 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; pro2[0]=1; pro2[1]=0;}
575 if(
g1[i]==1) { pro1[0] = 1; pro1[1] = 0; pro3[0]=1; pro3[1]=0;}
576 Com_Multi(pro2,pro3,pro4);
577 calt1(pf12,Pip1,t1D);
579 amp_tmp2[0] = tmp4*pro4[0];
580 amp_tmp2[1] = tmp4*pro4[1];
584 if(g0[i]==1) propagator980(mass1[i],srho1,spion12,spim2,pro0);
585 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; }
587 if(
g1[i]==1) { pro1[0] = 1; pro1[1] = 0; }
588 Com_Multi(pro0,pro1,pro);
593 amp_tmp1[0] = tmp1*pro[0];
594 amp_tmp1[1] = tmp1*pro[1];
596 if(g0[i]==1) propagator980(mass1[i],srho2,spion22,spim2,pro0);
597 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; }
599 if(
g1[i]==1) { pro1[0] = 1; pro1[1] = 0; }
600 Com_Multi(pro0,pro1,pro);
604 calt1(pf12,Pip1,t1D);
606 amp_tmp2[0] = tmp2*pro[0];
607 amp_tmp2[1] = tmp2*pro[1];
611 if(g0[i]==1) propagatorsigma500(ssigma1,spion1,spim,pro0);
612 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; }
614 if(
g1[i]==1) { pro1[0] = 1; pro1[1] = 0; }
615 Com_Multi(pro0,pro1,pro);
616 calt1(pf11,Pip2,t1D);
618 amp_tmp1[0] = tmp1*pro[0];
619 amp_tmp1[1] = tmp1*pro[1];
621 if(g0[i]==1) propagatorsigma500(ssigma2,spion2,spim,pro0);
622 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; }
624 if(
g1[i]==1) { pro1[0] = 1; pro1[1] = 0; }
625 Com_Multi(pro0,pro1,pro);
626 calt1(pf12,Pip1,t1D);
628 amp_tmp2[0] = tmp2*pro[0];
629 amp_tmp2[1] = tmp2*pro[1];
634 if(g0[i]==1) propagatora0980(mass1[i],sa0m,seta2,spim2,pro0);
635 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0;pro2[0]=1;pro2[1]=0;}
636 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],sf11,sa0m,spion1,rRes2,1,pro1);
637 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0;pro3[0]=1;pro3[1]=0;}
638 Com_Multi(pro0,pro1,pro);
639 calt1(pf11,Pip2,t1D);
640 B[1] = Barrier(1,sf11,sa0m,spion1,rRes2);
641 B[2] = Barrier(1,sD,sf11,spion2,rD2);
642 for(
int a=0; a<4; a++)
644 temp_PDF += t1D[a]*t1f11[a]*G[a][a];
646 tmp1 =
B[1]*
B[2]*temp_PDF;
647 amp_tmp1[0] = tmp1*pro[0];
648 amp_tmp1[1] = tmp1*pro[1];
651 if(g0[i]==1) propagatora0980(mass1[i],sa0m,seta2,spim2,pro0);
652 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; pro2[0]=1; pro2[1]=0;}
653 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],sf12,sa0m,spion2,rRes2,1,pro1);
654 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0;pro3[0]=1;pro3[1]=0; }
655 Com_Multi(pro0,pro1,pro);
656 calt1(pf12,Pip1,t1D);
657 B[1] = Barrier(1,sf12,sa0m,spion2,rRes2);
658 B[2] = Barrier(1,sD,sf12,spion1,rD2);
659 for(
int a=0; a<4; a++)
661 temp_PDF += t1D[a]*t1f12[a]*G[a][a];
663 tmp2 =
B[1]*
B[2]*temp_PDF;
664 amp_tmp2[0] = tmp2*pro[0];
665 amp_tmp2[1] = tmp2*pro[1];
671 if(g0[i]==1) propagatora0980(mass1[i],sa01,seta2,spion12,pro2);
672 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0;pro2[0]=1;pro2[1]=0;}
673 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],sf11,sa01,spim,rRes2,1,pro3);
674 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0;pro3[0]=1;pro3[1]=0;}
675 Com_Multi(pro2,pro3,pro4);
676 calt1(pf11,Pip2,t1D);
677 Bc[1] = Barrier(1,sf11,sa01,spim,rRes2);
678 Bc[2] = Barrier(1,sD,sf11,spion2,rD2);
679 for(
int a=0; a<4; a++)
681 temp_PDF1 += t1D[a]*t1f11_2[a]*G[a][a];
683 tmp3 = Bc[1]*Bc[2]*temp_PDF1;
684 amp_tmp1[0] = tmp3*pro4[0];
685 amp_tmp1[1] = tmp3*pro4[1];
689 if(g0[i]==1) propagatora0980(mass1[i],sa02,seta2,spion22,pro2);
690 if(g0[i]==0) { pro0[0] = 1; pro0[1] = 0; pro2[0]=1; pro2[1]=0;}
691 if(
g1[i]==1) propagatorRBW(mass2sq,mass2[i],width2[i],sf12,sa02,spim,rRes2,1,pro3);
692 if(
g1[i]==0) { pro1[0] = 1; pro1[1] = 0;pro3[0]=1;pro3[1]=0; }
693 Com_Multi(pro2,pro3,pro4);
694 calt1(pf12,Pip1,t1D);
695 Bc[1] = Barrier(1,sf12,sa02,spim,rRes2);
696 Bc[2] = Barrier(1,sD,sf12,spion1,rD2);
697 for(
int a=0; a<4; a++)
699 temp_PDF1 += t1D[a]*t1f12_2[a]*G[a][a];
701 tmp4 = Bc[1]*Bc[2]*temp_PDF1;
702 amp_tmp2[0] = tmp4*pro4[0];
703 amp_tmp2[1] = tmp4*pro4[1];
706 amp_tmp[0] = amp_tmp1[0]+amp_tmp2[0];
707 amp_tmp[1] = amp_tmp1[1]+amp_tmp2[1];
708 Com_Multi(amp_tmp,cof,amp_PDF);
709 PDF[0] += amp_PDF[0];
710 PDF[1] += amp_PDF[1];
713 double value = PDF[0]*PDF[0] + PDF[1]*PDF[1];
720void EvtDsToEta3pi::Com_Multi(
double a1[2],
double a2[2],
double res[2])
722 res[0] = a1[0]*a2[0]-a1[1]*a2[1];
723 res[1] = a1[1]*a2[0]+a1[0]*a2[1];
725void EvtDsToEta3pi::Com_Divide(
double a1[2],
double a2[2],
double res[2])
727 double tmp = a2[0]*a2[0]+a2[1]*a2[1];
728 res[0] = (a1[0]*a2[0]+a1[1]*a2[1])/tmp;
729 res[1] = (a1[1]*a2[0]-a1[0]*a2[1])/tmp;
731double EvtDsToEta3pi::SCADot(
double a1[4],
double a2[4])
733 double _cal = a1[0]*a2[0]-a1[1]*a2[1]-a1[2]*a2[2]-a1[3]*a2[3];
736double EvtDsToEta3pi::Barrier(
int l,
double sa,
double sb,
double sc,
double r2)
739 double tmp = sa+sb-sc;
740 double q = 0.25*tmp*tmp/sa-sb;
741 if (
q < 0)
q = 1e-16;
744 F = sqrt(2.0*z/(1.0+z));
748 F = sqrt(13.0*z2/(9.0+3.0*z+z2));
754void EvtDsToEta3pi::calt1(
double daug1[4],
double daug2[4],
double t1[4])
758 for(
int i=0; i<4; i++) {
759 pa[i] = daug1[i] + daug2[i];
760 qa[i] = daug1[i] - daug2[i];
765 for(
int i=0; i<4; i++) {
766 t1[i] = qa[i] - tmp*pa[i];
770void EvtDsToEta3pi::calt2(
double daug1[4],
double daug2[4],
double t2[4][4])
774 calt1(daug1,daug2,t1);
776 for(
int i=0; i<4; i++)
778 pa[i] = daug1[i] + daug2[i];
781 for(
int i=0; i<4; i++)
783 for(
int j=0; j<4; j++)
785 t2[i][j] = t1[i]*t1[j] - 1.0/3*r*(G[i][j]-pa[i]*pa[j]/p);
790void EvtDsToEta3pi::propagator(
double mass2,
double mass,
double width,
double sx,
double prop[2])
797 Com_Divide(a,
b,prop);
799double EvtDsToEta3pi::wid(
double mass2,
double mass,
double sa,
double sb,
double sc,
double r2,
int l)
804 double tmp1 = sa+tmp;
805 double q = 0.25*tmp1*tmp1/sa-sb;
807 double tmp2 = mass2+tmp;
808 double q0 = 0.25*tmp2*tmp2/mass2-sb;
813 if(l == 0) {widm = sqrt(
t)*
mass/m;}
814 else if(l == 1) {widm =
t*sqrt(
t)*
mass/m*(1+z0)/(1+z);}
815 else if(l == 2) {widm =
t*
t*sqrt(
t)*
mass/m*(9+3*z0+z0*z0)/(9+3*z+z*z);}
818double EvtDsToEta3pi::widl1(
double mass2,
double mass,
double sa,
double sb,
double sc,
double r2)
823 double tmp1 = sa+tmp;
824 double q = 0.25*tmp1*tmp1/sa-sb;
826 double tmp2 = mass2+tmp;
827 double q0 = 0.25*tmp2*tmp2/mass2-sb;
831 double F = (1+z0)/(1+z);
833 widm =
t*sqrt(
t)*
mass/m*F;
836void EvtDsToEta3pi::propagatorRBW(
double mass2,
double mass,
double width,
double sa,
double sb,
double sc,
double r2,
int l,
double prop[2])
842 b[1] = -
mass*width*wid(mass2,
mass,sa,sb,sc,r2,l);
843 Com_Divide(a,
b,prop);
847void EvtDsToEta3pi::propagatorGS(
double mass2,
double mass,
double width,
double sa,
double sb,
double sc,
double r2,
double prop[2])
851 double tmp1 = sa+tmp;
852 double q2 = 0.25*tmp1*tmp1/sa-sb;
855 double tmp2 = mass2+tmp;
856 double q02 = 0.25*tmp2*tmp2/mass2-sb;
857 if(q02<0) q02 = 1e-16;
860 double q0 = sqrt(q02);
863 double tmp3 = log(
mass+2*q0)+1.2760418309;
865 double h = GS1*
q/m*(log(m+2*
q)+1.2760418309);
866 double h0 = GS1*q0/
mass*tmp3;
867 double dh = h0*(0.125/q02-0.5/mass2)+GS3/mass2;
868 double d = GS2/q02*tmp3+GS3*
mass/q0-GS4*
mass/q03;
869 double f = mass2/q03*(q2*(h-h0)+(mass2-sa)*q02*dh);
871 a[0] = 1.0+d*width/
mass;
873 b[0] = mass2-sa+width*
f;
874 b[1] = -
mass*width*widl1(mass2,
mass,sa,sb,sc,r2);
875 Com_Divide(a,
b,prop);
877void EvtDsToEta3pi::rhoab(
double sa,
double sb,
double sc,
double res[2]) {
878 double tmp = sa+sb-sc;
879 double q = 0.25*tmp*tmp/sa-sb;
881 res[0]=2.0*sqrt(
q/sa);
885 res[1]=2.0*sqrt(-
q/sa);
888void EvtDsToEta3pi::rho4Pi(
double sa,
double res[2]) {
889 double temp = 1.0-0.3116765584/sa;
891 res[0]=sqrt(temp)/(1.0+
exp(9.8-3.5*sa));
895 res[1]=sqrt(-temp)/(1.0+
exp(9.8-3.5*sa));
898void EvtDsToEta3pi::propagatorsigma500(
double sa,
double sb,
double sc,
double prop[2]) {
899 double f = 0.5843+1.6663*sa;
900 const double M = 0.9264;
901 const double mass2 = 0.85821696;
902 const double mpi2d2 = 0.00973989245;
903 double g1 =
f*(sa-mpi2d2)/(mass2-mpi2d2)*
exp((mass2-sa)/1.082);
904 double rho1s[2], rho1M[2], rho2s[2], rho2M[2], rho1[2], rho2[2];
905 rhoab(sa,sb,sc,rho1s);
906 rhoab(mass2,sb,sc,rho1M);
909 Com_Divide(rho1s,rho1M,rho1);
910 Com_Divide(rho2s,rho2M,rho2);
914 b[0] = mass2-sa+M*(
g1*rho1[1]+0.0024*rho2[1]);
915 b[1] = -M*(
g1*rho1[0]+0.0024*rho2[0]);
916 Com_Divide(a,
b,prop);
918void EvtDsToEta3pi::propagatora0_980(
double mass2,
double mass,
double width,
double sa,
double sb,
double sc,
int charge,
double prop[2]){
920 double rho[2], rhoKsK[2];
923 qKsK = 0.25*sa-0.2437199424;
926 double tmp1 = sa+3.899750596e-03;
927 qKsK = 0.25*tmp1*tmp1/sa-0.247619692996;
930 rhoKsK[0] = 2*sqrt(qKsK/sa);
935 rhoKsK[1] = 2*sqrt(-qKsK/sa);
940 b[0] = mass2-sa+0.341*rho[1]+0.304172*rhoKsK[1];
941 b[1] = -0.341*rho[0]-0.304172*rhoKsK[0];
942 Com_Divide(a,
b,prop);
944void EvtDsToEta3pi::Flatte_rhoab(
double sa,
double sb,
double sc,
double rho[2])
946 double q = (sa+sb-sc)*(sa+sb-sc)/(4*sa)-sb;
949 rho[0]=2* sqrt(
q/sa);
954 rho[1]=2*sqrt(-
q/sa);
957void EvtDsToEta3pi::propagator980(
double mass,
double sx,
double *sb,
double *sc,
double prop[2])
959 double unit[2]={1.0};
962 Flatte_rhoab(sx,sb[0],sc[0],rho1);
964 Flatte_rhoab(sx,sb[1],sc[1],rho2);
966 double gK_f980=0.69466, gPi_f980=0.165;
967 double tmp1[2]={gK_f980,0};
969 double tmp2[2]={gPi_f980,0};
971 Com_Multi(tmp1,rho1,tmp11);
972 Com_Multi(tmp2,rho2,tmp22);
973 double tmp3[2]={tmp11[0]+tmp22[0],tmp11[1]+tmp22[1]};
975 Com_Multi(tmp3, ci,tmp31);
976 double tmp4[2]={
mass*
mass-sx-tmp31[0], -1.0*tmp31[1]};
977 Com_Divide(
unit,tmp4, prop);
980void EvtDsToEta3pi::propagatora0980(
double mass,
double sx,
double *sb,
double *sc,
double prop[2])
982 double unit[2]={1.0};
985 Flatte_rhoab(sx,sb[0],sc[0],rho1);
987 Flatte_rhoab(sx,sb[1],sc[1],rho2);
989 double gKK_a980=0.892*0.341, gPiEta_a980=0.341;
990 double tmp1[2]={gKK_a980,0};
992 double tmp2[2]={gPiEta_a980,0};
994 Com_Multi(tmp1,rho1,tmp11);
995 Com_Multi(tmp2,rho2,tmp22);
996 double tmp3[2]={tmp11[0]+tmp22[0],tmp11[1]+tmp22[1]};
998 Com_Multi(tmp3, ci,tmp31);
999 double tmp4[2]={
mass*
mass-sx-tmp31[0], -1.0*tmp31[1]};
1000 Com_Divide(
unit,tmp4, prop);
double sin(const BesAngle a)
double cos(const BesAngle a)
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
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 !Latex Output unit
****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
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
void checkNDaug(int d1, int d2=-1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
void setProb(double prob)
void getName(std::string &name)
void decay(EvtParticle *p)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)