42 model_name=
"DTopipi0pi0";
100 mass_Pi0 = 0.1349766;
114 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
115 for (
int i=0; i<4; i++) {
116 for (
int j=0; j<4; j++) {
167 double P1[4], P2[4], P3[4];
168 P1[0] = D1.
get(0); P1[1] = D1.
get(1); P1[2] = D1.
get(2); P1[3] = D1.
get(3);
169 P2[0] = D2.
get(0); P2[1] = D2.
get(1); P2[2] = D2.
get(2); P2[3] = D2.
get(3);
170 P3[0] = D3.
get(0); P3[1] = D3.
get(1); P3[2] = D3.
get(2); P3[3] = D3.
get(3);
174 int spin[4]={2,1,1,0};
176 double r0[4]={3,3,3,3};
177 double r1[4]={5,5,5,5};
179 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value,r0,r1);
186void EvtDTopipi0pi0::Com_Multi(
double a1[2],
double a2[2],
double res[2])
188 res[0] = a1[0]*a2[0]-a1[1]*a2[1];
189 res[1] = a1[1]*a2[0]+a1[0]*a2[1];
191void EvtDTopipi0pi0::Com_Divide(
double a1[2],
double a2[2],
double res[2])
193 double tmp = a2[0]*a2[0]+a2[1]*a2[1];
194 res[0] = (a1[0]*a2[0]+a1[1]*a2[1])/tmp;
195 res[1] = (a1[1]*a2[0]-a1[0]*a2[1])/tmp;
198double EvtDTopipi0pi0::CalRho4pi(double_t
s)
201 return sqrt((
s-16.*mass_Pion*mass_Pion)/
s);
204 double_t s0 = 1.2274+0.00370909/(
s*
s) - (0.111203)/(
s) - 6.39017*
s +16.8358*
s*
s - 21.8845*
s*
s*
s + 11.3153*
s*
s*
s*
s;
205 double_t gam = s0*sqrt(1.0-(16.0*mass_Pion*mass_Pion));
212double EvtDTopipi0pi0::SCADot(
double a1[4],
double a2[4])
214 double _cal = a1[0]*a2[0]-a1[1]*a2[1]-a1[2]*a2[2]-a1[3]*a2[3];
217double EvtDTopipi0pi0::barrier(
int l,
double sa,
double sb,
double sc,
double r,
double mass)
219 double q = (sa+sb-sc)*(sa+sb-sc)/(4*sa)-sb;
225 double q0 = (sa0+sb-sc)*(sa0+sb-sc)/(4*sa0)-sb;
226 if(q0 < 0) q0 = 1e-16;
230 if(l == 1) F = sqrt((1+z0)/(1+z));
231 if(l == 2) F = sqrt((9+3*z0+z0*z0)/(9+3*z+z*z));
235void EvtDTopipi0pi0::calt1(
double daug1[4],
double daug2[4],
double t1[4])
239 for(
int i=0; i<4; i++) {
240 pa[i] = daug1[i] + daug2[i];
241 qa[i] = daug1[i] - daug2[i];
246 for(
int i=0; i<4; i++) {
247 t1[i] = qa[i] - tmp*pa[i];
250void EvtDTopipi0pi0::calt2(
double daug1[4],
double daug2[4],
double t2[4][4])
254 calt1(daug1,daug2,t1);
255 r = SCADot(t1,t1)/3.0;
256 for(
int i=0; i<4; i++) {
257 pa[i] = daug1[i] + daug2[i];
260 for(
int i=0; i<4; i++) {
261 for(
int j=0; j<4; j++) {
262 t2[i][j] = t1[i]*t1[j] - r*(G[i][j]-pa[i]*pa[j]/p);
267void EvtDTopipi0pi0::propagator(
double mass2,
double mass,
double width,
double sx,
double prop[2])
274 Com_Divide(a,
b,prop);
276double EvtDTopipi0pi0::wid(
double mass2,
double mass,
double sa,
double sb,
double sc,
double r2,
int l)
281 double tmp1 = sa+tmp;
282 double q = 0.25*tmp1*tmp1/sa-sb;
284 double tmp2 = mass2+tmp;
285 double q0 = 0.25*tmp2*tmp2/mass2-sb;
290 if(l == 0) {widm = sqrt(
t)*
mass/m;}
291 else if(l == 1) {widm =
t*sqrt(
t)*
mass/m*(1+z0)/(1+z);}
292 else if(l == 2) {widm =
t*
t*sqrt(
t)*
mass/m*(9+3*z0+z0*z0)/(9+3*z+z*z);}
295double EvtDTopipi0pi0::widl1(
double mass2,
double mass,
double sa,
double sb,
double sc,
double r2)
300 double tmp1 = sa+tmp;
301 double q = 0.25*tmp1*tmp1/sa-sb;
303 double tmp2 = mass2+tmp;
304 double q0 = 0.25*tmp2*tmp2/mass2-sb;
308 double F = (1+z0)/(1+z);
310 widm =
t*sqrt(
t)*
mass/m*F;
313void EvtDTopipi0pi0::propagatorRBW(
double mass2,
double mass,
double width,
double sa,
double sb,
double sc,
double r2,
int l,
double prop[2])
320 b[1] = -
mass*width*wid(mass2,mass,sa,sb,sc,r2,l);
321 Com_Divide(a,
b,prop);
324void EvtDTopipi0pi0::propagatorFlatte(
double mass,
double width,
double sa,
double sb,
double sc,
int r,
double prop[2]){
326 double rhoab[2], rhoKsK[2];
327 q = 0.25*(sa+sb-sc)*(sa+sb-sc)/sa-sb;
328 if(r == 0) qKsK = 0.25*sa - 0.49368*0.49368;
329 if(r == 1) qKsK = 0.25*(sa + 3.899750596e-03)*(sa + 3.899750596e-03)/sa - 0.497614*0.497614;
331 rhoab[0] = 2*sqrt(
q/sa);
336 rhoab[1] = 2*sqrt(-
q/sa);
339 rhoKsK[0] = 2*sqrt(qKsK/sa);
344 rhoKsK[1] = 2*sqrt(-qKsK/sa);
349 b[0] =
mass*
mass - sa + 0.341*rhoab[1] + 0.892*0.341*rhoKsK[1];
350 b[1] = - (0.341*rhoab[0] + 0.892*0.341*rhoKsK[0]);
351 Com_Divide(a,
b,prop);
354void EvtDTopipi0pi0::rhoab(
double sa,
double sb,
double sc,
double res[2]) {
355 double tmp = sa+sb-sc;
356 double q = 0.25*tmp*tmp/sa-sb;
358 res[0]=2.0*sqrt(
q/sa);
362 res[1]=2.0*sqrt(-
q/sa);
365void EvtDTopipi0pi0::rho4Pi(
double sa,
double res[2]) {
366 double temp = 1.0-0.3116765584/sa;
368 res[0]=sqrt(temp)/(1.0+
exp(9.8-3.5*sa));
372 res[1]=sqrt(-temp)/(1.0+
exp(9.8-3.5*sa));
377void EvtDTopipi0pi0::propagatorsigma500(
double sa,
double sb,
double sc,
double prop[2]) {
378 double f = 0.5843+1.6663*sa;
379 const double M = 0.9264;
380 const double mass2 = 0.85821696;
381 const double mpi2d2 = 0.00973989245;
382 double g1 =
f*(sa-mpi2d2)/(mass2-mpi2d2)*
exp((mass2-sa)/1.082);
383 double rho1s[2], rho1M[2], rho2s[2], rho2M[2], rho1[2], rho2[2];
384 rhoab(sa,sb,sc,rho1s);
385 rhoab(mass2,sb,sc,rho1M);
388 Com_Divide(rho1s,rho1M,rho1);
389 Com_Divide(rho2s,rho2M,rho2);
393 b[0] = mass2-sa+M*(
g1*rho1[1]+0.0024*rho2[1]);
394 b[1] = -M*(
g1*rho1[0]+0.0024*rho2[0]);
395 Com_Divide(a,
b,prop);
397void EvtDTopipi0pi0::Flatte_rhoab(
double sa,
double sb,
double rho[2])
399 double q = 1.0-(4*sb/sa);
411void EvtDTopipi0pi0::propagator980(
double mass,
double sx,
double *sb,
double prop[2])
414 double gpipi1 = 2.0/3.0*0.165;
415 double gpipi2 = 1.0/3.0*0.165;
416 double gKK1 = 0.5*0.69465;
417 double gKK2 = 0.5*0.69465;
419 double unit[2]={1.0};
422 Flatte_rhoab(sx,sb[0],rho1);
424 Flatte_rhoab(sx,sb[1],rho2);
426 Flatte_rhoab(sx,sb[2],rho3);
428 Flatte_rhoab(sx,sb[3],rho4);
430 double tmp1[2]={gpipi1,0};
432 double tmp2[2]={gpipi2,0};
434 double tmp3[2]={gKK1,0};
436 double tmp4[2]={gKK2,0};
439 Com_Multi(tmp1,rho1,tmp11);
440 Com_Multi(tmp2,rho2,tmp22);
441 Com_Multi(tmp3,rho3,tmp33);
442 Com_Multi(tmp4,rho4,tmp44);
444 double tmp5[2]={tmp11[0]+tmp22[0]+tmp33[0]+tmp44[0],tmp11[1]+tmp22[1]+tmp33[1]+tmp44[1]};
446 Com_Multi(tmp5, ci,tmp51);
447 double tmp6[2]={
mass*
mass-sx-tmp51[0], -1.0*tmp51[1]};
449 Com_Divide(
unit,tmp6, prop);
454void EvtDTopipi0pi0::propagatorGS(
double mass2,
double mass,
double width,
double sa,
double sb,
double sc,
double r2,
double prop[2])
458 double tmp1 = sa+tmp;
459 double q2 = 0.25*tmp1*tmp1/sa-sb;
462 double tmp2 = mass2+tmp;
463 double q02 = 0.25*tmp2*tmp2/mass2-sb;
464 if(q02<0) q02 = 1e-16;
467 double q0 = sqrt(q02);
470 double tmp3 = log(mass+2*q0)+1.2926305904;
472 double h = GS1*
q/m*(log(m+2*
q)+1.2926305904);
473 double h0 = GS1*q0/
mass*tmp3;
474 double dh = h0*(0.125/q02-0.5/mass2)+GS3/mass2;
475 double d = GS2/q02*tmp3+GS3*
mass/q0-GS4*
mass/q03;
476 double f = mass2/q03*(q2*(h-h0)+(mass2-sa)*q02*dh);
478 a[0] = 1.0+d*width/
mass;
480 b[0] = mass2-sa+width*
f;
481 b[1] = -
mass*width*widl1(mass2,mass,sa,sb,sc,r2);
482 Com_Divide(a,
b,prop);
485double EvtDTopipi0pi0::DDalitz(
double P1[4],
double P2[4],
double P3[4],
int Ang,
double mass,
double rRES0,
double rRES1){
487 double temp_PDF, v_re;
490 double B[2], s1, s2, s3, sR, sD;
491 for(
int i=0; i<4; i++){
492 pR[i] = P1[i] + P2[i];
493 pD[i] = pR[i] + P3[i];
501 for(
int i=0; i!=4; i++){
502 for(
int j=0; j!=4; j++){
504 if(i==0) G[i][j] = 1;
516 B[0] = barrier(1,sR,s1,s2,rRES0,mass);
517 B[1] = barrier(1,sD,sR,s3,rRES1,1.86966);
522 for(
int i=0; i<4; i++){
523 temp_PDF += t1[i]*T1[i]*G[i][i];
527 B[0] = barrier(2,sR,s1,s2,rRES0,mass);
528 B[1] = barrier(2,sD,sR,s3,rRES1,1.86966);
529 double t2[4][4], T2[4][4];
533 for(
int i=0; i<4; i++){
534 for(
int j=0; j<4; j++){
535 temp_PDF += t2[i][j]*T2[j][i]*G[i][i]*G[j][j];
539 v_re = temp_PDF*
B[0]*
B[1];
543TComplex EvtDTopipi0pi0::ResonanceSkm(Double_t&
m2)
545 Double_t g11 = 0.22889, g12 = -0.55377, g13 = 0.00, g14 = -0.39899, g15 = -0.34639;
546 Double_t g21 = 0.94128, g22 = 0.55095, g23 = 0.00, g24 = 0.39065, g25 = 0.31503;
547 Double_t g31 = 0.36856, g32 = 0.23888, g33 = 0.55639, g34 = 0.18340, g35 = 0.18681;
548 Double_t g41 = 0.33650, g42 = 0.40907, g43 = 0.85679, g44 = 0.19906, g45 = -0.00984;
549 Double_t g51 = 0.18171, g52 = -0.17558, g53 = -0.79658, g54 = -0.00355, g55 = 0.22358;
551 Double_t fs11 = 0.23399, fs12 = 0.15044, fs13 =-0.20545, fs14 = 0.32825, fs15 = 0.35412;
552 Double_t m_1 = 0.65100, m_2 = 1.20360, m_3 = 1.55817, m_4 = 1.21000, m_5 = 1.82206;
553 Double_t ss0 = -3.92637;
554 Double_t sp0 = -0.07;
555 double_t sA0 = -0.15;
558 double_t km11 = (g11*g11/(m_1*m_1-
m2)+g21*g21/(m_2*m_2-
m2)+g31*g31/(m_3*m_3-
m2)+g41*g41/(m_4*m_4-
m2)+g51*g51/(m_5*m_5-
m2)+fs11*(1-ss0)/(
m2-ss0))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
559 double_t km12 = (g11*g12/(m_1*m_1-
m2)+g21*g22/(m_2*m_2-
m2)+g31*g32/(m_3*m_3-
m2)+g41*g42/(m_4*m_4-
m2)+g51*g52/(m_5*m_5-
m2)+fs12*(1-ss0)/(
m2-ss0))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
560 double_t km13 = (g11*g13/(m_1*m_1-
m2)+g21*g23/(m_2*m_2-
m2)+g31*g33/(m_3*m_3-
m2)+g41*g43/(m_4*m_4-
m2)+g51*g53/(m_5*m_5-
m2)+fs13*(1-ss0)/(
m2-ss0))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
561 double_t km14 = (g11*g14/(m_1*m_1-
m2)+g21*g24/(m_2*m_2-
m2)+g31*g34/(m_3*m_3-
m2)+g41*g44/(m_4*m_4-
m2)+g51*g54/(m_5*m_5-
m2)+fs14*(1-ss0)/(
m2-ss0))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
562 double_t km15 = (g11*g15/(m_1*m_1-
m2)+g21*g25/(m_2*m_2-
m2)+g31*g35/(m_3*m_3-
m2)+g41*g45/(m_4*m_4-
m2)+g51*g55/(m_5*m_5-
m2)+fs15*(1-ss0)/(
m2-ss0))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
564 double_t km21 = km12, km31 = km13, km41 = km14, km51 = km15;
565 double_t km23 = (g12*g13/(m_1*m_1-
m2)+g22*g23/(m_2*m_2-
m2)+g32*g33/(m_3*m_3-
m2)+g42*g43/(m_4*m_4-
m2)+g52*g53/(m_5*m_5-
m2))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
566 double_t km24 = (g12*g14/(m_1*m_1-
m2)+g22*g24/(m_2*m_2-
m2)+g32*g34/(m_3*m_3-
m2)+g42*g44/(m_4*m_4-
m2)+g52*g54/(m_5*m_5-
m2))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
567 double_t km25 = (g12*g15/(m_1*m_1-
m2)+g22*g25/(m_2*m_2-
m2)+g32*g35/(m_3*m_3-
m2)+g42*g45/(m_4*m_4-
m2)+g52*g55/(m_5*m_5-
m2))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
568 double_t km32 = km23, km42 = km24, km52 = km25;
569 double_t km34 = (g13*g14/(m_1*m_1-
m2)+g23*g24/(m_2*m_2-
m2)+g33*g34/(m_3*m_3-
m2)+g43*g44/(m_4*m_4-
m2)+g53*g54/(m_5*m_5-
m2))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
570 double_t km35 = (g13*g15/(m_1*m_1-
m2)+g23*g25/(m_2*m_2-
m2)+g33*g35/(m_3*m_3-
m2)+g43*g45/(m_4*m_4-
m2)+g53*g55/(m_5*m_5-
m2))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
571 double_t km43 = km34, km53 = km35;
572 double_t km45 = (g14*g15/(m_1*m_1-
m2)+g24*g25/(m_2*m_2-
m2)+g34*g35/(m_3*m_3-
m2)+g44*g45/(m_4*m_4-
m2)+g54*g55/(m_5*m_5-
m2))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
573 double_t km54 = km45;
574 double_t km22 = (g12*g12/(m_1*m_1-
m2)+g22*g22/(m_2*m_2-
m2)+g32*g32/(m_3*m_3-
m2)+g42*g42/(m_4*m_4-
m2)+g52*g52/(m_5*m_5-
m2))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
575 double_t km33 = (g13*g13/(m_1*m_1-
m2)+g23*g23/(m_2*m_2-
m2)+g33*g33/(m_3*m_3-
m2)+g43*g43/(m_4*m_4-
m2)+g53*g53/(m_5*m_5-
m2))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
576 double_t km44 = (g14*g14/(m_1*m_1-
m2)+g24*g24/(m_2*m_2-
m2)+g34*g34/(m_3*m_3-
m2)+g44*g44/(m_4*m_4-
m2)+g54*g54/(m_5*m_5-
m2))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
577 double_t km55 = (g15*g15/(m_1*m_1-
m2)+g25*g25/(m_2*m_2-
m2)+g35*g35/(m_3*m_3-
m2)+g45*g45/(m_4*m_4-
m2)+g55*g55/(m_5*m_5-
m2))*(1-sA0)/(
m2-sA0)*(
m2-sA*mass_Pion*mass_Pion*0.5);
594 TComplex P1 = fp11*(1-sp0)/(
m2-sp0)+beta1*g11/(m_1*m_1-
m2)+beta2*g21/(m_2*m_2-
m2)+beta3*g31/(m_3*m_3-
m2)+beta4*g41/(m_4*m_4-
m2)+beta5*g51/(m_5*m_5-
m2);
595 TComplex P2 = fp12*(1-sp0)/(
m2-sp0)+beta1*g12/(m_1*m_1-
m2)+beta2*g22/(m_2*m_2-
m2)+beta3*g32/(m_3*m_3-
m2)+beta4*g42/(m_4*m_4-
m2)+beta5*g52/(m_5*m_5-
m2);
596 TComplex P3 = fp13*(1-sp0)/(
m2-sp0)+beta1*g13/(m_1*m_1-
m2)+beta2*g23/(m_2*m_2-
m2)+beta3*g33/(m_3*m_3-
m2)+beta4*g43/(m_4*m_4-
m2)+beta5*g53/(m_5*m_5-
m2);
597 TComplex P4 = fp14*(1-sp0)/(
m2-sp0)+beta1*g14/(m_1*m_1-
m2)+beta2*g24/(m_2*m_2-
m2)+beta3*g34/(m_3*m_3-
m2)+beta4*g44/(m_4*m_4-
m2)+beta5*g54/(m_5*m_5-
m2);
598 TComplex P5 = fp15*(1-sp0)/(
m2-sp0)+beta1*g15/(m_1*m_1-
m2)+beta2*g25/(m_2*m_2-
m2)+beta3*g35/(m_3*m_3-
m2)+beta4*g45/(m_4*m_4-
m2)+beta5*g55/(m_5*m_5-
m2);
600 TMatrixD MI(5,5), MA(5,5), MA_invt(5,5), MB(5,5), KM(5,5), RhoA(5,5), RhoB(5,5), MRe(5,5), MIm(5,5);
604 TMatrixDRow(KM,0)(0) = km11;TMatrixDRow(KM,1)(0) = km21;TMatrixDRow(KM,2)(0) = km31;TMatrixDRow(KM,3)(0) = km41;TMatrixDRow(KM,4)(0)= km51;
605 TMatrixDRow(KM,0)(1) = km12;TMatrixDRow(KM,1)(1) = km22;TMatrixDRow(KM,2)(1) = km32;TMatrixDRow(KM,3)(1) = km42;TMatrixDRow(KM,4)(1)= km52;
606 TMatrixDRow(KM,0)(2) = km13;TMatrixDRow(KM,1)(2) = km23;TMatrixDRow(KM,2)(2) = km33;TMatrixDRow(KM,3)(2) = km43;TMatrixDRow(KM,4)(2)= km53;
607 TMatrixDRow(KM,0)(3) = km14;TMatrixDRow(KM,1)(3) = km24;TMatrixDRow(KM,2)(3) = km34;TMatrixDRow(KM,3)(3) = km44;TMatrixDRow(KM,4)(3)= km54;
608 TMatrixDRow(KM,0)(4) = km15;TMatrixDRow(KM,1)(4) = km25;TMatrixDRow(KM,2)(4) = km35;TMatrixDRow(KM,3)(4) = km45;TMatrixDRow(KM,4)(4)= km55;
610 if ( (1.0-4.0*mass_Pion*mass_Pion/
m2) > 0) {
611 TMatrixDRow(RhoA,0)(0) = sqrt(1.0-4.0*mass_Pion*mass_Pion/
m2);
612 TMatrixDRow(RhoB,0)(0) = 0.0;
615 TMatrixDRow(RhoA,0)(0) = 0.0;
616 TMatrixDRow(RhoB,0)(0) = sqrt(4.0*mass_Pion*mass_Pion/
m2-1.0);
619 if ( (1.0-4.0*mass_Kaon*mass_Kaon/
m2) > 0) {
620 TMatrixDRow(RhoA,1)(1) = sqrt(1.0-4.0*mass_Kaon*mass_Kaon/
m2);
621 TMatrixDRow(RhoB,1)(1) = 0.0;
624 TMatrixDRow(RhoA,1)(1) = 0.0;
625 TMatrixDRow(RhoB,1)(1) = sqrt(4.0*mass_Kaon*mass_Kaon/
m2-1.0);
628 TMatrixDRow(RhoA,2)(2) = CalRho4pi(
m2);
629 TMatrixDRow(RhoB,2)(2) = 0.0;
630 if ( (1.0-4.0*mass_Eta*mass_Eta/
m2) > 0) {
631 TMatrixDRow(RhoA,3)(3) = sqrt(1.0-4.0*mass_Eta*mass_Eta/
m2);
632 TMatrixDRow(RhoB,3)(3) = 0.0;
634 TMatrixDRow(RhoA,3)(3) = 0.0;
635 TMatrixDRow(RhoB,3)(3) = sqrt(4.0*mass_Eta*mass_Eta/
m2-1.0);
639 if ( (1.0-(mass_Eta + mass_Etap)*(mass_Eta + mass_Etap)/
m2) > 0) {
640 TMatrixDRow(RhoA,4)(4) = sqrt(1.0-(mass_Eta + mass_Etap)*(mass_Eta + mass_Etap)/
m2);
641 TMatrixDRow(RhoB,4)(4) = 0.0;
643 TMatrixDRow(RhoA,4)(4) = 0.0;
644 TMatrixDRow(RhoB,4)(4) = sqrt((mass_Eta + mass_Etap)*(mass_Eta + mass_Etap)/
m2-1.0);
653 MRe = MA+MB*MA_invt*MB;
655 MIm = MA_invt*MB*MRe;
661 amp = (ciR*TMatrixDRow(MRe,0)(0)-ciM*TMatrixDRow(MIm,0)(0))*P1+
662 (ciR*TMatrixDRow(MRe,0)(1)-ciM*TMatrixDRow(MIm,0)(1))*P2+
663 (ciR*TMatrixDRow(MRe,0)(2)-ciM*TMatrixDRow(MIm,0)(2))*P3+
664 (ciR*TMatrixDRow(MRe,0)(3)-ciM*TMatrixDRow(MIm,0)(3))*P4+
665 (ciR*TMatrixDRow(MRe,0)(4)-ciM*TMatrixDRow(MIm,0)(4))*P5;
670void EvtDTopipi0pi0::calEva(
double* Pic,
double* Pi01,
double* Pi02,
double *mass1,
double *width1,
double *amp,
double *phase,
int* g0,
int* spin,
int* modetype,
int nstates,
double & Result ,
double*r0 ,
double*r1)
672 double P12[4], P23[4], P13[4];
674 double cof[2], amp_PDF[2], PDF[2];
675 double spi01, spi02, scpi;
679 double Realpipis, Imagpipis;
680 for(
int i=0; i<4; i++){
681 P23[i] = Pi01[i] + Pi02[i];
682 P12[i] = Pic[i] + Pi01[i];
683 P13[i] = Pic[i] + Pi02[i];
685 scpi = SCADot(Pic,Pic);
686 spi01 = SCADot(Pi01,Pi01);
687 spi02 = SCADot(Pi02,Pi02);
688 s23 = SCADot(P23,P23);
689 s12 = SCADot(P12,P12);
690 s13 = SCADot(P13,P13);
696 double pro[2], temp_PDF, pro1[2], temp_PDF1, pro2[2], temp_PDF2, amp_tmp[2];
704 for(
int i=0; i<nstates; i++) {
707 mass1sq = mass1[i]*mass1[i];
708 cof[0] = amp[i]*
cos(phase[i]);
709 cof[1] = amp[i]*
sin(phase[i]);
711 if(modetype[i] == 23){
712 temp_PDF = DDalitz(Pi01, Pi02, Pic, spin[i], mass1[i], r0[i],r1[i]);
713 if(g0[i]==2) propagatorsigma500(
s23,spi01,spi02,pro);
714 if(g0[i]==1) propagatorRBW(mass1sq, mass1[i],width1[i],
s23,spi01,spi02,r0[i]*r0[i],spin[i],pro);
715 if(g0[i]==3) propagator980(mass1[i],
s23,spi012,pro);
717 tmpswave = ResonanceSkm(
s23);
718 Realpipis = tmpswave.Re();
719 Imagpipis = tmpswave.Im();
720 amp_tmp[0] = temp_PDF*Realpipis;
721 amp_tmp[1] = temp_PDF*Imagpipis;
727 if(g0[i]!=6) amp_tmp[0] = temp_PDF*pro[0];
728 if(g0[i]!=6) amp_tmp[1] = temp_PDF*pro[1];
730 if(modetype[i] == 12){
731 temp_PDF1 = DDalitz(Pic, Pi01, Pi02, spin[i], mass1[i], r0[i], r1[i]);
732 if(g0[i]==1) propagatorRBW(mass1sq, mass1[i],width1[i],
s12,scpi,spi01,r0[i]*r0[i],spin[i],pro1);
733 if(g0[i]==2) propagatorGS(mass1sq,mass1[i],width1[i],
s12,scpi,spi01,r0[i]*r0[i],pro1);
739 temp_PDF2 = DDalitz(Pic, Pi02, Pi01, spin[i], mass1[i], r0[i], r1[i]);
740 if(g0[i]==1) propagatorRBW(mass1sq, mass1[i],width1[i],s13,scpi,spi02,r0[i]*r0[i],spin[i],pro2);
741 if(g0[i]==2) propagatorGS(mass1sq,mass1[i],width1[i],s13,scpi,spi02,r0[i]*r0[i],pro2);
746 amp_tmp[0] = temp_PDF1*pro1[0] + temp_PDF2*pro2[0];
747 amp_tmp[1] = temp_PDF1*pro1[1] + temp_PDF2*pro2[1];
749 Com_Multi(amp_tmp,cof,amp_PDF);
750 PDF[0] += amp_PDF[0];
751 PDF[1] += amp_PDF[1];
753 double value = PDF[0]*PDF[0] + PDF[1]*PDF[1];
754 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
virtual ~EvtDTopipi0pi0()
void decay(EvtParticle *p)
void getName(std::string &name)
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)
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