1       SUBROUTINE qel_pol(ENU, LTYP,P21,P22,P23,P24,P25)
 
    2       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
    5       common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
 
    6       common/pol/polarx(4),pmodul
 
    9       COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk), jmohkk
 
   14       COMMON /cbad/  lbad, nbad
 
   15       COMMON /cnuc/ xmn,xmn2,pfermi,efermi,
ebind,eb2,c0
 
   28           CALL 
gen_qel(enu, ltyp,p21,p22,p23,p24,p25)
 
   31             WRITE(6,23) enup,(polarx(j1),j1=1,3)
 
   32             WRITE(6,*) enup,
p(4,4),
p(5,4)
 
   33         WRITE(6,*)p21,p22,p23,p24,p25
 
   39    23     
FORMAT(4(1
x,f10.6))
 
   51       SUBROUTINE gen_qel (ENU, LTYP,P21,P22,P23,P24,P25)
 
   57       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
   60       common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
 
   61       dimension rot(3,3),pi(3),po(3)
 
   63       COMMON /cbad/  lbad, nbad
 
   64       COMMON /cnuc/ xmn,xmn2,pfermi,efermi,
ebind,eb2,c0
 
   67       COMMON /nucimp/ prmom(5,248),tamom(5,248), prmfep,prmfen,tamfep,
 
   68      +tamfen, prefep,prefen,taefep,taefen, prepot(210),taepot(210),
 
   69      +prebin,taebin,fermod,etacou
 
   70       COMMON /tautau/q(4,5),
 
   72      +        etb,pxb,pyb,pzb,etn,pxn,pyn,pzn
 
   73       COMMON /neutyy/neutyp,neudec
 
   74       COMMON /nucros/dsigsu,dsigmc,ndsig
 
   75       COMMON /qhelp/eeenu,kktyp
 
   80       dimension 
dbeta(3),dbetb(3),amn(2),aml0(6)
 
   81       DATA amn  /0.93827231d0, 0.93956563d0/
 
   82       DATA aml0 /2*0.51100
d-03,2*0.105659d0, 2*1.777d0/
 
  109       is = -1 + 2*ltyp - 4*k1  
 
  113       lnu = 2 - ltyp + 2*k1    
 
  142       efmax  = 
sqrt(pfermi**2 + ami2) -ami             
 
  143       enwell = efmax + 
ebind  
  160       IF(ntry.GT.2) 
WRITE(*,*) ntry,enu0,k2
 
  161       IF (ntry .GT. 500)  
THEN 
  164         WRITE (   6,1001)  nbad, enu
 
  190       CALL 
pyrobo(0,0,0.,0.,beta1,beta2,beta3)
 
  195       phi11=atan(
p(1,2)/
p(1,3))
 
  202         IF(abs(po(ll)).LT.1.
d-07) po(ll)=0.
 
  208       phi12=atan(
p(1,1)/
p(1,3))
 
  215         IF(abs(po(ll)).LT.1.
d-07) po(ll)=0.
 
  230       s = 
p(2,5)**2 + 2.*enu*
p(2,5)
 
  232       IF (sqs .LT. (aml + amf + 3.
e-03)) goto 100
 
  233       elf = (
s-amf2+aml2)/(2.*sqs)           
 
  234       pstar = (
s-
p(2,5)**2)/(2.*sqs)       
 
  235       plf = 
sqrt(elf**2-aml2)               
 
  236       q2min = -aml2 + 2.*pstar*(elf-plf)    
 
  237       q2max = -aml2 + 2.*pstar*(elf+plf)    
 
  238       IF (q2min .LT. 0.)   q2min = 0.      
 
  242   200 q2 = q2min + (q2max-q2min)*
pyr(0)
 
  244       IF (dsig .LT.  dsigmax*
pyr(0)) goto 200
 
  245       CALL 
qgaus(q2min,q2max,dsigev,enu,ltyp)
 
  252       detot = (
p(1,4)) + (
p(2,4)) 
 
  253       dbeta(1) = ((
p(1,1)) + (
p(2,1)))/detot 
 
  254       dbeta(2) = ((
p(1,2)) + (
p(2,2)))/detot 
 
  255       dbeta(3) = ((
p(1,3)) + (
p(2,3)))/detot 
 
  272       ctstar = elf/plf - (q2 + aml2)/(2.*pstar*plf) 
 
  273       ststar = 
