All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
pxlcl5.f
Go to the documentation of this file.
1 CDECK ID>, PXLCL5.
2  SUBROUTINE pxlcl5 (NTRAK,ITKDM,PTRAK,IMODE,XMIN,MNJET,
3  + mxjet,njet,pjet,ipass,ijmul,ierr)
4 *.*********************************************************
5 *. ------
6 *. PXLCL5
7 *. ------
8 *. Jet-finding routine using the Jetset algorithm.
9 *. The implementation here is without a common block, however.
10 *. Thus this routine may be used regardless of whether the
11 *. Jetset6.3 or Jetset7.1 library might be linked. It is
12 *. not necessary to link to Jetset, however.
13 *. Usage :
14 *.
15 *. INTEGER ITKDM,MXTRK
16 *. PARAMETER (ITKDM=5.or.more,MXTRK=1.or.more)
17 *. INTEGER MXJET
18 *. PARAMETER (MXJET=10)
19 *. INTEGER IPASS (MXTRK),IJMUL (MXJET)
20 *. INTEGER NTRAK,NJET,IERR,IMODE,MNJET
21 *. REAL PTRAK (ITKDM,MXTRK),PJET (5,MXJET)
22 *. REAL XMIN
23 *.
24 *. NTRAK = 1.to.MXTRAK
25 *. IMODE = 1.to.4 (Jetset7.1 default = 1)
26 *. XMIN = 2.5 (Jetset7.1 default = 2.5 for IMODE = 1,2,3;
27 *. = 0.05 for IMODE = 4)
28 *. MNJET = 1.to.MXJET (= 1 for most purposes)
29 *. CALL PXLCL5 (NTRAK,ITKDM,PTRAK,IMODE,XMIN,MNJET,
30 *. + MXJET,NJET,PJET,IPASS,IJMUL,IERR)
31 *.
32 *. INPUT : NTRAK Total number of particles
33 *. INPUT : ITKDM First dimension of PTRAK array
34 *. INPUT : PTRAK Particle momentum array: Px,Py,Pz,E,M
35 *. INPUT : IMODE Jetfinder mode (= MSTU(46) in Jetset7.1)
36 *. INPUT : XMIN Jet resolution parameter
37 *. equivalent to PARU(44) for IMODE = 1,2,3
38 *. equivalent to PARU(45) for IMODE = 4
39 *. INPUT : MNJET The minimum number of jets to reconstruct
40 *. INPUT : MXJET The maximum number of jets permitted
41 *. OUTPUT : NJET Number of jets found
42 *. OUTPUT : PJET 5-momenta of reconstructed jets
43 *. OUTPUT : IPASS(k) Particle k belongs to jet number IPASS(k)
44 *. OUTPUT : IJMUL(i) Jet i contains IJMUL(i) particles
45 *. OUTPUT : IERR = 0 if all is OK ; = -1 otherwise
46 *.
47 *. CALLS : PXLUC5,PXMAS4,PXPRNT,PXPRIV
48 *. CALLED : By User
49 *.
50 *. AUTHOR : J.W.Gary
51 *. CREATED : 19-Jun-88
52 *. LAST MOD : 15-Feb-89
53 *.
54 *. Modification Log.
55 *. 15-Feb-89 Integrate with PXLUC5 J.W.Gary
56 *. 12-May-97 D. Chrisman, remove declaration of unused variables
57 *. DMIN, MINTR and TGEN.
58 *.
59 *.*********************************************************
60  IMPLICIT NONE
61  INTEGER iolun,nrludm
62  parameter(iolun=6,nrludm=2000)
63  INTEGER ntrak,mxjet,ix1,ix2,itkdm,njet,ierr,nlund,
64  + mstu46,mstu47,imode,mnjet
65  INTEGER ipass (*),ijmul (*)
66  REAL ptrak (itkdm,*),plund (nrludm,5),pjet (5,*)
67  REAL xmin,paru44,paru45
68  LOGICAL lprt
69  DATA lprt / .false. /
70 
71  ierr = 0
72 * select jetfinder mode
73 * ------ --------- ----
74  mstu46 = imode
75  mstu47 = mnjet
76  IF (mstu46.LT.1.OR.mstu46.GT.4) THEN
77  WRITE (6,fmt='(''PXLCL5: Error, MSTU46 ='',I12)') mstu46
78  go to 995
79  END IF
80  paru44 = xmin
81  paru45 = xmin
82  IF (ntrak.LE.1) THEN
83  WRITE (iolun,fmt='('' PXLCL5: Error, NTRAK ='',I4)')
84  + ntrak
85  go to 995
86  END IF
87 * Pack Jetset arrays
88 * ---- ------ ------
89  nlund = ntrak
90  DO 110 ix1 = 1,ntrak
91  DO 100 ix2 = 1,5
92  plund(ix1,ix2) = ptrak(ix2,ix1)
93  100 CONTINUE
94  110 CONTINUE
95 * Call Jetset routine for cluster-finding
96 * ---- ------ ------- --- ------- -------
97  CALL pxluc5(nlund,nrludm,plund,mstu46,mstu47,
98  + paru44,paru45,njet,ijmul,ipass)
99  IF (njet.LT.1) THEN
100  WRITE (iolun,fmt='('' PXLCL5: ERROR, NJET='',
101  + I6)') njet
102  ierr = -1
103  RETURN
104  ELSE IF (njet.GT.mxjet) THEN
105  WRITE (iolun,fmt='
106  + ('' PXLCL5: ERROR, NJET='',I6,
107  + '' exceeds MXJET'',I6)') njet,mxjet
108  go to 995
109  END IF
110 * Copy jet 4-momenta to output buffer
111 * ---- --- - ------- -- ------ ------
112  DO 210 ix2 = 1,njet
113  DO 200 ix1 = 1,4
114  pjet(ix1,ix2) = plund(nlund+ix2,ix1)
115  200 CONTINUE
116  CALL pxmas4(pjet(1,ix2),pjet(5,ix2))
117  210 CONTINUE
118  IF (lprt) THEN
119  WRITE (iolun,fmt='('' PXLCL5:'')')
120  CALL pxprnt(1,njet,5,5,pjet,'E')
121  CALL pxpriv('IJMUL',njet,ijmul)
122  CALL pxpriv('IPASS',ntrak,ipass)
123  END IF
124 
125  RETURN
126  995 ierr = -1
127  RETURN
128  END
subroutine pxlcl5(NTRAK, ITKDM, PTRAK, IMODE, XMIN, MNJET, MXJET, NJET, PJET, IPASS, IJMUL, IERR)
Definition: pxlcl5.f:2
subroutine pxluc5(N, NRLUDM, P, MSTU46, MSTU47, PARU44, PARU45, NJET, IJMUL, IPASS)
Definition: pxluc5.f:2
subroutine pxprnt(IFST, ILST, ISZE, IPRT, ARRY, COPT)
Definition: pxprnt.f:2
subroutine pxpriv(NAME, NELMT, IARR)
Definition: pxpriv.f:2
subroutine pxmas4(PMOM, XMAS)
Definition: pxmas4.f:2