static double vsigma23integrandT(double *x, double w) { double pcmIn,sqrtS,M45; double M45_min=pmass[i4]+pmass[i5],M45_max=sqrtSmax-pmass[i3]; int err; double r, x1,x2,y,z, bess,Rm; double GG; REAL pvect[20]; z=1-x[0]*x[0]; sqrtS=M1+M2-3*T_*log(z); if(sqrtS<=sqrtSmin || sqrtS>=sqrtSmax) return 0; pcmIn=decayPcm(sqrtS,pmass[0], pmass[1]); M45=M45_min+x[1]*(M45_max-M45_min); x1=M1/T_; x2=M2/T_; y=sqrtS/T_; if(y-x1-x2>50) return 0; r=kinematic_23(pcmIn,i3, M45, 2*x[2]-1 ,2*x[3]-1,M_PI*x[4],pmass,pvect)*8*M_PI*(M45_max-M45_min); // /pcmIn if(r==0) return 0; GG=sqrt(4*M_PI*parton_alpha(sqrtS)); r*= CI->sqme(1,GG, pvect,&err); bess= sqrt(2*x1*x2/y/M_PI)*exp(-(y-x1-x2))*K1pol(1/y)/(K2pol(1/x1)*K2pol(1/x2)); // bess=bessk1(sqrtS/T_)/bessk2(M1/T_)/bessk2(M2/T_); Rm=sqrtS/M1/M2; r*= pcmIn*bess*Rm*Rm*6*x[0]/z; return r; }
static double vsigma24integrandT(double *x, double w) { double pcmIn,sqrtS,M34,M56; double M34_min=pmass[i3]+pmass[i4],M34_max=sqrtSmax-pmass[i5]-pmass[i6]; double M56_min=pmass[i5]+pmass[i6],M56_max=sqrtSmax-pmass[i3]-pmass[i4]; int err; double r, x1,x2,y,z, bess,Rm; double GG; REAL pvect[24]; z=1-x[0]*x[0]; sqrtS=M1+M2-3*T_*log(z); if(sqrtS<=sqrtSmin || sqrtS>=sqrtSmax) return 0; pcmIn=decayPcm(sqrtS,pmass[0], pmass[1]); M34=M34_min+x[1]*(M34_max-M34_min); M56=M56_min+x[2]*(M56_max-M56_min); x1=M1/T_; x2=M2/T_; y=sqrtS/T_; if(y-x1-x2>50) return 0; r=kinematic_24(pcmIn,i3,i4, M34, M56, 2*x[3]-1 ,2*x[4]-1,2*x[5]-1, 2*M_PI*x[6], 2*M_PI*x[7],pmass,pvect) *(M34_max-M34_min)*(M56_max-M56_min)*2*4*M_PI*4*M_PI; // /pcmIn GG=sqrt(4*M_PI*parton_alpha(sqrtS)); r*= CI->sqme(1,GG, pvect,&err); bess= sqrt(2*x1*x2/y/M_PI)*exp(-(y-x1-x2))*K1pol(1/y)/(K2pol(1/x1)*K2pol(1/x2)); // bess=bessk1(sqrtS/T_)/bessk2(M1/T_)/bessk2(M2/T_); Rm=sqrtS/M1/M2; r*= pcmIn*bess*Rm*Rm*6*x[0]/z; return r; }
static double s_integrandT_(double sqrtS ) { double sv_tot,t,bess, x1,x2,y; double ms,md,PcmIn; double Rm; ms = M1 + M2; if(ms>=sqrtS) return 0; x1=M1/T_; x2=M2/T_; y=sqrtS/T_; if(y-x1-x2>50) return 0; md = M1 - M2; PcmIn = sqrt((sqrtS-ms)*(sqrtS+ms)*(sqrtS-md)*(sqrtS+md))/(2*sqrtS); kin22(PcmIn,pmass); sv_tot=simpson(dSigma_dCos,-1.,1.,1E-3); bess= sqrt(2*x1*x2/y/M_PI)*exp(-(y-x1-x2))*K1pol(1/y)/(K2pol(1/x1)*K2pol(1/x2)); Rm=PcmIn*sqrtS/M1/M2; return bess*Rm*Rm*sv_tot/T_; }
static double geff(double x) { double sum=0; int l; for(l=0;l<NC;l++) { int k=sort[l]; double A=x*inDelta[k]; if(A>15 || M+inMass[k] > MassCut) return sum; sum+=inG_[k]*exp(-A)*K2pol(1/(x+A)); } return sum; }