sqrt(1.-ctstar**2)
 
  283       p(5,4) = (
s+amf2-aml2)/(2.*sqs)
 
  290       p(3,1) = 
p(1,1)-
p(4,1)
 
  291       p(3,2) = 
p(1,2)-
p(4,2)
 
  292       p(3,3) = 
p(1,3)-
p(4,3)
 
  293       p(3,4) = 
p(1,4)-
p(4,4)
 
  307       IF(ltyp.GE.3) CALL 
prepola(q2,ltyp,enu)
 
  317           IF(abs(po(ll)).LT.1.
d-07) po(ll)=0.
 
  338           IF(abs(po(ll)).LT.1.
d-07) po(ll)=0.
 
  349       CALL 
pyrobo(1,5,0.,0.,-beta1,-beta2,-beta3)
 
  353       enucl = 
sqrt(
p(5,1)**2 + 
p(5,2)**2 + 
p(5,3)**2 + 
p(5,5)**2) 
 
  355       IF (enucl.LT. efmax) 
THEN 
  358           WRITE(6,*).LT.
' qel: Pauli ENUCLEFMAX ', enucl,efmax
 
  363       ELSE IF (enucl.LT.enwell.and.enucl.GE.efmax) 
THEN 
  366       WRITE(6,*).LT.
' qel: inside ENUCLENWELL ', enucl,enwell
 
  379       ELSE IF (enucl.GE.enwell) 
THEN 
  384         pstart = 
sqrt(
p(5,1)**2 + 
p(5,2)**2 + 
p(5,3)**2)
 
  386         pnucl = 
sqrt(
p(5,4)**2-amf**2)
 
  389         p(5,1) = 
p(5,1) * pnucl/pstart
 
  390         p(5,2) = 
p(5,2) * pnucl/pstart
 
  391         p(5,3) = 
p(5,3) * pnucl/pstart
 
  429      IF(neudec.EQ.1.OR.neudec.EQ.2) 
THEN 
  430             CALL 
pyrobo(6,8,0.,0.,dbetb(1),dbetb(2),dbetb(3))
 
  438  1001 
FORMAT(2
x, 
'GEN_QEL   : event rejected ', i5,  g10.3)
 
  448       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
  449       COMMON /cmaqel/ eml(6), emlsq(6), emn1(6), emn2(6), etqe(6)
 
  450      &  ,emn1sq(6),emn2sq(6),emprot,emneut,emn,emprotsq,emneutsq,emnsq
 
  457       emprot = 0.93827231d0    
 
  458       emneut = 0.93956563d0    
 
  461       emn = (emprot + emneut)/2.
 
  472         etqe(j)  = ((emn2(j)+ eml(j))**2-emn1(j)**2)/(2.*emn1(j))
 
  489       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
  490       COMMON /caxial/ fa0, axial2
 
  491       COMMON /cmaqel/ eml(6), emlsq(6), emn1(6), emn2(6), etqe(6)
 
  492      &  ,emn1sq(6),emn2sq(6),emprot,emneut,emn,emprotsq,emneutsq,emnsq
 
  495       DATA ss /1.d0, -1.d0, 1.d0, -1.d0, 1.d0, -1.d0/
 
  499       gve = 1.d0/ (1.d0 + q2/0.84d0**2)**2   
 
  503       fv1 = 1.d0/(1.d0+xa)*(gve+xa*gvm)
 
  504       fv2 = 1.d0/(1.d0+xa)*(gvm-gve)
 
  505       fa = fa0/(1.d0 + q2/axial2)**2
 
  509       rm = emlsq(jtyp)/(emn*emn)            
 
  510       a1 = (4.d0+
x)*ffa - (4.d0-
x)*ffv1 + 
x*ffv2*(1.d0-xa)+4*
x*fv1*fv2
 
  511       a2 = -rm * ((fv1 + fv2)**2 +  ffa)
 
  512       aa = (xa+0.25d0*rm)*(a1 + a2)
 
  513       bb = -
