2 SUBROUTINE syjetf0(IMODE,YCUT,EPS0,R0,NJETRQ,NPAR0,PPAR0,IUSE,
3 + njet,ipass0,pjet6,y34,y45,ierr)
14 INTEGER njetrq,npar0,ipass0(*),iuse(*),jmode
15 INTEGER npar,ierr,i,njet,ipass(300),k,ijmul(10),j
16 REAL ppar(5,300),ppar0(5,*)
17 REAL pjj(10,10),y34,y45,pjet(5,10),pjet6(6,*)
29 CALL vzero(ipass0,npar0)
38 ppar(k,npar) = ppar0(k,i)
43 WRITE(*,
'(A,I3,I10)')
'NPAR LT 3',npar,npar0
48 IF(imode.GT.100.AND.npar.LT.njetrq)
THEN
49 WRITE(*,
'(A,I3,I10)')
'NPAR LT NJRQ',npar,njetrq
57 IF(imode.GE.1.AND.imode.LE.12)
THEN
59 IF(imode.GE.1.AND.imode.LE.6)
THEN
61 CALL
ykern(jmode,npar,5,ppar,ierr)
63 WRITE(*,
'(A,I3,I10)')
'YKERN ERROR 1',i,ierr
67 CALL
ynjet(ycut,njet,ierr)
69 WRITE(*,
'(A,I3,I10)')
'YNJET ERROR 2',i,ierr
75 +
'NJET EXCEED 10 USE 10',njet,imode
79 CALL
yasso(njet,pjj,ipass,ierr)
81 WRITE(*,
'(A,I3,I10)')
'YASSO ERROR 1',i,ierr
86 CALL ucopy(pjj(1,k),pjet(1,k),4)
89 ELSEIF(imode.EQ.7)
THEN
90 CALL
pxcamj(5,npar,ppar,ycut,njet,ipass,p4,ierr)
92 WRITE(*,
'(A,I3,I10)')
'PXCAMJ ERROR ',njet,ierr
97 CALL ucopy(p4(1,k),pjet(1,k),4)
98 pjet(5,k) = sqrt(max(0.,
99 + pjet(4,k)**2-pjet(1,k)**2-pjet(2,k)**2-pjet(3,k)**2))
102 ELSEIF(imode.GE.8.AND.imode.LE.11)
THEN
105 CALL
pxlcl5(npar,5,ppar,jmode,ycut,1,10,
106 + njet,pjet,ipass,ijmul,ierr)
108 WRITE(*,
'(A,I3,I10)')
'PXLCL5 ERROR ',njet,ierr
113 pjet(5,k) = sqrt(max(0.,
114 + pjet(4,k)**2-pjet(1,k)**2-pjet(2,k)**2-pjet(3,k)**2))
117 ELSEIF(imode.EQ.12)
THEN
120 CALL
pxcone(npar,5,ppar,rin,epsin,10,
121 + njet,pjet,ipass,ijmul,ierr)
123 WRITE(*,
'(A,I3,I10)')
'PXCONE ERROR ',njet,ierr
128 pjet(5,k) = sqrt(max(0.,
129 + pjet(4,k)**2-pjet(1,k)**2-pjet(2,k)**2-pjet(3,k)**2))
134 ELSEIF(imode.GE.101.AND.imode.LE.112)
THEN
137 IF(imode.GE.101.AND.imode.LE.106)
THEN
139 CALL
ykern(jmode,npar,5,ppar,ierr)
141 WRITE(*,
'(A,I5,I10)')
'YKERN ERROR 2',imode,ierr
145 CALL
yyjet(njet,y45,y34,ierr)
147 WRITE(*,
'(A,I3,I10)')
'YYJET ERROR 1',i,ierr
155 CALL
yasso(njet,pjj,ipass,ierr)
159 WRITE(*,
'(A,I3,I10)')
'YASSO ERROR 1',i,ierr
164 CALL ucopy(pjj(1,k),pjet(1,k),4)
165 pjet(5,k) = sqrt(max(0.,
166 + pjet(4,k)**2-pjet(1,k)**2-pjet(2,k)**2-pjet(3,k)**2))
169 ELSEIF(imode.EQ.107)
THEN
170 CALL
ckern(5,npar,ppar,njet,ierr)
172 WRITE(*,
'(A,I5,I10)')
'CKERN ERROR',imode,ierr
176 CALL
cyjet(njet,y45,y34,ierr)
178 WRITE(*,
'(A,I3,I10)')
'CYJET ERROR',i,ierr
182 CALL
casso(njet,p4,ipass,ierr)
184 WRITE(*,
'(A,I3,I10)')
'CASSO ERROR 1',i,ierr
189 CALL ucopy(p4(1,k),pjet(1,k),4)
190 pjet(5,k) = sqrt(max(0.,
191 + pjet(4,k)**2-pjet(1,k)**2-pjet(2,k)**2-pjet(3,k)**2))
194 ELSEIF(imode.GE.108.AND.imode.LE.111)
THEN
197 IF(imode.EQ.111) ydum = 0.99
199 CALL
pxlcl5(npar,5,ppar,jmode,ydum,njdum,10,
200 + njet,pjet,ipass,ijmul,ierr)
202 WRITE(*,
'(A,I3,I10)')
'PXLCL5 ERROR ',njet,ierr
207 pjet(5,k) = sqrt(max(0.,
208 + pjet(4,k)**2-pjet(1,k)**2-pjet(2,k)**2-pjet(3,k)**2))
211 ELSE IF(imode.EQ.112)
THEN
213 CALL
sycone(njet,npar,5,ppar,rout,epsout,
214 + 10,njetout,pjet,ipass,ijmul,ierr)
216 WRITE(*,
'(A,I3,I10)')
'SYCONE ERROR',njet,ierr
220 IF(njet.NE.njetout)
THEN
221 WRITE(*,
'(A,I3,I10)')
222 +
'SYCONE NJ NOT MATCH',njet,njetout
228 IF(ipass(j).LE.0)
THEN
236 WRITE(*,
'(A,I5,I10)')
'NO JET ALGORITHM',imode,ierr
243 IF(ipass(i).GT.njet.OR.ipass(i).LT.1)
THEN
249 IF(iuse(i).GT.0)
THEN
255 pjet(5,k) = sqrt(max(0.,
256 + pjet(4,k)**2-pjet(1,k)**2-pjet(2,k)**2-pjet(3,k)**2))
259 CALL ucopy(pjet(1,k),pjet6(1,k),5)
260 pjet6(6,k) = sqrt(pjet(1,k)**2+pjet(2,k)**2+pjet(3,k)**2)
266 write(*,*)
' BAD OK1',njet,npar0,imode,ierr,njetrq
268 CALL vzero(pjet6,6*10)
269 CALL vzero(ipass0,npar0)
subroutine ckern(ITKDM, NT, PT, NJREQ, IERR)
subroutine cyjet(NJET, YL, YH, IERR)
subroutine pxlcl5(NTRAK, ITKDM, PTRAK, IMODE, XMIN, MNJET, MXJET, NJET, PJET, IPASS, IJMUL, IERR)
subroutine sycone(NJREQ, NTRAK, ITKMAX, PTRAK, R, EPS, NJMAX, NJET, PJET, IPASS, IJMUL, IERR)
subroutine casso(NJET, PNJ, BL, IERR)
subroutine ynjet(YCUT, NJET, IERR)
subroutine yyjet(NJET, YL, YH, IERR)
subroutine pxcone(NTRAK, ITKDM, PTRAK, CONER, EPSLON, MXJET, NJET, PJET, IPASS, IJMUL, IERR)
subroutine pxcamj(ITKDM, NT, PT, YCUT, NJ, IJ, PJ, IERR)
subroutine yasso(NJET, PNJ, BL, IERR)
subroutine syjetf0(IMODE, YCUT, EPS0, R0, NJETRQ, NPAR0, PPAR0, IUSE, NJET, IPASS0, PJET6, Y34, Y45, IERR)
subroutine ykern(IMODE, NT, ITKDM, PP, IERR)