39 model_name=
"D0ToKSLKK";
65 rho[1] = 0.5567227875;
70 phi[4] = -0.7616302559;
79 if(Uspin==1&&Daug0Id==130){
117 mass_Pion2 = 0.0194797849;
118 mass_2Pion = 0.27914;
119 math_2pi = 6.2831852;
133 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
134 for (
int i=0; i<4; i++) {
135 for (
int j=0; j<4; j++) {
144 else if(Daug0Id==130&&Uspin==1)
setProbMax(1785.0);
209 double P1[4], P2[4], P3[4];
210 P1[0] = D1.
get(0); P1[1] = D1.
get(1); P1[2] = D1.
get(2); P1[3] = D1.
get(3);
211 P2[0] = D2.
get(0); P2[1] = D2.
get(1); P2[2] = D2.
get(2); P2[3] = D2.
get(3);
212 P3[0] = D3.
get(0); P3[1] = D3.
get(1); P3[2] = D3.
get(2); P3[3] = D3.
get(3);
223 if(Daug0Id==310) SorL =
true;
else SorL =
false;
225 int spin[5]={0,1,0,0,1};
227 int g0[5]={5,1,3,1,5};
228 double r0[5] = {3,3,3,3,3};
229 double r1[5] = {5,5,5,5,5};
231 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, r0, r1, value, 0, nstates,charge,SorL);
232 }
else if((!SorL)&&Uspin==1){
233 int g0[5]={5,1,3,1,5};
234 double r0[5] = {-1.566394443,-1.33043736,3,3,3};
235 double r1[5] = {0.1844175671,-1.397710917,5,5,5};
237 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, r0, r1, value, 0, nstates,charge,SorL);
239 int g0[5]={5,1,3,1,5};
240 double r0[5] = {3,3,3,3,3};
241 double r1[5] = {5,5,5,5,5};
243 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, r0, r1, value, 0, nstates,charge,SorL);
252void EvtD0ToKSLKK::Com_Multi(
double a1[2],
double a2[2],
double res[2])
254 res[0] = a1[0]*a2[0]-a1[1]*a2[1];
255 res[1] = a1[1]*a2[0]+a1[0]*a2[1];
257void EvtD0ToKSLKK::Com_Divide(
double a1[2],
double a2[2],
double res[2])
259 double tmp = a2[0]*a2[0]+a2[1]*a2[1];
260 res[0] = (a1[0]*a2[0]+a1[1]*a2[1])/tmp;
261 res[1] = (a1[1]*a2[0]-a1[0]*a2[1])/tmp;
264double EvtD0ToKSLKK::SCADot(
double a1[4],
double a2[4])
266 double _cal = a1[0]*a2[0]-a1[1]*a2[1]-a1[2]*a2[2]-a1[3]*a2[3];
269double EvtD0ToKSLKK::barrier(
int l,
double sa,
double sb,
double sc,
double r,
double mass)
271 double q = (sa+sb-sc)*(sa+sb-sc)/(4*sa)-sb;
278 double q0 = (sa0+sb-sc)*(sa0+sb-sc)/(4*sa0)-sb;
284 if(l == 1) F = sqrt((1+z0)/(1+z));
285 if(l == 2) F = sqrt((9+3*z0+z0*z0)/(9+3*z+z*z));
289void EvtD0ToKSLKK::calt1(
double daug1[4],
double daug2[4],
double t1[4])
293 for(
int i=0; i<4; i++) {
294 pa[i] = daug1[i] + daug2[i];
295 qa[i] = daug1[i] - daug2[i];
300 for(
int i=0; i<4; i++) {
301 t1[i] = qa[i] - tmp*pa[i];
304void EvtD0ToKSLKK::calt2(
double daug1[4],
double daug2[4],
double t2[4][4])
308 calt1(daug1,daug2,t1);
309 r = SCADot(t1,t1)/3.0;
310 for(
int i=0; i<4; i++) {
311 pa[i] = daug1[i] + daug2[i];
314 for(
int i=0; i<4; i++) {
315 for(
int j=0; j<4; j++) {
316 t2[i][j] = t1[i]*t1[j] - r*(G[i][j]-pa[i]*pa[j]/p);
321void EvtD0ToKSLKK::propagatorCBW(
double mass,
double width,
double sx,
double prop[2])
328 Com_Divide(a,
b,prop);
330double EvtD0ToKSLKK::wid(
double mass2,
double mass,
double sa,
double sb,
double sc,
double r2,
int l)
335 double tmp1 = sa+tmp;
336 double q = 0.25*tmp1*tmp1/sa-sb;
339 double tmp2 = mass2+tmp;
340 double q0 = 0.25*tmp2*tmp2/mass2-sb;
346 if(l == 0) {widm = sqrt(
t)*
mass/m;}
347 else if(l == 1) {widm =
t*sqrt(
t)*
mass/m*(1+z0)/(1+z);}
348 else if(l == 2) {widm =
t*
t*sqrt(
t)*
mass/m*(9+3*z0+z0*z0)/(9+3*z+z*z);}
351double EvtD0ToKSLKK::widl1(
double mass2,
double mass,
double sa,
double sb,
double sc,
double r2)
356 double tmp1 = sa+tmp;
357 double q = 0.25*tmp1*tmp1/sa-sb;
360 double tmp2 = mass2+tmp;
361 double q0 = 0.25*tmp2*tmp2/mass2-sb;
366 double F = (1+z0)/(1+z);
368 widm =
t*sqrt(
t)*
mass/m*F;
371void EvtD0ToKSLKK::propagatorRBW(
double mass,
double width,
double sa,
double sb,
double sc,
double r2,
int l,
double prop[2])
379 b[1] = -
mass*width*wid(mass2,mass,sa,sb,sc,r2,l);
380 Com_Divide(a,
b,prop);
383void EvtD0ToKSLKK::propagatorFlatte(
double mass,
double width,
double sa,
double prop[2]){
386 double rhoPi[2], rhoKa[2];
388 q2_Pi = 0.25*sa-mPi*mPi;
389 q2_Ka = 0.25*sa-mKa*mKa;
392 rhoPi[0] = 2.0*sqrt(q2_Pi/sa);
397 rhoPi[1] = 2.0*sqrt(-q2_Pi/sa);
401 rhoKa[0] = 2.0*sqrt(q2_Ka/sa);
406 rhoKa[1] = 2.0*sqrt(-q2_Ka/sa);
426 b[0] =
mass*
mass - sa + 0.165*rhoPi[1] + 0.69465*rhoKa[1];
427 b[1] = - (0.165*rhoPi[0] + 0.69465*rhoKa[0]);
428 Com_Divide(a,
b,prop);
434void EvtD0ToKSLKK::propagatorGS(
double mass,
double width,
double sa,
double sb,
double sc,
double r2,
double prop[2])
439 double tmp1 = sa+tmp;
440 double q2 = 0.25*tmp1*tmp1/sa-sb;
444 double tmp2 = mass2+tmp;
445 double q02 = 0.25*tmp2*tmp2/mass2-sb;
447 if(q02<0) q02 = -q02;
450 double q0 = sqrt(q02);
453 double tmp3 = log(mass+2*q0)+1.2760418309;
455 double h = GS1*
q/m*(log(m+2*
q)+1.2760418309);
456 double h0 = GS1*q0/
mass*tmp3;
457 double dh = h0*(0.125/q02-0.5/mass2)+GS3/mass2;
458 double d = GS2/q02*tmp3+GS3*
mass/q0-GS4*
mass/q03;
459 double f = mass2/q03*(q2*(h-h0)+(mass2-sa)*q02*dh);
461 a[0] = 1.0+d*width/
mass;
463 b[0] = mass2-sa+width*
f;
464 b[1] = -
mass*width*widl1(mass2,mass,sa,sb,sc,r2);
465 Com_Divide(a,
b,prop);
467void EvtD0ToKSLKK::KPiSLASS(
double sa,
double sb,
double sc,
double prop[2]) {
468 const double m1430 = 1.441;
469 const double sa0 = 2.076481;
470 const double w1430 = 0.193;
471 const double Lass1 = 0.25/sa0;
473 double tmp1 = sa0+tmp;
474 double q0 = Lass1*tmp1*tmp1-sb;
477 double tmp2 = sa+tmp;
478 double qs = 0.25*tmp2*tmp2/sa-sb;
480 double width = w1430*
q*m1430/sqrt(sa*q0);
481 double temp_R = atan(m1430*width/(sa0-sa));
482 if(temp_R<0) temp_R += math_pi;
483 double deltaR = -109.7*math_pi/180.0 + temp_R;
484 double temp_F = atan(0.226*
q/(2.0-3.8194*qs));
485 if(temp_F<0) temp_F += math_pi;
486 double deltaF = 0.1*math_pi/180.0 + temp_F;
487 double deltaS = deltaR + 2.0*deltaF;
488 double t1 = 0.96*
sin(deltaF);
489 double t2 =
sin(deltaR);
495 prop[0] = t1*CF[0] + t2*
CS[0];
496 prop[1] = t1*CF[1] + t2*
CS[1];
499void EvtD0ToKSLKK::Flatte_rhoab(
double sa,
double sb,
double sc,
double rho[2]){
500 double q = (sa+sb-sc)*(sa+sb-sc)/(4*sa)-sb;
502 rho[0]=2* sqrt(
q/sa);
507 rho[1]=2*sqrt(-
q/sa);
511void EvtD0ToKSLKK::propagatorKstr1430(
double mass,
double sx,
double *sb,
double *sc,
double prop[2])
513 double unit[2]={1.0};
516 Flatte_rhoab(sx,sb[0],sc[0],rho1);
518 Flatte_rhoab(sx,sb[1],sc[1],rho2);
519 double gKPi_Kstr1430=0.2990, gEtaPK_Kstr1430=0.0529;
520 double tmp1[2]={gKPi_Kstr1430,0};
522 double tmp2[2]={gEtaPK_Kstr1430,0};
524 Com_Multi(tmp1,rho1,tmp11);
525 Com_Multi(tmp2,rho2,tmp22);
526 double tmp3[2]={tmp11[0]+tmp22[0],tmp11[1]+tmp22[1]};
528 Com_Multi(tmp3, ci,tmp31);
529 double tmp4[2]={
mass*
mass-sx-tmp31[0], -1.0*tmp31[1]};
530 Com_Divide(
unit,tmp4, prop);
533void EvtD0ToKSLKK::propagatora0980p(
double mass,
double sx,
double *sb,
double *sc,
double prop[2])
535 double unit[2]={1.0};
538 Flatte_rhoab(sx,sb[0],sc[0],rho1);
540 Flatte_rhoab(sx,sb[1],sc[1],rho2);
541 double gKK_a0980p=0.341*0.892, gEtapi_a0980p=0.341;
542 double tmp1[2]={gKK_a0980p,0};
544 double tmp2[2]={gEtapi_a0980p,0};
546 Com_Multi(tmp1,rho1,tmp11);
547 Com_Multi(tmp2,rho2,tmp22);
548 double tmp3[2]={tmp11[0]+tmp22[0],tmp11[1]+tmp22[1]};
550 Com_Multi(tmp3, ci,tmp31);
551 double tmp4[2]={
mass*
mass-sx-tmp31[0], -1.0*tmp31[1]};
552 Com_Divide(
unit,tmp4, prop);
555void EvtD0ToKSLKK::propagatora0980pfloated(
double mass,
double sx,
double *sb,
double *sc,
double gKK,
double prop[2])
557 double unit[2]={1.0};
560 Flatte_rhoab(sx,sb[0],sc[0],rho1);
562 Flatte_rhoab(sx,sb[1],sc[1],rho2);
563 double gKK_a0980p=0.341*gKK, gEtapi_a0980p=0.341;
564 double tmp1[2]={gKK_a0980p,0};
566 double tmp2[2]={gEtapi_a0980p,0};
568 Com_Multi(tmp1,rho1,tmp11);
569 Com_Multi(tmp2,rho2,tmp22);
570 double tmp3[2]={tmp11[0]+tmp22[0],tmp11[1]+tmp22[1]};
572 Com_Multi(tmp3, ci,tmp31);
573 double tmp4[2]={
mass*
mass-sx-tmp31[0], -1.0*tmp31[1]};
574 Com_Divide(
unit,tmp4, prop);
578void EvtD0ToKSLKK::propagatora0980wm(
double mass,
double width,
double sx,
double sb,
double sc,
double prop[2])
580 double unit[2]={1.0};
583 double tmp1[2]={
mass,0};
584 double tmp2[2]={width,0};
585 double tmp11[2],tmp22[2];
586 Flatte_rhoab(sx,sb,sc,rho1);
587 Com_Multi(tmp1,rho1,tmp11);
588 Com_Multi(tmp11,tmp2,tmp22);
590 Com_Multi(tmp22, ci,tmp3);
591 double tmp4[2]={
mass*
mass-sx-tmp3[0], -1.0*tmp3[1]};
592 Com_Divide(
unit,tmp4, prop);
595void EvtD0ToKSLKK::propagatora09800(
double mass,
double sx,
double *sb,
double *sc,
double prop[2])
597 double unit[2]={1.0};
600 Flatte_rhoab(sx,sb[0],sc[0],rho1);
602 Flatte_rhoab(sx,sb[1],sc[1],rho2);
604 Flatte_rhoab(sx,sb[2],sc[2],rho3);
605 double gKK_a09800=0.341*0.892, gEtapi_a09800=0.341, gK0K0_a09800=0.341*0.892;
606 double tmp1[2]={gKK_a09800,0};
608 double tmp2[2]={gEtapi_a09800,0};
610 double tmp3[2]={gK0K0_a09800,0};
612 Com_Multi(tmp1,rho1,tmp11);
613 Com_Multi(tmp2,rho2,tmp22);
614 Com_Multi(tmp3,rho3,tmp33);
615 double tmp4[2]={tmp11[0]+tmp22[0]+tmp33[0],tmp11[1]+tmp22[1]+tmp33[1]};
617 Com_Multi(tmp4, ci,tmp41);
618 double tmp5[2]={
mass*
mass-sx-tmp41[0], -1.0*tmp41[1]};
619 Com_Divide(
unit,tmp5, prop);
622void EvtD0ToKSLKK::propagatora09800floated(
double mass,
double sx,
double *sb,
double *sc,
double gKK,
double prop[2])
624 double unit[2]={1.0};
627 Flatte_rhoab(sx,sb[0],sc[0],rho1);
629 Flatte_rhoab(sx,sb[1],sc[1],rho2);
631 Flatte_rhoab(sx,sb[2],sc[2],rho3);
632 double gKK_a09800=0.341*gKK, gEtapi_a09800=0.341, gK0K0_a09800=0.341*gKK;
633 double tmp1[2]={gKK_a09800,0};
635 double tmp2[2]={gEtapi_a09800,0};
637 double tmp3[2]={gK0K0_a09800,0};
639 Com_Multi(tmp1,rho1,tmp11);
640 Com_Multi(tmp2,rho2,tmp22);
641 Com_Multi(tmp3,rho3,tmp33);
642 double tmp4[2]={tmp11[0]+tmp22[0]+tmp33[0],tmp11[1]+tmp22[1]+tmp33[1]};
644 Com_Multi(tmp4, ci,tmp41);
645 double tmp5[2]={
mass*
mass-sx-tmp41[0], -1.0*tmp41[1]};
646 Com_Divide(
unit,tmp5, prop);
652void EvtD0ToKSLKK::propagatora098002channel(
double mass,
double sx,
double *sb,
double *sc,
double prop[2])
654 double unit[2]={1.0};
657 Flatte_rhoab(sx,sb[0],sc[0],rho1);
659 Flatte_rhoab(sx,sb[1],sc[1],rho2);
660 double gKK_a09800=0.341*0.892, gEtapi_a09800=0.341;
661 double tmp1[2]={gKK_a09800,0};
663 double tmp2[2]={gEtapi_a09800,0};
665 Com_Multi(tmp1,rho1,tmp11);
666 Com_Multi(tmp2,rho2,tmp22);
667 double tmp4[2]={tmp11[0]+tmp22[0],tmp11[1]+tmp22[1]};
669 Com_Multi(tmp4, ci,tmp41);
670 double tmp5[2]={
mass*
mass-sx-tmp41[0], -1.0*tmp41[1]};
671 Com_Divide(
unit,tmp5, prop);
675void EvtD0ToKSLKK::rhoab(
double sa,
double sb,
double sc,
double res[2]) {
676 double tmp = sa+sb-sc;
677 double q = 0.25*tmp*tmp/sa-sb;
679 res[0]=2.0*sqrt(
q/sa);
683 res[1]=2.0*sqrt(-
q/sa);
686void EvtD0ToKSLKK::rho4Pi(
double sa,
double res[2]) {
687 double temp = 1.0-0.3116765584/sa;
689 res[0]=sqrt(temp)/(1.0+
exp(9.8-3.5*sa));
693 res[1]=sqrt(-temp)/(1.0+
exp(9.8-3.5*sa));
697void EvtD0ToKSLKK::propagatorsigma500(
double sa,
double sb,
double sc,
double prop[2]) {
698 double f = 0.5843+1.6663*sa;
699 const double M = 0.9264;
700 const double mass2 = 0.85821696;
701 const double mpi2d2 = 0.00973989245;
702 double g1 =
f*(sa-mpi2d2)/(mass2-mpi2d2)*
exp((mass2-sa)/1.082);
703 double rho1s[2], rho1M[2], rho2s[2], rho2M[2], rho1[2], rho2[2];
704 rhoab(sa,sb,sc,rho1s);
705 rhoab(mass2,sb,sc,rho1M);
708 Com_Divide(rho1s,rho1M,rho1);
709 Com_Divide(rho2s,rho2M,rho2);
713 b[0] = mass2-sa+M*(
g1*rho1[1]+0.0024*rho2[1]);
714 b[1] = -M*(
g1*rho1[0]+0.0024*rho2[0]);
715 Com_Divide(a,
b,prop);
718void EvtD0ToKSLKK::getprop(
double sa,
double sb,
double sc,
double mass,
double width,
double prop[2]){
719 double prop1[2], prop2[2];
720 propagatorGS(mass,width,sa,sb,sc,9.0,prop1);
721 propagatorRBW(0.783,0.008,sa,sb,sc,3.0,1,prop2);
722 double coef_omega[2];
723 coef_omega[0] = rho_omega*
cos(phi_omega),
724 coef_omega[1] = rho_omega*
sin(phi_omega);
727 Com_Multi(coef_omega,prop2,temp);
728 temp[0] =
one[0] + 0.783*0.783*temp[0];
729 temp[1] =
one[1] + 0.783*0.783*temp[1];
730 Com_Multi(prop1,temp,prop);
732double EvtD0ToKSLKK::DDalitz(
double P1[4],
double P2[4],
double P3[4],
int Ang,
double mass){
734 double temp_PDF, v_re;
737 double B[2], s1, s2, s3, sR, sD;
738 for(
int i=0; i<4; i++){
739 pR[i] = P1[i] + P2[i];
740 pD[i] = pR[i] + P3[i];
748 for(
int i=0; i!=4; i++){
749 for(
int j=0; j!=4; j++){
751 if(i==0) G[i][j] = 1;
763 B[0] = barrier(1,sR,s1,s2,3.0,mass);
764 B[1] = barrier(1,sD,sR,s3,5.0,mDM);
771 for(
int i=0; i<4; i++){
772 temp_PDF += t1[i]*T1[i]*G[i][i];
776 B[0] = barrier(2,sR,s1,s2,3.0,mass);
777 B[1] = barrier(2,sD,sR,s3,5.0,mDM);
780 double t2[4][4], T2[4][4];
784 for(
int i=0; i<4; i++){
785 for(
int j=0; j<4; j++){
786 temp_PDF += t2[i][j]*T2[j][i]*G[i][i]*G[j][j];
790 v_re = temp_PDF*
B[0]*
B[1];
794void EvtD0ToKSLKK::calPDF(
double *Ks0,
double *K1,
double *K2,
double* mass1,
double* width1,
795 double* amp,
double* phase,
796 int* g0,
int* spin,
int* modetype,
797 double* r0,
double* r1,
int first,
int last,
double PDF[2])
799 double P12[4], P23[4], P13[4];
800 double cof[2], amp_PDF[2];
802 for(
int i=0; i<4; i++){
803 P12[i] = K1[i] + Ks0[i];
804 P13[i] = K2[i] + Ks0[i];
805 P23[i] = K1[i] + K2[i];
809 s12 = SCADot(P12,P12);
810 s13 = SCADot(P13,P13);
811 s23 = SCADot(P23,P23);
813 s1 = SCADot(Ks0,Ks0);
816 double pro[2], temp_PDF, amp_tmp[2];
829 for(
int i=first; i<last; i++) {
833 cof[0] = amp[i]*
cos(phase[i]);
834 cof[1] = amp[i]*
sin(phase[i]);
838 if(modetype[i] == 12){
839 temp_PDF = DDalitz(Ks0, K1, K2, spin[i], mass1[i]);
840 if(g0[i]==1) propagatorRBW(mass1[i],width1[i],
s12,mass_KS*mass_KS,mKa2,rRes2,spin[i],pro);
842 double s11[2]={mass_KS*mass_KS,
mPi*
mPi};
843 double s22[2]={mKa*mKa, mEta*mEta};
844 propagatora0980p(mass1[i],
s12,s11,s22,pro);
846 if(g0[i]==3) propagatora0980wm(mass1[i],width1[i],
s12,mass_KS*mass_KS,mKa*mKa,pro);
851 amp_tmp[0] = temp_PDF*pro[0];
852 amp_tmp[1] = temp_PDF*pro[1];
857 if(modetype[i] == 13){
858 temp_PDF = DDalitz(Ks0, K2, K1, spin[i], mass1[i]);
859 if(g0[i]==1) propagatorRBW(mass1[i],width1[i],s13,mass_KS*mass_KS,mKa2,rRes2,spin[i],pro);
861 double s11[2]={mass_KS*mass_KS,
mPi*
mPi};
862 double s22[2]={mKa*mKa, mEta*mEta};
863 propagatora0980p(mass1[i],s13,s11,s22,pro);
865 if(g0[i]==3) propagatora0980wm(mass1[i],width1[i],s13,mass_KS*mass_KS,mKa*mKa,pro);
867 double s11[2]={mass_KS*mass_KS,
mPi*
mPi};
868 double s22[2]={mKa*mKa, mEta*mEta};
869 propagatora0980pfloated(mass1[i],s13,s11,s22,r0[i],pro);
871 if(g0[i]==5) propagatorGS(mass1[i],width1[i],s13,mass_KS*mass_KS,mKa2,rRes2,pro);
877 amp_tmp[0] = temp_PDF*pro[0];
878 amp_tmp[1] = temp_PDF*pro[1];
882 if(modetype[i] == 23){
883 temp_PDF = DDalitz(K1, K2, Ks0, spin[i], mass1[i]);
888 if(g0[i]==1) propagatorRBW(mass1[i],width1[i],
s23,mKa2,mKa2,rRes2,spin[i],pro);
890 double s11[3]={mKa*mKa,
mPi*
mPi, mass_KS*mass_KS};
891 double s22[3]={mKa*mKa, mEta*mEta, mass_KS*mass_KS};
892 propagatora09800(mass1[i],
s23,s11,s22,pro);
895 double s11[3]={mKa*mKa,
mPi*
mPi};
896 double s22[3]={mKa*mKa, mEta*mEta};
897 propagatora098002channel(mass1[i],
s23,s11,s22,pro);
899 if(g0[i]==4){ propagatorFlatte(mass1[i],width1[i],
s23,pro); }
900 if(g0[i]==5) propagatora0980wm(mass1[i],width1[i],
s23,mKa*mKa,mKa*mKa,pro);
902 double s11[3]={mKa*mKa,
mPi*
mPi, mass_KS*mass_KS};
903 double s22[3]={mKa*mKa, mEta*mEta, mass_KS*mass_KS};
904 propagatora09800floated(mass1[i],
s23,s11,s22,r0[i],pro);
906 amp_tmp[0] = temp_PDF*pro[0];
907 amp_tmp[1] = temp_PDF*pro[1];
911 if(modetype[i] == 232){
912 temp_PDF = DDalitz(K1, K2, Ks0, spin[i], mass1[i]);
917 if(g0[i]==1) propagatorRBW(mass1[i],width1[i],
s23,mKa2,mKa2,rRes2,spin[i],pro);
919 double s11[3]={mKa*mKa,
mPi*
mPi, mass_KS*mass_KS};
920 double s22[3]={mKa*mKa, mEta*mEta, mass_KS*mass_KS};
921 propagatora09800(mass1[i],
s23,s11,s22,pro);
924 double s11[3]={mKa*mKa,
mPi*
mPi};
925 double s22[3]={mKa*mKa, mEta*mEta};
926 propagatora098002channel(mass1[i],
s23,s11,s22,pro);
928 if(g0[i]==4){ propagatorFlatte(mass1[i],width1[i],
s23,pro); }
929 if(g0[i]==5) propagatora0980wm(mass1[i],width1[i],
s23,mKa*mKa,mKa*mKa,pro);
931 double s11[3]={mKa*mKa,
mPi*
mPi, mass_KS*mass_KS};
932 double s22[3]={mKa*mKa, mEta*mEta, mass_KS*mass_KS};
933 propagatora09800floated(mass1[i],
s23,s11,s22,r0[i],pro);
935 if(g0[i]==7) propagatorGS(mass1[i],width1[i],
s23,mKa*mKa,mKa2,rRes2,pro);
937 double uspinbr[2], coff[2];
938 coff[0] = r0[i]*
cos(r1[i]);
939 coff[1] = r0[i]*
sin(r1[i]);
942 uspinbr[0] =
unit[0] - 2*((0.22650*0.22650)/(1.-(0.22650*0.22650)))*coff[0];
943 uspinbr[1] =
unit[1] - 2*((0.22650*0.22650)/(1.-(0.22650*0.22650)))*coff[1];
946 amp_tmpp[0] = temp_PDF*pro[0];
947 amp_tmpp[1] = temp_PDF*pro[1];
949 Com_Multi(uspinbr,amp_tmpp,amp_tmp);
952 if(modetype[i] == 100){
964 Com_Multi(amp_tmp,cof,amp_PDF);
965 PDF[0] += amp_PDF[0];
966 PDF[1] += amp_PDF[1];
972void EvtD0ToKSLKK::calEva(
double* Ks0,
double* K1,
double* K2,
double* mass1,
double* width1,
double* amp,
double* phase,
int* g0,
int* spin,
int* modetype,
double* r0,
double* r1,
double &Result,
int first,
int last,
int charge,
bool SorL)
974 double PDFD0[2],PDFD0bar[2];
976 calPDF(Ks0,K1,K2,mass1,width1,amp,phase,g0,spin,modetype,r0,r1,first,last,PDFD0);
977 Ks0[0]= Ks0[0]; Ks0[1]= (-1.0)*Ks0[1]; Ks0[2]= (-1.0)*Ks0[2]; Ks0[3]= (-1.0)*Ks0[3];
978 K1[0] = K1[0]; K1[1] = (-1.0)*K1[1]; K1[2] = (-1.0)*K1[2]; K1[3] = (-1.0)*K1[3];
979 K2[0] = K2[0]; K2[1] = (-1.0)*K2[1]; K2[2] = (-1.0)*K2[2]; K2[3] = (-1.0)*K2[3];
982 calPDF(Ks0,K1,K2,mass1,width1,amp,phase,g0,spin,modetype,r0,r1,first,last,PDFD0bar);
985 calPDF(Ks0,K1,K2,mass1,width1,amp,phase,g0,spin,modetype,r0,r1,first,last,PDFD0bar);
986 Ks0[0]= Ks0[0]; Ks0[1]= (-1.0)*Ks0[1]; Ks0[2]= (-1.0)*Ks0[2]; Ks0[3]= (-1.0)*Ks0[3];
987 K1[0] = K1[0]; K1[1] = (-1.0)*K1[1]; K1[2] = (-1.0)*K1[2]; K1[3] = (-1.0)*K1[3];
988 K2[0] = K2[0]; K2[1] = (-1.0)*K2[1]; K2[2] = (-1.0)*K2[2]; K2[3] = (-1.0)*K2[3];
990 calPDF(Ks0,K1,K2,mass1,width1,amp,phase,g0,spin,modetype,r0,r1,first,last,PDFD0);
1011 double value = PDFD0[0]*PDFD0[0] + PDFD0[1]*PDFD0[1];
1012 if(value <=0) value = 1e-20;
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 getName(std::string &name)
void decay(EvtParticle *p)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
void checkNDaug(int d1, int d2=-1)
void setProb(double prob)
static int getStdHep(EvtId id)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
double double double double * s12
double double double double double * s23
double precision pisqo6 one