x*fa*(fv1 + fv2)
 
  514       cc = 0.25d0*(ffa + ffv1 + xa*ffv2)
 
  515       su = (4.d0*enu*emn - q2 - emlsq(jtyp))/(emn*emn)
 
  516       dsqel_q2 = c0*(aa + ss(jtyp)*bb*su + cc*su*su) / (enu*enu)  
 
  522       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
  530       common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
 
  532       COMMON /caxial/ fa0, axial2
 
  533       COMMON /cmaqel/ eml(6), emlsq(6), emn1(6), emn2(6), etqe(6)
 
  534      &  ,emn1sq(6),emn2sq(6),emprot,emneut,emn,emprotsq,emneutsq,emnsq
 
  535       REAL*8 mumass,pol(4,4),bb2(3),nu
 
  536       common/pol/polarx(4),pmodul
 
  537       COMMON /tautau/q(4,5),
 
  539      +        etb,pxb,pyb,pzb,etn,pxn,pyn,pzn
 
  540       COMMON /neutyy/neutyp,neudec
 
  543       DATA ss /1.d0, -1.d0, 1.d0, -1.d0, 1.d0, -1.d0/
 
  552       gve = 1.d0/ (1.d0 + q2/(0.84
d+00)**2)**2   
 
  556       fv1 = 1.d0/(1.d0+xa)*(gve+xa*gvm)
 
  557       fv2 = 1.d0/(1.d0+xa)*(gvm-gve)
 
  558       fa = fa0/(1.d0 + q2/axial2**2)**2
 
  562       fp=2.d0*fa*rmm/(mpi**2 + q2)
 
  563       rm = emlsq(jtyp)/(emn*emn)            
 
  564       a1 = (4.d0+
x)*ffa-(4.d0-
x)*ffv1+
x*ffv2*(1.d0-xa)+4.d0*
x*fv1*fv2
 
  565       a2 = -rm * ((fv1 + fv2)**2 +  ffa)
 
  566       aa = (xa+0.25
d+00*rm)*(a1 + a2)
 
  567       bb = -
x*fa*(fv1 + fv2)
 
  568       cc = 0.25
d+00*(ffa + ffv1 + xa*ffv2)
 
  569       su = (4.
d+00*enu*emn - q2 - emlsq(jtyp))/(emn*emn)
 
  571       omega1=ffa+xa*(ffa+(fv1+fv2)**2   )  
 
  573       omega3=2.
