Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:21:09

0001  
0002 C*********************************************************************
0003  
0004 C...PYCJDC
0005 C...Calculate decay widths for the charginos (admixtures of
0006 C...charged Wino and charged Higgsino.
0007  
0008 C...Input:  KCIN = KF code for particle
0009 C...Output: XLAM = widths
0010 C...        IDLAM = KF codes for decay particles
0011 C...        IKNT = number of decay channels defined
0012 C...AUTHOR: STEPHEN MRENNA
0013 C...Last change:
0014 C...10-16-95:  force decay chi^+_1 -> chi^0_1 e+ nu_e
0015 C...when CHIENU .NE. 0
0016  
0017       SUBROUTINE PYCJDC(KFIN,XLAM,IDLAM,IKNT)
0018  
0019 C...Double precision and integer declarations.
0020       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0021       IMPLICIT INTEGER(I-N)
0022       INTEGER PYK,PYCHGE,PYCOMP
0023 C...Parameter statement to help give large particle numbers.
0024       PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KTECHN=3000000,
0025      &KEXCIT=4000000,KDIMEN=5000000)
0026 C...Commonblocks.
0027       COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0028       COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0029       COMMON/PYMSSM/IMSS(0:99),RMSS(0:99)
0030       COMMON/PYSSMT/ZMIX(4,4),UMIX(2,2),VMIX(2,2),SMZ(4),SMW(2),
0031      &SFMIX(16,4),ZMIXI(4,4),UMIXI(2,2),VMIXI(2,2)
0032 CC     &SFMIX(16,4),
0033 C      COMMON/PYINTS/XXM(20)
0034       COMPLEX*16 CXC
0035       COMMON/PYINTC/XXC(10),CXC(8)
0036       SAVE /PYDAT1/,/PYDAT2/,/PYMSSM/,/PYSSMT/,/PYINTC/
0037  
0038 C...Local variables
0039       COMPLEX*16 ZMIXC(4,4),VMIXC(2,2),UMIXC(2,2),OLPP,ORPP
0040       COMPLEX*16 CAL,CBL,CAR,CBR,CA,CB
0041       INTEGER KFIN,KCIN
0042       DOUBLE PRECISION XMI,XMJ,XMF,XMSF1,XMSF2,XMW,XMW2,
0043      &XMZ,XMZ2,AXMJ,AXMI
0044       DOUBLE PRECISION S12MIN,S12MAX
0045       DOUBLE PRECISION XMI2,XMI3,XMJ2,XMH,XMH2,XMHP,XMA2,XMB2,XMK
0046       DOUBLE PRECISION PYLAMF,XL
0047       DOUBLE PRECISION TANW,XW,AEM,C1,AS,EI,T3I,BETA,ALFA
0048       DOUBLE PRECISION PYX2XH,PYX2XG
0049       DOUBLE PRECISION XLAM(0:400)
0050       INTEGER IDLAM(400,3)
0051       INTEGER LKNT,IX,IH,J,IJ,I,IKNT
0052       INTEGER ITH(3)
0053       INTEGER ITHC
0054       DOUBLE PRECISION ETAH(3),DH(3),EH(3)
0055       DOUBLE PRECISION SR2
0056       DOUBLE PRECISION CBETA,SBETA,TANB
0057  
0058       DOUBLE PRECISION PYALEM,PI,PYALPS
0059       DOUBLE PRECISION FCOL
0060       INTEGER KF1,KF2,ISF
0061       INTEGER KFNCHI(4),KFCCHI(2)
0062  
0063       DOUBLE PRECISION TEMP
0064       EXTERNAL PYGAUS,PYXXZ6
0065       DOUBLE PRECISION PYGAUS,PYXXZ6
0066       DOUBLE PRECISION PREC
0067       DATA ITH/25,35,36/
0068       DATA ITHC/37/
0069       DATA ETAH/1D0,1D0,-1D0/
0070       DATA SR2/1.4142136D0/
0071       DATA PI/3.141592654D0/
0072       DATA PREC/1D-2/
0073       DATA KFNCHI/1000022,1000023,1000025,1000035/
0074       DATA KFCCHI/1000024,1000037/
0075  
0076 C...COUNT THE NUMBER OF DECAY MODES
0077       LKNT=0
0078       XMW=PMAS(24,1)
0079       XMW2=XMW**2
0080       XMZ=PMAS(23,1)
0081       XMZ2=XMZ**2
0082       XW=1D0-XMW2/XMZ2
0083       XW1=1D0-XW
0084       TANW = SQRT(XW/XW1)
0085  
0086 C...1 OR 2 DEPENDING ON CHARGINO TYPE
0087       IX=1
0088       IF(KFIN.EQ.KFCCHI(2)) IX=2
0089       KCIN=PYCOMP(KFIN)
0090  
0091       XMI=SMW(IX)
0092       XMI2=XMI**2
0093       AXMI=ABS(XMI)
0094       AEM=PYALEM(XMI2)
0095       AS =PYALPS(XMI2)
0096       C1=AEM/XW
0097       XMI3=ABS(XMI**3)
0098       TANB=RMSS(5)
0099       BETA=ATAN(TANB)
0100       CBETA=COS(BETA)
0101       SBETA=TANB*CBETA
0102       ALFA=RMSS(18)
0103  
0104       DO 110 I=1,2
0105         DO 100 J=1,2
0106           VMIXC(J,I)=DCMPLX(VMIX(J,I),VMIXI(J,I))
0107           UMIXC(J,I)=DCMPLX(UMIX(J,I),UMIXI(J,I))
0108   100   CONTINUE
0109   110 CONTINUE
0110  
0111 C...GRAVITINO DECAY MODES
0112  
0113       IF(IMSS(11).EQ.1) THEN
0114         XMP=RMSS(29)
0115         IDG=39+KSUSY1
0116         XMGR=PMAS(PYCOMP(IDG),1)
0117 C        SINW=SQRT(XW)
0118 C        COSW=SQRT(1D0-XW)
0119         XFAC=(XMI2/(XMP*XMGR))**2*AXMI/48D0/PI
0120         IF(AXMI.GT.XMGR+XMW) THEN
0121           LKNT=LKNT+1
0122           IDLAM(LKNT,1)=IDG
0123           IDLAM(LKNT,2)=24
0124           IDLAM(LKNT,3)=0
0125           XLAM(LKNT)=XFAC*(
0126      &  .5D0*(ABS(VMIXC(IX,1))**2+ABS(UMIXC(IX,1))**2)+
0127      &  .5D0*((ABS(VMIXC(IX,2))*SBETA)**2+(ABS(UMIXC(IX,2))*CBETA)**2))*
0128      &  (1D0-XMW2/XMI2)**4
0129         ENDIF
0130         IF(AXMI.GT.XMGR+PMAS(37,1)) THEN
0131           LKNT=LKNT+1
0132           IDLAM(LKNT,1)=IDG
0133           IDLAM(LKNT,2)=37
0134           IDLAM(LKNT,3)=0
0135           XLAM(LKNT)=XFAC*(.5D0*((ABS(VMIXC(IX,2))*CBETA)**2+
0136      &   (ABS(UMIXC(IX,2))*SBETA)**2))
0137      &   *(1D0-PMAS(37,1)**2/XMI2)**4
0138        ENDIF
0139       ENDIF
0140  
0141 C...CHECK ALL 2-BODY DECAYS TO GAUGE AND HIGGS BOSONS
0142       IF(IX.EQ.1) GOTO 170
0143       XMJ=SMW(1)
0144       AXMJ=ABS(XMJ)
0145       XMJ2=XMJ**2
0146  
0147 C...CHI_2+ -> CHI_1+ + Z0
0148       IF(AXMI.GE.AXMJ+XMZ) THEN
0149         LKNT=LKNT+1
0150         IJ=1
0151         OLPP=-VMIXC(IJ,1)*DCONJG(VMIXC(IX,1))-
0152      &  VMIXC(IJ,2)*DCONJG(VMIXC(IX,2))/2D0
0153         ORPP=-UMIXC(IX,1)*DCONJG(UMIXC(IJ,1))-
0154      &  UMIXC(IX,2)*DCONJG(UMIXC(IJ,2))/2D0
0155         GX2=ABS(OLPP)**2+ABS(ORPP)**2
0156         GLR=DBLE(OLPP*DCONJG(ORPP))
0157         XLAM(LKNT)=PYX2XG(C1/XMW2,XMI,XMJ,XMZ,GX2,GLR)
0158         IDLAM(LKNT,1)=KFCCHI(1)
0159         IDLAM(LKNT,2)=23
0160         IDLAM(LKNT,3)=0
0161  
0162 C...CHARGED LEPTONS
0163       ELSEIF(AXMI.GE.AXMJ) THEN
0164         S12MIN=0D0
0165         S12MAX=(AXMI-AXMJ)**2
0166         IA=11
0167         JA=12
0168         EI=KCHG(IABS(IA),1)/3D0
0169         T3I=SIGN(1D0,EI+1D-6)/2D0
0170         XXC(1)=0D0
0171         XXC(2)=XMJ
0172         XXC(3)=0D0
0173         XXC(4)=XMI
0174         XXC(5)=PMAS(PYCOMP(KSUSY1+JA),1)
0175         XXC(6)=1D6
0176         XXC(9)=PMAS(23,1)
0177         XXC(10)=PMAS(23,2)
0178         IJ=1
0179         OLPP=-VMIXC(IJ,1)*DCONJG(VMIXC(IX,1))-
0180      &  VMIXC(IJ,2)*DCONJG(VMIXC(IX,2))/2D0
0181         ORPP=-UMIXC(IX,1)*DCONJG(UMIXC(IJ,1))-
0182      &  UMIXC(IX,2)*DCONJG(UMIXC(IJ,2))/2D0
0183         CXC(1)=DCMPLX((T3I-XW*EI)/XW/XW1)*ORPP
0184         CXC(2)=DCMPLX(0D0,0D0)
0185         CXC(3)=DCMPLX((T3I-XW*EI)/XW/XW1)*OLPP
0186         CXC(4)=-VMIXC(IJ,1)*DCONJG(VMIXC(IX,1))*DCMPLX(T3I/XW)
0187         CXC(5)=-DCMPLX(EI/XW1)*ORPP
0188         CXC(6)=DCMPLX(0D0,0D0)
0189         CXC(7)=-DCMPLX(EI/XW1)*OLPP
0190         CXC(8)=DCMPLX(0D0,0D0)
0191         IF( XXC(5).LT.AXMI ) THEN
0192           XXC(5)=1D6
0193         ENDIF
0194         XXC(7)=XXC(5)
0195         XXC(8)=XXC(6)
0196         IF(AXMI.GE.AXMJ+2D0*PMAS(11,1)) THEN
0197           LKNT=LKNT+1
0198           XLAM(LKNT)=C1**2/XMI3/(16D0*PI)*
0199      &    PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0200           IDLAM(LKNT,1)=KFCCHI(1)
0201           IDLAM(LKNT,2)=11
0202           IDLAM(LKNT,3)=-11
0203           IF(AXMI.GE.AXMJ+2D0*PMAS(13,1)) THEN
0204             LKNT=LKNT+1
0205             XLAM(LKNT)=XLAM(LKNT-1)
0206             IDLAM(LKNT,1)=KFCCHI(1)
0207             IDLAM(LKNT,2)=13
0208             IDLAM(LKNT,3)=-13
0209           ENDIF
0210           IF(AXMI.GE.AXMJ+2D0*PMAS(15,1)) THEN
0211             LKNT=LKNT+1
0212             XLAM(LKNT)=XLAM(LKNT-1)
0213             IDLAM(LKNT,1)=KFCCHI(1)
0214             IDLAM(LKNT,2)=15
0215             IDLAM(LKNT,3)=-15
0216           ENDIF
0217         ENDIF
0218  
0219 C...NEUTRINOS
0220   120   CONTINUE
0221         IA=12
0222         JA=11
0223         EI=KCHG(IABS(IA),1)/3D0
0224         T3I=SIGN(1D0,EI+1D-6)/2D0
0225         XXC(5)=PMAS(PYCOMP(KSUSY1+JA),1)
0226         XXC(6)=1D6
0227         CXC(1)=DCMPLX((T3I-XW*EI)/XW/XW1)*ORPP
0228         CXC(3)=DCMPLX((T3I-XW*EI)/XW/XW1)*OLPP
0229         CXC(4)=-UMIXC(IJ,1)*DCONJG(UMIXC(IX,1))*DCMPLX(T3I/XW)
0230         CXC(5)=-DCMPLX(EI/XW1)*ORPP
0231         CXC(7)=-DCMPLX(EI/XW1)*OLPP
0232         IF( XXC(5).LT.AXMI ) THEN
0233           XXC(5)=1D6
0234         ENDIF
0235         XXC(7)=XXC(5)
0236         XXC(8)=XXC(6)
0237         IF(AXMI.GE.AXMJ+2D0*PMAS(12,1)) THEN
0238           LKNT=LKNT+1
0239           XLAM(LKNT)=C1**2/XMI3/(16D0*PI)*
0240      &    PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0241           IDLAM(LKNT,1)=KFCCHI(1)
0242           IDLAM(LKNT,2)=12
0243           IDLAM(LKNT,3)=-12
0244           LKNT=LKNT+1
0245           XLAM(LKNT)=XLAM(LKNT-1)
0246           IDLAM(LKNT,1)=KFCCHI(1)
0247           IDLAM(LKNT,2)=14
0248           IDLAM(LKNT,3)=-14
0249         ENDIF
0250         IF(AXMI.GE.AXMJ+2D0*PMAS(16,1)) THEN
0251           IF(ABS(SFMIX(15,1)).GT.ABS(SFMIX(15,2))) THEN
0252             XXC(5)=PMAS(PYCOMP(KSUSY1+15),1)
0253           ELSE
0254             XXC(5)=PMAS(PYCOMP(KSUSY2+15),1)
0255           ENDIF
0256           IF( XXC(5).LT.AXMI ) THEN
0257             XXC(5)=1D6
0258           ENDIF
0259           XXC(7)=XXC(5)
0260           LKNT=LKNT+1
0261           XLAM(LKNT)=C1**2/XMI3/(16D0*PI)*
0262      &    PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0263           IDLAM(LKNT,1)=KFCCHI(1)
0264           IDLAM(LKNT,2)=16
0265           IDLAM(LKNT,3)=-16
0266         ENDIF
0267  
0268 C...D-TYPE QUARKS
0269   130   CONTINUE
0270         IA=1
0271         JA=2
0272         EI=KCHG(IABS(IA),1)/3D0
0273         T3I=SIGN(1D0,EI+1D-6)/2D0
0274         XXC(5)=PMAS(PYCOMP(KSUSY1+JA),1)
0275         XXC(6)=1D6
0276         CXC(1)=DCMPLX((T3I-XW*EI)/XW/XW1)*ORPP
0277         CXC(2)=DCMPLX(0D0,0D0)
0278         CXC(3)=DCMPLX((T3I-XW*EI)/XW/XW1)*OLPP
0279         CXC(4)=-VMIXC(IJ,1)*DCONJG(VMIXC(IX,1))*DCMPLX(T3I/XW)
0280         CXC(5)=-DCMPLX(EI/XW1)*ORPP
0281         CXC(6)=DCMPLX(0D0,0D0)
0282         CXC(7)=-DCMPLX(EI/XW1)*OLPP
0283         CXC(8)=DCMPLX(0D0,0D0)
0284         IF( XXC(5).LT.AXMI ) THEN
0285           XXC(5)=1D6
0286         ENDIF
0287         XXC(7)=XXC(5)
0288         XXC(8)=XXC(6)
0289         IF(AXMI.GE.AXMJ+2D0*PMAS(1,1)) THEN
0290           LKNT=LKNT+1
0291           XLAM(LKNT)=3D0*C1**2/XMI3/(16D0*PI)*
0292      &    PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0293           IDLAM(LKNT,1)=KFCCHI(1)
0294           IDLAM(LKNT,2)=1
0295           IDLAM(LKNT,3)=-1
0296           IF(AXMI.GE.AXMJ+2D0*PMAS(3,1)) THEN
0297             LKNT=LKNT+1
0298             XLAM(LKNT)=XLAM(LKNT-1)
0299             IDLAM(LKNT,1)=KFCCHI(1)
0300             IDLAM(LKNT,2)=3
0301             IDLAM(LKNT,3)=-3
0302           ENDIF
0303         ENDIF
0304         IF(AXMI.GE.AXMJ+2D0*PMAS(5,1)) THEN
0305           IF(ABS(SFMIX(5,1)).GT.ABS(SFMIX(5,2))) THEN
0306             XXC(5)=PMAS(PYCOMP(KSUSY1+5),1)
0307           ELSE
0308             XXC(5)=PMAS(PYCOMP(KSUSY2+5),1)
0309           ENDIF
0310           IF( XXC(5).LT.AXMI ) THEN
0311             XXC(5)=1D6
0312           ENDIF
0313           XXC(7)=XXC(5)
0314           LKNT=LKNT+1
0315           XLAM(LKNT)=3D0*C1**2/XMI3/(16D0*PI)*
0316      &    PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0317           IDLAM(LKNT,1)=KFCCHI(1)
0318           IDLAM(LKNT,2)=5
0319           IDLAM(LKNT,3)=-5
0320         ENDIF
0321  
0322 C...U-TYPE QUARKS
0323   140   CONTINUE
0324         IA=2
0325         JA=1
0326         EI=KCHG(IABS(IA),1)/3D0
0327         T3I=SIGN(1D0,EI+1D-6)/2D0
0328         XXC(5)=PMAS(PYCOMP(KSUSY1+JA),1)
0329         XXC(6)=1D6
0330         CXC(1)=DCMPLX((T3I-XW*EI)/XW/XW1)*ORPP
0331         CXC(2)=DCMPLX(0D0,0D0)
0332         CXC(3)=DCMPLX((T3I-XW*EI)/XW/XW1)*OLPP
0333         CXC(4)=-UMIXC(IJ,1)*DCONJG(UMIXC(IX,1))*DCMPLX(T3I/XW)
0334         CXC(5)=-DCMPLX(EI/XW1)*ORPP
0335         CXC(6)=DCMPLX(0D0,0D0)
0336         CXC(7)=-DCMPLX(EI/XW1)*OLPP
0337         CXC(8)=DCMPLX(0D0,0D0)
0338         IF( XXC(5).LT.AXMI ) THEN
0339           XXC(5)=1D6
0340         ENDIF
0341         XXC(7)=XXC(5)
0342         XXC(8)=XXC(6)
0343         IF(AXMI.GE.AXMJ+2D0*PMAS(2,1)) THEN
0344           LKNT=LKNT+1
0345           XLAM(LKNT)=3D0*C1**2/XMI3/(16D0*PI)*
0346      &    PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0347           IDLAM(LKNT,1)=KFCCHI(1)
0348           IDLAM(LKNT,2)=2
0349           IDLAM(LKNT,3)=-2
0350           IF(AXMI.GE.AXMJ+2D0*PMAS(4,1)) THEN
0351             LKNT=LKNT+1
0352             XLAM(LKNT)=XLAM(LKNT-1)
0353             IDLAM(LKNT,1)=KFCCHI(1)
0354             IDLAM(LKNT,2)=4
0355             IDLAM(LKNT,3)=-4
0356           ENDIF
0357         ENDIF
0358   150   CONTINUE
0359       ENDIF
0360  
0361 C...CHI_2+ -> CHI_1+ + H0_K
0362       EH(2)=COS(ALFA)
0363       EH(1)=SIN(ALFA)
0364       EH(3)=-SBETA
0365       DH(2)=-SIN(ALFA)
0366       DH(1)=COS(ALFA)
0367       DH(3)=COS(BETA)
0368       DO 160 IH=1,3
0369         XMH=PMAS(ITH(IH),1)
0370         XMH2=XMH**2
0371 C...NO 3-BODY OPTION
0372         IF(AXMI.GE.AXMJ+XMH) THEN
0373           LKNT=LKNT+1
0374           XL=PYLAMF(XMI2,XMJ2,XMH2)
0375           OLPP=(VMIXC(2,1)*DCONJG(UMIXC(1,2))*EH(IH) -
0376      &    VMIXC(2,2)*DCONJG(UMIXC(1,1))*DH(IH))/SR2
0377           ORPP=(DCONJG(VMIXC(1,1))*UMIXC(2,2)*EH(IH) -
0378      &    DCONJG(VMIXC(1,2))*UMIXC(2,1)*DH(IH))/SR2
0379           XMK=XMJ*ETAH(IH)
0380           GX2=ABS(OLPP)**2+ABS(ORPP)**2
0381           GLR=DBLE(OLPP*DCONJG(ORPP))
0382           XLAM(LKNT)=PYX2XH(C1,XMI,XMK,XMH,GX2,GLR)
0383           IDLAM(LKNT,1)=KFCCHI(1)
0384           IDLAM(LKNT,2)=ITH(IH)
0385           IDLAM(LKNT,3)=0
0386         ENDIF
0387   160 CONTINUE
0388  
0389 C...CHI1 JUMPS TO HERE
0390   170 CONTINUE
0391  
0392 C...CHI+_I -> CHI0_J + W+
0393       DO 220 IJ=1,4
0394         XMJ=SMZ(IJ)
0395         AXMJ=ABS(XMJ)
0396         XMJ2=XMJ**2
0397         IF(AXMI.GE.AXMJ+XMW) THEN
0398           LKNT=LKNT+1
0399           DO 180 I=1,4
0400             ZMIXC(IJ,I)=DCMPLX(ZMIX(IJ,I),ZMIXI(IJ,I))
0401   180     CONTINUE
0402           CXC(1)=(DCONJG(ZMIXC(IJ,2))*VMIXC(IX,1)-
0403      &    DCONJG(ZMIXC(IJ,4))*VMIXC(IX,2)/SR2)
0404           CXC(3)=(ZMIXC(IJ,2)*DCONJG(UMIXC(IX,1))+
0405      &    ZMIXC(IJ,3)*DCONJG(UMIXC(IX,2))/SR2)
0406           GX2=ABS(CXC(1))**2+ABS(CXC(3))**2
0407           GLR=DBLE(CXC(1)*DCONJG(CXC(3)))
0408           XLAM(LKNT)=PYX2XG(C1/XMW2,XMI,XMJ,XMW,GX2,GLR)
0409           IDLAM(LKNT,1)=KFNCHI(IJ)
0410           IDLAM(LKNT,2)=24
0411           IDLAM(LKNT,3)=0
0412 C...LEPTONS
0413         ELSEIF(AXMI.GE.AXMJ) THEN
0414           S12MIN=0D0
0415           S12MAX=(AXMI-AXMJ)**2
0416           DO 190 I=1,4
0417             ZMIXC(IJ,I)=DCMPLX(ZMIX(IJ,I),ZMIXI(IJ,I))
0418   190     CONTINUE
0419           CXC(1)=(DCONJG(ZMIXC(IJ,2))*VMIXC(IX,1)-
0420      &    DCONJG(ZMIXC(IJ,4))*VMIXC(IX,2)/SR2)/SR2
0421           CXC(3)=(ZMIXC(IJ,2)*DCONJG(UMIXC(IX,1))+
0422      &    ZMIXC(IJ,3)*DCONJG(UMIXC(IX,2))/SR2)/SR2
0423           CXC(5)=DCMPLX(0D0,0D0)
0424           CXC(7)=DCMPLX(0D0,0D0)
0425           IA=11
0426           JA=12
0427           EI=KCHG(IA,1)/3D0
0428           T3I=SIGN(1D0,EI+1D-6)/2D0
0429           EJ=KCHG(JA,1)/3D0
0430           T3J=SIGN(1D0,EJ+1D-6)/2D0
0431           CXC(2)=VMIXC(IX,1)*DCONJG(ZMIXC(IJ,1)*(EJ-T3J)*
0432      &    TANW+ZMIXC(IJ,2)*T3J)/SR2
0433           CXC(4)=-DCONJG(UMIXC(IX,1))*(
0434      &    ZMIXC(IJ,1)*(EI-T3I)*TANW+ZMIXC(IJ,2)*T3I)/SR2
0435           CXC(6)=DCMPLX(0D0,0D0)
0436           CXC(8)=DCMPLX(0D0,0D0)
0437           XXC(1)=0D0
0438           XXC(2)=XMJ
0439           XXC(3)=0D0
0440           XXC(4)=XMI
0441           XXC(5)=PMAS(PYCOMP(KSUSY1+JA),1)
0442           XXC(6)=PMAS(PYCOMP(KSUSY1+IA),1)
0443           XXC(9)=PMAS(24,1)
0444           XXC(10)=PMAS(24,2)
0445 CCC          IF( XXC(5).LT.AXMI .AND. XXC(6).LT.AXMI ) GOTO 190
0446           IF(XXC(5).LT.AXMI) THEN
0447             XXC(5)=1D6
0448           ELSEIF(XXC(6).LT.AXMI) THEN
0449             XXC(6)=1D6
0450           ENDIF
0451           XXC(7)=XXC(6)
0452           XXC(8)=XXC(5)
0453 C...1/(2PI)**3*/(32*M**3)*G^4, G^2/(4*PI)= AEM/XW,
0454 C...--> 1/(16PI)/M**3*(AEM/XW)**2
0455           IF(AXMI.GE.AXMJ+PMAS(11,1)+PMAS(12,1)) THEN
0456             LKNT=LKNT+1
0457             TEMP=PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0458             XLAM(LKNT)=C1**2/XMI3/(16D0*PI)*TEMP
0459             IDLAM(LKNT,1)=KFNCHI(IJ)
0460             IDLAM(LKNT,2)=-11
0461             IDLAM(LKNT,3)=12
0462 C...ONLY DECAY CHI+1 -> E+ NU_E
0463             IF( IMSS(12).NE. 0 ) GOTO 260
0464             IF(AXMI.GE.AXMJ+PMAS(13,1)+PMAS(14,1)) THEN
0465               LKNT=LKNT+1
0466               XLAM(LKNT)=XLAM(LKNT-1)
0467               IDLAM(LKNT,1)=KFNCHI(IJ)
0468               IDLAM(LKNT,2)=-13
0469               IDLAM(LKNT,3)=14
0470             ENDIF
0471           ENDIF
0472           IF(AXMI.GE.AXMJ+PMAS(15,1)+PMAS(16,1)) THEN
0473             LKNT=LKNT+1
0474             IF(ABS(SFMIX(15,1)).GT.ABS(SFMIX(15,2))) THEN
0475               XXC(6)=PMAS(PYCOMP(KSUSY1+15),1)
0476             ELSE
0477               XXC(6)=PMAS(PYCOMP(KSUSY2+15),1)
0478             ENDIF
0479             XXC(5)=PMAS(PYCOMP(KSUSY1+16),1)
0480             IF(XXC(5).LT.AXMI) THEN
0481               XXC(5)=1D6
0482             ELSEIF(XXC(6).LT.AXMI) THEN
0483               XXC(6)=1D6
0484             ENDIF
0485             XXC(7)=XXC(6)
0486             XXC(8)=XXC(5)
0487             TEMP=PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0488             XLAM(LKNT)=C1**2/XMI3/(16D0*PI)*TEMP
0489             IDLAM(LKNT,1)=KFNCHI(IJ)
0490             IDLAM(LKNT,2)=-15
0491             IDLAM(LKNT,3)=16
0492           ENDIF
0493  
0494 C...NOW, DO THE QUARKS
0495   200     CONTINUE
0496           IA=1
0497           JA=2
0498           EI=KCHG(IA,1)/3D0
0499           T3I=SIGN(1D0,EI+1D-6)/2D0
0500           EJ=KCHG(JA,1)/3D0
0501           T3J=SIGN(1D0,EJ+1D-6)/2D0
0502           CXC(2)=VMIXC(IX,1)*DCONJG(ZMIXC(IJ,1)*(EJ-T3J)*
0503      &    TANW+ZMIXC(IJ,2)*T3J)
0504           CXC(4)=-DCONJG(UMIXC(IX,1))*(
0505      &    ZMIXC(IJ,1)*(EI-T3I)*TANW+ZMIXC(IJ,2)*T3I)
0506           XXC(5)=PMAS(PYCOMP(KSUSY1+JA),1)
0507           XXC(6)=PMAS(PYCOMP(KSUSY1+IA),1)
0508           IF( XXC(5).LT.AXMI .AND. XXC(6).LT.AXMI ) GOTO 210
0509           IF(XXC(5).LT.AXMI) THEN
0510             XXC(5)=1D6
0511           ENDIF
0512           IF(XXC(6).LT.AXMI) THEN
0513             XXC(6)=1D6
0514           ENDIF
0515           XXC(7)=XXC(6)
0516           XXC(8)=XXC(5)
0517           IF(AXMI.GE.AXMJ+PMAS(1,1)+PMAS(2,1)) THEN
0518             LKNT=LKNT+1
0519             XLAM(LKNT)=3D0*C1**2/XMI3/(16D0*PI)*
0520      &      PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0521             IDLAM(LKNT,1)=KFNCHI(IJ)
0522             IDLAM(LKNT,2)=-1
0523             IDLAM(LKNT,3)=2
0524             IF(AXMI.GE.AXMJ+PMAS(3,1)+PMAS(4,1)) THEN
0525               LKNT=LKNT+1
0526               XLAM(LKNT)=XLAM(LKNT-1)
0527               IDLAM(LKNT,1)=KFNCHI(IJ)
0528               IDLAM(LKNT,2)=-3
0529               IDLAM(LKNT,3)=4
0530             ENDIF
0531           ENDIF
0532   210     CONTINUE
0533         ENDIF
0534   220 CONTINUE
0535  
0536 C...CHI+_I -> CHI0_J + H+
0537       DO 230 IJ=1,4
0538         XMJ=SMZ(IJ)
0539         AXMJ=ABS(XMJ)
0540         XMJ2=XMJ**2
0541         XMHP=PMAS(ITHC,1)
0542         IF(AXMI.GE.AXMJ+XMHP) THEN
0543           LKNT=LKNT+1
0544           OLPP=CBETA*(ZMIXC(IJ,4)*DCONJG(VMIXC(IX,1))+(ZMIXC(IJ,2)+
0545      &    ZMIXC(IJ,1)*TANW)*DCONJG(VMIXC(IX,2))/SR2)
0546           ORPP=SBETA*(DCONJG(ZMIXC(IJ,3))*UMIXC(IX,1)-
0547      &    (DCONJG(ZMIXC(IJ,2))+DCONJG(ZMIXC(IJ,1))*TANW)*
0548      &    UMIXC(IX,2)/SR2)
0549           GX2=ABS(OLPP)**2+ABS(ORPP)**2
0550           GLR=DBLE(OLPP*DCONJG(ORPP))
0551           XLAM(LKNT)=PYX2XH(C1,XMI,XMJ,XMHP,GX2,GLR)
0552           IDLAM(LKNT,1)=KFNCHI(IJ)
0553           IDLAM(LKNT,2)=ITHC
0554           IDLAM(LKNT,3)=0
0555         ELSE
0556  
0557         ENDIF
0558   230 CONTINUE
0559  
0560 C...2-BODY DECAYS TO FERMION SFERMION
0561       DO 240 J=1,16
0562         IF(J.GE.7.AND.J.LE.10) GOTO 240
0563         IF(MOD(J,2).EQ.0) THEN
0564           KF1=KSUSY1+J-1
0565         ELSE
0566           KF1=KSUSY1+J+1
0567         ENDIF
0568         KF2=KF1+KSUSY1
0569         XMSF1=PMAS(PYCOMP(KF1),1)
0570         XMSF2=PMAS(PYCOMP(KF2),1)
0571         XMF=PMAS(J,1)
0572         IF(J.LE.6) THEN
0573           FCOL=3D0
0574         ELSE
0575           FCOL=1D0
0576         ENDIF
0577  
0578 C...U~ D_L
0579         IF(MOD(J,2).EQ.0) THEN
0580           XMFP=PMAS(J-1,1)
0581           CAL=UMIXC(IX,1)
0582           CBL=-XMF*VMIXC(IX,2)/XMW/SBETA/SR2
0583           CAR=-XMFP*UMIXC(IX,2)/XMW/CBETA/SR2
0584           CBR=0D0
0585           ISF=J-1
0586         ELSE
0587           XMFP=PMAS(J+1,1)
0588           CAL=VMIXC(IX,1)
0589           CBL=-XMF*UMIXC(IX,2)/XMW/CBETA/SR2
0590           CBR=0D0
0591           CAR=-XMFP*VMIXC(IX,2)/XMW/SBETA/SR2
0592           ISF=J+1
0593         ENDIF
0594  
0595 C...~U_L D
0596         IF(AXMI.GE.XMF+XMSF1) THEN
0597           LKNT=LKNT+1
0598           XMA2=XMSF1**2
0599           XMB2=XMF**2
0600           XL=PYLAMF(XMI2,XMA2,XMB2)
0601           CA=CAL*SFMIX(ISF,1)+CAR*SFMIX(ISF,2)
0602           CB=CBL*SFMIX(ISF,1)+CBR*SFMIX(ISF,2)
0603           XLAM(LKNT)=FCOL*C1/8D0/XMI3*SQRT(XL)*( (XMI2+XMB2-XMA2)*
0604      &    (ABS(CA)**2+ABS(CB)**2)+4D0*DBLE(CA*DCONJG(CB))*XMF*XMI)
0605           IDLAM(LKNT,3)=0
0606           IF(MOD(J,2).EQ.0) THEN
0607             IDLAM(LKNT,1)=-KF1
0608             IDLAM(LKNT,2)=J
0609           ELSE
0610             IDLAM(LKNT,1)=KF1
0611             IDLAM(LKNT,2)=-J
0612           ENDIF
0613         ENDIF
0614  
0615 C...U~ D_R
0616         IF(AXMI.GE.XMF+XMSF2) THEN
0617           LKNT=LKNT+1
0618           XMA2=XMSF2**2
0619           XMB2=XMF**2
0620           CA=CAL*SFMIX(ISF,3)+CAR*SFMIX(ISF,4)
0621           CB=CBL*SFMIX(ISF,3)+CBR*SFMIX(ISF,4)
0622           XL=PYLAMF(XMI2,XMA2,XMB2)
0623           XLAM(LKNT)=FCOL*C1/8D0/XMI3*SQRT(XL)*( (XMI2+XMB2-XMA2)*
0624      &    (ABS(CA)**2+ABS(CB)**2)+4D0*DBLE(CA*DCONJG(CB))*XMF*XMI)
0625           IDLAM(LKNT,3)=0
0626           IF(MOD(J,2).EQ.0) THEN
0627             IDLAM(LKNT,1)=-KF2
0628             IDLAM(LKNT,2)=J
0629           ELSE
0630             IDLAM(LKNT,1)=KF2
0631             IDLAM(LKNT,2)=-J
0632           ENDIF
0633         ENDIF
0634   240 CONTINUE
0635  
0636 C...3-BODY DECAY TO Q Q~' GLUINO, ONLY IF IT CANNOT PROCEED THROUGH
0637 C...A 2-BODY -- 2-BODY CHAIN
0638       XMJ=PMAS(PYCOMP(KSUSY1+21),1)
0639       IF(AXMI.GE.XMJ) THEN
0640         AXMJ=ABS(XMJ)
0641         S12MIN=0D0
0642         S12MAX=(AXMI-AXMJ)**2
0643         XXC(1)=0D0
0644         XXC(2)=XMJ
0645         XXC(3)=0D0
0646         XXC(4)=XMI
0647         XXC(5)=PMAS(PYCOMP(KSUSY1+1),1)
0648         XXC(6)=PMAS(PYCOMP(KSUSY1+2),1)
0649         XXC(9)=1D6
0650         XXC(10)=0D0
0651         OLPP=DCMPLX(COS(RMSS(32)),SIN(RMSS(32)))
0652         ORPP=DCONJG(OLPP)
0653         CXC(1)=DCMPLX(0D0,0D0)
0654         CXC(3)=DCMPLX(0D0,0D0)
0655         CXC(5)=DCMPLX(0D0,0D0)
0656         CXC(7)=DCMPLX(0D0,0D0)
0657         CXC(2)=UMIXC(IX,1)*OLPP/SR2
0658         CXC(4)=-DCONJG(VMIXC(IX,1))*ORPP/SR2
0659         CXC(6)=DCMPLX(0D0,0D0)
0660         CXC(8)=DCMPLX(0D0,0D0)
0661         IF(XXC(5).LT.AXMI) THEN
0662           XXC(5)=1D6
0663         ELSEIF(XXC(6).LT.AXMI) THEN
0664           XXC(6)=1D6
0665         ENDIF
0666         XXC(7)=XXC(6)
0667         XXC(8)=XXC(5)
0668         IF( XXC(5).LT.AXMI .OR. XXC(6).LT.AXMI ) GOTO 250
0669         IF(AXMI.GE.AXMJ+PMAS(1,1)+PMAS(2,1)) THEN
0670           LKNT=LKNT+1
0671           XLAM(LKNT)=4D0*C1*AS/XMI3/(16D0*PI)*
0672      &    PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0673           IDLAM(LKNT,1)=KSUSY1+21
0674           IDLAM(LKNT,2)=-1
0675           IDLAM(LKNT,3)=2
0676           IF(AXMI.GE.AXMJ+PMAS(3,1)+PMAS(4,1)) THEN
0677             LKNT=LKNT+1
0678             XLAM(LKNT)=XLAM(LKNT-1)
0679             IDLAM(LKNT,1)=KSUSY1+21
0680             IDLAM(LKNT,2)=-3
0681             IDLAM(LKNT,3)=4
0682           ENDIF
0683         ENDIF
0684   250   CONTINUE
0685       ENDIF
0686  
0687 C...R-violating decay modes (SKANDS).
0688       CALL PYRVCH(KFIN,XLAM,IDLAM,LKNT)
0689  
0690   260 IKNT=LKNT
0691       XLAM(0)=0D0
0692       DO 270 I=1,IKNT
0693         XLAM(0)=XLAM(0)+XLAM(I)
0694         IF(XLAM(I).LT.0D0) THEN
0695           WRITE(MSTU(11),*) ' XLAM(I) = ',XLAM(I),KCIN,
0696      &    (IDLAM(I,J),J=1,3)
0697           XLAM(I)=0D0
0698         ENDIF
0699   270 CONTINUE
0700       IF(XLAM(0).EQ.0D0) THEN
0701         XLAM(0)=1D-6
0702         WRITE(MSTU(11),*) ' XLAM(0) = ',XLAM(0)
0703         WRITE(MSTU(11),*) LKNT
0704         WRITE(MSTU(11),*) (XLAM(J),J=1,LKNT)
0705       ENDIF
0706  
0707       RETURN
0708       END