EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
hijini.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file hijini.f
1 C
2 C
3 C
4  SUBROUTINE hijini
5  common/hiparnt/hipr1(100),ihpr2(50),hint1(100),ihnt2(50)
6  SAVE /hiparnt/
7  common/histrng/nfp(300,15),pp(300,15),nft(300,15),pt(300,15)
8  SAVE /histrng/
9  common/hijjet1/npj(300),kfpj(300,500),pjpx(300,500),
10  & pjpy(300,500),pjpz(300,500),pjpe(300,500),
11  & pjpm(300,500),ntj(300),kftj(300,500),
12  & pjtx(300,500),pjty(300,500),pjtz(300,500),
13  & pjte(300,500),pjtm(300,500)
14  SAVE /hijjet1/
15  common/hijjet2/nsg,njsg(900),iasg(900,3),k1sg(900,100),
16  & k2sg(900,100),pxsg(900,100),pysg(900,100),
17  & pzsg(900,100),pesg(900,100),pmsg(900,100)
18  SAVE /hijjet2/
19  common/hijjet4/ndr,iadr(900,2),kfdr(900),pdr(900,5)
20  SAVE /hijjet4/
21  common/ranseed/nseed
22  SAVE /ranseed/
23 C****************Reset the momentum of initial particles************
24 C and assign flavors to the proj and targ string *
25 C*******************************************************************
26  nsg=0
27  ndr=0
28  ipp=2212
29  ipt=2212
30  IF(ihnt2(5).NE.0) ipp=ihnt2(5)
31  IF(ihnt2(6).NE.0) ipt=ihnt2(6)
32 C ********in case the proj or targ is a hadron.
33 C
34  DO 100 i=1,ihnt2(1)
35  pp(i,1)=0.0
36  pp(i,2)=0.0
37  pp(i,3)=sqrt(hint1(1)**2/4.0-hint1(8)**2)
38  pp(i,4)=hint1(1)/2
39  pp(i,5)=hint1(8)
40  pp(i,6)=0.0
41  pp(i,7)=0.0
42  pp(i,8)=0.0
43  pp(i,9)=0.0
44  pp(i,10)=0.0
45  nfp(i,3)=ipp
46  nfp(i,4)=ipp
47  nfp(i,5)=0
48  nfp(i,6)=0
49  nfp(i,7)=0
50  nfp(i,8)=0
51  nfp(i,9)=0
52  nfp(i,10)=0
53  nfp(i,11)=0
54  npj(i)=0
55  IF(i.GT.abs(ihnt2(2))) nfp(i,3)=2112
56  CALL attflv(nfp(i,3),idq,idqq)
57  nfp(i,1)=idq
58  nfp(i,2)=idqq
59  nfp(i,15)=-1
60  IF(abs(idq).GT.1000.OR.(abs(idq*idqq).LT.100.AND.
61  & atl_ran(nseed).LT.0.5)) nfp(i,15)=1
62  pp(i,14)=ulmass(idq)
63  pp(i,15)=ulmass(idqq)
64 100 CONTINUE
65 C
66  DO 200 i=1,ihnt2(3)
67  pt(i,1)=0.0
68  pt(i,2)=0.0
69  pt(i,3)=-sqrt(hint1(1)**2/4.0-hint1(9)**2)
70  pt(i,4)=hint1(1)/2.0
71  pt(i,5)=hint1(9)
72  pt(i,6)=0.0
73  pt(i,7)=0.0
74  pt(i,8)=0.0
75  pt(i,9)=0.0
76  pt(i,10)=0.0
77  nft(i,3)=ipt
78  nft(i,4)=ipt
79  nft(i,5)=0
80  nft(i,6)=0
81  nft(i,7)=0
82  nft(i,8)=0
83  nft(i,9)=0
84  nft(i,10)=0
85  nft(i,11)=0
86  ntj(i)=0
87  IF(i.GT.abs(ihnt2(4))) nft(i,3)=2112
88  CALL attflv(nft(i,3),idq,idqq)
89  nft(i,1)=idq
90  nft(i,2)=idqq
91  nft(i,15)=1
92  IF(abs(idq).GT.1000.OR.(abs(idq*idqq).LT.100.AND.
93  & atl_ran(nseed).LT.0.5)) nft(i,15)=-1
94  pt(i,14)=ulmass(idq)
95  pt(i,15)=ulmass(idqq)
96 200 CONTINUE
97  RETURN
98  END