Beispiel #1
0
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; 
}
Beispiel #2
0
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; 
}
Beispiel #3
0
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_;    
}   
Beispiel #4
0
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;
}