58 {
61
62
63 double m2=(_pd[0]+_pd[1]).mass2();
64 double m=(_pd[0]+_pd[1]).
mass();
65
69 double coshel_pi = pi_rhocms.
dot(etap_rhocms)/pi_rhocms.
d3mag()/etap_rhocms.
d3mag();
70
71
72
73
74 double ang_part = 1-coshel_pi*coshel_pi;
75
76
77
78 double Mrho = 7.72929e-01;
79 double Grho = 1.50184e-01;
80 double delta = 1.58745e-03;
81 double argdelta=6.25729e+00;
82 double delta2= 2.58505e-01;
83 double argdelta2=3.28230e+00;
84 double Eetap=0.000000;
85
90
91 double PI = 3.14159265;
92 double mpi=0.13957018;
93
94
95 double kgamma=0;
96 if(m<0.95778) kgamma = (0.95778*0.95778-m*m)/(2*0.95778);
97 double qpim=0;
98 if(m>2*
mpi) qpim = sqrt(0.25*m*m - pow(
mpi,2));
99
100 double qpimrho = sqrt(0.25*Mrho*Mrho - pow(
mpi,2));
101 double qpimrhop = sqrt(0.25*Mrhop*Mrhop - pow(
mpi,2));
102
103 double hm = (2./
PI)*(qpim/m)*log((m+2*qpim)/(2*
mpi));
104
105 double hmrho = (2./
PI)*(qpimrho/Mrho)*log((Mrho+2*qpimrho)/(2.*
mpi));
106 double hmrhop = (2./
PI)*(qpimrhop/Mrhop)*log((Mrhop+2*qpimrhop)/(2.*
mpi));
107
110
111 double dhds = hmrho*(pow(8*pow(qpimrho,2),-1)-pow(2*Mrho*Mrho,-1))+pow(2*
PI*Mrho*Mrho,-1);
112 double dhdsrhop = hmrhop*(pow(8*pow(qpimrhop,2),-1)-pow(2*Mrhop*Mrhop,-1))+pow(2*
PI*Mrhop*Mrhop,-1);
113
114 double fm2 =
Grho*(
Mrho*
Mrho/pow(qpimrho,3))*(qpim*qpim*(hm-hmrho)+(
Mrho*
Mrho-m*m)*qpimrho*qpimrho*(dhds));
115 double fm2rhop =
Grhop*(
Mrhop*
Mrhop/pow(qpimrhop,3))*(qpim*qpim*(hm-hmrhop)+(
Mrhop*
Mrhop-m*m)*qpimrhop*qpimrhop*(dhdsrhop));
116
117 double Grhom =
Grho*pow((qpim/qpimrho),3)*(
Mrho/m);
118 double Grhopm =
Grhop*pow((qpim/qpimrhop),3)*(
Mrhop/m);
119
120 double coefficient = (1./(48*
PI*
PI*
PI))*pow(kgamma,2)*pow(qpim,2);
121 double coe1= pow((2*sqrt(48*
PI*pow(Mrho,-4))),2);
122
123 RooComplex denomGrhom(Mrho*Mrho-m*m+fm2,-1*Mrho*Grhom);
124 RooComplex
real(Mrho*Mrho*(1+d*Grho/Mrho),0);
125 RooComplex BWrho=
real/denomGrhom;
126
127 RooComplex denomBWomega(Momega*Momega-m*m,-Momega*Gomega);
128 RooComplex real1(Momega*Momega,0);
129 RooComplex BWomega = real1/denomBWomega;
131 RooComplex part2=BWrho*cdelta*BWomega*(m*m)/(Momega*Momega);
132
133 RooComplex denomGrhopm(Mrhop*Mrhop-m*m+fm2rhop,-1*Mrhop*Grhopm);
134 RooComplex realpm(Mrhop*Mrhop*(1+drhop*Grhop/Mrhop),0);
135 RooComplex BWrhop = realpm/denomGrhopm;
136 RooComplex cdelta2(delta2*
cos(argdelta2),delta2*
sin(argdelta2));
137 RooComplex denom(delta2*
cos(argdelta2)+1.0,delta2*
sin(argdelta2));
138 RooComplex part3=cdelta2*BWrhop;
139
140 RooComplex eof(Eetap,0);
141 RooComplex amp=(( BWrho* (cdelta*BWomega*(m*m)/(Momega*Momega)+1.0) + cdelta2*BWrhop)/(cdelta2+1)*sqrt(coe1)+ eof);
142 double total;
143 if(
flag==0) total=coefficient* amp.abs2();
144
145
146 else if(
flag==1) total=coefficient*coe1* (BWrho/(cdelta2+1)).abs2();
147
148
149 else if(
flag==2) total=coefficient*coe1* (part2/(cdelta2+1)).abs2();
150
151
152 else if(
flag==3) total=coefficient*coe1* (part3/(cdelta2+1)).abs2();
153
154
155 double amp2;
156 if(ang_on) amp2 = total*ang_part;
157 else amp2 = total;
158 return amp2;
159}
EvtDiracSpinor boostTo(const EvtDiracSpinor &sp, const EvtVector4R p4)
double sin(const BesAngle a)
double cos(const BesAngle a)
double dot(const EvtVector4R &v2) const