Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pyrvsf.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pyrvsf.f
1 
2 C*********************************************************************
3 
4 C...PYRVSF
5 C...Calculates R-violating decays of sfermions.
6 C...P. Z. Skands
7 
8  SUBROUTINE pyrvsf(KFIN,XLAM,IDLAM,LKNT)
9 
10 C...Double precision and integer declarations.
11  IMPLICIT DOUBLE PRECISION(a-h, o-z)
12  IMPLICIT INTEGER(i-n)
13 C...Parameter statement to help give large particle numbers.
14  parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
15  &kexcit=4000000,kdimen=5000000)
16 C...Commonblocks.
17  common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
18  common/pymssm/imss(0:99),rmss(0:99)
19  common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
20  &sfmix(16,4),zmixi(4,4),umixi(2,2),vmixi(2,2)
21  common/pymsrv/rvlam(3,3,3), rvlamp(3,3,3), rvlamb(3,3,3)
22 C...Local variables.
23  DOUBLE PRECISION xlam(0:400)
24  INTEGER idlam(400,3), pycomp
25  SAVE /pymsrv/,/pyssmt/,/pymssm/,/pydat2/
26 
27 C...IS R-VIOLATION ON ?
28  IF ((imss(51).GE.1).OR.(imss(52).GE.1).OR.(imss(53).GE.1)) THEN
29 C...Mass eigenstate counter
30  icnt=int(kfin/ksusy1)
31 C...SM KF code of SUSY particle
32  kfsm=kfin-icnt*ksusy1
33 C...Squared Sparticle Mass
34  sm=pmas(pycomp(kfin),1)**2
35 C... Squared mass of top quark
36  smt=pmas(pycomp(6),1)**2
37 C...IS L-VIOLATION ON ?
38  IF ((imss(51).GE.1).OR.(imss(52).GE.1)) THEN
39 C...SLEPTON -> NU(BAR) + LEPTON and UBAR + D
40  IF(icnt.NE.0.AND.(kfsm.EQ.11.OR.kfsm.EQ.13.OR.kfsm.EQ.15))
41  & THEN
42  k=int((kfsm-9)/2)
43  DO 110 i=1,3
44  DO 100 j=1,3
45  IF(i.NE.j) THEN
46 C...~e,~mu,~tau -> nu_I + lepton-_J
47  lknt = lknt+1
48  idlam(lknt,1)= 12 +2*(i-1)
49  idlam(lknt,2)= 11 +2*(j-1)
50  idlam(lknt,3)= 0
51  xlam(lknt)=0d0
52  rm2=rvlam(i,j,k)**2*sfmix(kfsm,2*icnt)**2 * sm
53  IF (imss(51).NE.0) xlam(lknt) =
54  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
55 C...KINEMATICS CHECK
56  IF (xlam(lknt).EQ.0d0) THEN
57  lknt=lknt-1
58  ENDIF
59  ENDIF
60  100 CONTINUE
61  110 CONTINUE
62 C...~e,~mu,~tau -> nu_Ibar + lepton-_K
63  j=int((kfsm-9)/2)
64  DO 130 i=1,3
65  IF(i.NE.j) THEN
66  DO 120 k=1,3
67  lknt = lknt+1
68  idlam(lknt,1)=-12 -2*(i-1)
69  idlam(lknt,2)= 11 +2*(k-1)
70  idlam(lknt,3)= 0
71  xlam(lknt)=0d0
72  rm2=rvlam(i,j,k)**2*sfmix(kfsm,2*icnt-1)**2 * sm
73  IF (imss(51).NE.0) xlam(lknt) =
74  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
75 C...KINEMATICS CHECK
76  IF (xlam(lknt).EQ.0d0) THEN
77  lknt=lknt-1
78  ENDIF
79  120 CONTINUE
80  ENDIF
81  130 CONTINUE
82 C...~e,~mu,~tau -> u_Jbar + d_K
83  i=int((kfsm-9)/2)
84  DO 150 j=1,3
85  DO 140 k=1,3
86  lknt = lknt+1
87  idlam(lknt,1)=-2 -2*(j-1)
88  idlam(lknt,2)= 1 +2*(k-1)
89  idlam(lknt,3)= 0
90  xlam(lknt)=0
91  IF (imss(52).NE.0) THEN
92 C...Use massive top quark
93  IF (idlam(lknt,1).EQ.-6) THEN
94  rm2=3*rvlamp(i,j,k)**2*sfmix(kfsm,2*icnt-1)**2
95  & * (sm-smt)
96  xlam(lknt) =
97  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,3)
98 C...If no top quark, all decay products massless
99  ELSE
100  rm2=3*rvlamp(i,j,k)**2*sfmix(kfsm,2*icnt-1)**2 * sm
101  xlam(lknt) =
102  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
103  ENDIF
104 C...KINEMATICS CHECK
105  IF (xlam(lknt).EQ.0d0) THEN
106  lknt=lknt-1
107  ENDIF
108  ENDIF
109  140 CONTINUE
110  150 CONTINUE
111  ENDIF
112 C * SNEUTRINO -> LEPTON+ + LEPTON- and DBAR + D
113 C...No right-handed neutrinos
114  IF(icnt.EQ.1) THEN
115  IF(kfsm.EQ.12.OR.kfsm.EQ.14.OR.kfsm.EQ.16) THEN
116  j=int((kfsm-10)/2)
117  DO 170 i=1,3
118  DO 160 k=1,3
119  IF (i.NE.j) THEN
120 C...~nu_J -> lepton+_I + lepton-_K
121  lknt = lknt+1
122  idlam(lknt,1)=-11 -2*(i-1)
123  idlam(lknt,2)= 11 +2*(k-1)
124  idlam(lknt,3)= 0
125  xlam(lknt)=0d0
126  rm2=rvlam(i,j,k)**2 * sm
127  IF (imss(51).NE.0) xlam(lknt) =
128  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
129 C...KINEMATICS CHECK
130  IF (xlam(lknt).EQ.0d0) THEN
131  lknt=lknt-1
132  ENDIF
133  ENDIF
134  160 CONTINUE
135  170 CONTINUE
136 C...~nu_I -> dbar_J + d_K
137  i=int((kfsm-10)/2)
138  DO 190 j=1,3
139  DO 180 k=1,3
140  lknt = lknt+1
141  idlam(lknt,1)=-1 -2*(j-1)
142  idlam(lknt,2)= 1 +2*(k-1)
143  idlam(lknt,3)= 0
144  xlam(lknt)=0d0
145  rm2=3*rvlamp(i,j,k)**2 * sm
146  IF (imss(52).NE.0) xlam(lknt) =
147  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
148 C...KINEMATICS CHECK
149  IF (xlam(lknt).EQ.0d0) THEN
150  lknt=lknt-1
151  ENDIF
152  180 CONTINUE
153  190 CONTINUE
154  ENDIF
155  ENDIF
156 C * SDOWN -> NU(BAR) + D and LEPTON- + U
157  IF(icnt.NE.0.AND.(kfsm.EQ.1.OR.kfsm.EQ.3.OR.kfsm.EQ.5)) THEN
158  j=int((kfsm+1)/2)
159  DO 210 i=1,3
160  DO 200 k=1,3
161 C...~d_J -> nu_Ibar + d_K
162  lknt = lknt+1
163  idlam(lknt,1)=-12 -2*(i-1)
164  idlam(lknt,2)= 1 +2*(k-1)
165  idlam(lknt,3)= 0
166  xlam(lknt)=0d0
167  rm2=rvlamp(i,j,k)**2*sfmix(kfsm,2*icnt-1)**2 * sm
168  IF (imss(52).NE.0) xlam(lknt) =
169  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
170 C...KINEMATICS CHECK
171  IF (xlam(lknt).EQ.0d0) THEN
172  lknt=lknt-1
173  ENDIF
174  200 CONTINUE
175  210 CONTINUE
176  k=int((kfsm+1)/2)
177  DO 240 i=1,3
178  DO 230 j=1,3
179 C...~d_K -> nu_I + d_J
180  lknt = lknt+1
181  idlam(lknt,1)= 12 +2*(i-1)
182  idlam(lknt,2)= 1 +2*(j-1)
183  idlam(lknt,3)= 0
184  xlam(lknt)=0d0
185  rm2=rvlamp(i,j,k)**2*sfmix(kfsm,2*icnt)**2 * sm
186  IF (imss(52).NE.0) xlam(lknt) =
187  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
188 C...KINEMATICS CHECK
189  IF (xlam(lknt).EQ.0d0) THEN
190  lknt=lknt-1
191  ENDIF
192 C...~d_K -> lepton_I- + u_J
193  220 lknt = lknt+1
194  idlam(lknt,1)= 11 +2*(i-1)
195  idlam(lknt,2)= 2 +2*(j-1)
196  idlam(lknt,3)= 0
197  xlam(lknt)=0d0
198  IF (imss(52).NE.0) THEN
199 C...Use massive top quark
200  IF (idlam(lknt,2).EQ.6) THEN
201  rm2=rvlamp(i,j,k)**2*sfmix(kfsm,2*icnt)**2*(sm-smt)
202  xlam(lknt) =
203  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,2)
204 C...If no top quark, all decay products massless
205  ELSE
206  rm2=rvlamp(i,j,k)**2*sfmix(kfsm,2*icnt)**2 * sm
207  xlam(lknt) =
208  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
209  ENDIF
210 C...KINEMATICS CHECK
211  IF (xlam(lknt).EQ.0d0) THEN
212  lknt=lknt-1
213  ENDIF
214  ENDIF
215  230 CONTINUE
216  240 CONTINUE
217  ENDIF
218 C * SUP -> LEPTON+ + D
219  IF(icnt.NE.0.AND.(kfsm.EQ.2.OR.kfsm.EQ.4.OR.kfsm.EQ.6)) THEN
220  j=nint(kfsm/2.)
221  DO 260 i=1,3
222  DO 250 k=1,3
223 C...~u_J -> lepton_I+ + d_K
224  lknt = lknt+1
225  idlam(lknt,1)=-11 -2*(i-1)
226  idlam(lknt,2)= 1 +2*(k-1)
227  idlam(lknt,3)= 0
228  xlam(lknt)=0d0
229  rm2=rvlamp(i,j,k)**2*sfmix(kfsm,2*icnt-1)**2 * sm
230  IF (imss(52).NE.0) xlam(lknt) =
231  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
232 C...KINEMATICS CHECK
233  IF (xlam(lknt).EQ.0d0) THEN
234  lknt=lknt-1
235  ENDIF
236  250 CONTINUE
237  260 CONTINUE
238  ENDIF
239  ENDIF
240 C...BARYON NUMBER VIOLATING DECAYS
241  IF (imss(53).GE.1) THEN
242 C * SUP -> DBAR + DBAR
243  IF(icnt.NE.0.AND.(kfsm.EQ.2.OR.kfsm.EQ.4.OR.kfsm.EQ.6)) THEN
244  i = kfsm/2
245  DO 280 j=1,3
246  DO 270 k=1,3
247 C...~u_I -> dbar_J + dbar_K
248  IF (j.LT.k) THEN
249 C...(anti-) symmetry J <-> K.
250  lknt = lknt + 1
251  idlam(lknt,1) = -1 -2*(j-1)
252  idlam(lknt,2) = -1 -2*(k-1)
253  idlam(lknt,3) = 0
254  xlam(lknt) = 0d0
255  rm2 = 2.*(rvlamb(i,j,k)**2)
256  & * sfmix(kfsm,2*icnt)**2 * sm
257  xlam(lknt) =
258  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
259 C...KINEMATICS CHECK
260  IF (xlam(lknt).EQ.0d0) THEN
261  lknt = lknt-1
262  ENDIF
263  ENDIF
264  270 CONTINUE
265  280 CONTINUE
266  ENDIF
267 C * SDOWN -> UBAR + DBAR
268  IF(icnt.NE.0.AND.(kfsm.EQ.1.OR.kfsm.EQ.3.OR.kfsm.EQ.5)) THEN
269  k=(kfsm+1)/2
270  DO 300 i=1,3
271  DO 290 j=1,3
272 C...LAMB coupling antisymmetric in J and K.
273  IF (j.NE.k) THEN
274 C...~d_K -> ubar_I + dbar_K
275  lknt = lknt + 1
276  idlam(lknt,1)= -2 -2*(i-1)
277  idlam(lknt,2)= -1 -2*(j-1)
278  idlam(lknt,3)= 0
279  xlam(lknt)=0d0
280 C...Use massive top quark
281  IF (idlam(lknt,1).EQ.-6) THEN
282  rm2=2*rvlamb(i,j,k)**2*sfmix(kfsm,2*icnt)**2*(sm-smt
283  & )
284  xlam(lknt) =
285  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,3)
286 C...If no top quark, all decay products massless
287  ELSE
288  rm2=2*rvlamb(i,j,k)**2*sfmix(kfsm,2*icnt)**2 * sm
289  xlam(lknt) =
290  & pyrvsb(kfin,idlam(lknt,1),idlam(lknt,2),rm2,4)
291  ENDIF
292 C...KINEMATICS CHECK
293  IF (xlam(lknt).EQ.0d0) THEN
294  lknt=lknt-1
295  ENDIF
296  ENDIF
297  290 CONTINUE
298  300 CONTINUE
299  ENDIF
300  ENDIF
301  ENDIF
302 
303  RETURN
304  END