d+00*fa*(fv1+fv2)
 
  574       omega4p=(-(fv1+fv2)**2-(fa+2*fp)**2+(4.0
d+00+
 
  577       omega4=(omega4p-omega2+2*omega5)/4.
d+00
 
  578       ww1=2.
d+00*omega1*emn**2
 
  579       ww2=2.
d+00*omega2*emn**2
 
  580       ww3=2.
d+00*omega3*emn**2
 
  581       ww4=2.
d+00*omega4*emn**2
 
  582       ww5=2.
d+00*omega5*emn**2
 
  585         bb2(i)=-
p(4,i)/
p(4,4)
 
  592       CALL 
pyrobo(0,0,0.,0.,bb2(1),bb2(2),bb2(3) )
 
  601       frac=qm2*ww1 + (2.
d+00*ee*(ee-u) - 0.5
d+00*qm2)*ww2 - ss(jtyp)*
 
  602      +     (0.5
d+00/(rmm**2))*(2.
d+00*rmm*ee*q2 - u*qm2)*ww3 +
 
  603      +     ((rml**2)/(2.
d+00*fm2))*(qm2*ww4-2.
d+00*rmm*ee*ww5) 
 
  605       factk=2.
d+00*ww1 -ww2 -ss(jtyp)*(ee/rmm)*ww3 +((ee-u)/rmm)*ww5
 
  606      +     - ((rml**2)/fm2)*ww4                        
 
  608       factp=2.
d+00*ee/rmm*ww2 - (qm2/(2.
d+00*rmm**2))*(ss(jtyp)*ww3+ww5)
 
  611         pol(4,i)=rml*ss(jtyp)*(factk*
p(1,i)+factp*
p(2,i))/frac
 
  618         pmodul=pmodul+pol(4,i)**2
 
  621       IF(jtyp.GT.4.AND.neudec.GT.0) 
THEN 
  623             CALL 
lepdcyp(eml(jtyp),eml(jtyp-2),polarx(3),
 
  625      +        etb,pxb,pyb,pzb,etn,pxn,pyn,pzn)
 
  631             CALL 
lepdcyp(eml(jtyp),eml(jtyp-4),polarx(3),
 
  633      +        etb,pxb,pyb,pzb,etn,pxn,pyn,pzn)
 
  654             ELSEIF(neudec.EQ.2) 
THEN 
  658          ELSEIF(jtyp.EQ.6) 
THEN 
  661             ELSEIF(neudec.EQ.2) 
THEN 
  679          ELSEIF(jtyp.EQ.6) 
THEN 
  697             ELSEIF(neudec.EQ.2) 
THEN 
  700          ELSEIF(jtyp.EQ.6) 
THEN 
  703             ELSEIF(neudec.EQ.2) 
THEN 
  734       CALL 
pyrobo(1,5,0.,0.,-bb2(1),-bb2(2),-bb2(3))
 
  736       xdc = v(4,1)+v(4,5)*
p(4,1)/
p(4,5)
 
  737       ydc = v(4,2)+v(4,5)*
p(4,2)/
p(4,5)
 
  738       zdc = v(4,3)+v(4,5)*
p(4,3)/
p(4,5)
 
  749       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
  750       dimension rot(3,3),pi(3),po(3)
 
  761         po(j)=rot(j,1)*pi(1)+rot(j,2)*pi(2)+rot(j,3)*pi(3)
 
  768       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
  769       dimension rot(3,3),pi(3),po(3)
 
  780         po(j)=rot(j,1)*pi(1)+rot(j,2)*pi(2)+rot(j,3)*pi(3)
 
  786       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
  787       dimension rot(3,3),pi(3),po(3)
 
  798         po(j)=rot(j,1)*pi(1)+rot(j,2)*pi(2)+rot(j,3)*pi(3)
 
  804       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
  805       dimension rot(3,3),pi(3),po(3)
 
  816         po(j)=rot(j,1)*pi(1)+rot(j,2)*pi(2)+rot(j,3)*pi(3)
 
  821       SUBROUTINE lepdcyp (AMA,AML,POL,ETL,PXL,PYL,PZL,
 
  822      &  etb,pxb,pyb,pzb,etn,pxn,pyn,pzn)
 
  862       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
  863       parameter( kalgnm = 2 )
 
  864       parameter( anglgb = 5.0
d-16 )
 
  865       parameter( anglsq = 2.5
d-31 )
 
  866       parameter( axcssv = 0.2
d+16 )
 
  867       parameter( andrfl = 1.0
d-38 )
 
  868       parameter( avrflw = 1.0
d+38 )
 
  869       parameter( ainfnt = 1.0
d+30 )
 
  870       parameter( azrzrz = 1.0
d-30 )
 
  871       parameter( einfnt = +69.07755278982137 
d+00 )
 
  872       parameter( ezrzrz = -69.07755278982137 
d+00 )
 
  873       parameter( onemns = 0.999999999999999  
d+00 )
 
  874       parameter( onepls = 1.000000000000001  
d+00 )
 
  875       parameter( csnnrm = 2.0
d-15 )
 
  876       parameter( dmxtrn = 1.0
d+08 )
 
  877       parameter( zerzer = 0.
d+00 )
 
  878       parameter( oneone = 1.
d+00 )
 
  879       parameter( twotwo = 2.
d+00 )
 
  880       parameter( thrthr = 3.
d+00 )
 
  881       parameter( foufou = 4.
d+00 )
 
  882       parameter( fivfiv = 5.
d+00 )
 
  883       parameter( sixsix = 6.
d+00 )
 
  884       parameter( sevsev = 7.
d+00 )
 
  885       parameter( eigeig = 8.
d+00 )
 
  886       parameter( aninen = 9.
d+00 )
 
  887       parameter( tenten = 10.
d+00 )
 
  888       parameter( hlfhlf = 0.5
d+00 )
 
  889       parameter( onethi = oneone / thrthr )
 
  890       parameter( twothi = twotwo / thrthr )
 
  891       parameter( pipipi = 3.1415926535897932270 
d+00 )
 
  892       parameter( eneper = 2.7182818284590452354 
d+00 )
 
  893       parameter( sqrent = 1.6487212707001281468 
d+00 )
 
  894       parameter( clight = 2.99792458         
d+10 )
 
  895       parameter( avogad = 6.0221367          
d+23 )
 
  896       parameter( amelgr = 9.1093897          
d-28 )
 
  897       parameter( plckbr = 1.05457266         
d-27 )
 
  898       parameter( elccgs = 4.8032068          
d-10 )
 
  899       parameter( elcmks = 1.60217733         
d-19 )
 
  900       parameter( amugrm = 1.6605402          
d-24 )
 
  901       parameter( ammumu = 0.113428913        
d+00 )
 
  902       parameter( alpfsc = 7.2973530791728595 
d-03 )
 
  903       parameter( fscto2 = 5.3251361962113614 
d-05 )
 
  904       parameter( fscto3 = 3.8859399018437826 
d-07 )
 
  905       parameter( fscto4 = 2.8357075508200407 
d-09 )
 
  906       parameter( plabrc = 0.197327053        
d+00 )
 
  907       parameter( amelct = 0.51099906         
d-03 )
 
  908       parameter( amugev = 0.93149432         
d+00 )
 
  909       parameter( ammuon = 0.105658389        
d+00 )
 
  910       parameter( rclsel = 2.8179409183694872 
d-13 )
 
  911       parameter( gevmev = 1.0                
d+03 )
 
  912       parameter( emvgev = 1.0                
d-03 )
 
  913       parameter( algvmv = 6.90775527898214   
d+00 )
 
  914       parameter( raddeg = 180.
d+00 / pipipi )
 
  915       parameter( degrad = pipipi / 180.
d+00 )
 
  919       parameter( kpmx = 10 )
 
  920       dimension amexpl(kpmx), pxexpl(kpmx), pyexpl(kpmx),
 
  921      &          pzexpl(kpmx), ptexpl(kpmx), etexpl(kpmx),
 
  926       COMMON /gbatnu/ elerat,ntry
 
  935       elemax = ( ama**2 + aml**2 )**2 / ama**2 * ( ama**2 - aml**2 +
 
  936      &  
sqrt( ama**4 + aml**4 - 3.
d+00 * ama**2 * aml**2 ) )
 
  953       CALL explod( npexpl, amexpl, etotex, etexpl, pxexpl,
 
  960       cth = pzexpl(3) / 
sqrt( pxexpl(3)**2 + pyexpl(3)**2 + 
 
  962       prod1 = etexpl(3) * ama * (1.
d+00 - pol * cth)
 
  963       prod2 = etexpl(1) * etexpl(2) - pxexpl(1)*pxexpl(2) -
 
  964      &     pyexpl(1)*pyexpl(2) - pzexpl(1)*pzexpl(2)
 
  965       elemat = 16.
d+00 * prod1 * prod2 
 
  966       IF(elemat.GT.elemax) 
THEN 
  967         WRITE(6,*) 
'Problems in LEPDCY',elemax,elemat
 
  974       IF ( 
test .GT. elemat ) go to 100
 
  978       elerat = elemat/elemax
 
  998       SUBROUTINE gen_delta(ENU,LLEP,LTARG,JINT,P21,P22,P23,P24,P25)
 
  999       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
 1011       common/
pyjets/
n,npad,k(4000,5),
p(4000,5),v(4000,5)
 
 1012       COMMON /kinqel/ ppl(5), ppn(5)
 
 1013       COMMON /cbad/  lbad, nbad
 
 1014       COMMON /cconlun/ luna
 
 1015       dimension rot(3,3),pi(3),po(3)
 
 1017       dimension aml0(6),amn(2)
 
 1018       DATA amd0 /1.231/, gamd /0.12/, deld/0.169/, amdmin/1.084/
 
 1019       DATA amn  /0.93827231, 0.93956563/
 
 1020       DATA aml0 /2*0.51100
e-03,2*0.105659, 2*1.777/
 
 1040       IF (ltarg .EQ. 1)  
THEN 
 1048       is = -1 + 2*llep - 4*k1
 
 1049       lnu = 2 - llep + 2*k1
 
 1053       IF (jint .EQ. 1)  
THEN                     
 1057       IF (ltarg .EQ. 1)  
THEN 
 1063       IF (ltarg .EQ. 1)  
THEN 
 1072      IF (ltarg .EQ. 1)  
THEN 
 1098       beta1=-
p(2,1)/
p(2,4)
 
 1099       beta2=-
p(2,2)/
p(2,4)
 
 1100       beta3=-
p(2,3)/
p(2,4)
 
 1102       CALL 
pyrobo(0,0,0.,0.,beta1,beta2,beta3)
 
 1107       phi11=atan(
p(1,2)/
p(1,3))
 
 1114        IF(abs(po(ll)).LT.1.
d-07) po(ll)=0.
 
 1119       phi12=atan(
p(1,1)/
p(1,3))
 
 1126         IF(abs(po(ll)).LT.1.
d-07) po(ll)=0.
 
 1138       amd=amd0+0.5*gamd*
tan((2.*
r-1.)*atan(2.*deld/gamd))
 
 1140       IF (ntry .GT. 1000)  
THEN 
 1142      WRITE (   6,1001)  nbad, enuu,amd,amdmin,amd0,gamd,
et 
 1143      WRITE (luna,1001)  nbad, enuu
 
 1146       IF (amd .LT. amdmin)  goto 100
 
 1147       et = ((amd+aml)**2 - amn(ltarg)**2)/(2.*amn(ltarg))
 
 1148       IF (enuu .LT. 
et) goto 100
 
 1151       s = amn(ltarg)**2 + 2.*amn(ltarg)*enuu
 
 1153       pstar = (
s - amn(ltarg)**2)/(2.*sqs)
 
 1154       elf = (
s - amd**2 + aml2)/(2.*sqs)
 
 1155       plf = 
sqrt(elf**2 - aml2)
 
 1156       q2min = -aml2 + 2.*pstar*(elf-plf)
 
 1157       q2max = -aml2 + 2.*pstar*(elf+plf)
 
 1158       IF (q2min .LT. 0.)   q2min = 0.
 
 1161 200   q2 = q2min + (q2max-q2min)*
pyr(0)
 
 1163       IF (dsig .LT.  dsigmax*
pyr(0)) goto 200
 
 1167       eistar = (
s + amn(ltarg)**2)/(2.*sqs)
 
 1168       gam = eistar/amn(ltarg)
 
 1170       ctstar = elf/plf - (q2 + aml2)/(2.*pstar*plf)
 
 1171       el  = gam*(elf + bet*plf*ctstar)
 
 1172       plz = gam*(plf*ctstar + bet*elf)
 
 1173       pl  = 
sqrt(el**2 - aml2)
 
 1174       plt = 
sqrt(max(1.
e-06,(pl*pl - plz*plz)))
 
 1185       p(5,3) = enuu-
p(4,3)
 
 1186       p(5,4) = enuu+amn(ltarg)-
p(4,4)
 
 1191       p(3,4) = 
p(1,4)-
p(4,4)
 
 1192       p(3,1) = 
p(1,1)-
p(4,1)
 
 1193       p(3,2) = 
p(1,2)-
p(4,2)
 
 1194       p(3,3) = 
p(1,3)-
p(4,3)
 
 1204           IF(abs(po(ll)).LT.1.
d-07) po(ll)=0.
 
 1222             IF(abs(po(ll)).LT.1.
d-07) po(ll)=0.
 
 1232       CALL 
pyrobo(0,0,0.,0.,-beta1,-beta2,-beta3)
 
 1242 1001  
FORMAT(2
x, 
'GEN_DELTA : event rejected ', i5,  6g10.3)
 
 1246       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
 1255       REAL*8 mn, mn2, mn4, md,md2, md4
 
 1258       gf = (1.1664 * 1.97)
 
 1266       vq  = (mn2 - md2 - qq)/2.
 
 1267       vpi = (mn2 + md2 - qq)/2.
 
 1268       vk  = (
s + qq - mn2 - aml2)/2.
 
 1271       piq = (qq + mn2 - md2)/2.
 
 1273       c3v = 2.07*
sqrt(
exp(-6.3*q)*(1.+9*q))
 
 1274       c3 = 
sqrt(3.)*c3v/mn
 
 1276       c5a = 1.18/(1.-qq/0.4225)**2
 
 1281       IF (lnu .EQ. 1)  
THEN 
 1282       ans3=-md2*vpi*qk*qq*c32+md2*vpi*qk*c5a2+2.*md2*vq*
 
 1283      . pik*qk*c32+2.*md2*vq*qk*piq*c32+md4*vpi*qk*qq*c42-
 
 1284      . 2.*vk**2*vpi*qq*c32+2.*vk**2*vpi*c5a2+4.*vk*vpi*vq*
 
 1285      . qk*c32+2.*vk*vpi*vq*c5a2+2.*vpi*vq**2*qk*c32
 
 1286       ans2=2.*mn*md*md2*vk**2*qq*c42-4.*mn*md*md2*vk*vq*qk
 
 1287      . *c42-2.*mn*md*md2*vq**2*qk*c42-2.*mn*md*md2*qk**2*
 
 1288      . c32-3.*mn*md*md2*qk*qq*c32+mn*md*md2*qk*c5a2-mn*md*
 
 1289      . md4*qk*qq*c42+2.*mn*md*vk**2*c5a2+2.*mn*md*vk*vq*
 
 1290      . c5a2+4.*mn*c3*c4*md2*vk**2*qq-8.*mn*c3*c4*md2*vk*vq
 
 1291      . *qk-4.*mn*c3*c4*md2*vq**2*qk-2.*mn*c3*c4*md4*qk*qq-
 
 1292      . 4.*mn*c3*c5a*md2*vk*qq+4.*mn*c3*c5a*md2*vq*qk-2.*md*
 
 1293      . c3*c4*md2*vk*pik*qq+2.*md*c3*c4*md2*vk*qk*piq+2.*md
 
 1294      . *c3*c4*md2*vpi*qk*qq+2.*md*c3*c4*md2*vq*pik*qk+2.*
 
 1295      . md*c3*c4*md2*vq*qk*piq-2.*md*c3*c4*vk**2*vpi*qq+4.*
 
 1296      . md*c3*c4*vk*vpi*vq*qk+2.*md*c3*c4*vpi*vq**2*qk-md*
 
 1297      . c3*c5a*md2*pik*qq+md*c3*c5a*md2*qk*piq-3.*md*c3*c5a
 
 1298      . *vk*vpi*qq+md*c3*c5a*vk*vq*piq+3.*md*c3*c5a*vpi*vq*
 
 1299      . qk-md*c3*c5a*vq**2*pik+c4*c5a*md2*vk*vpi*qq+c4*c5a*
 
 1300      . md2*vk*vq*piq-c4*c5a*md2*vpi*vq*qk-c4*c5a*md2*vq**2
 
 1301      . *pik-c4*c5a*md4*pik*qq+c4*c5a*md4*qk*piq-2.*md2*vk
 
 1302      . **2*vpi*qq*c42+4.*md2*vk*vpi*vq*qk*c42-2.*md2*vk*
 
 1303      . pik*qq*c32+2.*md2*vk*qk*piq*c32+2.*md2*vpi*vq**2*qk
 
 1304      . *c42-2.*md2*vpi*qk**2*c32+ans3
 
 1306       ans3=-md2*vpi*qk*qq*c32+md2*vpi*qk*c5a2+2.*md2*vq*
 
 1307      . pik*qk*c32+2.*md2*vq*qk*piq*c32+md4*vpi*qk*qq*c42-
 
 1308      . 2.*vk**2*vpi*qq*c32+2.*vk**2*vpi*c5a2+4.*vk*vpi*vq*
 
 1309      . qk*c32+2.*vk*vpi*vq*c5a2+2.*vpi*vq**2*qk*c32
 
 1310       ans2=2.*mn*md*md2*vk**2*qq*c42-4.*mn*md*md2*vk*vq*qk
 
 1311      . *c42-2.*mn*md*md2*vq**2*qk*c42-2.*mn*md*md2*qk**2*
 
 1312      . c32-3.*mn*md*md2*qk*qq*c32+mn*md*md2*qk*c5a2-mn*md*
 
 1313      . md4*qk*qq*c42+2.*mn*md*vk**2*c5a2+2.*mn*md*vk*vq*
 
 1314      . c5a2+4.*mn*c3*c4*md2*vk**2*qq-8.*mn*c3*c4*md2*vk*vq
 
 1315      . *qk-4.*mn*c3*c4*md2*vq**2*qk-2.*mn*c3*c4*md4*qk*qq+
 
 1316      . 4.*mn*c3*c5a*md2*vk*qq-4.*mn*c3*c5a*md2*vq*qk-2.*md*
 
 1317      . c3*c4*md2*vk*pik*qq+2.*md*c3*c4*md2*vk*qk*piq+2.*md
 
 1318      . *c3*c4*md2*vpi*qk*qq+2.*md*c3*c4*md2*vq*pik*qk+2.*
 
 1319      . md*c3*c4*md2*vq*qk*piq-2.*md*c3*c4*vk**2*vpi*qq+4.*
 
 1320      . md*c3*c4*vk*vpi*vq*qk+2.*md*c3*c4*vpi*vq**2*qk+md*
 
 1321      . c3*c5a*md2*pik*qq-md*c3*c5a*md2*qk*piq+3.*md*c3*c5a
 
 1322      . *vk*vpi*qq-md*c3*c5a*vk*vq*piq-3.*md*c3*c5a*vpi*vq*
 
 1323      . qk+md*c3*c5a*vq**2*pik-c4*c5a*md2*vk*vpi*qq-c4*c5a*
 
 1324      . md2*vk*vq*piq+c4*c5a*md2*vpi*vq*qk+c4*c5a*md2*vq**2
 
 1325      . *pik+c4*c5a*md4*pik*qq-c4*c5a*md4*qk*piq-2.*md2*vk
 
 1326      . **2*vpi*qq*c42+4.*md2*vk*vpi*vq*qk*c42-2.*md2*vk*
 
 1327      . pik*qq*c32+2.*md2*vk*qk*piq*c32+2.*md2*vpi*vq**2*qk
 
 1328      . *c42-2.*md2*vpi*qk**2*c32+ans3
 
 1332       p1cm = (
s-mn2)/(2.*
sqrt(
s))
 
 1338       IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
 
 1340       DATA x/.1488743389d0,.4333953941d0,
 
 1341      & .6794095682d0,.8650633666d0,.9739065285d0
 
 1343       DATA w/.2955242247d0,.2692667193d0,
 
 1344      & .2190863625d0,.1494513491d0,.0666713443d0
 
subroutine prepola(Q2, JTYP, ENU)
 
subroutine gen_qel(ENU, LTYP, P21, P22, P23, P24, P25)
 
DOUBLE PRECISION function rndm(RDUMMY)
 
function dsigma_delta(LNU, QQ, S, AML, MD)
 
static c2_tan_p< float_type > & tan()
make a *new object 
 
subroutine qgaus(A, B, SS, ENU, LTYP)
 
DOUBLE PRECISION function ebind(IA, IZ)
 
subroutine qel_pol(ENU, LTYP, P21, P22, P23, P24, P25)
 
subroutine gen_delta(ENU, LLEP, LTARG, JINT, P21, P22, P23, P24, P25)
 
subroutine testrot3(PI, PO, PHI)
 
subroutine testrot4(PI, PO, PHI)
 
subroutine lepdcyp(AMA, AML, POL, ETL, PXL, PYL, PZL, ETB, PXB, PYB, PZB, ETN, PXN, PYN, PZN)
 
static c2_sqrt_p< float_type > & sqrt()
make a *new object 
 
function dsqel_q2(JTYP, ENU, Q2)
 
subroutine testrot2(PI, PO, PHI)
 
static c2_cos_p< float_type > & cos()
make a *new object 
 
DOUBLE PRECISION function dbeta(X1, X2, BET)
 
subroutine testrot1(PI, PO, PHI)
 
subroutine pyrobo(IMI, IMA, THE, PHI, BEX, BEY, BEZ)
 
static c2_sin_p< float_type > & sin()
make a *new object 
 
static c2_exp_p< float_type > & exp()
make a *new object