83 if (
mZ < 90.) isZZ =
false;
87 if( (
m1+
m2) >
mzz )
return 1e-9;
89 double nanval = sqrt((1 - TMath::Power(
m1 -
m2,2)/TMath::Power(
mzz,2))*(1 - TMath::Power(
m1 +
m2,2)/TMath::Power(
mzz,2)));
90 if (nanval != nanval)
return 1e-9;
96 Double_t betaValSquared = (1.-(pow(
m1-
m2,2)/pow(
mzz,2)))*(1.-(pow(
m1+
m2,2)/pow(
mzz,2)));
97 Double_t betaVal = sqrt(betaValSquared);
99 Double_t term1Coeff = (pow(
m1,3))/( (pow(
m1,2)-pow(
mZ,2))*(pow(
m1,2)-pow(
mZ,2))+pow(
mZ,2)*pow(
gamZ,2) );
100 Double_t term2Coeff = (pow(
m2,3))/( (pow(
m2,2)-pow(
mZ,2))*(pow(
m2,2)-pow(
mZ,2))+pow(
mZ,2)*pow(
gamZ,2) );
112 Double_t f00Real = TMath::Power(
mzz,-1)*
g1Val*( sqrt(x*x-1) )*(
m1*
m1-
m2*
m2);
113 Double_t f00Imag = 0.;
115 Double_t fppReal = 0.;
118 Double_t fmmReal = 0.;
119 Double_t fmmImag = -1. * fppImag;
122 Double_t fp0Real =
m1*
g1Val * ( sqrt(x*x-1) );
123 Double_t fp0Imag = Power(
mzz,-2.)*Power(
m2,3)*
g2Val * ( - 1./2. )
125 + Power(
mzz,-2.)*Power(
m1,4)*Power(
m2,-1)*
g2Val * ( - 1./2. )
130 Double_t f0pReal =
m2*
g1Val * ( - sqrt(x*x-1) );
131 Double_t f0pImag = Power(
mzz,-2.)*Power(
m1,-1)*Power(
m2,4)*
g2Val * ( 1./2. )
132 + Power(
mzz,-2.)*
m1*Power(
m2,2)*
g2Val * ( - 1 - 2*(x*x-1) )
133 + Power(
mzz,-2.)*Power(
m1,3)*
g2Val * ( 1./2. )
134 + Power(
m1,-1)*Power(
m2,2)*
g2Val * ( - 1./2. )
137 Double_t f0mReal =
m2*
g1Val * ( - sqrt(x*x-1) );
138 Double_t f0mImag = Power(
mzz,-2.)*Power(
m1,-1)*Power(
m2,4)*
g2Val * ( - 1./2. )
139 + Power(
mzz,-2.)*
m1*Power(
m2,2)*
g2Val * ( 1 + 2*(x*x-1) )
140 + Power(
mzz,-2.)*Power(
m1,3)*
g2Val * ( - 1./2. )
141 + Power(
m1,-1)*Power(
m2,2)*
g2Val * ( 1./2. )
144 Double_t fm0Real =
m1*
g1Val * ( sqrt(x*x-1) );
145 Double_t fm0Imag = Power(
mzz,-2.)*Power(
m2,3)*
g2Val * ( 1./2. )
147 + Power(
mzz,-2.)*Power(
m1,4)*Power(
m2,-1)*
g2Val * ( 1./2. )
151 Double_t f00 = f00Imag*f00Imag + f00Real*f00Real;
152 Double_t fpp = fppImag*fppImag + fppReal*fppReal;
153 Double_t fmm = fmmImag*fmmImag + fmmReal*fmmReal;
154 Double_t fp0 = fp0Imag*fp0Imag + fp0Real*fp0Real;
155 Double_t f0p = f0pImag*f0pImag + f0pReal*f0pReal;
156 Double_t fm0 = fm0Imag*fm0Imag + fm0Real*fm0Real;
157 Double_t f0m = f0mImag*f0mImag + f0mReal*f0mReal;
159 Double_t phi00=atan2(f00Imag,f00Real);
160 Double_t phipp=atan2(fppImag,fppReal)-phi00;
161 Double_t phimm=atan2(fmmImag,fmmReal)-phi00;
162 Double_t phip0=atan2(fp0Imag,fp0Real)-phi00;
163 Double_t phi0p=atan2(f0pImag,f0pReal)-phi00;
164 Double_t phim0=atan2(fm0Imag,fm0Real)-phi00;
165 Double_t phi0m=atan2(f0mImag,f0mReal)-phi00;
169 value += -(f00*(-1 + TMath::Power(
h1,2))*(-1 + TMath::Power(
h2,2))*(-1 + TMath::Power(hs_,2)))/8.;
170 value += -(fmm*(-1 + TMath::Power(hs_,2))*(1 + TMath::Power(
h1,2) - 2*
h1*
R1Val)*(1 + TMath::Power(
h2,2) - 2*
h2*
R2Val))/32.;
171 value += -(fpp*(-1 + TMath::Power(hs_,2))*(1 + TMath::Power(
h1,2) + 2*
h1*
R1Val)*(1 + TMath::Power(
h2,2) + 2*
h2*
R2Val))/32.;
173 value += -(fp0*(-1 + TMath::Power(
h2,2))*(1 + TMath::Power(hs_,2))*(1 + TMath::Power(
h1,2) + 2*
h1*
R1Val))/32.;
174 value += -(f0m*(-1 + TMath::Power(
h1,2))*(1 + TMath::Power(hs_,2))*(1 + TMath::Power(
h2,2) - 2*
h2*
R2Val))/32.;
175 value += -(f0p*(-1 + TMath::Power(
h1,2))*(1 + TMath::Power(hs_,2))*(1 + TMath::Power(
h2,2) + 2*
h2*
R2Val))/32.;
176 value += -(fm0*(-1 + TMath::Power(
h2,2))*(1 + TMath::Power(hs_,2))*(1 + TMath::Power(
h1,2) - 2*
h1*
R1Val))/32.;
178 value += -(Sqrt(f00)*Sqrt(fmm)*Sqrt(1 - TMath::Power(
h1,2))*Sqrt(1 - TMath::Power(
h2,2))*(-1 + TMath::Power(hs_,2))*(
h1 -
R1Val)*(
h2 -
R2Val)*Cos(
Phi - phimm))/8.;
179 value += -(Sqrt(f00)*Sqrt(fpp)*Sqrt(1 - TMath::Power(
h1,2))*Sqrt(1 - TMath::Power(
h2,2))*(-1 + TMath::Power(hs_,2))*(
h1 +
R1Val)*(
h2 +
R2Val)*Cos(
Phi + phipp))/8.;
180 value += (Sqrt(f00)*Sqrt(fp0)*Sqrt(1 - TMath::Power(
h1,2))*(-1 + TMath::Power(
h2,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(
h1 +
R1Val)*Cos(
Phi1 - phip0))/8.;
181 value += -(Sqrt(f00)*Sqrt(f0m)*(-1 + TMath::Power(
h1,2))*Sqrt(1 - TMath::Power(
h2,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(
h2 -
R2Val)*Cos(
Phi - phi0m +
Phi1))/8.;
182 value += -(Sqrt(f00)*Sqrt(f0p)*(-1 + TMath::Power(
h1,2))*Sqrt(1 - TMath::Power(
h2,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(
h2 +
R2Val)*Cos(
Phi + phi0p +
Phi1))/8.;
183 value += (Sqrt(f00)*Sqrt(fm0)*Sqrt(1 - TMath::Power(
h1,2))*(-1 + TMath::Power(
h2,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(
h1 -
R1Val)*Cos(
Phi1 + phim0))/8.;
185 value += -(Sqrt(fmm)*Sqrt(fpp)*(-1 + TMath::Power(
h1,2))*(-1 + TMath::Power(
h2,2))*(-1 + TMath::Power(hs_,2))*Cos(2*
Phi - phimm + phipp))/16.;
186 value += -(Sqrt(fmm)*Sqrt(fp0)*(-1 + TMath::Power(
h1,2))*Sqrt(1 - TMath::Power(
h2,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(
h2 -
R2Val)*Cos(
Phi -
Phi1 - phimm + phip0))/16.;
187 value += (Sqrt(f0m)*Sqrt(fmm)*Sqrt(1 - TMath::Power(
h1,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(
h1 -
R1Val)*(1 + TMath::Power(
h2,2) - 2*
h2*
R2Val)*Cos(phi0m -
Phi1 - phimm))/16.;
188 value += (Sqrt(f0p)*Sqrt(fmm)*Sqrt(1 - TMath::Power(
h1,2))*(-1 + TMath::Power(
h2,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(
h1 -
R1Val)*Cos(2*
Phi + phi0p +
Phi1 - phimm))/16.;
189 value += -(Sqrt(fm0)*Sqrt(fmm)*Sqrt(1 - TMath::Power(
h2,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(1 + TMath::Power(
h1,2) - 2*
h1*
R1Val)*(
h2 -
R2Val)*Cos(
Phi +
Phi1 + phim0 - phimm))/16.;
190 value += -(Sqrt(fp0)*Sqrt(fpp)*Sqrt(1 - TMath::Power(
h2,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(1 + TMath::Power(
h1,2) + 2*
h1*
R1Val)*(
h2 +
R2Val)*Cos(
Phi +
Phi1 - phip0 + phipp))/16.;
191 value += (Sqrt(f0m)*Sqrt(fpp)*Sqrt(1 - TMath::Power(
h1,2))*(-1 + TMath::Power(
h2,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(
h1 +
R1Val)*Cos(2*
Phi - phi0m +
Phi1 + phipp))/16.;
192 value += (Sqrt(f0p)*Sqrt(fpp)*Sqrt(1 - TMath::Power(
h1,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(
h1 +
R1Val)*(1 + TMath::Power(
h2,2) + 2*
h2*
R2Val)*Cos(phi0p +
Phi1 - phipp))/16.;
193 value += -(Sqrt(fm0)*Sqrt(fpp)*(-1 + TMath::Power(
h1,2))*Sqrt(1 - TMath::Power(
h2,2))*hs_*Sqrt(1 - TMath::Power(hs_,2))*(
h2 +
R2Val)*Cos(
Phi -
Phi1 - phim0 + phipp))/16.;
195 value += -(Sqrt(f0m)*Sqrt(fp0)*Sqrt(1 - TMath::Power(
h1,2))*Sqrt(1 - TMath::Power(
h2,2))*
196 (1 + TMath::Power(hs_,2))*(
h1 +
R1Val)*(
h2 -
R2Val)*Cos(
Phi - phi0m + phip0))/16.;
197 value += -(Sqrt(f0p)*Sqrt(fp0)*Sqrt(1 - TMath::Power(
h1,2))*Sqrt(1 - TMath::Power(
h2,2))*
199 Cos(
Phi + phi0p + 2*
Phi1 - phip0))/16.;
200 value += -(Sqrt(fm0)*Sqrt(fp0)*(-1 + TMath::Power(
h1,2))*(-1 + TMath::Power(
h2,2))*
201 (-1 + TMath::Power(hs_,2))*Cos(2*
Phi1 + phim0 - phip0))/16.;
202 value += -(Sqrt(f0m)*Sqrt(f0p)*(-1 + TMath::Power(
h1,2))*(-1 + TMath::Power(
h2,2))*
203 (-1 + TMath::Power(hs_,2))*Cos(2*
Phi - phi0m + phi0p + 2*
Phi1))/16.;
204 value += -(Sqrt(f0m)*Sqrt(fm0)*Sqrt(1 - TMath::Power(
h1,2))*Sqrt(1 - TMath::Power(
h2,2))*
206 Cos(
Phi - phi0m + 2*
Phi1 + phim0))/16.;
207 value += -(Sqrt(f0p)*Sqrt(fm0)*Sqrt(1 - TMath::Power(
h1,2))*Sqrt(1 - TMath::Power(
h2,2))*
208 (1 + TMath::Power(hs_,2))*(
h1 -
R1Val)*(
h2 +
R2Val)*Cos(
Phi + phi0p - phim0))/16.;
210 return value*term1Coeff*term2Coeff*betaVal;