Ejemplo n.º 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; 
}
Ejemplo n.º 2
0
static double  vcs22(numout * cc,int nsub,int * err)
{
   int i;
   double pcm,r;
   double pmass[4], pvect[16];
   double  GG=sqrt(4*M_PI*parton_alpha(3*Mcdm));
   for(i=1;i<=cc->interface->nvar;i++) if(cc->link[i]) 
   cc->interface->va[i]=*(cc->link[i]);

   if( cc->interface->calcFunc()>0 ) {*err=4; return 0;}
   *(cc->interface->gtwidth)=0;
   *(cc->interface->twidth)=0;
   *(cc->interface->gswidth)=0;
   for(i=0;i<4;i++) cc->interface->pinf(nsub,1+i,pmass+i,NULL);
   *err=0;
   if(pmass[0]+pmass[1] <= pmass[2]+pmass[3]) return 0;
   for(i=0;i<16;i++) pvect[i]=0;

   pcm= decayPcm(pmass[0]+pmass[1],pmass[2],pmass[3]);
   for(i=0;i<2; i++) pvect[4*i]=pmass[i];
   for(i=2;i<4; i++) pvect[4*i]=sqrt(pmass[i]*pmass[i] +pcm*pcm);
   pvect[8+3]=pcm;
   pvect[12+3]=-pcm;
   r=cc->interface->sqme(nsub,GG,pvect,err);
   return 3.8937966E8*r*pcm/(16*M_PI*pmass[0]*pmass[1]*(pmass[0]+pmass[1]));
}
Ejemplo n.º 3
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; 
}
Ejemplo n.º 4
0
static double  s_integrand(double y)
{  double r;
   double pp=6;
   double s,pcmIn;
   s=sMin+pow(y,pp)*(sMax-sMin);
   
   pcmIn=decayPcm(sqrt(s),pmass[0], pmass[1]);
   if(pcmIn==0) return 0;
   pvect[0]=sqrt(pmass[0]*pmass[0]+pcmIn*pcmIn);
   pvect[1]=pcmIn; pvect[2]=0; pvect[3]=0;
   pvect[4]=sqrt(pmass[1]*pmass[1]+pcmIn*pcmIn);
   pvect[5]=-pcmIn; pvect[6]=0; pvect[7]=0;
   pcmOut=decayPcm(sqrt(s),pmass[2], pmass[3]);
   pvect[8]=sqrt(pmass[2]*pmass[2]+pcmOut*pcmOut);
   pvect[11]=0;
   pvect[12]=sqrt(pmass[3]*pmass[3]+pcmOut*pcmOut);
   pvect[15]=0;
   x0=s/sMax;
 
   r=  3.8937966E8*pcmOut/(32*M_PI*pcmIn*s)*simpson(cos_integrand,-1.,1.,1.E-3);
   r*=pp*pow(y,pp-1)*(sMax-sMin);
   return r; 
}
Ejemplo n.º 5
0
int  kin22(double PcmIn,double * pmass)
{  
   double sqrtS;
   int i;
   for(i=0;i<16;i++) pvect[i]=0;
   sqrtS=sqrt(pmass[0]*pmass[0]+PcmIn*PcmIn)+sqrt(pmass[1]*pmass[1]+PcmIn*PcmIn);
   PcmOut = decayPcm(sqrtS,pmass[2],pmass[3]);
//printf(" PcmOut =%E (%E %E %E) \n", PcmOut,sqrtS,pmass[2],pmass[3] );   
   if(PcmOut<sqrtS*1.E-4) return 1;
   totcoef = PcmOut /(32.0*M_PI*PcmIn*sqrtS*sqrtS);
   pvect[3] = PcmIn;
   pvect[7] =-PcmIn;
   pvect[0] = sqrt(PcmIn*PcmIn   + pmass[0]*pmass[0]);
   pvect[4] = sqrt(PcmIn*PcmIn   + pmass[1]*pmass[1]);
   pvect[8] = sqrt(PcmOut*PcmOut + pmass[2]*pmass[2]);
   pvect[12]= sqrt(PcmOut*PcmOut + pmass[3]*pmass[3]);

   return 0;
}