c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c c c ----------- c c | SDECAY: | c c ----------- c c c c A Fortran code for the decay widths and the branching ratios of c c the supersymmetric particles in the Minimal Supersymmetric c c Standard Model. c c c c -------------------------------------------------------------------- c c c c The program is written by M.Muhlleitner, A.Djouadi and Y.Mambrini c c c c VERSION 1.3 c c Last changes: Oct 24, 2007 c c The reference to be used for the program is: c c Comput.Phys.Commun.168(2005)46 [hep-ph/0311167] c c c c -------------------------------------------------------------------- c c c c The Fortran code SDECAY, deals with the decays of supersymmetric c c (SUSY) particles in the framework of the Minimal Supersymmetric c c Standard Model (MSSM), and includes the most important higher c c order effects. It uses the RGE program SuSpect for the calcula- c c tion of the mass spectrum and the soft SUSY-breaking parameters c c and evaluates the various couplings of the SUSY particles and c c MSSM Higgs bosons. It calculates the decay widths and the bran- c c ching ratios of all the two-body decay modes, including the QCD c c corrections to the processes involving squarks and gluinos and c c the dominant electroweak effects to all processes. It also calcu- c c lates the loop induced two-body decay channels, as well as all the c c possibly important higher order decay modes: the three-body decays c c of charginos, neutralinos, gluinos and the top squarks and the c c four-body decays of the top squark. The program also calculates c c the decay widths and branching ratios of the heavy top quark. c c c c -------------------------------------------------------------------- c c c c Besides the SuSpect files needed for the evaluation of the spec- c c trum, the code contains only one source file, the present one c c sdecay.f written in Fortran77, and one input file, sdecay.in, from c c which any choice of approximation in the calculation is driven c c [include or not the higher order corrections and/or decays, the c c choice of the various scales, the order of perturbation at which c c some couplings are calculated, etc]. All results for the total c c decay widths and branching ratios are given in the output file c c sdecay.out, either in a simple and transparent form or in the SUSY c c Les Houches Accord form. [This choice can also be made in the input c c file.] c c c c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c program sdecay implicit double precision (a-h,m,o-z) double precision neutwchar,neutzneut,neuthcchar,neuthlneut, . neuthhneut,neuthaneut,neutsell,neutselr, . neutstau1,neutstau2,neutsn1,neutsn2,neutst1,neutst2, . neutsupl,neutsupr,neutsdownl,neutsdownr,neuttot2, . neuttot2lo,neuttot2nlo, . neuttot,neutsb1,neutsb2,neutsnel,ninjphoton, . nraddec,neutgammagravitino,neutZgravitino, . neuthlgravitino,neuttotmulti,neuttotrad,neuthhgravitino, . neuthagravitino,neutgrav2bod double precision minval(1:20),smval(1:20),massval(1:50), . nmixval(4,4),umixval(2,2),vmixval(2,2),stopmixval(2,2), . sbotmixval(2,2),staumixval(2,2),hmixval(1:10), . gaugeval(1:3),msoftval(1:100),auval(3,3),adval(3,3), . aeval(3,3),yuval(3,3),ydval(3,3),yeval(3,3),qvalue(1:20), . extval(0:100),m_softval(1:100) double precision nl,nq integer nx1t,ny1t,nnlo,imod(1:2) integer check(1:22) character spinfo1*100,spinfo2*100,modselval*100,mincom(1:20)*20, . extcom(0:100)*20,softcom(1:100)*20,m_softcom(1:100)*20, . hmixcom(1:10)*20 dimension ichoice(11),warning(1:10),flagneut3bod(4), . flagchar3bod(2) dimension amneut(4),xmneut(4),amchar(2) dimension uu(2,2),vv(2,2),zz(4,4),zp(4,4) dimension glnjgluon(4),brglnjgluon(4) dimension nraddec(4,4),brnraddec(4,4) dimension ahl(4,4),ahh(4,4),aa(4,4) dimension gkhlr(2,2),gkhll(2,2),gkhhr(2,2),gkhhl(2,2),gkhar(2,2), . gkhal(2,2) dimension ql(4,2),qr(4,2),or(4,2),ol(4,2) dimension opl(2,2),opr(2,2),onl(4,4),onr(4,4) dimension ale(2,2),altau(2,2),alsne(2,2),blsne(2,2),alsnt(2,2), . blsnt(2,2) dimension alsbo(2,2),aksbo(2,2),alsto(2,2),aksto(2,2) dimension alup(2,2),aldo(2,2) dimension ae(2,4),be(2,4),atau(2,4),btau(2,4),anu(2,4),bnu(2,4), . antau(2,4),bntau(2,4) dimension atop(2,4),btop(2,4),abo(2,4),bbo(2,4) dimension aup(2,4),bup(2,4),ado(2,4),bdo(2,4) dimension gltt(2,2),ghtt(2,2) dimension glbb(2,2),ghbb(2,2) dimension gctb(2,2),chctb(2,2) dimension gztt(2,2),gzbb(2,2),gztautau(2,2) dimension gwtb(2,2),gwntau(2,2) dimension gul(2),gur(2),gdl(2),gdr(2),gtl(2),gtr(2),gbl(2),gbr(2) dimension charst1(2),charst2(2),charsb1(2),charsb2(2), . charsupl(2),charsupr(2),charsdownl(2),charsdownr(2), . charsnel(2),charsn1(2),charsn2(2),charsell(2), . charstau1(2),charstau2(2),charselr(2) dimension qcdcharst1(2),qcdcharst2(2),qcdcharsb1(2),qcdcharsb2(2) dimension qcdcharsupl(2),qcdcharsupr(2),qcdcharsdownl(2), . qcdcharsdownr(2) dimension charwneut(2,4),charhcneut(2,4) dimension charwgravitino(2),charhcgravitino(2) dimension chartot2(2),chartot(2),chartotmulti(2),chartot2lo(2), . chartot2nlo(2),chargrav2bod(2) dimension flagchartot2(2),flagcondchar(2) dimension xchitau(2,4),xchiel(2,4),xchiup(2,4),xchimu(2,4), . xchich(2,4),xchitop(2,4),xgluiupdb(2),xgluichsb(2), . xgluitopbb(2) dimension brcharst1(2),brcharst2(2),brcharsb1(2),brcharsb2(2), . brcharsupl(2),brcharsupr(2),brcharsdownl(2), . brcharsdownr(2),brcharsnel(2),brcharsn1(2), . brcharsn2(2),brcharsell(2),brcharstau1(2),brcharselr(2), . brcharstau2(2),brcharhcneut(2,4),brcharwneut(2,4) dimension brcharwgravitino(2),brcharhcgravitino(2) dimension brntaunut(2,4),brnelnue(2,4),brnmunumu(2,4), . brnupdb(2,4),brnchsb(2,4),brntopbb(2,4) dimension brglupdb(2),brglchsb(2),brgltopbb(2) dimension neutwchar(4,2),neutzneut(4,4),neuthcchar(4,2), . neuthlneut(4,4),neuthhneut(4,4),neuthaneut(4,4), . neutsnel(4),neutsell(4),neutselr(4),neutstau1(4), . neutstau2(4),neutsn1(4),neutsn2(4),neutst1(4), . neutst2(4),neutsupl(4),neutsupr(4),neutsdownl(4), . neutsdownr(4),neutsb1(4),neutsb2(4) dimension neutgammagravitino(4),neutZgravitino(4),neutgrav2bod(4), . neuthlgravitino(4),neuthhgravitino(4),neuthagravitino(4) dimension qcdneutst1(4),qcdneutst2(4),qcdneutsb1(4),qcdneutsb2(4) dimension qcdneutsupl(4),qcdneutsupr(4),qcdneutsdownl(4), . qcdneutsdownr(4) dimension neuttot2(4),neuttot(4),neuttotmulti(4),neuttotrad(4), . neuttot2lo(4),neuttot2nlo(4) dimension flagneuttot2(4),flagcondneut(4) dimension xneutel(4,4),xneutmu(4,4),xneuttau(4,4), . xneutnue(4,4),xneutnumu(4,4),xneutnutau(4,4), . xneutup(4,4),xneutdow(4,4),xneutst(4,4),xneutch(4,4), . xneutbot(4,4),xneuttop(4,4),xgluinoup(4), . xgluinodo(4),xgluinoch(4),xgluinost(4),xgluinobot(4), . xgluinotop(4),xchelne(4,2),xchmunmu(4,2), . xchtauntau(4,2),xchubdow(4,2),xchcbs(4,2),xchtbb(4,2) dimension brneutst1(4),brneutst2(4),brneutsb1(4),brneutsb2(4), . brneutsupl(4),brneutsupr(4),brneutsdownl(4), . brneutsdownr(4),brneutsnel(4),brneutsn1(4), . brneutsn2(4),brneutsell(4),brneutselr(4), . brneutstau1(4),brneutstau2(4),brneutwchar(4,2), . brneuthcchar(4,2),brneutzneut(4,4),brneuthlneut(4,4), . brneuthhneut(4,4),brneuthaneut(4,4) dimension brneutup(4,4),brneutdow(4,4),brneutch(4,4), . brneutst(4,4),brneutbot(4,4),brneuttop(4,4), . brneutel(4,4),brneutmu(4,4),brneuttau(4,4), . brneutnue(4,4),brneutnumu(4,4),brneutnutau(4,4), . brchubd(4,2),brchcbs(4,2),brchtbb(4,2),brchelne(4,2), . brchmunmu(4,2),brchtauntau(4,2),brglup(4),brgldo(4), . brglch(4),brglst(4),brgltop(4),brglbot(4) dimension brneutgamgrav(4),brneutzgrav(4),brneuthlgrav(4), . brneuthhgrav(4),brneuthagrav(4) dimension xintegoup(4),xintegodn(4),xintegotp(4),xintegobt(4), . xintegoud(2),xintegotb(2),xintegocc(2) dimension brgoup(4),brgoch(4),brgodn(4),brgost(4),brgotp(4), . brgobt(4),brgoud(2),brgocs(2),brgotb(2) dimension suplneutup(4),suprneutup(4),suplchardow(2), . suprchardow(2),qcdsuplneutup(4),qcdsuprneutup(4), . qcdsuplchardow(2),qcdsuprchardow(2) dimension brsuplnup(4),brsuplcdow(2),brsuprnup(4),brsuprcdow(2) dimension sdowlneutdow(4),sdowlcharup(2),sdowrneutdow(4), . sdowrcharup(2),qcdsdowlneutdow(4),qcdsdowlcharup(2), . qcdsdowrneutdow(4),qcdsdowrcharup(2) dimension brsdowlndow(4),brsdowrndow(4),brsdowlchup(2), . brsdowrchup(2) dimension st1neutt(4),st2neutt(4),st1charb(2),st2charb(2), . st1hcsb(2),st2hcsb(2),st1wsb(2),st2wsb(2),stoptot2(2), . qcdst1neut(4),qcdst2neut(4),qcdst1charb(2), . qcdst2charb(2),qcdst1hcsb(2),qcdst2hcsb(2), . stoptot2lo(2),stoptot2nlo(2),stoptotrad(2), . stoptotmulti(2),flagstoptot2(2),flagcondstop(2), . qcdst1wsb(2),qcdst2wsb(2) dimension brst1neutt(4),brst2neutt(4),brst1charb(2), . brst2charb(2),brst1hcsb(2),brst2hcsb(2),brst1wsb(2), . brst2wsb(2) dimension xintegstopw(2,4),xintegstoph(2,4),xintegststau(2,2), . xintegstsntau(2,2),xintegstsel(2,2),xintegstsnel(2), . xintegstbsbst(2,2),xintegstbbsbt(2,2), . xintegsttausbnu(2,2),xintegstelsbnu(2,2), . xintegstupsbdow(2,2),stoptot(2) dimension brstopw(2,4),brstoph(2,4),brststau(2,2), . brstsntau(2,2),brstsel(2,2),brstsnel(2), . brstbsbst(2,2),brstbbsbt(2,2),brsttausbnu(2,2), . brstelsbnu(2,2),brstupsbdow(2,2) dimension sb1neutt(4),sb2neutt(4),sb1chart(2),sb2chart(2), . sb1hcst(2),sb2hcst(2),sb1wst(2),sb2wst(2),sbottot2(2), . qcdsb1neut(4),qcdsb2neut(4),qcdsb1chart(2), . qcdsb2chart(2),qcdsb1hcst(2),qcdsb2hcst(2), . sbottot2lo(2),sbottot2nlo(2),sbottotmulti(2), . qcdsb1wst(2),qcdsb2wst(2) dimension brsb1neutt(4),brsb2neutt(4),brsb1chart(2), . brsb2chart(2),brsb1hcst(2),brsb2hcst(2),brsb1wst(2), . brsb2wst(2) dimension flagsbottot2(2),flagcondsbot(2) dimension xintegsbstau(2,2),xintegsbsntau(2,2),xintegsbsel(2,2), . xintegsbtstsb(2,2),xintegsbtbstb(2,2), . xintegsbtaustnu(2,2),xintegsbelstnu(2,2), . xintegsbupstdow(2,2),xintegsbsnel(2),sbottot(2) dimension brsbstau(2,2),brsbsntau(2,2),brsbsel(2,2), . brsbtstsb(2,2),brsbtbstb(2,2),brsbtaustnu(2,2), . brsbelstnu(2,2),brsbupstdow(2,2),brsbsnel(2) dimension sellneute(4),selrneute(4),sellcharnue(2),selrcharnue(2) dimension brsellneute(4),brselrneute(4),brsellcharnue(2), . brselrcharnue(2) dimension snellneut(4),snellchar(2),brsnellneut(4), . brsnellchar(4) dimension sntauneut(4),sntauchar(2),sntau1hcstau(2),sntau1wstau(2) dimension brsntauneut(4),brsntauchar(2),brsntau1hcstau(2), . brsntau1wstau(2) dimension stau1neut(4),stau2neut(4),stau1char(2),stau2char(2), . stau1hcsn(2),stau2hcsn(2),stau1wsn(2),stau2wsn(2) dimension brstau1neut(4),brstau2neut(4),brstau1char(2), . brstau2char(2),brstau1hcsn(2),brstau2hcsn(2), . brstau1wsn(2),brstau2wsn(2) dimension topneutrstop(4,2),brtopneutrstop(4,2) dimension hlbrsc(2,2),hlbrsn(4,4),hhbrsc(2,2), . hhbrsn(4,4),habrsc(2,2),habrsn(4,4),hcbrsu(2,4), . hhbrst(2,2),hhbrsb(2,2),hcbrstb(2,2),hlbrsn1(4,4), . hhbrsn1(4,4),habrsn1(4,4) dimension whlgd(4),whcgd(2),whhgd(4),whagd(4),bhlgd(4),bhhgd(4), . bhagd(4),bhcgd(2) c --- the common blocks read in by sdecay and needed in suspect2.f --- c COMMON/SU_SMPAR/dalfinv,dsw2,dalphas,dmt,dmb,dmc,dmtau COMMON/SU_RGSCAL/dqewsb,dehigh,delow COMMON/SU_MSSMHPAR/dmhu2,dmhd2,dma,dmu COMMON/SU_MSSMGPAR/dm1,dm2,dm3 COMMON/SU_MSSMSLEP/dmsl,dmtaur,dmel,dmer COMMON/SU_MSSMSQUA/dmsq,dmtr,dmbr,dmuq,dmur,dmdr COMMON/SU_ATRI3/dal,dau,dad COMMON/SU_ATRI12/dal1,dau1,dad1 COMMON/SU_MSUGRA/m0,mhalf,a0 COMMON/SU_RADEWSB/sgnmu0,tgbeta COMMON/SU_GMSB/mgmmess,mgmsusy,nl,nq COMMON/SU_AMSB/m32,am0,cq,cu,cd,cl,ce,chu,chd COMMON/SU_PASS/ichoice c ----------------- common blocks needed in sdecay ------------------- c COMMON/SD_input/flaginput,ninlha COMMON/SD_param/sdgf,sdmz,sdmw,pi,g2 COMMON/SD_mwmzpole/amwp,amzp COMMON/SD_massgino/amneut,xmneut,amchar COMMON/SD_squarktb/ast1,ast2,asb1,asb2 COMMON/SD_squarkud/asup1,asup2,asdown1,asdown2 COMMON/SD_sfermionetau/ase1,ase2,astau1,astau2 COMMON/SD_sneutrino/asne1,asne2,asntau1,asntau2 COMMON/SD_gluino/mgluino COMMON/SD_hmass/ama,aml,amh,amch,amar COMMON/SD_mixang/alp_mssm,tanbeta COMMON/SD_mixmat/uu,vv,zz,zp COMMON/SD_weinberg/sw,cw COMMON/SD_sfmixang/sdthet,sdtheb,sdthel,cum,sum,cdm,sdm,cem,sem COMMON/SD_fermion/samt,samb,samtau COMMON/SD_mbmsbar/mbmsbar COMMON/SD_break/sdatop,sdabot,sdatau,sdmu COMMON/SD_break1/sdaup,sdadown,sdael COMMON/SD_runmcalc/rmtc,rmbc,rmtauc COMMON/SD_refscale/amuref COMMON/SD_pizz/sdpizz COMMON/SD_piww/sdpiww COMMON/SD_scaleofewsb/scaleofewsb COMMON/SD_gmsb/sd_mgmsusy,sd_mgmmess COMMON/SD_massgrav/mgravitino c ------- common blocks of the couplings needed for the widths ------- c COMMON/SD_coup1/ahl,ahh,aa COMMON/SD_coup2/gkhll,gkhhl,gkhal,gkhlr,gkhhr,gkhar COMMON/SD_coup3/ql,qr,ol,or COMMON/SD_coup4/opl,opr,onl,onr COMMON/SD_coup5/ale,altau,alsne,blsne,alsnt,blsnt COMMON/SD_coup6/alsto,aksto,alsbo,aksbo COMMON/SD_coup7/alup,aldo COMMON/SD_coup8/ae,be,atau,btau,anu,bnu,antau,bntau COMMON/SD_coup9/atop,btop,abo,bbo COMMON/SD_coup10/aup,bup,ado,bdo COMMON/SD_coup11/gltt,ghtt,gatt COMMON/SD_coup12/glbb,ghbb,gabb COMMON/SD_coup13/gctb,chctb COMMON/SD_coup14/chctbl,chctbr,chctaunur,chctaunul COMMON/SD_coup15/achtop,vchtop,achtau,vchtau COMMON/SD_coup16/czttl,czttr,czbbl,czbbr,cztautaul,cztautaur, . cznunul,cznunur COMMON/SD_coup17/azztoptop,vzztoptop,azztautau,vzztautau, . azzneutneut,vzzneutneut,azzbotbot,vzzbotbot COMMON/SD_coup18/awff,vwff COMMON/SD_coup19/gztt,gzbb,gztautau COMMON/SD_coup20/gwtb,gwntau COMMON/SD_coup21/gtr,gtl,gbr,gbl,gur,gul,gdr,gdl COMMON/SD_yukawa/yt,yb,ytau COMMON/SD_coupewsb/alsew,g2ew,g1ew COMMON/SD_runcoupscale/scalechoice,scaleofcoupling,inumloop COMMON/SD_scheme/idrbar COMMON/SD_nx1/nx1t,ny1t c --------- common block needed for the neutralino loop decays ------- c COMMON/SD_loopdecij/ni,nj c -------------- common block given by SD_read_leshouches ------------ c COMMON/SD_leshouches1/spinfo1,spinfo2,modselval,mincom,extcom, . softcom,hmixcom COMMON/SD_leshouches2/minval,extval,smval,massval,nmixval,umixval, . vmixval,stopmixval,sbotmixval,staumixval, . hmixval,gaugeval,msoftval,auval,adval, . aeval,yuval,ydval,yeval,alphaval,qvalue,imod COMMON/SD_checkval/check c --------- some additional common blocks for the output file -------- c COMMON/SD_ewsbv/vewsb COMMON/SD_outparam/salpha_MS,alphasmzms COMMON/SD_break2/sd_m1,sd_m2,sd_m3 COMMON/SD_break3/sd_mel,sd_mer,sd_muq,sd_mur,sd_mdr COMMON/SD_break4/sd_msl,sd_mtaur,sd_msq,sd_mtr,sd_mbr COMMON/SD_break5/sd_mel1,sd_mel2,sd_mer1,sd_mer2,sd_muq1,sd_muq2, . sd_mur1,sd_mur2,sd_mdr1,sd_mdr2 COMMON/SD_break6/m_softval,m_softcom COMMON/SD_warning/warning c -- The following common blocks contain the branching ratios and ---- c c -- total width of the respective SUSY particle which are calculated c c -- by SDECAY. They are not used in the program itself, but may be -- c c -- useful when SDECAY is linked to other programs. ----------------- c COMMON/SD_char2body/brcharst1,brcharst2,brcharsb1,brcharsb2, . brcharsupl,brcharsupr,brcharsdownl,brcharsdownr, . brcharsnel,brcharsn1,brcharsn2,brcharsell,brcharselr, . brcharstau1,brcharstau2,brcharhcneut,brcharwneut, . brcharzchic,brcharhlchic,brcharhhchic,brcharhachic COMMON/SD_char2bodygrav/brcharwgravitino,brcharhcgravitino COMMON/SD_char3body/brntaunut,brnelnue,brnmunumu,brnupdb,brnchsb, . brntopbb,brglupdb,brglchsb,brgltopbb,brchee,brchmumu, . brchtautau,brchnene,brchnmunmu,brchntauntau,brchupup, . brchdodo,brchchch,brchstst,brchtoptop,brchbotbot COMMON/SD_charwidth/chartot COMMON/SD_neut2body/brneutst1,brneutst2,brneutsb1,brneutsb2, . brneutsupl,brneutsupr,brneutsdownl,brneutsdownr, . brneutsnel,brneutsn1,brneutsn2,brneutsell,brneutselr, . brneutstau1,brneutstau2,brneutwchar,brneuthcchar, . brneutzneut,brneuthlneut,brneuthhneut,brneuthaneut COMMON/SD_neut2bodygrav/brneutgamgrav,brneutzgrav,brneuthlgrav, . brneuthhgrav,brneuthagrav COMMON/SD_neut3body/brneutup,brneutdow,brneutch,brneutst, . brneutbot,brneuttop,brneutel,brneutmu,brneuttau, . brneutnue,brneutnumu,brneutnutau,brchubd,brchcbs, . brchtbb,brchelne,brchmunmu,brchtauntau,brglup,brgldo, . brglch,brglst,brgltop,brglbot COMMON/SD_neutloop/brnraddec COMMON/SD_neutwidth/neuttot COMMON/SD_glui2body/brgst1,brgst2,brgsb1,brgsb2,brgsupl,brgsupr, . brgsdownl,brgsdownr COMMON/SD_glui3body/brgoup,brgoch,brgodn,brgost,brgotp,brgobt, . brgoud,brgocs,brgotb,brhcst1b,brwst1b COMMON/SD_gluiloop/brglnjgluon COMMON/SD_gluiwidth/gluitot COMMON/SD_sup2body/brsuplnup,brsuplcdow,brsuplglui, . brsuprnup,brsuprcdow,brsuprglui COMMON/SD_supwidth/supltot2,suprtot2 COMMON/SD_sdown2body/brsdowlndow,brsdowlchup,brsdowlglui, . brsdowrndow,brsdowrchup,brsdowrglui COMMON/SD_sdownwidth/sdowltot2,sdowrtot2 COMMON/SD_stop2body/brst1neutt,brst2neutt,brst1charb,brst1hcsb, . brst1wsb,brst2charb,brst2hcsb,brst2wsb,brst1glui, . brst2glui,brst2hl,brst2hh,brst2ha,brst2ztop COMMON/SD_stop3body/brstopw,brstoph,brststau,brstsntau,brstsel, . brstbsbst,brstbbsbt,brsttausbnu,brstelsbnu,brstupsbdow, . brstsnel,brst2st1tt,brst2st1startt,brst2st1bb, . brst2st1uu,brst2st1dd,brst2st1ee,brst2st1nunu, . brst2st1tautau COMMON/SD_stoploop/brgamma,brgammaup,brgammagluino COMMON/SD_stop4body/brgamma4bod,brgammaup4bod,brgammagluino4bod, . br4bodoffshelltau COMMON/SD_stopwidth/stoptot4 COMMON/SD_sbot2body/brsb1neutt,brsb2neutt,brsb1chart,brsb2chart, . brsb1hcst,brsb2hcst,brsb1wst,brsb2wst,brsb1glui, . brsb2glui,brsb2hl,brsb2hh,brsb2ha,brsb2zbot COMMON/SD_sbot3body/brsbstau,brsbsntau,brsbsel,brsbtstsb, . brsbtbstb,brsbtaustnu,brsbelstnu,brsbupstdow,brsbsnel, . brsb2sb1bb,brsb2sb1starbb,brsb2sb1tt,brsb2sb1uu, . brsb2sb1dd,brsb2sb1ee,brsb2sb1nunu,brsb2sb1tautau COMMON/SD_sbotwidth/sbottot COMMON/SD_sel2body/brsellneute,brsellcharnue, . brselrneute,brselrcharnue COMMON/SD_selwidth/selltot2,selrtot2 COMMON/SD_snel2body/brsnellneut,brsnellchar COMMON/SD_snelwidth/sneltot2 COMMON/SD_stau2body/brstau1neut,brstau2neut,brstau1char, . brstau1hcsn,brstau1wsn,brstau2char,brstau2hcsn, . brstau2wsn,brstau2hl,brstau2hh,brstau2ha,brstau2ztau COMMON/SD_stau2bodygrav/brstautaugrav COMMON/SD_stauwidth/stau1tot2,stau2tot2 COMMON/SD_sntau2body/brsntauneut,brsntauchar,brsntau1wstau, . brsntau1hcstau COMMON/SD_sntauwidth/sntautot2 COMMON/SD_top2body/brtopbw,brtopbh,brtopneutrstop COMMON/SD_topwidth/toptot2 c ------------------------ external functions ------------------------ c external SD_alphascall,SD_yuk c --------------------- The input and output files ------------------- c nin = 20 nout = 21 ninlha= 22 nis = 23 open(nin,file='sdecay.in',status='unknown') read(nin,*) read(nin,*) read(nin,*) read(nin,*) read(nin,*) flaginput read(nin,*) read(nin,*) read(nin,*) flagoutput read(nin,*) read(nin,*) read(nin,*) flagqcd read(nin,*) read(nin,*) read(nin,*) flagmulti read(nin,*) read(nin,*) read(nin,*) read(nin,*) flagloop read(nin,*) read(nin,*) read(nin,*) flagsusytop read(nin,*) read(nin,*) read(nin,*) read(nin,*) flagnlspgmsb read(nin,*) read(nin,*) read(nin,*) read(nin,*) read(nin,*) idrbar read(nin,*) read(nin,*) read(nin,*) read(nin,*) scalechoice read(nin,*) read(nin,*) read(nin,*) scaleofcoupling if(flagoutput.eq.1.D0) then open(nout,file="sdecay_slha.out") elseif(flagoutput.eq.0.D0) then open(nout,file="sdecay.out") endif c-Number of loops for the calculation of the running strong coupling -c inumloop = 2 c ------ The input a la SUSY Les Houches Accord or a la SuSpect ------ c tmpinput = flaginput if(tmpinput.eq.0) then flaginput = 1 elseif(tmpinput.eq.1) then flaginput = 0 endif if(flaginput.eq.1) then open(ninlha,file='SD_leshouches.in',status='unknown') elseif(flaginput.eq.0) then open(nis,file='suspect2.in',status='unknown') do i=1,9 read(nis,*) enddo read(nis,*) ichoice(1) read(nis,*) read(nis,*) read(nis,*) read(nis,*) ichoice(2) read(nis,*) read(nis,*) read(nis,*) read(nis,*) ichoice(3) read(nis,*) read(nis,*) read(nis,*) read(nis,*) ichoice(4) read(nis,*) read(nis,*) read(nis,*) read(nis,*) ichoice(5) read(nis,*) read(nis,*) read(nis,*) read(nis,*) ichoice(6) read(nis,*) read(nis,*) read(nis,*) read(nis,*) read(nis,*) read(nis,*) ichoice(7) read(nis,*) read(nis,*) read(nis,*) read(nis,*) ichoice(8) read(nis,*) read(nis,*) read(nis,*) ichoice(9) read(nis,*) read(nis,*) read(nis,*) read(nis,*) read(nis,*) read(nis,*) ichoice(10) read(nis,*) read(nis,*) read(nis,*) read(nis,*) read(nis,*) read(nis,*) ichoice(11) read(nis,*) read(nis,*) read(nis,*) read(nis,*) dalfinv, dalphas, dmt, dmb, dmtau read(nis,*) read(nis,*) read(nis,*) dehigh, dqewsb read(nis,*) read(nis,*) read(nis,*) if(flagnlspgmsb.eq.1.D0) then ichoice(1) = 11 endif c ---- minimal supergravity input ---- if(ichoice(1).eq.10) then read(nis,*) m0, mhalf, a0, tgbeta, sgnmu0 elseif(ichoice(1).eq.11) then c ---- Gauge Mediated Supersymmetry Breaking input ---- do i=1,4 read(nis,*) enddo read(nis,*) mgmmess, mgmsusy, tgbeta, sgnmu0, nl, nq elseif(ichoice(1).eq.12) then c ---- Anomaly Mediated Supersymmetry Breaking input ---- do i=1,8 read(nis,*) enddo read(nis,*) m32,am0,tgbeta,sgnmu0,cq,cu,cd,cl,ce,chu,chd else c ---- i.e. non-universal arbitrary input case ---- do i=1,12 read(nis,*) enddo read(nis,*) dmhu2, dmhd2, tgbeta, sgnmu0 read(nis,*) read(nis,*) dm1, dm2, dm3 read(nis,*) read(nis,*) dmsl, dmtaur, dmsq, dmtr, dmbr read(nis,*) read(nis,*) dmel, dmer, dmuq, dmur, dmdr read(nis,*) read(nis,*) dal, dau, dad, dal1, dau1, dad1 read(nis,*) read(nis,*) read(nis,*) dma, dmu dmu = sgnmu0*dabs(dmu) dmhu2in = dmhu2 dmhd2in = dmhd2 endif endif c ------------ initializing the parameters needed in sdecay ---------- c call SD_common_ini if(imod(1).eq.1.and.imod(2).eq.2) then flagnlspgmsb = 1.D0 endif c ------------- initializing the couplings needed in sdecay ---------- c call SD_couplings c -------------------- some settings of parameters ------------------- c nx1t = 32 ny1t = 32 c ==================================================================== c c ==================================================================== c c The decay widths and branching ratios c c ==================================================================== c c ==================================================================== c c--------------------------------------------------------------------- c c chargino1 and chargino2 2- and 3-body decays c c--------------------------------------------------------------------- c c -- initialization -- do i=1,2,1 flagchar3bod(i) = 1.D0 chartot(i) = 0.D0 chartot2(i) = 0.D0 chartot2lo(i) = 0.D0 chartot2nlo(i) = 0.D0 chartotmulti(i) = 0.D0 charst1(i) = 0.D0 charst2(i) = 0.D0 charsb1(i) = 0.D0 charsb2(i) = 0.D0 charsupl(i) = 0.D0 charsupr(i) = 0.D0 charsdownl(i) = 0.D0 charsdownr(i) = 0.D0 charsnel(i) = 0.D0 charsn1(i) = 0.D0 charsn2(i) = 0.D0 charsell(i) = 0.D0 charselr(i) = 0.D0 charstau1(i) = 0.D0 charstau2(i) = 0.D0 do j=1,4,1 charwneut(i,j) = 0.D0 charhcneut(i,j) = 0.D0 xchitau(i,j) = 0.D0 xchiel(i,j) = 0.D0 xchiup(i,j) = 0.D0 xchimu(i,j) = 0.D0 xchich(i,j) = 0.D0 xchitop(i,j) = 0.D0 end do qcdcharst1(i) = 0.D0 qcdcharst2(i) = 0.D0 qcdcharsb1(i) = 0.D0 qcdcharsb2(i) = 0.D0 qcdcharsupl(i)= 0.D0 qcdcharsupr(i)= 0.D0 qcdcharsdownl(i) = 0.D0 qcdcharsdownr(i) = 0.D0 xgluiupdb(i) = 0.D0 xgluichsb(i) = 0.D0 xgluitopbb(i) = 0.D0 charwgravitino(i) = 0.D0 charhcgravitino(i) = 0.D0 end do char2zchic1 = 0.D0 char2hlchic1 = 0.D0 char2hhchic1 = 0.D0 char2hachic1 = 0.D0 xchar1tau = 0.D0 xchar1nue = 0.D0 xchar1numu = 0.D0 xchar1nutau = 0.D0 xchar1up = 0.D0 xchar1dow = 0.D0 xchar1ch = 0.D0 xchar1str = 0.D0 xchar1top = 0.D0 xchar1bot = 0.D0 c -- the 2-body decays and 2-body total widths -- call SD_char2bod(charst1,charst2,charsb1,charsb2,charsupl, . charsupr,charsdownl,charsdownr,charsnel,charsn1, . charsn2,charsell,charselr,charstau1,charstau2,char2zchic1, . char2hlchic1,char2hhchic1,char2hachic1,charwneut, . charhcneut,qcdcharst1,qcdcharst2,qcdcharsb1,qcdcharsb2, . qcdcharsupl,qcdcharsupr,qcdcharsdownl,qcdcharsdownr) if(flagnlspgmsb.eq.1.D0) then call SD_gmsbchar2bod(charwgravitino,charhcgravitino) endif do i=1,2,1 chartot2lo(i) = charst1(i)+charst2(i)+charsb1(i)+charsb2(i)+ . 2.D0*charsupl(i)+2.D0*charsupr(i)+2.D0*charsdownl(i)+ . 2.D0*charsdownr(i)+2.D0*charsnel(i)+charsn1(i)+ . charsn2(i)+2.D0*charsell(i)+2.D0*charselr(i)+ . charstau1(i)+charstau2(i)+ . charwneut(i,1)+charwneut(i,2)+charwneut(i,3)+ . charwneut(i,4)+charhcneut(i,1)+charhcneut(i,2)+ . charhcneut(i,3)+charhcneut(i,4) end do chartot2lo(2) = chartot2lo(2)+char2zchic1+char2hlchic1+ . char2hhchic1+char2hachic1 if(flagqcd.eq.1.D0) then do i=1,2,1 chartot2nlo(i) = chartot2lo(i)+qcdcharst1(i)+qcdcharst2(i)+ . qcdcharsb1(i)+qcdcharsb2(i)+2.D0*(qcdcharsupl(i)+ . qcdcharsupr(i)+qcdcharsdownl(i)+qcdcharsdownr(i)) end do endif if(flagnlspgmsb.eq.1.D0) then do i=1,2,1 chargrav2bod(i) = charwgravitino(i)+charhcgravitino(i) enddo endif if(flagqcd.eq.0.D0) then do i=1,2,1 chartot2(i) = chartot2lo(i) end do elseif(flagqcd.eq.1.D0) then do i=1,2,1 chartot2(i) = chartot2nlo(i) end do endif c -------------------------------------------------------------------- c c -- the 3-body decays and 3-body total widths -- if(flagmulti.eq.1.D0) then call SD_xintegchipm(xchitau,xchiel,xchiup,xchimu,xchich, . xchitop,xchar1el,xchar1mu,xchar1tau, . xchar1nue,xchar1numu,xchar1nutau, . xchar1up,xchar1dow,xchar1ch,xchar1str, . xchar1top,xchar1bot,xgluiupdb,xgluichsb, . xgluitopbb) endif do i=1,2,1 if(chartot2(i).eq.0.D0.and.flagmulti.eq.1.D0) then chartotmulti(i)=0.D0 do j=1,4,1 chartotmulti(i) = chartotmulti(i)+xchitau(i,j)+ . xchiel(i,j)+xchiup(i,j)+xchimu(i,j)+xchich(i,j)+ . xchitop(i,j) end do chartotmulti(i) = chartotmulti(i)+xgluiupdb(i)+ . xgluichsb(i)+xgluitopbb(i) if(i.eq.2) then chartotmulti(i) = chartotmulti(i)+xchar1tau+xchar1nue . +xchar1numu+xchar1nutau+xchar1up+xchar1dow . +xchar1ch+xchar1str+xchar1top+xchar1bot endif endif end do c ------------------------ the total widths -------------------------- c do i=1,2,1 if(flagmulti.eq.0.D0) then chartot(i)=chartot2(i) elseif(flagmulti.eq.1.D0) then if(chartot2(i).eq.0.D0) then chartot(i)=chartotmulti(i) else chartot(i)=chartot2(i) endif endif end do if(flagnlspgmsb.eq.1.D0) then do i=1,2,1 if(chartotmulti(i).eq.0.D0) flagchar3bod(i) = 0.D0 chartot(i) = chartot(i)+chargrav2bod(i) end do endif c -------------------- the chargino branching ratios ----------------- c c -- for the 2-body decays -- if(flagqcd.eq.1.D0) then do i=1,2,1 charst1(i) = charst1(i)+qcdcharst1(i) charst2(i) = charst2(i)+qcdcharst2(i) charsb1(i) = charsb1(i)+qcdcharsb1(i) charsb2(i) = charsb2(i)+qcdcharsb2(i) charsupl(i) = charsupl(i)+qcdcharsupl(i) charsupr(i) = charsupr(i)+qcdcharsupr(i) charsdownl(i) = charsdownl(i)+qcdcharsdownl(i) charsdownr(i) = charsdownr(i)+qcdcharsdownr(i) end do endif do i=1,2,1 brcharst1(i) = charst1(i)/chartot(i) brcharst2(i) = charst2(i)/chartot(i) brcharsb1(i) = charsb1(i)/chartot(i) brcharsb2(i) = charsb2(i)/chartot(i) brcharsupl(i) = charsupl(i)/chartot(i) brcharsupr(i) = charsupr(i)/chartot(i) brcharsdownl(i) = charsdownl(i)/chartot(i) brcharsdownr(i) = charsdownr(i)/chartot(i) brcharsnel(i) = charsnel(i)/chartot(i) brcharsn1(i) = charsn1(i)/chartot(i) brcharsn2(i) = charsn2(i)/chartot(i) brcharsell(i) = charsell(i)/chartot(i) brcharselr(i) = charselr(i)/chartot(i) brcharstau1(i) = charstau1(i)/chartot(i) brcharstau2(i) = charstau2(i)/chartot(i) do j=1,4,1 brcharhcneut(i,j) = charhcneut(i,j)/chartot(i) brcharwneut(i,j) = charwneut(i,j)/chartot(i) end do end do brcharzchic = char2zchic1/chartot(2) brcharhlchic = char2hlchic1/chartot(2) brcharhhchic = char2hhchic1/chartot(2) brcharhachic = char2hachic1/chartot(2) if(flagnlspgmsb.eq.1.D0) then do i=1,2,1 brcharwgravitino(i) = charwgravitino(i)/chartot(i) brcharhcgravitino(i) = charhcgravitino(i)/chartot(i) end do endif c -- for the 3-body decays -- do i=1,2,1 if(chartot2(i).eq.0.D0.and.flagmulti.eq.1.D0) then do j=1,4,1 brntaunut(i,j) = xchitau(i,j)/chartot(i) brnelnue(i,j) = xchiel(i,j)/chartot(i) brnmunumu(i,j) = xchimu(i,j)/chartot(i) brnupdb(i,j) = xchiup(i,j)/chartot(i) brnchsb(i,j) = xchich(i,j)/chartot(i) brntopbb(i,j) = xchitop(i,j)/chartot(i) end do brglupdb(i) = xgluiupdb(i)/chartot(i) brglchsb(i) = xgluichsb(i)/chartot(i) brgltopbb(i) = xgluitopbb(i)/chartot(i) endif end do if(chartot2(2).eq.0.D0.and.flagmulti.eq.1.D0) then brchee = xchar1el/chartot(2) brchmumu = xchar1mu/chartot(2) brchtautau = xchar1tau/chartot(2) brchnene = xchar1nue/chartot(2) brchnmunmu = xchar1numu/chartot(2) brchntauntau = xchar1nutau/chartot(2) brchupup = xchar1up/chartot(2) brchdodo = xchar1dow/chartot(2) brchchch = xchar1ch/chartot(2) brchstst = xchar1str/chartot(2) brchtoptop = xchar1top/chartot(2) brchbotbot = xchar1bot/chartot(2) endif c -------------------------------------------------------------------- c c neutralino1/2/3/4 2- and 3-body decays c c and loop decays c c -------------------------------------------------------------------- c c -- initialization -- do i=1,4,1 flagneut3bod(i)= 1.D0 neuttot(i) = 0.D0 neuttot2(i) = 0.D0 neuttot2lo(i) = 0.D0 neuttot2nlo(i) = 0.D0 neuttotmulti(i)= 0.D0 neuttotrad(i) = 0.D0 neutst1(i) = 0.D0 neutst2(i) = 0.D0 neutsb1(i) = 0.D0 neutsb2(i) = 0.D0 neutsupl(i) = 0.D0 neutsupr(i) = 0.D0 neutsdownl(i) = 0.D0 neutsdownr(i) = 0.D0 neutsnel(i) = 0.D0 neutsn1(i) = 0.D0 neutsn2(i) = 0.D0 neutsell(i) = 0.D0 neutselr(i) = 0.D0 neutstau1(i) = 0.D0 neutstau2(i) = 0.D0 neuthcchar(i,1) = 0.D0 neuthcchar(i,2) = 0.D0 neutwchar(i,1) = 0.D0 neutwchar(i,2) = 0.D0 do j=1,4,1 nraddec(i,j) = 0.D0 neutzneut(i,j) = 0.D0 neuthlneut(i,j) = 0.D0 neuthhneut(i,j) = 0.D0 neuthaneut(i,j) = 0.D0 xneutel(i,j) = 0.D0 xneutmu(i,j) = 0.D0 xneuttau(i,j) = 0.D0 xneutnue(i,j) = 0.D0 xneutnumu(i,j) = 0.D0 xneutnutau(i,j) = 0.D0 xneutup(i,j) = 0.D0 xneutdow(i,j) = 0.D0 xneutst(i,j) = 0.D0 xneutch(i,j) = 0.D0 xneutbot(i,j) = 0.D0 xneuttop(i,j) = 0.D0 end do do j = 1,2,1 xchelne(i,j) = 0.D0 xchmunmu(i,j) = 0.D0 xchtauntau(i,j) = 0.D0 xchubdow(i,j) = 0.D0 xchcbs(i,j) = 0.D0 xchtbb(i,j) = 0.D0 end do qcdneutst1(i) = 0.D0 qcdneutst2(i) = 0.D0 qcdneutsb1(i) = 0.D0 qcdneutsb2(i) = 0.D0 qcdneutsupl(i) = 0.D0 qcdneutsupr(i) = 0.D0 qcdneutsdownl(i) = 0.D0 qcdneutsdownr(i) = 0.D0 xgluinoup(i) = 0.D0 xgluinodo(i) = 0.D0 xgluinoch(i) = 0.D0 xgluinost(i) = 0.D0 xgluinotop(i) = 0.D0 xgluinobot(i) = 0.D0 neutgammagravitino(i) = 0.D0 neutZgravitino(i) = 0.D0 neuthlgravitino(i) = 0.D0 neuthhgravitino(i) = 0.D0 neuthagravitino(i) = 0.D0 end do stautaugravitino = 0.D0 ninjphoton = 0.D0 c -- the 2-body decays and 2-body total widths -- call SD_neut2bod(neutwchar,neutzneut,neuthcchar,neuthlneut, . neuthhneut,neuthaneut,neutsnel,neutsell,neutselr, . neutstau1,neutstau2,neutsn1,neutsn2,neutst1,neutst2, . neutsb1,neutsb2,neutsupl,neutsupr,neutsdownl,neutsdownr, . qcdneutst1,qcdneutst2,qcdneutsb1,qcdneutsb2,qcdneutsupl, . qcdneutsupr,qcdneutsdownl,qcdneutsdownr) if(flagnlspgmsb.eq.1.D0) then call SD_gmsb2bod(neutgammagravitino,neutZgravitino, . neuthlgravitino,neuthhgravitino, . neuthagravitino,stautaugravitino) endif do i=1,4,1 neuttot2lo(i) = 2.D0*(neutst1(i)+neutst2(i)+neutsb1(i)+ . neutsb2(i)+2.D0*neutsupl(i)+2.D0*neutsupr(i)+ . 2.D0*neutsdownl(i)+2.D0*neutsdownr(i)+2.D0* . neutsnel(i)+neutsn1(i)+neutsn2(i)+2.D0*neutsell(i)+ . 2.D0*neutselr(i)+neutstau1(i)+neutstau2(i)+ . neuthcchar(i,1)+neuthcchar(i,2)+neutwchar(i,1)+ . neutwchar(i,2)) do j=1,4,1 neuttot2lo(i) = neuttot2lo(i)+neutzneut(i,j)+ . neuthlneut(i,j)+neuthhneut(i,j)+neuthaneut(i,j) enddo enddo if(flagnlspgmsb.eq.1.D0) then do i=1,4,1 neutgrav2bod(i) = neutgammagravitino(i)+ . neutZgravitino(i)+neuthlgravitino(i)+ . neuthhgravitino(i)+neuthagravitino(i) enddo endif if(flagqcd.eq.1.D0) then do i=1,4,1 neuttot2nlo(i) = 2.D0*(qcdneutst1(i)+qcdneutst2(i)+ . qcdneutsb1(i)+qcdneutsb2(i)+2.D0*qcdneutsupl(i)+2.D0* . qcdneutsupr(i)+2.D0*qcdneutsdownl(i)+2.D0* . qcdneutsdownr(i)) + neuttot2lo(i) end do endif if(flagqcd.eq.0.D0) then do i=1,4,1 neuttot2(i) = neuttot2lo(i) end do elseif(flagqcd.eq.1.D0) then do i=1,4,1 neuttot2(i) = neuttot2nlo(i) end do endif c--------------------------------------------------------------------- c c -- the 3-body decays and 3-body total widths -- if(flagmulti.eq.1.D0) then call SD_xintegneut(xneutel,xneutmu,xneuttau,xneutnue,xneutnumu, . xneutnutau,xneutup,xneutdow,xneutst,xneutch, . xneutbot,xneuttop,xchelne,xchmunmu,xchtauntau, . xchubdow,xchcbs,xchtbb,xgluinoup,xgluinodo, . xgluinoch,xgluinost,xgluinotop,xgluinobot) endif do i=1,4,1 if(neuttot2(i).eq.0.D0.and.flagmulti.eq.1.D0) then neuttotmulti(i) = 0.D0 do j=1,4,1 neuttotmulti(i) = neuttotmulti(i)+xneutel(i,j)+ . xneutmu(i,j)+xneuttau(i,j)+xneutnue(i,j)+ . xneutnumu(i,j)+xneutnutau(i,j)+xneutup(i,j)+ . xneutdow(i,j)+xneutst(i,j)+xneutch(i,j)+ . xneutbot(i,j)+xneuttop(i,j) end do do j=1,2,1 neuttotmulti(i) = neuttotmulti(i)+2.D0*(xchelne(i,j)+ . xchmunmu(i,j)+xchtauntau(i,j)+ . xchubdow(i,j)+xchcbs(i,j)+xchtbb(i,j)) end do neuttotmulti(i) = neuttotmulti(i)+xgluinoup(i)+ . xgluinodo(i)+xgluinoch(i)+xgluinost(i)+ . xgluinotop(i)+xgluinobot(i) endif end do c--------------------------------------------------------------------- c c -- the loop decays neutralino_i -> neutralino_j + photon and c -- the loop total widths -- do ni = 1,4,1 if(neuttot2(ni).eq.0.D0.and.flagloop.eq.1.D0) then do nj = 1,4,1 if(nj.ge.ni) then nraddec(ni,nj)=0.D0 elseif(nj.lt.ni) then call SD_neutraddecay(ninjphoton) nraddec(ni,nj)=ninjphoton endif end do endif end do do i=1,4,1 if(neuttot2(i).eq.0.D0.and.flagloop.eq.1.D0) then neuttotrad(i) = 0.D0 do j=1,4,1 neuttotrad(i) = neuttotrad(i)+nraddec(i,j) end do endif end do c ------------------------ the total widths -------------------------- c do i=1,4,1 if(flagmulti.eq.0.D0.and.flagloop.eq.0.D0) then neuttot(i) = neuttot2(i) elseif(flagmulti.eq.1.D0.and.flagloop.eq.0.D0) then if(neuttot2(i).eq.0.D0) then neuttot(i) = neuttotmulti(i) else neuttot(i) = neuttot2(i) endif elseif(flagmulti.eq.0.D0.and.flagloop.eq.1.D0) then if(neuttot2(i).eq.0.D0) then neuttot(i) = neuttotrad(i) else neuttot(i) = neuttot2(i) endif elseif(flagmulti.eq.1.D0.and.flagloop.eq.1.D0) then if(neuttot2(i).eq.0.D0) then neuttot(i) = neuttotmulti(i)+neuttotrad(i) else neuttot(i) = neuttot2(i) endif endif end do if(flagnlspgmsb.eq.1.D0) then do i=1,4,1 if(neuttotmulti(i).eq.0.D0) flagneut3bod(i) = 0.D0 neuttot(i) = neuttot(i) + neutgrav2bod(i) end do endif c ------------------- the neutralino branching ratios ---------------- c c -- for the 2-body decays -- if(flagqcd.eq.1.D0) then do i=1,4,1 neutst1(i) = neutst1(i)+qcdneutst1(i) neutst2(i) = neutst2(i)+qcdneutst2(i) neutsb1(i) = neutsb1(i)+qcdneutsb1(i) neutsb2(i) = neutsb2(i)+qcdneutsb2(i) neutsupl(i) = neutsupl(i)+qcdneutsupl(i) neutsupl(i) = neutsupl(i)+qcdneutsupl(i) neutsupr(i) = neutsupr(i)+qcdneutsupr(i) neutsupr(i) = neutsupr(i)+qcdneutsupr(i) neutsdownl(i) = neutsdownl(i)+qcdneutsdownl(i) neutsdownl(i) = neutsdownl(i)+qcdneutsdownl(i) neutsdownr(i) = neutsdownr(i)+qcdneutsdownr(i) neutsdownr(i) = neutsdownr(i)+qcdneutsdownr(i) end do endif do i=1,4,1 brneutst1(i) = neutst1(i)/neuttot(i) brneutst2(i) = neutst2(i)/neuttot(i) brneutsb1(i) = neutsb1(i)/neuttot(i) brneutsb2(i) = neutsb2(i)/neuttot(i) brneutsupl(i) = neutsupl(i)/neuttot(i) brneutsupr(i) = neutsupr(i)/neuttot(i) brneutsdownl(i) = neutsdownl(i)/neuttot(i) brneutsdownr(i) = neutsdownr(i)/neuttot(i) brneutsnel(i) = neutsnel(i)/neuttot(i) brneutsn1(i) = neutsn1(i)/neuttot(i) brneutsn2(i) = neutsn2(i)/neuttot(i) brneutsell(i) = neutsell(i)/neuttot(i) brneutselr(i) = neutselr(i)/neuttot(i) brneutstau1(i) = neutstau1(i)/neuttot(i) brneutstau2(i) = neutstau2(i)/neuttot(i) do j=1,2,1 brneutwchar(i,j) = neutwchar(i,j)/neuttot(i) brneuthcchar(i,j) = neuthcchar(i,j)/neuttot(i) end do do j=1,4,1 brneutzneut(i,j) = neutzneut(i,j)/neuttot(i) brneuthlneut(i,j) = neuthlneut(i,j)/neuttot(i) brneuthhneut(i,j) = neuthhneut(i,j)/neuttot(i) brneuthaneut(i,j) = neuthaneut(i,j)/neuttot(i) end do end do if(flagnlspgmsb.eq.1.D0) then do i=1,4,1 brneutgamgrav(i) = neutgammagravitino(i)/neuttot(i) brneutzgrav(i) = neutZgravitino(i)/neuttot(i) brneuthlgrav(i) = neuthlgravitino(i)/neuttot(i) brneuthhgrav(i) = neuthhgravitino(i)/neuttot(i) brneuthagrav(i) = neuthagravitino(i)/neuttot(i) end do endif c -- for the 3-body and loop decays -- do i=1,4,1 if(neuttot2(i).eq.0.D0.and.flagmulti.eq.1.D0) then do j=1,4,1 brneutup(i,j) = xneutup(i,j)/neuttot(i) brneutdow(i,j) = xneutdow(i,j)/neuttot(i) brneutch(i,j) = xneutch(i,j)/neuttot(i) brneutst(i,j) = xneutst(i,j)/neuttot(i) brneutbot(i,j) = xneutbot(i,j)/neuttot(i) brneuttop(i,j) = xneuttop(i,j)/neuttot(i) brneutel(i,j) = xneutel(i,j)/neuttot(i) brneutmu(i,j) = xneutmu(i,j)/neuttot(i) brneuttau(i,j) = xneuttau(i,j)/neuttot(i) brneutnue(i,j) = xneutnue(i,j)/neuttot(i) brneutnumu(i,j) = xneutnumu(i,j)/neuttot(i) brneutnutau(i,j) = xneutnutau(i,j)/neuttot(i) end do do j=1,2,1 brchubd(i,j) = xchubdow(i,j)/neuttot(i) brchcbs(i,j) = xchcbs(i,j)/neuttot(i) brchtbb(i,j) = xchtbb(i,j)/neuttot(i) brchelne(i,j) = xchelne(i,j)/neuttot(i) brchmunmu(i,j) = xchmunmu(i,j)/neuttot(i) brchtauntau(i,j) = xchtauntau(i,j)/neuttot(i) end do brglup(i) = xgluinoup(i)/neuttot(i) brgldo(i) = xgluinodo(i)/neuttot(i) brglch(i) = xgluinoch(i)/neuttot(i) brglst(i) = xgluinost(i)/neuttot(i) brgltop(i) = xgluinotop(i)/neuttot(i) brglbot(i) = xgluinobot(i)/neuttot(i) endif end do do i=1,4,1 if(neuttot2(i).eq.0.D0.and.flagloop.eq.1.D0) then do j=1,4,1 brnraddec(i,j) = nraddec(i,j)/neuttot(i) end do endif end do c -------------------------------------------------------------------- c c gluino 2- and 3-body decays c c--------------------------------------------------------------------- c c -- initialization -- flagglui3bod = 1.D0 gluitot = 0.D0 gluitot2 = 0.D0 gluitot2lo = 0.D0 gluitot2nlo = 0.D0 gluitotmulti= 0.D0 gluitotrad = 0.D0 gst1 = 0.D0 gst2 = 0.D0 gsb1 = 0.D0 gsb2 = 0.D0 gsupl = 0.D0 gsupr = 0.D0 gsdownl = 0.D0 gsdownr = 0.D0 ggravgl = 0.D0 qcdgst1 = 0.D0 qcdgst2 = 0.D0 qcdgsb1 = 0.D0 qcdgsb2 = 0.D0 qcdgsupl = 0.D0 qcdgsupr = 0.D0 qcdgsdownl = 0.D0 qcdgsdownr = 0.D0 do i=1,4,1 xintegoup(i) = 0.D0 xintegodn(i) = 0.D0 xintegotp(i) = 0.D0 xintegobt(i) = 0.D0 glnjgluon(i) = 0.D0 end do do i=1,2,1 xintegoud(i) = 0.D0 xintegotb(i) = 0.D0 end do xinteghcst1b = 0.D0 xintegwst1b = 0.D0 c -- the 2-body decays and 2-body total widths -- call SD_glui2bod(gst1,gst2,gsb1,gsb2,gsupl,gsupr,gsdownl,gsdownr, . qcdgst1,qcdgst2,qcdgsb1,qcdgsb2,qcdgsupl,qcdgsupr, . qcdgsdownl,qcdgsdownr) if(flagnlspgmsb.eq.1.D0) then call SD_gluinograv(ggravgl) endif gluitot2lo = 2.D0*(gst1+gst2+gsb1+gsb2+2.D0*gsupl+2.D0*gsupr+ . 2.D0*gsdownl+2.D0*gsdownr) gluitot2nlo = 2.D0*(qcdgst1+qcdgst2+qcdgsb1+qcdgsb2+2.D0*qcdgsupl . +2.D0*qcdgsupr+2.D0*qcdgsdownl+2.D0*qcdgsdownr) . + gluitot2lo if(flagqcd.eq.0.D0) then gluitot2 = gluitot2lo elseif(flagqcd.eq.1.D0) then gluitot2 = gluitot2nlo endif c -------------------------------------------------------------------- c c -- the 3-body decays and 3-body total widths -- if(gluitot2.eq.0.D0.and.flagmulti.eq.1.D0) then call SD_xinteggo(xintegoup,xintegodn,xintegotp,xintegobt, . xintegoud,xintegotb,xinteghcst1b,xintegwst1b, . xintegocc) endif if(gluitot2.eq.0.D0.and.flagmulti.eq.1.D0) then gluitotmulti=0.D0 do i=1,4,1 gluitotmulti=gluitotmulti+2.D0*xintegoup(i)+ . 2.D0*xintegodn(i)+xintegotp(i)+xintegobt(i) end do do i=1,2,1 gluitotmulti = gluitotmulti+4.D0*xintegoud(i)+ . 2.D0*xintegotb(i) end do gluitotmulti = gluitotmulti+2.D0*xinteghcst1b+2.D0*xintegwst1b endif c -------------------------------------------------------------------- c c -- the loop decays gluino -> neutralino_i + gluon and c -- the loop total width -- if(gluitot2.eq.0.D0.and.flagloop.eq.1.D0) then call SD_gluiraddecay(glnjgluon) gluitotrad=0.D0 do i=1,4,1 gluitotrad=gluitotrad+glnjgluon(i) end do endif c ------------------------ the total widths -------------------------- c if(flagmulti.eq.0.D0.and.flagloop.eq.0.D0) then gluitot = gluitot2 elseif(flagmulti.eq.1.D0.and.flagloop.eq.0.D0) then if(gluitot2.eq.0.D0) then gluitot = gluitotmulti else gluitot = gluitot2 endif elseif(flagmulti.eq.0.D0.and.flagloop.eq.1.D0) then if(gluitot2.eq.0.D0) then gluitot = gluitotrad else gluitot = gluitot2 endif elseif(flagmulti.eq.1.D0.and.flagloop.eq.1.D0) then if(gluitot2.eq.0.D0) then gluitot = gluitotmulti+gluitotrad else gluitot = gluitot2 endif endif if(flagnlspgmsb.eq.1.D0) then if(gluitotmulti.eq.0.D0) flagglui3bod = 0.D0 gluitot = gluitot + ggravgl endif c -------------------- the gluino branching ratios ------------------- c c -- for the 2-body decays -- if(flagqcd.eq.1.D0) then gst1 = gst1+qcdgst1 gst2 = gst2+qcdgst2 gsb1 = gsb1+qcdgsb1 gsb2 = gsb2+qcdgsb2 gsupl = gsupl+qcdgsupl gsupr = gsupr+qcdgsupr gsdownl = gsdownl+qcdgsdownl gsdownr = gsdownr+qcdgsdownr endif brgst1 = gst1/gluitot brgst2 = gst2/gluitot brgsb1 = gsb1/gluitot brgsb2 = gsb2/gluitot brgsupl = gsupl/gluitot brgsupr = gsupr/gluitot brgsdownl = gsdownl/gluitot brgsdownr = gsdownr/gluitot if(flagnlspgmsb.eq.1.D0) then brggravgl = ggravgl/gluitot endif c -- for the 3-body and loop decays -- if(gluitot2.eq.0.D0.and.flagmulti.eq.1.D0) then do i=1,4,1 brgoup(i)=xintegoup(i)/gluitot brgoch(i)=xintegoup(i)/gluitot brgodn(i)=xintegodn(i)/gluitot brgost(i)=xintegodn(i)/gluitot brgotp(i)=xintegotp(i)/gluitot brgobt(i)=xintegobt(i)/gluitot end do do i=1,2,1 brgoud(i)=xintegoud(i)/gluitot brgocs(i)=xintegoud(i)/gluitot brgotb(i)=xintegotb(i)/gluitot end do brhcst1b = xinteghcst1b/gluitot brwst1b = xintegwst1b/gluitot endif if(gluitot2.eq.0.D0.and.flagloop.eq.1.D0) then do i=1,4,1 brglnjgluon(i)=glnjgluon(i)/gluitot end do endif c -------------------------------------------------------------------- c c sup 2-body decays c c -------------------------------------------------------------------- c c -- initialization -- supltot2 = 0.D0 suprtot2 = 0.D0 supltot2lo = 0.D0 suprtot2lo = 0.D0 supltot2nlo = 0.D0 suprtot2nlo = 0.D0 do i=1,4,1 suplneutup(i) = 0.D0 suprneutup(i) = 0.D0 qcdsuplneutup(i) = 0.D0 qcdsuprneutup(i) = 0.D0 end do do i=1,2,1 suplchardow(i) = 0.D0 suprchardow(i) = 0.D0 qcdsuplchardow(i) = 0.D0 qcdsuprchardow(i) = 0.D0 end do suplglui = 0.D0 suprglui = 0.D0 qcdsuplglui = 0.D0 qcdsuprglui = 0.D0 c ------------------------------------------------------------------- c call SD_sup2bod(suplneutup,suprneutup,suplchardow,suprchardow, . suplglui,suprglui,qcdsuplneutup,qcdsuprneutup, . qcdsuplchardow,qcdsuprchardow,qcdsuplglui, . qcdsuprglui) supltot2lo = suplneutup(1)+suplneutup(2)+suplneutup(3) . + suplneutup(4)+suplchardow(1)+suplchardow(2) . + suplglui suprtot2lo = suprneutup(1)+suprneutup(2)+suprneutup(3) . + suprneutup(4)+suprchardow(1)+suprchardow(2) . + suprglui supltot2nlo = supltot2lo + qcdsuplneutup(1)+qcdsuplneutup(2) . + qcdsuplneutup(3)+qcdsuplneutup(4)+qcdsuplchardow(1) . + qcdsuplchardow(2)+qcdsuplglui suprtot2nlo = suprtot2lo + qcdsuprneutup(1)+qcdsuprneutup(2) . + qcdsuprneutup(3)+qcdsuprneutup(4)+qcdsuprchardow(1) . + qcdsuprchardow(2)+qcdsuprglui if(flagqcd.eq.0.D0) then supltot2 = supltot2lo suprtot2 = suprtot2lo elseif(flagqcd.eq.1.D0) then supltot2 = supltot2nlo suprtot2 = suprtot2nlo endif if(flagqcd.eq.1.D0) then do i=1,4,1 suplneutup(i) = suplneutup(i)+qcdsuplneutup(i) suprneutup(i) = suprneutup(i)+qcdsuprneutup(i) end do do i=1,2,1 suplchardow(i) = suplchardow(i)+qcdsuplchardow(i) suprchardow(i) = suprchardow(i)+qcdsuprchardow(i) end do suplglui = suplglui+qcdsuplglui suprglui = suprglui+qcdsuprglui endif do i=1,4,1 brsuplnup(i) = suplneutup(i)/supltot2 brsuprnup(i) = suprneutup(i)/suprtot2 end do do i=1,2,1 brsuplcdow(i) = suplchardow(i)/supltot2 brsuprcdow(i) = suprchardow(i)/suprtot2 end do brsuplglui = suplglui/supltot2 brsuprglui = suprglui/suprtot2 c -------------------------------------------------------------------- c c sdown 2-body decays c c -------------------------------------------------------------------- c c -- initialization -- sdowltot2 = 0.D0 sdowrtot2 = 0.D0 sdowltot2lo = 0.D0 sdowrtot2lo = 0.D0 sdowltot2nlo = 0.D0 sdowrtot2nlo = 0.D0 do i=1,4,1 sdowlneutdow(i) = 0.D0 sdowrneutdow(i) = 0.D0 qcdsdowlneutdow(i) = 0.D0 qcdsdowrneutdow(i) = 0.D0 end do do i=1,2,1 sdowlcharup(i) = 0.D0 sdowrcharup(i) = 0.D0 qcdsdowlcharup(i) = 0.D0 qcdsdowrcharup(i) = 0.D0 end do sdowlglui = 0.D0 sdowrglui = 0.D0 qcdsdowlglui = 0.D0 qcdsdowrglui = 0.D0 c -------------------------------------------------------------------- c call SD_sdown2bod(sdowlneutdow,sdowlcharup,sdowrneutdow, . sdowrcharup,sdowlglui,sdowrglui,qcdsdowlneutdow, . qcdsdowlcharup,qcdsdowrneutdow,qcdsdowrcharup, . qcdsdowlglui,qcdsdowrglui) sdowltot2lo = sdowlneutdow(1)+sdowlneutdow(2)+sdowlneutdow(3)+ . sdowlneutdow(4)+sdowlcharup(1)+sdowlcharup(2)+ . sdowlglui sdowrtot2lo = sdowrneutdow(1)+sdowrneutdow(2)+sdowrneutdow(3)+ . sdowrneutdow(4)+sdowrcharup(1)+sdowrcharup(2)+ . sdowrglui sdowltot2nlo = sdowltot2lo + qcdsdowlneutdow(1)+ . qcdsdowlneutdow(2)+qcdsdowlneutdow(3)+ . qcdsdowlneutdow(4)+qcdsdowlcharup(1)+ . qcdsdowlcharup(2)+qcdsdowlglui sdowrtot2nlo = sdowrtot2lo + qcdsdowrneutdow(1)+ . qcdsdowrneutdow(2)+qcdsdowrneutdow(3)+ . qcdsdowrneutdow(4)+qcdsdowrcharup(1)+ . qcdsdowrcharup(2)+qcdsdowrglui if(flagqcd.eq.0.D0) then sdowltot2 = sdowltot2lo sdowrtot2 = sdowrtot2lo elseif(flagqcd.eq.1.D0) then sdowltot2 = sdowltot2nlo sdowrtot2 = sdowrtot2nlo endif if(flagqcd.eq.1.D0) then do i=1,4,1 sdowlneutdow(i) = sdowlneutdow(i)+qcdsdowlneutdow(i) sdowrneutdow(i) = sdowrneutdow(i)+qcdsdowrneutdow(i) end do do i=1,2,1 sdowlcharup(i) = sdowlcharup(i)+qcdsdowlcharup(i) sdowrcharup(i) = sdowrcharup(i)+qcdsdowrcharup(i) end do sdowlglui = sdowlglui+qcdsdowlglui sdowrglui = sdowrglui+qcdsdowrglui endif do i=1,4,1 brsdowlndow(i) = sdowlneutdow(i)/sdowltot2 brsdowrndow(i) = sdowrneutdow(i)/sdowrtot2 end do do i=1,2,1 brsdowlchup(i) = sdowlcharup(i)/sdowltot2 brsdowrchup(i) = sdowrcharup(i)/sdowrtot2 end do brsdowlglui = sdowlglui/sdowltot2 brsdowrglui = sdowrglui/sdowrtot2 c -------------------------------------------------------------------- c c stop1 and stop2 2- and 3-body decays c c and loop decays c c -------------------------------------------------------------------- c c -- initialization -- stoptotrad(1) = 0.D0 sigma4bodtot = 0.D0 do i=1,2,1 stoptot(i) = 0.D0 stoptot2(i) = 0.D0 stoptot2lo(i) = 0.D0 stoptot2nlo(i)= 0.D0 stoptotmulti(i) = 0.D0 st1charb(i) = 0.D0 st1hcsb(i) = 0.D0 st1wsb(i) = 0.D0 st2charb(i) = 0.D0 st2hcsb(i) = 0.D0 st2wsb(i) = 0.D0 qcdst1charb(i) = 0.D0 qcdst1hcsb(i) = 0.D0 qcdst1wsb(i) = 0.D0 qcdst2charb(i) = 0.D0 qcdst2hcsb(i) = 0.D0 qcdst2wsb(i) = 0.D0 xintegstsnel(i) = 0.D0 do j=1,4,1 xintegstopw(i,j) = 0.D0 xintegstoph(i,j) = 0.D0 end do do j=1,2,1 xintegststau(i,j) = 0.D0 xintegstsntau(i,j) = 0.D0 xintegstsel(i,j) = 0.D0 xintegstbsbst(i,j) = 0.D0 xintegstbbsbt(i,j) = 0.D0 xintegsttausbnu(i,j) = 0.D0 xintegstelsbnu(i,j) = 0.D0 xintegstupsbdow(i,j) = 0.D0 end do end do do i=1,4,1 st1neutt(i) = 0.D0 st2neutt(i) = 0.D0 qcdst1neut(i) = 0.D0 qcdst2neut(i) = 0.D0 end do st1glui = 0.D0 st2glui = 0.D0 st2hl = 0.D0 st2hh = 0.D0 st2ha = 0.D0 st2ztop = 0.D0 qcdst1glui = 0.D0 qcdst2glui = 0.D0 qcdst2hl = 0.D0 qcdst2hh = 0.D0 qcdst2ha = 0.D0 qcdst2ztop = 0.D0 xintegst2st1tt = 0.D0 xintegst2st1bb = 0.D0 xintegst2st1uu = 0.D0 xintegst2st1dd = 0.D0 xintegst2st1ee = 0.D0 xintegst2st1nunu = 0.D0 xintegst2st1tautau = 0.D0 xintegst2st1startt = 0.D0 gamma = 0.D0 gammaup = 0.D0 gammagluino = 0.D0 c -- the 2-body decays and 2-body total widths -- call SD_st2bod(st1neutt,st2neutt,st1charb,st2charb,st1glui, . st2glui,st1hcsb,st2hl,st2hh,st2ha,st2hcsb, . st1wsb,st2wsb,st2ztop,qcdst1neut,qcdst2neut, . qcdst1charb,qcdst2charb,qcdst1glui,qcdst2glui, . qcdst1hcsb,qcdst2hcsb,qcdst2hl,qcdst2hh, . qcdst2ha,qcdst2ztop,qcdst1wsb,qcdst2wsb) stoptot2lo(1)=st1neutt(1)+st1neutt(2)+st1neutt(3)+st1neutt(4)+ . st1charb(1)+st1charb(2)+st1glui+st1hcsb(1)+ . st1hcsb(2)+st1wsb(1)+st1wsb(2) stoptot2lo(2)=st2neutt(1)+st2neutt(2)+st2neutt(3)+st2neutt(4)+ . st2charb(1)+st2charb(2)+st2glui+st2hl+st2hh+st2ha+ . st2hcsb(1)+st2hcsb(2)+st2wsb(1)+st2wsb(2)+st2ztop stoptot2nlo(1) = stoptot2lo(1) + qcdst1neut(1)+qcdst1neut(2)+ . qcdst1neut(3)+qcdst1neut(4)+qcdst1charb(1)+ . qcdst1charb(2)+qcdst1glui+qcdst1hcsb(1)+qcdst1hcsb(2)+ . qcdst1wsb(1)+qcdst1wsb(2) stoptot2nlo(2) = stoptot2lo(2) + qcdst2neut(1)+qcdst2neut(2)+ . qcdst2neut(3)+qcdst2neut(4)+qcdst2charb(1)+ . qcdst2charb(2)+qcdst2glui+qcdst2hcsb(1)+qcdst2hcsb(2)+ . qcdst2hl+qcdst2hh+qcdst2ha+qcdst2ztop+qcdst2wsb(1)+ . qcdst2wsb(2) if(flagqcd.eq.0.D0) then do i=1,2,1 stoptot2(i) = stoptot2lo(i) end do elseif(flagqcd.eq.1.D0) then do i=1,2,1 stoptot2(i) = stoptot2nlo(i) end do endif c -------------------------------------------------------------------- c c -- the 3-body decays and 3-body total widths -- call SD_xintegstop(xintegstopw,xintegstoph,xintegststau, . xintegstsntau,xintegstsel,xintegstsnel,xintegstbsbst, . xintegstbbsbt,xintegsttausbnu,xintegstelsbnu, . xintegstupsbdow,xintegst2st1tt,xintegst2st1bb, . xintegst2st1uu,xintegst2st1dd,xintegst2st1ee, . xintegst2st1nunu,xintegst2st1tautau,xintegst2st1startt) do i=1,2,1 if(stoptot2(i).eq.0.D0) then stoptotmulti(i) = 0.D0 do j=1,4,1 stoptotmulti(i) = stoptotmulti(i)+xintegstopw(i,j)+ . xintegstoph(i,j) end do do j=1,2,1 stoptotmulti(i) = stoptotmulti(i)+xintegststau(i,j)+ . xintegstsntau(i,j)+2.D0*xintegstsel(i,j)+ . xintegstbsbst(i,j)+xintegstbbsbt(i,j)+ . xintegsttausbnu(i,j)+2.D0*xintegstelsbnu(i,j)+ . 2.D0*xintegstupsbdow(i,j) end do stoptotmulti(i) = stoptotmulti(i)+2.D0*xintegstsnel(i) if(i.eq.2) then stoptotmulti(i) = stoptotmulti(i)+ . xintegst2st1tt+xintegst2st1bb+ . 2.D0*xintegst2st1uu+2.D0*xintegst2st1dd+ . 2.D0*xintegst2st1ee+3.D0*xintegst2st1nunu+ . xintegst2st1tautau+xintegst2st1startt endif endif end do c -------------------------------------------------------------------- c c -- the loop decays and the total widths -- if(stoptot2(1).eq.0.D0.and.flagloop.eq.1.D0) then call SD_hikasakob1(gamma,gammaup,gammagluino) endif if(stoptot2(2).eq.0.D0.and.flagloop.eq.1.D0) then call SD_hikasakob2(gamma2) endif if(stoptot2(1).eq.0.D0.and.flagloop.eq.1.D0) then stoptotrad(1) = gamma+gammaup+gammagluino endif c -------------------------------------------------------------------- c c -- the stop1 4-body decays if(flagmulti.eq.1.D0.and.stoptot2(1).eq.0.D0.and. .stoptotmulti(1).eq.0.D0) then call SD_rstart(12,34,56,78) call SD_st4bod(ast1,sigmato,sigmasn,sigmaw,sigmah,ainter, . sigmae,sigmaq) sigma4bodtot=sigmato+sigmaw+sigmah+2.D0*ainter+2.D0*sigmae . +6.D0*sigmaq endif c ------------------------ the total widths -------------------------- c if(flagmulti.eq.0.D0.and.flagloop.eq.0.D0) then stoptot(1) = stoptot2(1) elseif(flagmulti.eq.1.D0.and.flagloop.eq.0.D0) then if(stoptot2(1).eq.0.D0) then if(stoptotmulti(1).ne.0.D0) then stoptot(1) = stoptotmulti(1) else stoptot(1) = sigma4bodtot endif else stoptot(1) = stoptot2(1) endif elseif(flagmulti.eq.0.D0.and.flagloop.eq.1.D0) then if(stoptot2(1).eq.0.D0) then stoptot(1) = stoptotrad(1) else stoptot(1) = stoptot2(1) endif elseif(flagmulti.eq.1.D0.and.flagloop.eq.1.D0) then if(stoptot2(1).eq.0.D0) then if(stoptotmulti(1).ne.0.D0) then stoptot(1) = stoptotmulti(1)+stoptotrad(1) else stoptot(1) = sigma4bodtot+stoptotrad(1) endif else stoptot(1) = stoptot2(1) endif endif if(flagmulti.eq.0.D0) then stoptot(2) = stoptot2(2) elseif(flagmulti.eq.1.D0) then if(stoptot2(2).eq.0.D0) then stoptot(2) = stoptotmulti(2) else stoptot(2) = stoptot2(2) endif endif c ---------------------- the stop branching ratios ------------------- c c -- for the 2-body decays -- if(flagqcd.eq.1.D0) then do i=1,4,1 st1neutt(i) = st1neutt(i)+qcdst1neut(i) st2neutt(i) = st2neutt(i)+qcdst2neut(i) end do do i=1,2,1 st1charb(i) = st1charb(i) + qcdst1charb(i) st2charb(i) = st2charb(i) + qcdst2charb(i) st1hcsb(i) = st1hcsb(i) + qcdst1hcsb(i) st2hcsb(i) = st2hcsb(i) + qcdst2hcsb(i) st1wsb(i) = st1wsb(i) + qcdst1wsb(i) st2wsb(i) = st2wsb(i) + qcdst2wsb(i) end do st1glui = st1glui + qcdst1glui st2glui = st2glui + qcdst2glui st2hl = st2hl + qcdst2hl st2hh = st2hh + qcdst2hh st2ha = st2ha + qcdst2ha st2ztop = st2ztop + qcdst2ztop endif do i=1,4,1 brst1neutt(i) = st1neutt(i)/stoptot(1) brst2neutt(i) = st2neutt(i)/stoptot(2) end do do i=1,2,1 brst1charb(i) = st1charb(i)/stoptot(1) brst1hcsb(i) = st1hcsb(i)/stoptot(1) brst1wsb(i) = st1wsb(i)/stoptot(1) brst2charb(i) = st2charb(i)/stoptot(2) brst2hcsb(i) = st2hcsb(i)/stoptot(2) brst2wsb(i) = st2wsb(i)/stoptot(2) end do brst1glui = st1glui/stoptot(1) brst2glui = st2glui/stoptot(2) brst2hl = st2hl/stoptot(2) brst2hh = st2hh/stoptot(2) brst2ha = st2ha/stoptot(2) brst2ztop = st2ztop/stoptot(2) c -- for the 3-body and loop decays -- do i=1,2,1 if(stoptot2(i).eq.0.D0.and.flagmulti.eq.1.D0) then do j=1,4,1 brstopw(i,j) = xintegstopw(i,j)/stoptot(i) brstoph(i,j) = xintegstoph(i,j)/stoptot(i) end do do j=1,2,1 brststau(i,j) = xintegststau(i,j)/stoptot(i) brstsntau(i,j) = xintegstsntau(i,j)/stoptot(i) brstsel(i,j) = xintegstsel(i,j)/stoptot(i) brstbsbst(i,j) = xintegstbsbst(i,j)/stoptot(i) brstbbsbt(i,j) = xintegstbbsbt(i,j)/stoptot(i) brsttausbnu(i,j) = xintegsttausbnu(i,j)/stoptot(i) brstelsbnu(i,j) = xintegstelsbnu(i,j)/stoptot(i) brstupsbdow(i,j) = xintegstupsbdow(i,j)/stoptot(i) end do brstsnel(i) = xintegstsnel(i)/stoptot(i) endif end do if(stoptot2(2).eq.0.D0.and.flagmulti.eq.1.D0) then brst2st1tt = xintegst2st1tt/stoptot(2) brst2st1startt = xintegst2st1startt/stoptot(2) brst2st1bb = xintegst2st1bb/stoptot(2) brst2st1uu = xintegst2st1uu/stoptot(2) brst2st1dd = xintegst2st1dd/stoptot(2) brst2st1ee = xintegst2st1ee/stoptot(2) brst2st1nunu = xintegst2st1nunu/stoptot(2) brst2st1tautau = xintegst2st1tautau/stoptot(2) endif if(stoptot2(1).eq.0.D0.and.flagloop.eq.1.D0) then brgamma = gamma/stoptot(1) brgammaup = gammaup/stoptot(1) brgammagluino = gammagluino/stoptot(1) endif c -- for the 4-body decays if(flagmulti.eq.1.D0.and.stoptot2(1).eq.0.D0.and. .stoptotmulti(1).eq.0.D0) then if(flagloop.eq.1.D0) then stoptot4 = sigma4bodtot+gamma+gammaup+gammagluino brgamma4bod = gamma/stoptot4 brgammaup4bod = gammaup/stoptot4 brgammagluino4bod = gammagluino/stoptot4 br4bodoffshelltau = sigma4bodtot/stoptot4 elseif(flagloop.eq.0.D0) then stoptot4 = sigma4bodtot brgamma4bod = 0.D0 brgammaup4bod = 0.D0 brgammagluino4bod = 0.D0 br4bodoffshelltau = sigma4bodtot/stoptot4 endif endif c -------------------------------------------------------------------- c c sbottom1/2 2- and 3-body decays c c -------------------------------------------------------------------- c c -- initialization -- do i=1,2,1 sbottot(i) = 0.D0 sbottot2(i) = 0.D0 sbottot2lo(i) = 0.D0 sbottot2nlo(i)= 0.D0 sbottotmulti(i) = 0.D0 sb1chart(i) = 0.D0 sb1hcst(i) = 0.D0 sb1wst(i) = 0.D0 sb2chart(i) = 0.D0 sb2hcst(i) = 0.D0 sb2wst(i) = 0.D0 qcdsb1chart(i) = 0.D0 qcdsb1hcst(i) = 0.D0 qcdsb1wst(i) = 0.D0 qcdsb2chart(i) = 0.D0 qcdsb2hcst(i) = 0.D0 qcdsb2wst(i) = 0.D0 xintegsbsnel(i) = 0.D0 do j=1,2,1 xintegsbstau(i,j) = 0.D0 xintegsbsntau(i,j) = 0.D0 xintegsbsel(i,j) = 0.D0 xintegsbtstsb(i,j) = 0.D0 xintegsbtbstb(i,j) = 0.D0 xintegsbtaustnu(i,j) = 0.D0 xintegsbelstnu(i,j) = 0.D0 xintegsbupstdow(i,j) = 0.D0 end do end do do j=1,4,1 sb1neutt(j) = 0.D0 sb2neutt(j) = 0.D0 qcdsb1neut(j) = 0.D0 qcdsb2neut(j) = 0.D0 end do sb1glui = 0.D0 sb2glui = 0.D0 sb2hl = 0.D0 sb2hh = 0.D0 sb2ha = 0.D0 sb2zbot = 0.D0 qcdsb1glui = 0.D0 qcdsb2glui = 0.D0 qcdsb2hl = 0.D0 qcdsb2hh = 0.D0 qcdsb2ha = 0.D0 qcdsb2zbot = 0.D0 xintegsb2sb1bb = 0.D0 xintegsb2sb1tt = 0.D0 xintegsb2sb1uu = 0.D0 xintegsb2sb1dd = 0.D0 xintegsb2sb1ee = 0.D0 xintegsb2sb1nunu = 0.D0 xintegsb2sb1tautau = 0.D0 xintegsb2sb1starbb = 0.D0 c -- the 2-body decays and 2-body total widths -- call SD_sb2bod(sb1neutt,sb2neutt,sb1chart,sb2chart,sb1glui, . sb2glui,sb1hcst,sb2hl,sb2hh,sb2ha,sb2hcst,sb1wst, . sb2wst,sb2zbot,qcdsb1neut,qcdsb2neut,qcdsb1chart, . qcdsb2chart,qcdsb1glui,qcdsb2glui,qcdsb1hcst, . qcdsb2hcst,qcdsb2hl,qcdsb2hh,qcdsb2ha,qcdsb2zbot, . qcdsb1wst,qcdsb2wst) sbottot2lo(1)=sb1neutt(1)+sb1neutt(2)+sb1neutt(3)+sb1neutt(4)+ . sb1chart(1)+sb1chart(2)+sb1glui+sb1hcst(1)+ . sb1hcst(2)+sb1wst(1)+sb1wst(2) sbottot2lo(2)=sb2neutt(1)+sb2neutt(2)+sb2neutt(3)+sb2neutt(4)+ . sb2chart(1)+sb2chart(2)+sb2glui+sb2hcst(1)+ . sb2hcst(2)+sb2wst(1)+sb2wst(2)+sb2hl+sb2hh+sb2ha+ . sb2zbot sbottot2nlo(1)=sbottot2lo(1) + qcdsb1neut(1)+qcdsb1neut(2)+ . qcdsb1neut(3) + qcdsb1neut(4)+qcdsb1chart(1)+ . qcdsb1chart(2)+ qcdsb1glui+qcdsb1hcst(1)+ . qcdsb1hcst(2)+qcdsb1wst(1)+qcdsb1wst(2) sbottot2nlo(2)=sbottot2lo(2) + qcdsb2neut(1)+qcdsb2neut(2)+ . qcdsb2neut(3)+qcdsb2neut(4)+qcdsb2chart(1)+ . qcdsb2chart(2)+qcdsb2glui+qcdsb2hcst(1)+ . qcdsb2hcst(2)+qcdsb2hl+qcdsb2hh+qcdsb2ha + . qcdsb2zbot+qcdsb2wst(1)+qcdsb2wst(2) if(flagqcd.eq.0.D0) then do i=1,2,1 sbottot2(i) = sbottot2lo(i) end do elseif(flagqcd.eq.1.D0) then do i=1,2,1 sbottot2(i) = sbottot2nlo(i) end do endif c -------------------------------------------------------------------- c c -- the 3-body decays and the 3-body total widths call SD_xintegsbottom(xintegsb2sb1bb,xintegsb2sb1tt, . xintegsb2sb1uu,xintegsb2sb1dd,xintegsb2sb1ee, . xintegsb2sb1nunu,xintegsb2sb1tautau,xintegsb2sb1starbb, . xintegsbtstsb,xintegsbtbstb,xintegsbtaustnu,xintegsbelstnu, . xintegsbupstdow,xintegsbstau,xintegsbsntau,xintegsbsel, . xintegsbsnel) do i=1,2,1 if(sbottot2(i).eq.0.D0) then sbottotmulti(i) = 0.D0 do j=1,2,1 sbottotmulti(i) = sbottotmulti(i)+xintegsbstau(i,j)+ . xintegsbsntau(i,j)+2.D0*xintegsbsel(i,j)+ . xintegsbtstsb(i,j)+xintegsbtbstb(i,j)+ . xintegsbtaustnu(i,j)+2.D0*xintegsbelstnu(i,j)+ . 2.D0*xintegsbupstdow(i,j) end do sbottotmulti(i) = sbottotmulti(i)+2.D0*xintegsbsnel(i) if(i.eq.2) then sbottotmulti(i) = sbottotmulti(i)+xintegsb2sb1bb+ . xintegsb2sb1tt+2.D0*xintegsb2sb1uu+ . 2.D0*xintegsb2sb1dd+2.D0*xintegsb2sb1ee+ . 3.D0*xintegsb2sb1nunu+xintegsb2sb1tautau+ . xintegsb2sb1starbb endif endif enddo c ------------------------ the total widths -------------------------- c do i=1,2,1 if(flagmulti.eq.0.D0) then sbottot(i) = sbottot2(i) elseif(flagmulti.eq.1.D0) then if(sbottot2(i).eq.0.D0) then sbottot(i) = sbottotmulti(i) else sbottot(i) = sbottot2(i) endif endif end do c --------------------- the sbottom branching ratios ----------------- c c -- for the 2-body decays -- if(flagqcd.eq.1.D0) then do i=1,4,1 sb1neutt(i) = sb1neutt(i)+qcdsb1neut(i) sb2neutt(i) = sb2neutt(i)+qcdsb2neut(i) end do do i=1,2,1 sb1chart(i) = sb1chart(i) + qcdsb1chart(i) sb2chart(i) = sb2chart(i) + qcdsb2chart(i) sb1hcst(i) = sb1hcst(i) + qcdsb1hcst(i) sb2hcst(i) = sb2hcst(i) + qcdsb2hcst(i) sb1wst(i) = sb1wst(i) + qcdsb1wst(i) sb2wst(i) = sb2wst(i) + qcdsb2wst(i) end do sb1glui = sb1glui + qcdsb1glui sb2glui = sb2glui + qcdsb2glui sb2hl = sb2hl + qcdsb2hl sb2hh = sb2hh + qcdsb2hh sb2ha = sb2ha + qcdsb2ha sb2zbot = sb2zbot + qcdsb2zbot endif do i=1,4,1 brsb1neutt(i)=sb1neutt(i)/sbottot2(1) brsb2neutt(i)=sb2neutt(i)/sbottot2(2) end do do i=1,2,1 brsb1chart(i) = sb1chart(i)/sbottot2(1) brsb2chart(i) = sb2chart(i)/sbottot2(2) brsb1hcst(i) = sb1hcst(i)/sbottot2(1) brsb2hcst(i) = sb2hcst(i)/sbottot2(2) brsb1wst(i) = sb1wst(i)/sbottot2(1) brsb2wst(i) = sb2wst(i)/sbottot2(2) end do brsb1glui = sb1glui/sbottot2(1) brsb2glui = sb2glui/sbottot2(2) brsb2hl = sb2hl/sbottot2(2) brsb2hh = sb2hh/sbottot2(2) brsb2ha = sb2ha/sbottot2(2) brsb2zbot = sb2zbot/sbottot2(2) c -- for the 3-body decays -- do i=1,2,1 if(sbottot2(i).eq.0.D0.and.flagmulti.eq.1.D0) then do j=1,2,1 brsbstau(i,j) = xintegsbstau(i,j)/sbottot(i) brsbsntau(i,j) = xintegsbsntau(i,j)/sbottot(i) brsbsel(i,j) = xintegsbsel(i,j)/sbottot(i) brsbtstsb(i,j) = xintegsbtstsb(i,j)/sbottot(i) brsbtbstb(i,j) = xintegsbtbstb(i,j)/sbottot(i) brsbtaustnu(i,j) = xintegsbtaustnu(i,j)/sbottot(i) brsbelstnu(i,j) = xintegsbelstnu(i,j)/sbottot(i) brsbupstdow(i,j) = xintegsbupstdow(i,j)/sbottot(i) end do brsbsnel(i) = xintegsbsnel(i)/sbottot(i) endif end do if(sbottot2(2).eq.0.D0.and.flagmulti.eq.1.D0) then brsb2sb1bb = xintegsb2sb1bb/sbottot(2) brsb2sb1starbb = xintegsb2sb1starbb/sbottot(2) brsb2sb1tt = xintegsb2sb1tt/sbottot(2) brsb2sb1uu = xintegsb2sb1uu/sbottot(2) brsb2sb1dd = xintegsb2sb1dd/sbottot(2) brsb2sb1ee = xintegsb2sb1ee/sbottot(2) brsb2sb1nunu = xintegsb2sb1nunu/sbottot(2) brsb2sb1tautau = xintegsb2sb1tautau/sbottot(2) endif c -------------------------------------------------------------------- c c selectron 2-body decays c c -------------------------------------------------------------------- c c -- initialization -- selltot2 = 0.D0 selrtot2 = 0.D0 do i =1,2,1 sellcharnue(i) = 0.D0 selrcharnue(i) = 0.D0 end do do j=1,4,1 sellneute(j) = 0.D0 selrneute(j) = 0.D0 end do c -------------------------------------------------------------------- c call SD_sel2bod(sellneute,sellcharnue,selrneute,selrcharnue) selltot2=sellneute(1)+sellneute(2)+sellneute(3)+sellneute(4)+ . sellcharnue(1)+sellcharnue(2) selrtot2=selrneute(1)+selrneute(2)+selrneute(3)+selrneute(4)+ . selrcharnue(1)+selrcharnue(2) do i=1,4,1 brsellneute(i) = sellneute(i)/selltot2 brselrneute(i) = selrneute(i)/selrtot2 end do do i=1,2,1 brsellcharnue(i) = sellcharnue(i)/selltot2 brselrcharnue(i) = selrcharnue(i)/selrtot2 end do c -------------------------------------------------------------------- c c sneutrino_electron 2-body decays c c -------------------------------------------------------------------- c c -- initialization -- sneltot2 = 0.D0 snellchar(1) = 0.D0 snellchar(2) = 0.D0 do j=1,4,1 snellneut(j) = 0.D0 end do c -------------------------------------------------------------------- c call SD_snel2bod(snellneut,snellchar) sneltot2=snellneut(1)+snellneut(2)+snellneut(3)+ . snellneut(4)+snellchar(1)+snellchar(2) do i=1,4,1 brsnellneut(i) = snellneut(i)/sneltot2 end do do i=1,2,1 brsnellchar(i) = snellchar(i)/sneltot2 end do c -------------------------------------------------------------------- c c stau1/2 2-body decays c c -------------------------------------------------------------------- c c -- initialization -- stau1tot2 = 0.D0 stau2tot2 = 0.D0 do j=1,4,1 stau1neut(j) = 0.D0 stau2neut(j) = 0.D0 end do do i=1,2,1 stau1char(i) = 0.D0 stau1hcsn(i) = 0.D0 stau1wsn(i) = 0.D0 stau2char(i) = 0.D0 stau2hcsn(i) = 0.D0 stau2wsn(i) = 0.D0 end do stau2hl = 0.D0 stau2hh = 0.D0 stau2ha = 0.D0 stau2ztau = 0.D0 c -------------------------------------------------------------------- c call SD_stau2bod(stau1neut,stau1char,stau2neut,stau2char, . stau1hcsn,stau2hcsn,stau2hl,stau2hh,stau2ha, . stau2ztau,stau1wsn,stau2wsn) stau1tot2=stau1neut(1)+stau1neut(2)+stau1neut(3)+stau1neut(4)+ . stau1char(1)+stau1char(2)+stau1hcsn(1)+stau1hcsn(2)+ . stau1wsn(1)+stau1wsn(2) if(flagnlspgmsb.eq.1.D0) then stau1tot2 = stau1tot2+stautaugravitino endif stau2tot2=stau2neut(1)+stau2neut(2)+stau2neut(3)+stau2neut(4)+ . stau2char(1)+stau2char(2)+stau2hcsn(1)+stau2hcsn(2)+ . stau2wsn(1)+stau2wsn(2)+stau2hl+stau2hh+stau2ha+ . stau2ztau do i=1,4,1 brstau1neut(i)=stau1neut(i)/stau1tot2 brstau2neut(i)=stau2neut(i)/stau2tot2 end do do i=1,2,1 brstau1char(i)=stau1char(i)/stau1tot2 brstau1hcsn(i)=stau1hcsn(i)/stau1tot2 brstau1wsn(i) =stau1wsn(i)/stau1tot2 brstau2char(i)=stau2char(i)/stau2tot2 brstau2hcsn(i)=stau2hcsn(i)/stau2tot2 brstau2wsn(i) =stau2wsn(i)/stau2tot2 end do brstau2hl = stau2hl/stau2tot2 brstau2hh = stau2hh/stau2tot2 brstau2ha = stau2ha/stau2tot2 brstau2ztau = stau2ztau/stau2tot2 if(flagnlspgmsb.eq.1.D0) then brstautaugrav = stautaugravitino/stau1tot2 endif c -------------------------------------------------------------------- c c sneutrino_tau 2-body decays c c -------------------------------------------------------------------- c c -- initialization -- sntautot2 = 0.D0 do i=1,2,1 sntauchar(i) = 0.D0 sntau1hcstau(i) = 0.D0 sntau1wstau(i) = 0.D0 end do do j=1,4,1 sntauneut(j) = 0.D0 end do c -------------------------------------------------------------------- c call SD_sntau2bod(sntauneut,sntauchar,sntau1hcstau,sntau1wstau) sntautot2=sntauneut(1)+sntauneut(2)+sntauneut(3)+ . sntauneut(4)+sntauchar(1)+sntauchar(2)+ . sntau1hcstau(1)+sntau1hcstau(2)+ . sntau1wstau(1)+sntau1wstau(2) do i=1,4,1 brsntauneut(i) = sntauneut(i)/sntautot2 end do do i=1,2,1 brsntauchar(i) = sntauchar(i)/sntautot2 brsntau1wstau(i) = sntau1wstau(i)/sntautot2 brsntau1hcstau(i) = sntau1hcstau(i)/sntautot2 end do c -------------------------------------------------------------------- c c top 2-body decays c c -------------------------------------------------------------------- c c -- initialization -- toptot2 = 0.D0 topbw = 0.D0 topbh = 0.D0 do i=1,4,1 do j=1,2,1 topneutrstop(i,j) = 0.D0 end do end do c -------------------------------------------------------------------- c if(flagsusytop.eq.1.D0) then call SD_top2bod(topbw,topbh,topneutrstop) toptot2 = topbw+topbh do i=1,4,1 do j=1,2,1 toptot2 = toptot2 + topneutrstop(i,j) end do end do brtopbw = topbw/toptot2 brtopbh = topbh/toptot2 do i=1,4,1 do j=1,2,1 brtopneutrstop(i,j) = topneutrstop(i,j)/toptot2 end do end do endif c ==================================================================== c c The output file c c ==================================================================== c c -------------------------------------------------------------------- c if(flagoutput.eq.1.D0) then c ------------------ output a la Les Houches accord ------------------ c unlikely = -123456789D0 id =1 idb=-1 iu =2 iub=-2 is =3 isb=-3 ic =4 icb=-4 ib =5 ibb=-5 it =6 itb=-6 ie =11 ine =12 imu =13 inmu =14 itau =15 intau=16 ihl=25 ihh=35 iha=36 ihc=37 igl=21 iga=22 iz =23 iwc=24 isdl=1000001 isdr=2000001 isul=1000002 isur=2000002 issl=1000003 issr=2000003 iscl=1000004 iscr=2000004 isb1=1000005 isb2=2000005 ist1=1000006 ist2=2000006 iglo=1000021 in1 =1000022 in2 =1000023 in3 =1000025 in4 =1000035 ic1 =1000024 ic2 =1000037 intau1=1000016 intau2=2000016 inel =1000012 iner =2000012 inmul =1000014 inmur =2000014 isell =1000011 iselr =2000011 ismul =1000013 ismur =2000013 istau1=1000015 istau2=2000015 igrav =1000039 c maggie comment: This is not a PDG code: if1 = 3000001 if2 = 4000001 write(nout,105) write(nout,50) " ==================== .=" write(nout,50) " | THE SDECAY OUTPUT .|" write(nout,50) " ==================== .=" write(nout,105) write(nout,105) write(nout,50)' -------------------------------------- .---------------' write(nout,50)' | SUSY Les Houches Accord - MSSM Spec .trum + Decays |' write(nout,50)' | . |' write(nout,50)' | SDECAY 1.3 . |' write(nout,50)' | . |' write(nout,50)' | Authors: M.Muhlleitner, A.Djouadi a .nd Y.Mambrini |' write(nout,50)' | Ref.: Comput.Phys.Commun.168(200 .5)46 |' write(nout,50)' | [hep-ph/0311167] . |' write(nout,50)' | . |' write(nout,50)' | In case of problems please send an .email to |' write(nout,50)' | muehlleitner@lapp.in2p3.fr . |' write(nout,50)' | djouadi@mail.cern.ch . |' write(nout,50)' | yann.mambrini@th.u-psud.fr . |' write(nout,50)' | . |' write(nout,50)' | If not stated otherwise all DRbar c .ouplings and |' write(nout,49)' | soft SUSY breaking masses are given . at the scale |' write(nout,49)' | Q=',scaleofewsb write(nout,50)' | . |' write(nout,50)' -------------------------------------- .---------------' write(nout,105) if(check(2).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block SMINPUTS has not been given.' write(nout,50)'At least mb(mb)_MSbar is needed in SDECAY .however.' endif if(check(3).ne.1.and.check(4).ne.1) then write(nout,105) write(nout,50)'WARNING: Neither Block EXTPAR nor Block MINPAR h .as been given.' write(nout,50)'For SDECAY necessary parameters might miss.' endif if(check(4).ne.1.and.check(15).ne.1) then write(nout,105) write(nout,50)'WARNING: The soft SUSY breaking masses have not .been given.' endif if(check(4).ne.1.and.check(16).ne.1) then write(nout,105) write(nout,50)'WARNING: AU has not been given. It is needed in .SDECAY however.' endif if(check(4).ne.1.and.check(17).ne.1) then write(nout,105) write(nout,50)'WARNING: AD has not been given. It is needed in .SDECAY however.' endif if(check(4).ne.1.and.check(18).ne.1) then write(nout,105) write(nout,50)'WARNING: AE has not been given. It is needed in .SDECAY however.' endif if(check(5).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block MASS has not been given. It i .s needed in SDECAY however.' endif if(check(6).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block NMIX has not been given. It i .s needed in SDECAY however.' endif if(check(7).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block UMIX has not been given. It i .s needed in SDECAY however.' endif if(check(8).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block VMIX has not been given. It i .s needed in SDECAY however.' endif if(check(9).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block STOPMIX has not been given. I .t is needed in SDECAY however.' endif if(check(10).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block SBOTMIX has not been given. I .t is needed in SDECAY however.' endif if(check(11).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block STAUMIX has not been given. I .t is needed in SDECAY however.' endif if(check(12).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block ALPHA has not been given. It .is needed in SDECAY however.' endif if(check(13).ne.1) then write(nout,105) write(nout,50)'WARHNING: The Block HMIX has not been given.' write(nout,50)'It is needed for a consistent calculation howeve .r' endif if(check(14).ne.1) then write(nout,105) write(nout,50)'WARHNING: The Block GAUGE has not been given.' write(nout,50)'It is needed for a consistent calculation howeve .r' endif if(check(19).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block YU has not been given. It is .needed in SDECAY however.' endif if(check(20).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block YD has not been given. It is .needed in SDECAY however.' endif if(check(21).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block YE has not been given. It is .needed in SDECAY however.' endif if(hmixval(3).eq.unlikely) then write(nout,105) write(nout,50)'WARNING: The DRbar value for the VEV at the scal .e Q has not been given.' write(nout,50)'Instead v=246 GeV has been chosen.' write(nout,50)'However, the QCD corrections to the decays canno .t be calculated consistently' write(nout,50)'in this case.' endif if(warning(1).eq.1.D0) then write(nout,105) write(nout,50)'WARNING: No scale Q has been given.' endif if(warning(2).eq.1.D0) then write(nout,105) write(nout,50)'WARNING: For the gauge couplings g1 and g2 the .DRbar values at the scale Q are not given.' write(nout,50)'They are calculated instead from alpha_ew_MSbar .at M_Z.' write(nout,50)'The decay widths and the QCD corrections cannot .be calculated consistently.' endif if(warning(3).eq.1.D0) then write(nout,105) write(nout,50)'WARNING: No DRbar value for tanbeta has been giv .en at the scale Q.' write(nout,50)'tanbeta at the scale M_input is taken instead.' endif if(warning(4).eq.1.D0) then write(nout,105) write(nout,50)'WARNING: No DRbar value for tanbeta has been giv .en at the scale Q.' write(nout,50)'tanbeta at the scale M_Z is taken instead.' endif if(warning(5).eq.1.D0) then write(nout,105) write(nout,50)'WARNING: No value for tanbeta has been given.' write(nout,50)'It is needed in SDECAY however.' endif c ----------------------------------- c c Information about the decay program c c ----------------------------------- c write(nout,105) write(nout,51) 'DCINFO','Decay Program information' write(nout,61) 1,'SDECAY # decay calculator' write(nout,61) 2,'1.3 # version number' c ----------------------------------------------------------------- c c The program information: Which spectrum calculator has been used. c c ----------------------------------------------------------------- c write(nout,105) write(nout,51) 'SPINFO','Spectrum calculator information' write(nout,61) 1,spinfo1(1:50) write(nout,61) 2,spinfo2(1:50) c ------------------------------------------------ c c Information on the model which has been selected c c ------------------------------------------------ c write(nout,105) write(nout,51) 'MODSEL','Model selection' write(nout,62) imod(1),imod(2),modselval(1:50) c ----------------------- c c The SM input parameters c c ----------------------- c if(check(2).eq.1) then write(nout,105) write(nout,51) 'SMINPUTS','Standard Model inputs' write(nout,52) 1,1.D0/salpha_MS,'alpha_em^-1(M_Z)^MSbar' write(nout,52) 2,sdgf,'G_F [GeV^-2]' write(nout,52) 3,alphasmzms,'alpha_S(M_Z)^MSbar' write(nout,52) 4,amzp,'M_Z pole mass' if(smval(5).ne.0.D0) then write(nout,52) 5,mbmsbar,'mb(mb)^MSbar' endif write(nout,52) 6,samt,'mt pole mass' write(nout,52) 7,samtau,'mtau pole mass' endif c ------------------------------------------------ c c Input parameters for minimal/default SUSY models c c ------------------------------------------------ c if(check(3).eq.1) then write(nout,105) write(nout,51) 'MINPAR','Input parameters - minimal models' unlikely = -123456789D0 do ii=1,20,1 if(minval(ii).ne.unlikely) then write(nout,52) ii,minval(ii),mincom(ii) endif end do endif c ------------------------------------------------------------------- c c Optional input parameters for non-minimal/non-universal SUSY models c c ------------------------------------------------------------------- c if(check(4).eq.1) then write(nout,105) write(nout,51) 'EXTPAR','Input parameters - non-minimal models' unlikely = -123456789D0 do ii=1,100,1 if(extval(ii-1).ne.unlikely) then write(nout,52) ii-1,extval(ii-1),extcom(ii-1) endif end do endif c ----------------- c c The mass spectrum c c ----------------- c if(check(5).eq.1) then write(nout,105) write(nout,51) 'MASS','Mass Spectrum' write(nout,50) 'PDG code mass particle' write(nout,52) iwc,amwp,'W+' write(nout,52) ihl,aml,'h' write(nout,52) ihh,amh,'H' write(nout,52) iha,ama,'A' write(nout,52) ihc,amch,'H+' write(nout,52) ib,samb,'b-quark pole mass calculated from mb(mb)_M .sbar' write(nout,52) isdl,asdown1,'~d_L' write(nout,52) isdr,asdown2,'~d_R' write(nout,52) isul,asup1,'~u_L' write(nout,52) isur,asup2,'~u_R' write(nout,52) issl,asdown1,'~s_L' write(nout,52) issr,asdown2,'~s_R' write(nout,52) iscl,asup1,'~c_L' write(nout,52) iscr,asup2,'~c_R' write(nout,52) isb1,asb1,'~b_1' write(nout,52) isb2,asb2,'~b_2' write(nout,52) ist1,ast1,'~t_1' write(nout,52) ist2,ast2,'~t_2' write(nout,52) isell,ase1,'~e_L' write(nout,52) iselr,ase2,'~e_R' write(nout,52) inel,asne1,'~nu_eL' write(nout,52) ismul,ase1,'~mu_L' write(nout,52) ismur,ase2,'~mu_R' write(nout,52) inmul,asne1,'~nu_muL' write(nout,52) istau1,astau1,'~tau_1' write(nout,52) istau2,astau2,'~tau_2' write(nout,52) intau1,asntau1,'~nu_tauL' write(nout,52) iglo,mgluino,'~g' write(nout,52) in1,xmneut(1),'~chi_10' write(nout,52) in2,xmneut(2),'~chi_20' write(nout,52) in3,xmneut(3),'~chi_30' write(nout,52) in4,xmneut(4),'~chi_40' write(nout,52) ic1,amchar(1),'~chi_1+' write(nout,52) ic2,amchar(2),'~chi_2+' if(mgravitino.ne.unlikely) then write(nout,52) igrav,mgravitino,'~gravitino' endif endif c ------------------------------------------------------------------- c c The neutralino mixing matrix N and the chargino mixing matrices U,V c c ------------------------------------------------------------------- c if(check(6).eq.1) then write(nout,105) write(nout,51) 'NMIX','Neutralino Mixing Matrix' write(nout,53) 1,1,zz(1,1),'N_11' write(nout,53) 1,2,zz(1,2),'N_12' write(nout,53) 1,3,zz(1,3),'N_13' write(nout,53) 1,4,zz(1,4),'N_14' write(nout,53) 2,1,zz(2,1),'N_21' write(nout,53) 2,2,zz(2,2),'N_22' write(nout,53) 2,3,zz(2,3),'N_23' write(nout,53) 2,4,zz(2,4),'N_24' write(nout,53) 3,1,zz(3,1),'N_31' write(nout,53) 3,2,zz(3,2),'N_32' write(nout,53) 3,3,zz(3,3),'N_33' write(nout,53) 3,4,zz(3,4),'N_34' write(nout,53) 4,1,zz(4,1),'N_41' write(nout,53) 4,2,zz(4,2),'N_42' write(nout,53) 4,3,zz(4,3),'N_43' write(nout,53) 4,4,zz(4,4),'N_44' endif if(check(7).eq.1) then write(nout,105) write(nout,51) 'UMIX','Chargino Mixing Matrix U' write(nout,53) 1,1,uu(1,1),'U_11' write(nout,53) 1,2,uu(1,2),'U_12' write(nout,53) 2,1,uu(2,1),'U_21' write(nout,53) 2,2,uu(2,2),'U_22' endif if(check(8).eq.1) then write(nout,105) write(nout,51) 'VMIX','Chargino Mixing Matrix V' write(nout,53) 1,1,vv(1,1),'V_11' write(nout,53) 1,2,vv(1,2),'V_12' write(nout,53) 2,1,vv(2,1),'V_21' write(nout,53) 2,2,vv(2,2),'V_22' endif c ------------------------------------------ c c The stop, sbottom and stau mixing matrices c c ------------------------------------------ c if(check(9).eq.1) then write(nout,105) write(nout,51) 'STOPMIX','Stop Mixing Matrix' write(nout,53) 1,1,dcos(sdthet),'cos(theta_t)' write(nout,53) 1,2,dsin(sdthet),'sin(theta_t)' write(nout,53) 2,1,-dsin(sdthet),'-sin(theta_t)' write(nout,53) 2,2,dcos(sdthet),'cos(theta_t)' endif if(check(10).eq.1) then write(nout,105) write(nout,51) 'SBOTMIX','Sbottom Mixing Matrix' write(nout,53) 1,1,dcos(sdtheb),'cos(theta_b)' write(nout,53) 1,2,dsin(sdtheb),'sin(theta_b)' write(nout,53) 2,1,-dsin(sdtheb),'-sin(theta_b)' write(nout,53) 2,2,dcos(sdtheb),'cos(theta_b)' endif if(check(11).eq.1) then write(nout,105) write(nout,51) 'STAUMIX','Stau Mixing Matrix' write(nout,53) 1,1,dcos(sdthel),'cos(theta_tau)' write(nout,53) 1,2,dsin(sdthel),'sin(theta_tau)' write(nout,53) 2,1,-dsin(sdthel),'-sin(theta_tau)' write(nout,53) 2,2,dcos(sdthel),'cos(theta_tau)' endif c ------------------------------------------------------------------- c c The angle alpha in the Higgs sector and the Higgs mixing parameters c c ------------------------------------------------------------------- c if(check(12).eq.1) then write(nout,105) write(nout,51) 'ALPHA','Higgs mixing' write(nout,60) alp_mssm,'Mixing angle in the neutral Higgs boson s .ector' endif if(check(13).eq.1) then write(nout,105) write(nout,54) 'HMIX Q=',scaleofewsb,'DRbar Higgs Parameters' unlikely = -123456789D0 do i=1,10,1 if(hmixval(i).ne.unlikely) then write(nout,52) i,hmixval(i),hmixcom(i) endif end do endif c ------------------- c c The gauge couplings c c ------------------- c write(nout,105) write(nout,54) 'GAUGE Q=',scaleofewsb,'The gauge couplings' if(gaugeval(1).ne.0.D0) then write(nout,55) 1,g1ew,'gprime(Q) DRbar' endif if(gaugeval(2).ne.0.D0) then write(nout,55) 2,g2ew,'g(Q) DRbar' endif if(scalechoice.eq.1.D0) then write(nout,55) 3,dsqrt(4.D0*pi*alsew),'g3(Q) DRbar' elseif(scalechoice.eq.2.D0) then if(idrbar.eq.1) then write(nout,56) 3,'g3(Q) DRbar depends on the scale Q = mass .of the decaying particle' elseif(idrbar.eq.0) then write(nout,56) 3,'g3(Q) MSbar depends on the scale Q = mass .of the decaying particle' endif elseif(scalechoice.eq.3.D0) then tmpals = SD_alphascall(scaleofcoupling,inumloop) if(idrbar.eq.1) then write(nout,57) 3,dsqrt(4.D0*pi*tmpals), . 'g3(Q) DRbar, Q=',scaleofcoupling elseif(idrbar.eq.0) then write(nout,57) 3,dsqrt(4.D0*pi*tmpals), . 'g3(Q) MSbar, Q=',scaleofcoupling endif endif c ------------------------------------- c c The trilinear couplings Au, Ad and Ae c c ------------------------------------- c if(check(16).eq.1) then write(nout,105) write(nout,54) 'AU Q=',scaleofewsb,'The trilinear couplings' write(nout,53) 1,1,auval(1,1),'A_u(Q) DRbar' write(nout,53) 2,2,auval(2,2),'A_c(Q) DRbar' write(nout,53) 3,3,auval(3,3),'A_t(Q) DRbar' endif if(check(17).eq.1) then write(nout,105) write(nout,54) 'AD Q=',scaleofewsb,'The trilinear couplings' write(nout,53) 1,1,adval(1,1),'A_d(Q) DRbar' write(nout,53) 2,2,adval(2,2),'A_s(Q) DRbar' write(nout,53) 3,3,adval(3,3),'A_b(Q) DRbar' endif if(check(18).eq.1) then write(nout,105) write(nout,54) 'AE Q=',scaleofewsb,'The trilinear couplings' write(nout,53) 1,1,aeval(1,1),'A_e(Q) DRbar' write(nout,53) 2,2,aeval(2,2),'A_mu(Q) DRbar' write(nout,53) 3,3,aeval(3,3),'A_tau(Q) DRbar' endif c ---------------------------------- c c The Yukawa couplings Yu, Yd and Ye c c ---------------------------------- c if(check(19).eq.1) then write(nout,105) write(nout,54) 'Yu Q=',scaleofewsb,'The Yukawa couplings' if(scalechoice.eq.1.D0) then write(nout,53) 1,1,yuval(1,1),'y_u(Q) DRbar' write(nout,53) 2,2,yuval(2,2),'y_c(Q) DRbar' write(nout,53) 3,3,yt,'y_t(Q) DRbar' elseif(scalechoice.eq.2.D0) then if(idrbar.eq.1) then write(nout,58) 3,3,'y_t DRbar depends on the scale Q = mass .of the decaying particle' elseif(idrbar.eq.0) then write(nout,58) 3,3,'y_t MSbar depends on the scale Q = mass .of the decaying particle' endif elseif(scalechoice.eq.3.D0) then call SD_runmass(scaleofcoupling,0.D0,0.D0,runmb,runmt) if(idrbar.eq.1) then write(nout,59) 3,3,SD_yuk(1,runmt),'y_t(Q) DRbar/g^2, Q=', . scaleofcoupling elseif(idrbar.eq.0) then write(nout,59) 3,3,SD_yuk(1,runmt),'y_t(Q) MSbar/g^2, Q=', . scaleofcoupling endif endif endif if(check(20).eq.1) then write(nout,105) write(nout,54) 'Yd Q=',scaleofewsb,'The Yukawa couplings' if(scalechoice.eq.1.D0) then write(nout,53) 1,1,ydval(1,1),'y_d(Q) DRbar' write(nout,53) 2,2,ydval(2,2),'y_s(Q) DRbar' write(nout,53) 3,3,yb,'y_b(Q) DRbar' elseif(scalechoice.eq.2.D0) then if(idrbar.eq.1) then write(nout,58) 3,3,'y_b DRbar depends on the scale Q = mass .of the decaying particle' elseif(idrbar.eq.0) then write(nout,58) 3,3,'y_b MSbar depends on the scale Q = mass .of the decaying particle' endif elseif(scalechoice.eq.3.D0) then call SD_runmass(scaleofcoupling,0.D0,0.D0,runmb,runmt) if(idrbar.eq.1) then write(nout,59) 3,3,SD_yuk(2,runmb),'y_b(Q) DRbar/g^2, Q=', . scaleofcoupling elseif(idrbar.eq.0) then write(nout,59) 3,3,SD_yuk(2,runmb),'y_b(Q) MSbar/g^2, Q=', . scaleofcoupling endif endif endif if(check(21).eq.1) then write(nout,105) write(nout,54) 'Ye Q=',scaleofewsb,'The Yukawa couplings' if(scalechoice.eq.1.D0) then write(nout,53) 1,1,yeval(1,1),'y_e(Q) DRbar' write(nout,53) 2,2,yeval(2,2),'y_mu(Q) DRbar' write(nout,53) 3,3,ytau,'y_tau(Q) DRbar' elseif(scalechoice.eq.2.D0) then write(nout,53) 3,3,ytau,'y_tau(Q) DRbar' elseif(scalechoice.eq.3.D0) then write(nout,53) 3,3,ytau,'y_tau(Q) DRbar' endif endif c ----------------------------- c c The soft SUSY breaking masses c c ----------------------------- c if(check(15).eq.1) then write(nout,105) write(nout,54) 'MSOFT Q=',scaleofewsb,'The soft SUSY breaking m .asses at the scale Q' unlikely = -123456789D0 do ii=1,99,1 if(m_softval(ii).ne.unlikely) then if(ii.ne.11.and.ii.ne.12.and.ii.ne.13.and.ii.ne.23.and. . ii.ne.24.and.ii.ne.25.and.ii.ne.26) then write(nout,52) ii,m_softval(ii),m_softcom(ii) endif endif end do endif c --------------- c c The decay table c c --------------- c write(nout,105) write(nout,105) write(nout,105) write(nout,50) ' =================' write(nout,50) ' |The decay table|' write(nout,50) ' =================' if(flagqcd.eq.1.D0) then write(nout,105) write(nout,50) '- The QCD corrections to the decays gluino -> sq .uark + quark' write(nout,50) ' squark -> ga .ugino + quark_prime' write(nout,50) ' squark -> sq .uark_prime + Higgs' write(nout,50) ' squark -> gl .uino + quark' write(nout,50) ' are included.' endif if(flagmulti.eq.1.D0) then write(nout,105) write(nout,50) '- The multi-body decays for the inos, stops and . sbottoms are included.' endif if(flagloop.eq.1.D0) then write(nout,105) write(nout,50) '- The loop induced decays for the gluino, neutr .alinos and stops' write(nout,50) ' are included.' endif if(flagsusytop.eq.1.D0) then write(nout,105) write(nout,50) '- The SUSY decays of the top quark are included ..' endif if(flagnlspgmsb.eq.1.D0) then write(nout,105) write(nout,50) '- Possible decays of the NLSP in GMSB models ar .e included.' endif write(nout,105) write(nout,105) c ---------- c c Top decays c c ---------- c if(flagsusytop.eq.1.D0) then if(toptot2.ne.0.D0) then write(nout,99) write(nout,100) it,toptot2,'top decays' write(nout,101) if(brtopbw.ne.0.D0) then write(nout,102) brtopbw,2,ib,iwc, 'BR(t -> b W+)' endif if(brtopbh.ne.0.D0) then write(nout,102) brtopbh,2,ib,ihc, 'BR(t -> b H+)' endif if(brtopneutrstop(1,1).ne.0.D0) then write(nout,102) brtopneutrstop(1,1),2,ist1,in1,'BR(t -> ~t_1 ~chi_ .10)' endif if(brtopneutrstop(2,1).ne.0.D0) then write(nout,102) brtopneutrstop(2,1),2,ist1,in2,'BR(t -> ~t_1 ~chi_ .20)' endif if(brtopneutrstop(3,1).ne.0.D0) then write(nout,102) brtopneutrstop(3,1),2,ist1,in3,'BR(t -> ~t_1 ~chi_ .30)' endif if(brtopneutrstop(4,1).ne.0.D0) then write(nout,102) brtopneutrstop(4,1),2,ist1,in4,'BR(t -> ~t_1 ~chi_ .40)' endif if(brtopneutrstop(1,2).ne.0.D0) then write(nout,102) brtopneutrstop(1,2),2,ist2,in1,'BR(t -> ~t_2 ~chi_ .10)' endif if(brtopneutrstop(2,2).ne.0.D0) then write(nout,102) brtopneutrstop(2,2),2,ist2,in2,'BR(t -> ~t_2 ~chi_ .20)' endif if(brtopneutrstop(3,2).ne.0.D0) then write(nout,102) brtopneutrstop(3,2),2,ist2,in3,'BR(t -> ~t_2 ~chi_ .30)' endif if(brtopneutrstop(4,2).ne.0.D0) then write(nout,102) brtopneutrstop(4,2),2,ist2,in4,'BR(t -> ~t_2 ~chi_ .40)' endif else write(nout,99) write(nout,100) it,0.000000000E+00,'top decays' endif endif c ------------- c c Gluino decays c c ------------- c flagmultiloop = flagmulti+flagloop if(gluitot2.eq.0.D0) then flaggluitot2 = 10.D0 elseif(gluitot2.ne.0.D0) then flaggluitot2 = 40.D0 endif flagcondglui = flaggluitot2+flagmultiloop write(nout,105) if(flagcondglui.eq.10.D0) then write(nout,99) write(nout,100) iglo,0.000000000E+00,'gluino decays' elseif(flagcondglui.eq.40.D0.or.flagcondglui.eq.41.D0.or. .flagcondglui.eq.42) then write(nout,99) write(nout,100) iglo,gluitot2,'gluino decays' write(nout,101) if(brgsdownl.ne.0.D0) then write(nout,102) brgsdownl,2,isdl,idb,'BR(~g -> ~d_L db)' write(nout,102) brgsdownl,2,-isdl,id,'BR(~g -> ~d_L* d )' endif if(brgsdownr.ne.0.D0) then write(nout,102) brgsdownr,2,isdr,idb,'BR(~g -> ~d_R db)' write(nout,102) brgsdownr,2,-isdr,id,'BR(~g -> ~d_R* d )' endif if(brgsupl.ne.0.D0) then write(nout,102) brgsupl,2,isul,iub ,'BR(~g -> ~u_L ub)' write(nout,102) brgsupl,2,-isul,iu ,'BR(~g -> ~u_L* u )' endif if(brgsupr.ne.0.D0) then write(nout,102) brgsupr,2,isur,iub ,'BR(~g -> ~u_R ub)' write(nout,102) brgsupr,2,-isur,iu ,'BR(~g -> ~u_R* u )' endif if(brgsdownl.ne.0.D0) then write(nout,102) brgsdownl,2,issl,isb,'BR(~g -> ~s_L sb)' write(nout,102) brgsdownl,2,-issl,is,'BR(~g -> ~s_L* s )' endif if(brgsdownr.ne.0.D0) then write(nout,102) brgsdownr,2,issr,isb,'BR(~g -> ~s_R sb)' write(nout,102) brgsdownr,2,-issr,is,'BR(~g -> ~s_R* s )' endif if(brgsupl.ne.0.D0) then write(nout,102) brgsupl,2,iscl,icb ,'BR(~g -> ~c_L cb)' write(nout,102) brgsupl,2,-iscl,ic ,'BR(~g -> ~c_L* c )' endif if(brgsupr.ne.0.D0) then write(nout,102) brgsupr,2,iscr,icb ,'BR(~g -> ~c_R cb)' write(nout,102) brgsupr,2,-iscr,ic ,'BR(~g -> ~c_R* c )' endif if(brgsb1.ne.0.D0) then write(nout,102) brgsb1,2,isb1,ibb ,'BR(~g -> ~b_1 bb)' write(nout,102) brgsb1,2,-isb1,ib ,'BR(~g -> ~b_1* b )' endif if(brgsb2.ne.0.D0) then write(nout,102) brgsb2,2,isb2,ibb ,'BR(~g -> ~b_2 bb)' write(nout,102) brgsb2,2,-isb2,ib ,'BR(~g -> ~b_2* b )' endif if(brgst1.ne.0.D0) then write(nout,102) brgst1,2,ist1,itb ,'BR(~g -> ~t_1 tb)' write(nout,102) brgst1,2,-ist1,it ,'BR(~g -> ~t_1* t )' endif if(brgst2.ne.0.D0) then write(nout,102) brgst2,2,ist2,itb ,'BR(~g -> ~t_2 tb)' write(nout,102) brgst2,2,-ist2,it ,'BR(~g -> ~t_2* t )' endif if(flagnlspgmsb.eq.1.D0.and.brggravgl.ne.0.D0) then write(nout,102) brggravgl,2,igrav,igl,'BR(~g -> ~G g)' endif elseif(flagcondglui.eq.11.D0.or.flagcondglui.eq.12.D0) then if(gluitot.ne.0.D0) then write(nout,99) write(nout,100) iglo,gluitot,'gluino decays' if(flagloop.eq.1.D0) then write(nout,101) if(brglnjgluon(1).ne.0.D0) then write(nout,102) brglnjgluon(1),2,in1,igl,'BR(~g -> ~chi_10 g)' endif if(brglnjgluon(2).ne.0.D0) then write(nout,102) brglnjgluon(2),2,in2,igl,'BR(~g -> ~chi_20 g)' endif if(brglnjgluon(3).ne.0.D0) then write(nout,102) brglnjgluon(3),2,in3,igl,'BR(~g -> ~chi_30 g)' endif if(brglnjgluon(4).ne.0.D0) then write(nout,102) brglnjgluon(4),2,in4,igl,'BR(~g -> ~chi_40 g)' endif endif c if(flagnlspgmsb.eq.1.D0.and.brggravgl.ne.0.D0) then write(nout,101) write(nout,102) brggravgl,2,igrav,igl,'BR(~g -> ~G g)' endif c if(flagmulti.eq.1.D0) then if(flagglui3bod.eq.1.D0) then write(nout,103) endif if(brgodn(1).ne.0.D0) then write(nout,104) brgodn(1),3,in1,id,idb ,'BR(~g -> ~chi_10 d db)' endif if(brgodn(2).ne.0.D0) then write(nout,104) brgodn(2),3,in2,id,idb ,'BR(~g -> ~chi_20 d db)' endif if(brgodn(3).ne.0.D0) then write(nout,104) brgodn(3),3,in3,id,idb ,'BR(~g -> ~chi_30 d db)' endif if(brgodn(4).ne.0.D0) then write(nout,104) brgodn(4),3,in4,id,idb ,'BR(~g -> ~chi_40 d db)' endif if(brgoup(1).ne.0.D0) then write(nout,104) brgoup(1),3,in1,iu,iub ,'BR(~g -> ~chi_10 u ub)' endif if(brgoup(2).ne.0.D0) then write(nout,104) brgoup(2),3,in2,iu,iub ,'BR(~g -> ~chi_20 u ub)' endif if(brgoup(3).ne.0.D0) then write(nout,104) brgoup(3),3,in3,iu,iub ,'BR(~g -> ~chi_30 u ub)' endif if(brgoup(4).ne.0.D0) then write(nout,104) brgoup(4),3,in4,iu,iub ,'BR(~g -> ~chi_40 u ub)' endif if(brgodn(1).ne.0.D0) then write(nout,104) brgodn(1),3,in1,is,isb ,'BR(~g -> ~chi_10 s sb)' endif if(brgodn(2).ne.0.D0) then write(nout,104) brgodn(2),3,in2,is,isb ,'BR(~g -> ~chi_20 s sb)' endif if(brgodn(3).ne.0.D0) then write(nout,104) brgodn(3),3,in3,is,isb ,'BR(~g -> ~chi_30 s sb)' endif if(brgodn(4).ne.0.D0) then write(nout,104) brgodn(4),3,in4,is,isb ,'BR(~g -> ~chi_40 s sb)' endif if(brgoup(1).ne.0.D0) then write(nout,104) brgoup(1),3,in1,ic,icb ,'BR(~g -> ~chi_10 c cb)' endif if(brgoup(2).ne.0.D0) then write(nout,104) brgoup(2),3,in2,ic,icb ,'BR(~g -> ~chi_20 c cb)' endif if(brgoup(3).ne.0.D0) then write(nout,104) brgoup(3),3,in3,ic,icb ,'BR(~g -> ~chi_30 c cb)' endif if(brgoup(4).ne.0.D0) then write(nout,104) brgoup(4),3,in4,ic,icb ,'BR(~g -> ~chi_40 c cb)' endif if(brgobt(1).ne.0.D0) then write(nout,104) brgobt(1),3,in1,ib,ibb ,'BR(~g -> ~chi_10 b bb)' endif if(brgobt(2).ne.0.D0) then write(nout,104) brgobt(2),3,in2,ib,ibb ,'BR(~g -> ~chi_20 b bb)' endif if(brgobt(3).ne.0.D0) then write(nout,104) brgobt(3),3,in3,ib,ibb ,'BR(~g -> ~chi_30 b bb)' endif if(brgobt(4).ne.0.D0) then write(nout,104) brgobt(4),3,in4,ib,ibb ,'BR(~g -> ~chi_40 b bb)' endif if(brgotp(1).ne.0.D0) then write(nout,104) brgotp(1),3,in1,it,itb ,'BR(~g -> ~chi_10 t tb)' endif if(brgotp(2).ne.0.D0) then write(nout,104) brgotp(2),3,in2,it,itb ,'BR(~g -> ~chi_20 t tb)' endif if(brgotp(3).ne.0.D0) then write(nout,104) brgotp(3),3,in3,it,itb ,'BR(~g -> ~chi_30 t tb)' endif if(brgotp(4).ne.0.D0) then write(nout,104) brgotp(4),3,in4,it,itb ,'BR(~g -> ~chi_40 t tb)' endif if(brgoud(1).ne.0.D0) then write(nout,104) brgoud(1),3,ic1,id,iub ,'BR(~g -> ~chi_1+ d ub)' write(nout,104) brgoud(1),3,-ic1,iu,idb ,'BR(~g -> ~chi_1- u db)' endif if(brgoud(2).ne.0.D0) then write(nout,104) brgoud(2),3,ic2,id,iub ,'BR(~g -> ~chi_2+ d ub)' write(nout,104) brgoud(2),3,-ic2,iu,idb ,'BR(~g -> ~chi_2- u db)' endif if(brgoud(1).ne.0.D0) then write(nout,104) brgoud(1),3,ic1,is,icb ,'BR(~g -> ~chi_1+ s cb)' write(nout,104) brgoud(1),3,-ic1,ic,isb ,'BR(~g -> ~chi_1- c sb)' endif if(brgoud(2).ne.0.D0) then write(nout,104) brgoud(2),3,ic2,is,icb ,'BR(~g -> ~chi_2+ s cb)' write(nout,104) brgoud(2),3,-ic2,ic,isb ,'BR(~g -> ~chi_2- c sb)' endif if(brgotb(1).ne.0.D0) then write(nout,104) brgotb(1),3,ic1,ib,itb ,'BR(~g -> ~chi_1+ b tb)' write(nout,104) brgotb(1),3,-ic1,it,ibb ,'BR(~g -> ~chi_1- t bb)' endif if(brgotb(2).ne.0.D0) then write(nout,104) brgotb(2),3,ic2,ib,itb ,'BR(~g -> ~chi_2+ b tb)' write(nout,104) brgotb(2),3,-ic2,it,ibb ,'BR(~g -> ~chi_2- t bb)' endif if(brwst1b.ne.0.D0) then write(nout,104) brwst1b,3,ist1,ibb,-iwc ,'BR(~g -> ~t_1 bb W-)' write(nout,104) brwst1b,3,-ist1,ib,iwc ,'BR(~g -> ~t_1* b W+)' endif if(brhcst1b.ne.0.D0) then write(nout,104) brhcst1b,3,ist1,ibb,-ihc,'BR(~g -> ~t_1 bb H-)' write(nout,104) brhcst1b,3,-ist1,ib,ihc ,'BR(~g -> ~t_1* b H+)' endif endif elseif(gluitot.eq.0.D0) then write(nout,99) write(nout,100) iglo,0.000000000E+00,'gluino decays' endif endif c ------------ c c Stop1 decays c c ------------ c flagmultiloop = flagmulti+flagloop do i=1,2,1 if(stoptot2(i).eq.0.D0) then flagstoptot2(i) = 10.D0 elseif(stoptot2(i).ne.0.D0) then flagstoptot2(i) = 40.D0 endif end do flagcondstop(1) = flagstoptot2(1)+flagmultiloop flagcondstop(2) = flagstoptot2(2)+flagmulti write(nout,105) if(flagcondstop(1).eq.10.D0) then write(nout,99) write(nout,100) 1000006,0.000000000E+00,'stop1 decays' elseif(flagcondstop(1).eq.40.D0.or.flagcondstop(1).eq.41.D0.or. .flagcondstop(1).eq.42.D0) then write(nout,99) write(nout,100) 1000006,stoptot2(1),'stop1 decays' write(nout,101) if(brst1neutt(1).ne.0.D0) then write(nout,102) brst1neutt(1),2,in1,it ,'BR(~t_1 -> ~chi_10 t )' endif if(brst1neutt(2).ne.0.D0) then write(nout,102) brst1neutt(2),2,in2,it ,'BR(~t_1 -> ~chi_20 t )' endif if(brst1neutt(3).ne.0.D0) then write(nout,102) brst1neutt(3),2,in3,it ,'BR(~t_1 -> ~chi_30 t )' endif if(brst1neutt(4).ne.0.D0) then write(nout,102) brst1neutt(4),2,in4,it ,'BR(~t_1 -> ~chi_40 t )' endif if(brst1charb(1).ne.0.D0) then write(nout,102) brst1charb(1),2,ic1,ib ,'BR(~t_1 -> ~chi_1+ b )' endif if(brst1charb(2).ne.0.D0) then write(nout,102) brst1charb(2),2,ic2,ib ,'BR(~t_1 -> ~chi_2+ b )' endif if(brst1glui.ne.0.D0) then write(nout,102) brst1glui ,2,iglo,it ,'BR(~t_1 -> ~g t )' endif if(brst1hcsb(1).ne.0.D0) then write(nout,102) brst1hcsb(1) ,2,isb1,ihc,'BR(~t_1 -> ~b_1 H+)' endif if(brst1hcsb(2).ne.0.D0) then write(nout,102) brst1hcsb(2) ,2,isb2,ihc,'BR(~t_1 -> ~b_2 H+)' endif if(brst1wsb(1).ne.0.D0) then write(nout,102) brst1wsb(1) ,2,isb1,iwc,'BR(~t_1 -> ~b_1 W+)' endif if(brst1wsb(2).ne.0.D0) then write(nout,102) brst1wsb(2) ,2,isb2,iwc,'BR(~t_1 -> ~b_2 W+)' endif elseif(flagcondstop(1).eq.11.D0.or.flagcondstop(1).eq.12.D0) then if(stoptot(1).ne.0.D0) then write(nout,99) write(nout,100) 1000006,stoptot(1),'stop1 decays' if(flagloop.eq.1.D0) then write(nout,101) if(brgamma.ne.0.D0) then write(nout,102) brgamma ,2,in1,ic ,'BR(~t_1 -> ~chi_10 c )' endif if(brgammaup.ne.0.D0) then write(nout,102) brgammaup ,2,in1,iu ,'BR(~t_1 -> ~chi_10 u )' endif if(brgammagluino.ne.0.D0) then write(nout,102) brgammagluino,2,iglo,ic ,'BR(~t_1 -> ~g c )' endif endif if(flagmulti.eq.1.D0) then if(stoptotmulti(1).ne.0.D0) then write(nout,103) if(brstopw(1,1).ne.0.D0) then write(nout,104) brstopw(1,1),3,in1,ib,iwc, 'BR(~t_1 -> ~chi_ .10 b W+)' endif if(brstopw(1,2).ne.0.D0) then write(nout,104) brstopw(1,2),3,in2,ib,iwc, 'BR(~t_1 -> ~chi_ .20 b W+)' endif if(brstopw(1,3).ne.0.D0) then write(nout,104) brstopw(1,3),3,in3,ib,iwc, 'BR(~t_1 -> ~chi_ .30 b W+)' endif if(brstopw(1,4).ne.0.D0) then write(nout,104) brstopw(1,4),3,in4,ib,iwc, 'BR(~t_1 -> ~chi_ .40 b W+)' endif if(brstoph(1,1).ne.0.D0) then write(nout,104) brstoph(1,1),3,in1,ib,ihc, 'BR(~t_1 -> ~chi_ .10 b H+)' endif if(brstoph(1,2).ne.0.D0) then write(nout,104) brstoph(1,2),3,in2,ib,ihc, 'BR(~t_1 -> ~chi_ .20 b H+)' endif if(brstoph(1,3).ne.0.D0) then write(nout,104) brstoph(1,3),3,in3,ib,ihc, 'BR(~t_1 -> ~chi_ .30 b H+)' endif if(brstoph(1,4).ne.0.D0) then write(nout,104) brstoph(1,4),3,in4,ib,ihc, 'BR(~t_1 -> ~chi_ .40 b H+)' endif if(brstsntau(1,1).ne.0.D0) then write(nout,104) brstsntau(1,1),3,intau1,ib,-itau,'BR(~t_1 -> ~nu_t .auL b tau+)' endif if(brstsnel(1).ne.0.D0) then write(nout,104) brstsnel(1),3,inel,ib,-ie, 'BR(~t_1 -> ~nu_e .L b e+)' write(nout,104) brstsnel(1),3,inmul,ib,-imu, 'BR(~t_1 -> ~nu_m .uL b mu+)' endif if(brststau(1,1).ne.0.D0) then write(nout,104) brststau(1,1),3,-istau1,ib,intau,'BR(~t_1 -> ~tau_ .1+ b nu_tau)' endif if(brststau(1,2).ne.0.D0) then write(nout,104) brststau(1,2),3,-istau2,ib,intau,'BR(~t_1 -> ~tau_ .2+ b nu_tau)' endif if(brstsel(1,1).ne.0.D0) then write(nout,104) brstsel(1,1),3,-isell,ib,ine, 'BR(~t_1 -> ~e_L+ . b nu_e)' endif if(brstsel(1,2).ne.0.D0) then write(nout,104) brstsel(1,2),3,-iselr,ib,ine, 'BR(~t_1 -> ~e_R+ . b nu_e)' endif if(brstsel(1,1).ne.0.D0) then write(nout,104) brstsel(1,1),3,-ismul,ib,inmu, 'BR(~t_1 -> ~mu_L .+ b nu_mu)' endif if(brstsel(1,2).ne.0.D0) then write(nout,104) brstsel(1,2),3,-ismur,ib,inmu, 'BR(~t_1 -> ~mu_R .+ b nu_mu)' endif if(brstbsbst(1,1).ne.0.D0) then write(nout,104) brstbsbst(1,1),3,-isb1,ib,it, 'BR(~t_1 -> ~b_1* . b t)' endif if(brstbsbst(1,2).ne.0.D0) then write(nout,104) brstbsbst(1,2),3,-isb2,ib,it, 'BR(~t_1 -> ~b_2* . b t)' endif if(brstbbsbt(1,1).ne.0.D0) then write(nout,104) brstbbsbt(1,1),3,isb1,ibb,it, 'BR(~t_1 -> ~b_1 . bb t)' endif if(brstbbsbt(1,2).ne.0.D0) then write(nout,104) brstbbsbt(1,2),3,isb2,ibb,it, 'BR(~t_1 -> ~b_2 . bb t)' endif if(brstupsbdow(1,1).ne.0.D0) then write(nout,104) brstupsbdow(1,1),3,isb1,idb,iu, 'BR(~t_1 -> ~b_1 . db u)' endif if(brstupsbdow(1,2).ne.0.D0) then write(nout,104) brstupsbdow(1,2),3,isb2,idb,iu, 'BR(~t_1 -> ~b_2 . db u)' endif if(brstupsbdow(1,1).ne.0.D0) then write(nout,104) brstupsbdow(1,1),3,isb1,isb,ic, 'BR(~t_1 -> ~b_1 . sb c)' endif if(brstupsbdow(1,2).ne.0.D0) then write(nout,104) brstupsbdow(1,2),3,isb2,isb,ic, 'BR(~t_1 -> ~b_2 . sb c)' endif if(brsttausbnu(1,1).ne.0.D0) then write(nout,104) brsttausbnu(1,1),3,isb1,-itau,intau,'BR(~t_1 -> ~b ._1 tau+ nu_tau)' endif if(brsttausbnu(1,2).ne.0.D0) then write(nout,104) brsttausbnu(1,2),3,isb2,-itau,intau,'BR(~t_1 -> ~b ._2 tau+ nu_tau)' endif if(brstelsbnu(1,1).ne.0.D0) then write(nout,104) brstelsbnu(1,1),3,isb1,-ie,ine, 'BR(~t_1 -> ~b_1 . e+ nu_e)' endif if(brstelsbnu(1,2).ne.0.D0) then write(nout,104) brstelsbnu(1,2),3,isb2,-ie,ine, 'BR(~t_1 -> ~b_2 . e+ nu_e)' endif if(brstelsbnu(1,1).ne.0.D0) then write(nout,104) brstelsbnu(1,1),3,isb1,-imu,inmu,'BR(~t_1 -> ~b_1 . mu+ nu_mu)' endif if(brstelsbnu(1,2).ne.0.D0) then write(nout,104) brstelsbnu(1,2),3,isb2,-imu,inmu,'BR(~t_1 -> ~b_2 . mu+ nu_mu)' endif else if(stoptot4.ne.0.D0) then write(nout,107) if(br4bodoffshelltau.ne.0.D0) then write(nout,106) br4bodoffshelltau,4,in1,ib,if1,if2,'BR(~t_1 .-> chi_10 b f fbarprime)' endif endif endif endif elseif(stoptot(1).eq.0.D0) then write(nout,99) write(nout,100) 1000006,0.000000000E+00,'stop1 decays' endif endif c ------------ c c Stop2 decays c c ------------ c write(nout,105) if(flagcondstop(2).eq.10.D0) then write(nout,99) write(nout,100) 2000006,0.000000000E+00,'stop2 decays' elseif(flagcondstop(2).eq.40.D0.or.flagcondstop(2).eq.41.D0) then write(nout,99) write(nout,100) 2000006,stoptot2(2),'stop2 decays' write(nout,101) if(brst2neutt(1).ne.0.D0) then write(nout,102) brst2neutt(1),2,in1,it ,'BR(~t_2 -> ~chi_10 t )' endif if(brst2neutt(2).ne.0.D0) then write(nout,102) brst2neutt(2),2,in2,it ,'BR(~t_2 -> ~chi_20 t )' endif if(brst2neutt(2).ne.0.D0) then write(nout,102) brst2neutt(3),2,in3,it ,'BR(~t_2 -> ~chi_30 t )' endif if(brst2neutt(4).ne.0.D0) then write(nout,102) brst2neutt(4),2,in4,it ,'BR(~t_2 -> ~chi_40 t )' endif if(brst2charb(1).ne.0.D0) then write(nout,102) brst2charb(1),2,ic1,ib ,'BR(~t_2 -> ~chi_1+ b )' endif if(brst2charb(2).ne.0.D0) then write(nout,102) brst2charb(2),2,ic2,ib ,'BR(~t_2 -> ~chi_2+ b )' endif if(brst2glui.ne.0.D0) then write(nout,102) brst2glui ,2,iglo,it ,'BR(~t_2 -> ~g t )' endif if(brst2hl.ne.0.D0) then write(nout,102) brst2hl ,2,ist1,ihl,'BR(~t_2 -> ~t_1 h )' endif if(brst2hh.ne.0.D0) then write(nout,102) brst2hh ,2,ist1,ihh,'BR(~t_2 -> ~t_1 H )' endif if(brst2ha.ne.0.D0) then write(nout,102) brst2ha ,2,ist1,iha,'BR(~t_2 -> ~t_1 A )' endif if(brst2hcsb(1).ne.0.D0) then write(nout,102) brst2hcsb(1) ,2,isb1,ihc,'BR(~t_2 -> ~b_1 H+)' endif if(brst2hcsb(2).ne.0.D0) then write(nout,102) brst2hcsb(2) ,2,isb2,ihc,'BR(~t_2 -> ~b_2 H+)' endif if(brst2ztop.ne.0.D0) then write(nout,102) brst2ztop ,2,ist1,iz ,'BR(~t_2 -> ~t_1 Z )' endif if(brst2wsb(1).ne.0.D0) then write(nout,102) brst2wsb(1) ,2,isb1,iwc,'BR(~t_2 -> ~b_1 W+)' endif if(brst2wsb(2).ne.0.D0) then write(nout,102) brst2wsb(2) ,2,isb2,iwc,'BR(~t_2 -> ~b_2 W+)' endif elseif(flagcondstop(2).eq.11.D0) then if(stoptot(2).ne.0.D0) then write(nout,99) write(nout,100) 2000006,stoptot(2),'stop2 decays' write(nout,103) if(brstopw(2,1).ne.0.D0) then write(nout,104) brstopw(2,1),3,in1,ib,iwc, 'BR(~t_2 -> ~chi_ .10 b W+)' endif if(brstopw(2,2).ne.0.D0) then write(nout,104) brstopw(2,2),3,in2,ib,iwc, 'BR(~t_2 -> ~chi_ .20 b W+)' endif if(brstopw(2,3).ne.0.D0) then write(nout,104) brstopw(2,3),3,in3,ib,iwc, 'BR(~t_2 -> ~chi_ .30 b W+)' endif if(brstopw(2,4).ne.0.D0) then write(nout,104) brstopw(2,4),3,in4,ib,iwc, 'BR(~t_2 -> ~chi_ .40 b W+)' endif if(brstoph(2,1).ne.0.D0) then write(nout,104) brstoph(2,1),3,in1,ib,ihc, 'BR(~t_2 -> ~chi_ .10 b H+)' endif if(brstoph(2,2).ne.0.D0) then write(nout,104) brstoph(2,2),3,in2,ib,ihc, 'BR(~t_2 -> ~chi_ .20 b H+)' endif if(brstoph(2,3).ne.0.D0) then write(nout,104) brstoph(2,3),3,in3,ib,ihc, 'BR(~t_2 -> ~chi_ .30 b H+)' endif if(brstoph(2,4).ne.0.D0) then write(nout,104) brstoph(2,4),3,in4,ib,ihc, 'BR(~t_2 -> ~chi_ .40 b H+)' endif if(brstsntau(2,1).ne.0.D0) then write(nout,104) brstsntau(2,1),3,intau1,ib,-itau,'BR(~t_2 -> ~nu_t .auL b tau+)' endif if(brstsnel(2).ne.0.D0) then write(nout,104) brstsnel(2),3,inel,ib,-ie, 'BR(~t_2 -> ~nu_e .L b e+)' write(nout,104) brstsnel(2),3,inmul,ib,-imu, 'BR(~t_2 -> ~nu_m .uL b mu+)' endif if(brststau(2,1).ne.0.D0) then write(nout,104) brststau(2,1),3,-istau1,ib,intau,'BR(~t_2 -> ~tau_ .1+ b nu_tau)' endif if(brststau(2,2).ne.0.D0) then write(nout,104) brststau(2,2),3,-istau2,ib,intau,'BR(~t_2 -> ~tau_ .2+ b nu_tau)' endif if(brstsel(2,1).ne.0.D0) then write(nout,104) brstsel(2,1),3,-isell,ib,ine, 'BR(~t_2 -> ~e_L+ . b nu_e)' endif if(brstsel(2,2).ne.0.D0) then write(nout,104) brstsel(2,2),3,-iselr,ib,ine, 'BR(~t_2 -> ~e_R+ . b nu_e)' endif if(brstsel(2,1).ne.0.D0) then write(nout,104) brstsel(2,1),3,-ismul,ib,inmu, 'BR(~t_2 -> ~mu_L .+ b nu_mu)' endif if(brstsel(2,2).ne.0.D0) then write(nout,104) brstsel(2,2),3,-ismur,ib,inmu, 'BR(~t_2 -> ~mu_R .+ b nu_mu)' endif if(brstbsbst(2,1).ne.0.D0) then write(nout,104) brstbsbst(2,1),3,-isb1,ib,it, 'BR(~t_2 -> ~b_1* . b t)' endif if(brstbsbst(2,2).ne.0.D0) then write(nout,104) brstbsbst(2,2),3,-isb2,ib,it, 'BR(~t_2 -> ~b_2* . b t)' endif if(brstbbsbt(2,1).ne.0.D0) then write(nout,104) brstbbsbt(2,1),3,isb1,ibb,it, 'BR(~t_2 -> ~b_1 . bb t)' endif if(brstbbsbt(2,2).ne.0.D0) then write(nout,104) brstbbsbt(2,2),3,isb2,ibb,it, 'BR(~t_2 -> ~b_2 . bb t)' endif if(brstupsbdow(2,1).ne.0.D0) then write(nout,104) brstupsbdow(2,1),3,isb1,idb,iu, 'BR(~t_2 -> ~b_1 . db u)' endif if(brstupsbdow(2,2).ne.0.D0) then write(nout,104) brstupsbdow(2,2),3,isb2,idb,iu, 'BR(~t_2 -> ~b_2 . db u)' endif if(brstupsbdow(2,1).ne.0.D0) then write(nout,104) brstupsbdow(2,1),3,isb1,isb,ic, 'BR(~t_2 -> ~b_1 . sb c)' endif if(brstupsbdow(2,2).ne.0.D0) then write(nout,104) brstupsbdow(2,2),3,isb2,isb,ic, 'BR(~t_2 -> ~b_2 . sb c)' endif if(brsttausbnu(2,1).ne.0.D0) then write(nout,104) brsttausbnu(2,1),3,isb1,-itau,intau,'BR(~t_2 -> ~b ._1 tau+ nu_tau)' endif if(brsttausbnu(2,2).ne.0.D0) then write(nout,104) brsttausbnu(2,2),3,isb2,-itau,intau,'BR(~t_2 -> ~b ._2 tau+ nu_tau)' endif if(brstelsbnu(2,1).ne.0.D0) then write(nout,104) brstelsbnu(2,1),3,isb1,-ie,ine, 'BR(~t_2 -> ~b_1 . e+ nu_e)' endif if(brstelsbnu(2,2).ne.0.D0) then write(nout,104) brstelsbnu(2,2),3,isb2,-ie,ine, 'BR(~t_2 -> ~b_2 . e+ nu_e)' endif if(brstelsbnu(2,1).ne.0.D0) then write(nout,104) brstelsbnu(2,1),3,isb1,-imu,inmu,'BR(~t_2 -> ~b_1 . mu+ nu_mu)' endif if(brstelsbnu(2,2).ne.0.D0) then write(nout,104) brstelsbnu(2,2),3,isb2,-imu,inmu,'BR(~t_2 -> ~b_2 . mu+ nu_mu)' endif if(brst2st1tt.ne.0.D0) then write(nout,104) brst2st1tt,3,ist1,it,itb, 'BR(~t_2 -> ~t_1 . t tb)' write(nout,104) brst2st1tt,3,-ist1,it,it, 'BR(~t_2 -> ~t_1* . t t )' endif if(brst2st1bb.ne.0.D0) then write(nout,104) brst2st1bb,3,ist1,ib,ibb, 'BR(~t_2 -> ~t_1 . b bb)' endif if(brst2st1uu.ne.0.D0) then write(nout,104) brst2st1uu,3,ist1,iu,iub, 'BR(~t_2 -> ~t_1 . u ub)' endif if(brst2st1dd.ne.0.D0) then write(nout,104) brst2st1dd,3,ist1,id,idb, 'BR(~t_2 -> ~t_1 . d db)' endif if(brst2st1uu.ne.0.D0) then write(nout,104) brst2st1uu,3,ist1,ic,icb, 'BR(~t_2 -> ~t_1 . c cb)' endif if(brst2st1dd.ne.0.D0) then write(nout,104) brst2st1dd,3,ist1,is,isb, 'BR(~t_2 -> ~t_1 . s sb)' endif if(brst2st1ee.ne.0.D0) then write(nout,104) brst2st1ee,3,ist1,ie,-ie, 'BR(~t_2 -> ~t_1 . e+ e-)' write(nout,104) brst2st1ee,3,ist1,imu,-imu, 'BR(~t_2 -> ~t_1 . mu+ mu-)' endif if(brst2st1tautau.ne.0.D0) then write(nout,104) brst2st1tautau,3,ist1,itau,-itau,'BR(~t_2 -> ~t_1 . tau+ tau-)' endif if(brst2st1nunu.ne.0.D0) then write(nout,104) brst2st1nunu,3,ist1,ine,-ine, 'BR(~t_2 -> ~t_1 . nu_e nu_eb)' write(nout,104) brst2st1nunu,3,ist1,inmu,-inmu, 'BR(~t_2 -> ~t_1 . nu_mu nu_mub)' write(nout,104) brst2st1nunu,3,ist1,intau,-intau,'BR(~t_2 -> ~t_1 . nu_tau nu_taub)' endif elseif(stoptot(2).eq.0.D0) then write(nout,99) write(nout,100) 2000006,0.000000000E+00,'stop2 decays' endif endif c --------------- c c Sbottom1 decays c c --------------- c do i=1,2,1 if(sbottot2(i).eq.0.D0) then flagsbottot2(i) = 10.D0 elseif(sbottot2(i).ne.0.D0) then flagsbottot2(i) = 40.D0 endif flagcondsbot(i) = flagsbottot2(i)+flagmulti end do write(nout,105) if(flagcondsbot(1).eq.10.D0) then write(nout,99) write(nout,100) 1000005,0.000000000E+00,'sbottom1 decays' elseif(flagcondsbot(1).eq.40.D0.or.flagcondsbot(1).eq.41.D0) then write(nout,99) write(nout,100) 1000005,sbottot2(1),'sbottom1 decays' write(nout,101) if(brsb1neutt(1).ne.0.D0) then write(nout,102) brsb1neutt(1),2,in1,ib ,'BR(~b_1 -> ~chi_10 b )' endif if(brsb1neutt(2).ne.0.D0) then write(nout,102) brsb1neutt(2),2,in2,ib ,'BR(~b_1 -> ~chi_20 b )' endif if(brsb1neutt(3).ne.0.D0) then write(nout,102) brsb1neutt(3),2,in3,ib ,'BR(~b_1 -> ~chi_30 b )' endif if(brsb1neutt(4).ne.0.D0) then write(nout,102) brsb1neutt(4),2,in4,ib ,'BR(~b_1 -> ~chi_40 b )' endif if(brsb1chart(1).ne.0.D0) then write(nout,102) brsb1chart(1),2,-ic1,it ,'BR(~b_1 -> ~chi_1- t )' endif if(brsb1chart(2).ne.0.D0) then write(nout,102) brsb1chart(2),2,-ic2,it ,'BR(~b_1 -> ~chi_2- t )' endif if(brsb1glui.ne.0.D0) then write(nout,102) brsb1glui,2,iglo,ib ,'BR(~b_1 -> ~g b )' endif if(brsb1hcst(1).ne.0.D0) then write(nout,102) brsb1hcst(1),2,ist1,-ihc,'BR(~b_1 -> ~t_1 H-)' endif if(brsb1hcst(2).ne.0.D0) then write(nout,102) brsb1hcst(2),2,ist2,-ihc,'BR(~b_1 -> ~t_2 H-)' endif if(brsb1wst(1).ne.0.D0) then write(nout,102) brsb1wst(1),2,ist1,-iwc ,'BR(~b_1 -> ~t_1 W-)' endif if(brsb1wst(2).ne.0.D0) then write(nout,102) brsb1wst(2),2,ist2,-iwc ,'BR(~b_1 -> ~t_2 W-)' endif elseif(flagcondsbot(1).eq.11.D0) then if(sbottot(1).ne.0.D0) then write(nout,99) write(nout,100) 1000005,sbottot(1),'sbottom1 decays' write(nout,103) if(brsbsntau(1,1).ne.0.D0) then write(nout,104) brsbsntau(1,1),3,-intau1,it,itau,'BR(~b_1 -> ~nu_t .auL* t tau-)' endif if(brsbsnel(1).ne.0.D0) then write(nout,104) brsbsnel(1),3,-inel,it,ie, 'BR(~b_1 -> ~nu_e .L* t e-)' write(nout,104) brsbsnel(1),3,-inmul,it,imu, 'BR(~b_1 -> ~nu_m .uL* t mu-)' endif if(brsbstau(1,1).ne.0.D0) then write(nout,104) brsbstau(1,1),3,istau1,it,-intau,'BR(~b_1 -> ~tau_ .1- t nu_taub)' endif if(brsbstau(1,2).ne.0.D0) then write(nout,104) brsbstau(1,2),3,istau2,it,-intau,'BR(~b_1 -> ~tau_ .2- t nu_taub)' endif if(brsbsel(1,1).ne.0.D0) then write(nout,104) brsbsel(1,1),3,isell,it,-ine, 'BR(~b_1 -> ~e_L- . t nu_eb)' endif if(brsbsel(1,2).ne.0.D0) then write(nout,104) brsbsel(1,2),3,iselr,it,-ine, 'BR(~b_1 -> ~e_R- . t nu_eb)' endif if(brsbsel(1,1).ne.0.D0) then write(nout,104) brsbsel(1,1),3,ismul,it,-inmu, 'BR(~b_1 -> ~mu_L .- t nu_mub)' endif if(brsbsel(1,2).ne.0.D0) then write(nout,104) brsbsel(1,2),3,ismur,it,-inmu, 'BR(~b_1 -> ~mu_R .- t nu_mub)' endif if(brsbtstsb(1,1).ne.0.D0) then write(nout,104) brsbtstsb(1,1),3,-ist1,it,ib, 'BR(~b_1 -> ~t_1* . t b)' endif if(brsbtstsb(1,2).ne.0.D0) then write(nout,104) brsbtstsb(1,2),3,-ist2,it,ib, 'BR(~b_1 -> ~t_2* . t b)' endif if(brsbtbstb(1,1).ne.0.D0) then write(nout,104) brsbtbstb(1,1),3,ist1,-it,ib, 'BR(~b_1 -> ~t_1 . tb b)' endif if(brsbtbstb(1,2).ne.0.D0) then write(nout,104) brsbtbstb(1,2),3,ist2,-it,ib, 'BR(~b_1 -> ~t_2 . tb b)' endif if(brsbupstdow(1,1).ne.0.D0) then write(nout,104) brsbupstdow(1,1),3,ist1,iub,id, 'BR(~b_1 -> ~t_1 . ub d)' endif if(brsbupstdow(1,2).ne.0.D0) then write(nout,104) brsbupstdow(1,2),3,ist2,iub,id, 'BR(~b_1 -> ~t_2 . ub d)' endif if(brsbupstdow(1,1).ne.0.D0) then write(nout,104) brsbupstdow(1,1),3,ist1,icb,is, 'BR(~b_1 -> ~t_1 . cb s)' endif if(brsbupstdow(1,2).ne.0.D0) then write(nout,104) brsbupstdow(1,2),3,ist2,icb,is, 'BR(~b_1 -> ~t_2 . cb s)' endif if(brsbtaustnu(1,1).ne.0.D0) then write(nout,104) brsbtaustnu(1,1),3,ist1,itau,-intau,'BR(~b_1 -> ~t ._1 tau- nu_taub)' endif if(brsbtaustnu(1,2).ne.0.D0) then write(nout,104) brsbtaustnu(1,2),3,ist2,itau,-intau,'BR(~b_1 -> ~t ._2 tau- nu_taub)' endif if(brsbelstnu(1,1).ne.0.D0) then write(nout,104) brsbelstnu(1,1),3,ist1,ie,-ine, 'BR(~b_1 -> ~t_1 . e- nu_eb)' endif if(brsbelstnu(1,2).ne.0.D0) then write(nout,104) brsbelstnu(1,2),3,ist1,ie,-ine, 'BR(~b_1 -> ~t_2 . e- nu_eb)' endif if(brsbelstnu(1,1).ne.0.D0) then write(nout,104) brsbelstnu(1,1),3,ist1,imu,-inmu,'BR(~b_1 -> ~t_1 . mu- nu_mub)' endif if(brsbelstnu(1,2).ne.0.D0) then write(nout,104) brsbelstnu(1,2),3,ist1,imu,-inmu,'BR(~b_1 -> ~t_2 . mu- nu_mub)' endif elseif(sbottot(1).eq.0.D0) then write(nout,99) write(nout,100) 1000005,0.000000000E+00,'sbottom1 decays' endif endif c --------------- c c Sbottom2 decays c c --------------- c write(nout,105) if(flagcondsbot(2).eq.10.D0) then write(nout,99) write(nout,100) 2000005,0.000000000E+00,'sbottom2 decays' elseif(flagcondsbot(2).eq.40.D0.or.flagcondsbot(2).eq.41.D0) then write(nout,99) write(nout,100) 2000005,sbottot2(2),'sbottom2 decays' write(nout,101) if(brsb2neutt(1).ne.0.D0) then write(nout,102) brsb2neutt(1),2,in1,ib ,'BR(~b_2 -> ~chi_10 b )' endif if(brsb2neutt(2).ne.0.D0) then write(nout,102) brsb2neutt(2),2,in2,ib ,'BR(~b_2 -> ~chi_20 b )' endif if(brsb2neutt(3).ne.0.D0) then write(nout,102) brsb2neutt(3),2,in3,ib ,'BR(~b_2 -> ~chi_30 b )' endif if(brsb2neutt(4).ne.0.D0) then write(nout,102) brsb2neutt(4),2,in4,ib ,'BR(~b_2 -> ~chi_40 b )' endif if(brsb2chart(1).ne.0.D0) then write(nout,102) brsb2chart(1),2,-ic1,it ,'BR(~b_2 -> ~chi_1- t )' endif if(brsb2chart(2).ne.0.D0) then write(nout,102) brsb2chart(2),2,-ic2,it ,'BR(~b_2 -> ~chi_2- t )' endif if(brsb2glui.ne.0.D0) then write(nout,102) brsb2glui,2,iglo,ib ,'BR(~b_2 -> ~g b )' endif if(brsb2hl.ne.0.D0) then write(nout,102) brsb2hl,2,isb1,ihl ,'BR(~b_2 -> ~b_1 h )' endif if(brsb2hh.ne.0.D0) then write(nout,102) brsb2hh,2,isb1,ihh ,'BR(~b_2 -> ~b_1 H )' endif if(brsb2ha.ne.0.D0) then write(nout,102) brsb2ha,2,isb1,iha ,'BR(~b_2 -> ~b_1 A )' endif if(brsb2hcst(1).ne.0.D0) then write(nout,102) brsb2hcst(1),2,ist1,-ihc,'BR(~b_2 -> ~t_1 H-)' endif if(brsb2hcst(2).ne.0.D0) then write(nout,102) brsb2hcst(2),2,ist2,-ihc,'BR(~b_2 -> ~t_2 H-)' endif if(brsb2zbot.ne.0.D0) then write(nout,102) brsb2zbot,2,isb1,iz ,'BR(~b_2 -> ~b_1 Z )' endif if(brsb2wst(1).ne.0.D0) then write(nout,102) brsb2wst(1),2,ist1,-iwc ,'BR(~b_2 -> ~t_1 W-)' endif if(brsb2wst(2).ne.0.D0) then write(nout,102) brsb2wst(2),2,ist2,-iwc ,'BR(~b_2 -> ~t_2 W-)' endif elseif(flagcondsbot(2).eq.11.D0) then if(sbottot(2).ne.0.D0) then write(nout,99) write(nout,100) 2000005,sbottot(2),'sbottom2 decays' write(nout,103) if(brsbsntau(2,1).ne.0.D0) then write(nout,104) brsbsntau(2,1),3,-intau1,it,itau,'BR(~b_2 -> ~nu_t .auL* t tau-)' endif if(brsbsnel(2).ne.0.D0) then write(nout,104) brsbsnel(2),3,-inel,it,ie, 'BR(~b_2 -> ~nu_e .L* t e-)' write(nout,104) brsbsnel(2),3,-inmul,it,imu, 'BR(~b_2 -> ~nu_m .uL* t mu-)' endif if(brsbstau(2,1).ne.0.D0) then write(nout,104) brsbstau(2,1),3,istau1,it,-intau,'BR(~b_2 -> ~tau_ .1- t nu_taub)' endif if(brsbstau(2,2).ne.0.D0) then write(nout,104) brsbstau(2,2),3,istau2,it,-intau,'BR(~b_2 -> ~tau_ .2- t nu_taub)' endif if(brsbsel(2,1).ne.0.D0) then write(nout,104) brsbsel(2,1),3,isell,it,-ine, 'BR(~b_2 -> ~e_L- . t nu_eb)' endif if(brsbsel(2,2).ne.0.D0) then write(nout,104) brsbsel(2,2),3,iselr,it,-ine, 'BR(~b_2 -> ~e_R- . t nu_eb)' endif if(brsbsel(2,1).ne.0.D0) then write(nout,104) brsbsel(2,1),3,ismul,it,-inmu, 'BR(~b_2 -> ~mu_L .- t nu_mub)' endif if(brsbsel(2,2).ne.0.D0) then write(nout,104) brsbsel(2,2),3,ismur,it,-inmu, 'BR(~b_2 -> ~mu_R .- t nu_mub)' endif if(brsbtstsb(2,1).ne.0.D0) then write(nout,104) brsbtstsb(2,1),3,-ist1,it,ib, 'BR(~b_2 -> ~t_1* . t b)' endif if(brsbtstsb(2,2).ne.0.D0) then write(nout,104) brsbtstsb(2,2),3,-ist2,it,ib, 'BR(~b_2 -> ~t_2* . t b)' endif if(brsbtbstb(2,1).ne.0.D0) then write(nout,104) brsbtbstb(2,1),3,ist1,-it,ib, 'BR(~b_2 -> ~t_1 . tb b)' endif if(brsbtbstb(2,2).ne.0.D0) then write(nout,104) brsbtbstb(2,2),3,ist2,-it,ib, 'BR(~b_2 -> ~t_2 . tb b)' endif if(brsbupstdow(2,1).ne.0.D0) then write(nout,104) brsbupstdow(2,1),3,ist1,iub,id, 'BR(~b_2 -> ~t_1 . ub d)' endif if(brsbupstdow(2,2).ne.0.D0) then write(nout,104) brsbupstdow(2,2),3,ist2,iub,id, 'BR(~b_2 -> ~t_2 . ub d)' endif if(brsbupstdow(2,1).ne.0.D0) then write(nout,104) brsbupstdow(2,1),3,ist1,icb,is, 'BR(~b_2 -> ~t_1 . cb s)' endif if(brsbupstdow(2,2).ne.0.D0) then write(nout,104) brsbupstdow(2,2),3,ist2,icb,is, 'BR(~b_2 -> ~t_2 . cb s)' endif if(brsbtaustnu(2,1).ne.0.D0) then write(nout,104) brsbtaustnu(2,1),3,ist1,itau,-intau,'BR(~b_2 -> ~t ._1 tau- nu_taub)' endif if(brsbtaustnu(2,2).ne.0.D0) then write(nout,104) brsbtaustnu(2,2),3,ist2,itau,-intau,'BR(~b_2 -> ~t ._2 tau- nu_taub)' endif if(brsbelstnu(2,1).ne.0.D0) then write(nout,104) brsbelstnu(2,1),3,ist1,ie,-ine, 'BR(~b_2 -> ~t_1 . e- nu_eb)' endif if(brsbelstnu(2,2).ne.0.D0) then write(nout,104) brsbelstnu(2,2),3,ist1,ie,-ine, 'BR(~b_2 -> ~t_2 . e- nu_eb)' endif if(brsbelstnu(2,1).ne.0.D0) then write(nout,104) brsbelstnu(2,1),3,ist1,imu,-inmu,'BR(~b_2 -> ~t_1 . mu- nu_mub)' endif if(brsbelstnu(2,2).ne.0.D0) then write(nout,104) brsbelstnu(2,2),3,ist1,imu,-inmu,'BR(~b_2 -> ~t_2 . mu- nu_mub)' endif if(brsb2sb1bb.ne.0.D0) then write(nout,104) brsb2sb1bb,3,isb1,ib,ibb, 'BR(~b_2 -> ~b_1 . b bb)' endif if(brsb2sb1starbb.ne.0.D0) then write(nout,104) brsb2sb1starbb,3,-isb1,ib,ib, 'BR(~b_2 -> ~b_1* . b b)' endif if(brsb2sb1tt.ne.0.D0) then write(nout,104) brsb2sb1tt,3,isb1,it,itb, 'BR(~b_2 -> ~b_1 . t tb)' endif if(brsb2sb1uu.ne.0.D0) then write(nout,104) brsb2sb1uu,3,isb1,iu,iub, 'BR(~b_2 -> ~b_1 . u ub)' endif if(brsb2sb1dd.ne.0.D0) then write(nout,104) brsb2sb1dd,3,isb1,id,idb, 'BR(~b_2 -> ~b_1 . d db)' endif if(brsb2sb1uu.ne.0.D0) then write(nout,104) brsb2sb1uu,3,isb1,ic,icb, 'BR(~b_2 -> ~b_1 . c cb)' endif if(brsb2sb1dd.ne.0.D0) then write(nout,104) brsb2sb1dd,3,isb1,is,isb, 'BR(~b_2 -> ~b_1 . s sb)' endif if(brsb2sb1ee.ne.0.D0) then write(nout,104) brsb2sb1ee,3,isb1,ie,-ie, 'BR(~b_2 -> ~b_1 . e- e+)' write(nout,104) brsb2sb1ee,3,isb1,imu,-imu, 'BR(~b_2 -> ~b_1 . mu- mu+)' endif if(brsb2sb1tautau.ne.0.D0) then write(nout,104) brsb2sb1tautau,3,isb1,itau,-itau,'BR(~b_2 -> ~b_1 . tau- tau+)' endif if(brsb2sb1nunu.ne.0.D0) then write(nout,104) brsb2sb1nunu,3,isb1,ine,-ine, 'BR(~b_2 -> ~b_1 . nu_e nu_eb)' write(nout,104) brsb2sb1nunu,3,isb1,inmu,-inmu, 'BR(~b_2 -> ~b_1 . nu_mu nu_mub)' write(nout,104) brsb2sb1nunu,3,isb1,intau,-intau,'BR(~b_2 -> ~b_1 . nu_tau nu_taub)' endif elseif(sbottot2(2).eq.0.D0) then write(nout,99) write(nout,100) 2000005,0.000000000E+00,'sbottom2 decays' endif endif c ------------ c c Sup_L decays c c ------------ c write(nout,105) if(supltot2.ne.0.D0) then write(nout,99) write(nout,100) 1000002,supltot2,'sup_L decays' write(nout,101) if(brsuplnup(1).ne.0.D0) then write(nout,102) brsuplnup(1),2,in1,iu ,'BR(~u_L -> ~chi_10 u)' endif if(brsuplnup(2).ne.0.D0) then write(nout,102) brsuplnup(2),2,in2,iu ,'BR(~u_L -> ~chi_20 u)' endif if(brsuplnup(3).ne.0.D0) then write(nout,102) brsuplnup(3),2,in3,iu ,'BR(~u_L -> ~chi_30 u)' endif if(brsuplnup(4).ne.0.D0) then write(nout,102) brsuplnup(4),2,in4,iu ,'BR(~u_L -> ~chi_40 u)' endif if(brsuplcdow(1).ne.0.D0) then write(nout,102) brsuplcdow(1),2,ic1,id ,'BR(~u_L -> ~chi_1+ d)' endif if(brsuplcdow(2).ne.0.D0) then write(nout,102) brsuplcdow(2),2,ic2,id ,'BR(~u_L -> ~chi_2+ d)' endif if(brsuplglui.ne.0.D0) then write(nout,102) brsuplglui,2,iglo,iu ,'BR(~u_L -> ~g u)' endif elseif(supltot2.eq.0.D0) then write(nout,99) write(nout,100) 1000002,0.000000000E+00,'sup_L decays' endif c ------------ c c Sup_R decays c c ------------ c write(nout,105) if(suprtot2.ne.0.D0) then write(nout,99) write(nout,100) 2000002,suprtot2,'sup_R decays' write(nout,101) if(brsuprnup(1).ne.0.D0) then write(nout,102) brsuprnup(1),2,in1,iu ,'BR(~u_R -> ~chi_10 u)' endif if(brsuprnup(2).ne.0.D0) then write(nout,102) brsuprnup(2),2,in2,iu ,'BR(~u_R -> ~chi_20 u)' endif if(brsuprnup(3).ne.0.D0) then write(nout,102) brsuprnup(3),2,in3,iu ,'BR(~u_R -> ~chi_30 u)' endif if(brsuprnup(4).ne.0.D0) then write(nout,102) brsuprnup(4),2,in4,iu ,'BR(~u_R -> ~chi_40 u)' endif if(brsuprcdow(1).ne.0.D0) then write(nout,102) brsuprcdow(1),2,ic1,id ,'BR(~u_R -> ~chi_1+ d)' endif if(brsuprcdow(2).ne.0.D0) then write(nout,102) brsuprcdow(2),2,ic2,id ,'BR(~u_R -> ~chi_2+ d)' endif if(brsuprglui.ne.0.D0) then write(nout,102) brsuprglui,2,iglo,iu ,'BR(~u_R -> ~g u)' endif elseif(suprtot2.eq.0.D0) then write(nout,99) write(nout,100) 2000002,0.000000000E+00,'sup_R decays' endif c -------------- c c Sdown_L decays c c -------------- c write(nout,105) if(sdowltot2.ne.0.D0) then write(nout,99) write(nout,100) 1000001,sdowltot2,'sdown_L decays' write(nout,101) if(brsdowlndow(1).ne.0.D0) then write(nout,102) brsdowlndow(1),2,in1,id ,'BR(~d_L -> ~chi_10 d)' endif if(brsdowlndow(2).ne.0.D0) then write(nout,102) brsdowlndow(2),2,in2,id ,'BR(~d_L -> ~chi_20 d)' endif if(brsdowlndow(3).ne.0.D0) then write(nout,102) brsdowlndow(3),2,in3,id ,'BR(~d_L -> ~chi_30 d)' endif if(brsdowlndow(4).ne.0.D0) then write(nout,102) brsdowlndow(4),2,in4,id ,'BR(~d_L -> ~chi_40 d)' endif if(brsdowlchup(1).ne.0.D0) then write(nout,102) brsdowlchup(1),2,-ic1,iu ,'BR(~d_L -> ~chi_1- u)' endif if(brsdowlchup(2).ne.0.D0) then write(nout,102) brsdowlchup(2),2,-ic2,iu ,'BR(~d_L -> ~chi_2- u)' endif if(brsdowlglui.ne.0.D0) then write(nout,102) brsdowlglui,2,iglo,id ,'BR(~d_L -> ~g d)' endif elseif(sdowltot2.eq.0.D0) then write(nout,99) write(nout,100) 1000001,0.000000000E+00,'sdown_L decays' endif c -------------- c c Sdown_R decays c c -------------- c write(nout,105) if(sdowrtot2.ne.0.D0) then write(nout,99) write(nout,100) 2000001,sdowrtot2,'sdown_R decays' write(nout,101) if(brsdowrndow(1).ne.0.D0) then write(nout,102) brsdowrndow(1),2,in1,id ,'BR(~d_R -> ~chi_10 d)' endif if(brsdowrndow(2).ne.0.D0) then write(nout,102) brsdowrndow(2),2,in2,id ,'BR(~d_R -> ~chi_20 d)' endif if(brsdowrndow(3).ne.0.D0) then write(nout,102) brsdowrndow(3),2,in3,id ,'BR(~d_R -> ~chi_30 d)' endif if(brsdowrndow(4).ne.0.D0) then write(nout,102) brsdowrndow(4),2,in4,id ,'BR(~d_R -> ~chi_40 d)' endif if(brsdowrchup(1).ne.0.D0) then write(nout,102) brsdowrchup(1),2,-ic1,iu ,'BR(~d_R -> ~chi_1- u)' endif if(brsdowrchup(2).ne.0.D0) then write(nout,102) brsdowrchup(2),2,-ic2,iu ,'BR(~d_R -> ~chi_2- u)' endif if(brsdowrglui.ne.0.D0) then write(nout,102) brsdowrglui,2,iglo,id ,'BR(~d_R -> ~g d)' endif elseif(sdowrtot2.eq.0.D0) then write(nout,99) write(nout,100) 2000001,0.000000000E+00,'sdown_R decays' endif c --------------- c c Scharm_L decays c c --------------- c write(nout,105) if(supltot2.ne.0.D0) then write(nout,99) write(nout,100) 1000004,supltot2,'scharm_L decays' write(nout,101) if(brsuplnup(1).ne.0.D0) then write(nout,102) brsuplnup(1),2,in1,ic ,'BR(~c_L -> ~chi_10 c)' endif if(brsuplnup(2).ne.0.D0) then write(nout,102) brsuplnup(2),2,in2,ic ,'BR(~c_L -> ~chi_20 c)' endif if(brsuplnup(3).ne.0.D0) then write(nout,102) brsuplnup(3),2,in3,ic ,'BR(~c_L -> ~chi_30 c)' endif if(brsuplnup(4).ne.0.D0) then write(nout,102) brsuplnup(4),2,in4,ic ,'BR(~c_L -> ~chi_40 c)' endif if(brsuplcdow(1).ne.0.D0) then write(nout,102) brsuplcdow(1),2,ic1,is ,'BR(~c_L -> ~chi_1+ s)' endif if(brsuplcdow(2).ne.0.D0) then write(nout,102) brsuplcdow(2),2,ic2,is ,'BR(~c_L -> ~chi_2+ s)' endif if(brsuplglui.ne.0.D0) then write(nout,102) brsuplglui,2,iglo,ic ,'BR(~c_L -> ~g c)' endif elseif(supltot2.eq.0.D0) then write(nout,99) write(nout,100) 1000004,0.000000000E+00,'scharm_L decays' endif c --------------- c c Scharm_R decays c c --------------- c write(nout,105) if(suprtot2.ne.0.D0) then write(nout,99) write(nout,100) 2000004,suprtot2,'scharm_R decays' write(nout,101) if(brsuprnup(1).ne.0.D0) then write(nout,102) brsuprnup(1),2,in1,ic ,'BR(~c_R -> ~chi_10 c)' endif if(brsuprnup(2).ne.0.D0) then write(nout,102) brsuprnup(2),2,in2,ic ,'BR(~c_R -> ~chi_20 c)' endif if(brsuprnup(3).ne.0.D0) then write(nout,102) brsuprnup(3),2,in3,ic ,'BR(~c_R -> ~chi_30 c)' endif if(brsuprnup(4).ne.0.D0) then write(nout,102) brsuprnup(4),2,in4,ic ,'BR(~c_R -> ~chi_40 c)' endif if(brsuprcdow(1).ne.0.D0) then write(nout,102) brsuprcdow(1),2,ic1,is ,'BR(~c_R -> ~chi_1+ s)' endif if(brsuprcdow(2).ne.0.D0) then write(nout,102) brsuprcdow(2),2,ic2,is ,'BR(~c_R -> ~chi_2+ s)' endif if(brsuprglui.ne.0.D0) then write(nout,102) brsuprglui,2,iglo,ic ,'BR(~c_R -> ~g c)' endif elseif(suprtot2.eq.0.D0) then write(nout,99) write(nout,100) 2000004,0.000000000E+00,'scharm_R decays' endif c ----------------- c c Sstrange_L decays c c ----------------- c write(nout,105) if(sdowltot2.ne.0.D0) then write(nout,99) write(nout,100) 1000003,sdowltot2,'sstrange_L decays' write(nout,101) if(brsdowlndow(1).ne.0.D0) then write(nout,102) brsdowlndow(1),2,in1,is ,'BR(~s_L -> ~chi_10 s)' endif if(brsdowlndow(2).ne.0.D0) then write(nout,102) brsdowlndow(2),2,in2,is ,'BR(~s_L -> ~chi_20 s)' endif if(brsdowlndow(3).ne.0.D0) then write(nout,102) brsdowlndow(3),2,in3,is ,'BR(~s_L -> ~chi_30 s)' endif if(brsdowlndow(4).ne.0.D0) then write(nout,102) brsdowlndow(4),2,in4,is ,'BR(~s_L -> ~chi_40 s)' endif if(brsdowlchup(1).ne.0.D0) then write(nout,102) brsdowlchup(1),2,-ic1,ic ,'BR(~s_L -> ~chi_1- c)' endif if(brsdowlchup(2).ne.0.D0) then write(nout,102) brsdowlchup(2),2,-ic2,ic ,'BR(~s_L -> ~chi_2- c)' endif if(brsdowlglui.ne.0.D0) then write(nout,102) brsdowlglui,2,iglo,is ,'BR(~s_L -> ~g s)' endif elseif(sdowltot2.eq.0.D0) then write(nout,99) write(nout,100) 1000003,0.000000000E+00,'sstrange_L decays' endif c ----------------- c c Sstrange_R decays c c ----------------- c write(nout,105) if(sdowrtot2.ne.0.D0) then write(nout,99) write(nout,100) 2000003,sdowrtot2,'sstrange_R decays' write(nout,101) if(brsdowrndow(1).ne.0.D0) then write(nout,102) brsdowrndow(1),2,in1,is ,'BR(~s_R -> ~chi_10 s)' endif if(brsdowrndow(2).ne.0.D0) then write(nout,102) brsdowrndow(2),2,in2,is ,'BR(~s_R -> ~chi_20 s)' endif if(brsdowrndow(3).ne.0.D0) then write(nout,102) brsdowrndow(3),2,in3,is ,'BR(~s_R -> ~chi_30 s)' endif if(brsdowrndow(4).ne.0.D0) then write(nout,102) brsdowrndow(4),2,in4,is ,'BR(~s_R -> ~chi_40 s)' endif if(brsdowrchup(1).ne.0.D0) then write(nout,102) brsdowrchup(1),2,-ic1,ic ,'BR(~s_R -> ~chi_1- c)' endif if(brsdowrchup(2).ne.0.D0) then write(nout,102) brsdowrchup(2),2,-ic2,ic ,'BR(~s_R -> ~chi_2- c)' endif if(brsdowrglui.ne.0.D0) then write(nout,102) brsdowrglui,2,iglo,is ,'BR(~s_R -> ~g s)' endif elseif(sdowrtot2.eq.0.D0) then write(nout,99) write(nout,100) 2000003,0.000000000E+00,'sstrange_R decays' endif c ------------------ c c Selectron_L decays c c ------------------ c write(nout,105) if(selltot2.ne.0.D0) then write(nout,99) write(nout,100) 1000011,selltot2,'selectron_L decays' write(nout,101) if(brsellneute(1).ne.0.D0) then write(nout,102) brsellneute(1),2,in1,ie ,'BR(~e_L -> ~chi_10 e-) .' endif if(brsellneute(2).ne.0.D0) then write(nout,102) brsellneute(2),2,in2,ie ,'BR(~e_L -> ~chi_20 e-) .' endif if(brsellneute(3).ne.0.D0) then write(nout,102) brsellneute(3),2,in3,ie ,'BR(~e_L -> ~chi_30 e-) .' endif if(brsellneute(4).ne.0.D0) then write(nout,102) brsellneute(4),2,in4,ie ,'BR(~e_L -> ~chi_40 e-) .' endif if(brsellcharnue(1).ne.0.D0) then write(nout,102) brsellcharnue(1),2,-ic1,ine,'BR(~e_L -> ~chi_1- nu ._e)' endif if(brsellcharnue(2).ne.0.D0) then write(nout,102) brsellcharnue(2),2,-ic2,ine,'BR(~e_L -> ~chi_2- nu ._e)' endif elseif(selltot2.eq.0.D0) then write(nout,99) write(nout,100) 1000011,0.000000000E+00,'selectron_L decays' endif c ------------------ c c Selectron_R decays c c ------------------ c write(nout,105) if(selrtot2.ne.0.D0) then write(nout,99) write(nout,100) 2000011,selrtot2,'selectron_R decays' write(nout,101) if(brselrneute(1).ne.0.D0) then write(nout,102) brselrneute(1),2,in1,ie ,'BR(~e_R -> ~chi_10 e-) .' endif if(brselrneute(2).ne.0.D0) then write(nout,102) brselrneute(2),2,in2,ie ,'BR(~e_R -> ~chi_20 e-) .' endif if(brselrneute(3).ne.0.D0) then write(nout,102) brselrneute(3),2,in3,ie ,'BR(~e_R -> ~chi_30 e-) .' endif if(brselrneute(4).ne.0.D0) then write(nout,102) brselrneute(4),2,in4,ie ,'BR(~e_R -> ~chi_40 e-) .' endif if(brselrcharnue(1).ne.0.D0) then write(nout,102) brselrcharnue(1),2,-ic1,ine,'BR(~e_R -> ~chi_1- nu ._e)' endif if(brselrcharnue(2).ne.0.D0) then write(nout,102) brselrcharnue(2),2,-ic2,ine,'BR(~e_R -> ~chi_2- nu ._e)' endif elseif(selrtot2.eq.0.D0) then write(nout,99) write(nout,100) 2000011,0.000000000E+00,'selectron_R decays' endif c -------------- c c Smuon_L decays c c -------------- c write(nout,105) if(selltot2.ne.0.D0) then write(nout,99) write(nout,100) 1000013,selltot2,'smuon_L decays' write(nout,101) if(brsellneute(1).ne.0.D0) then write(nout,102) brsellneute(1),2,in1,imu,'BR(~mu_L -> ~chi_10 mu-) .' endif if(brsellneute(2).ne.0.D0) then write(nout,102) brsellneute(2),2,in2,imu,'BR(~mu_L -> ~chi_20 mu-) .' endif if(brsellneute(3).ne.0.D0) then write(nout,102) brsellneute(3),2,in3,imu,'BR(~mu_L -> ~chi_30 mu-) .' endif if(brsellneute(4).ne.0.D0) then write(nout,102) brsellneute(4),2,in4,imu,'BR(~mu_L -> ~chi_40 mu-) .' endif if(brsellcharnue(1).ne.0.D0) then write(nout,102) brsellcharnue(1),2,-ic1,inmu,'BR(~mu_L -> ~chi_1- .nu_mu)' endif if(brsellcharnue(2).ne.0.D0) then write(nout,102) brsellcharnue(2),2,-ic2,inmu,'BR(~mu_L -> ~chi_2- .nu_mu)' endif elseif(selltot2.eq.0.D0) then write(nout,99) write(nout,100) 1000013,0.000000000E+00,'smuon_L decays' endif c ------------------ c c Smuon_R decays c c ------------------ c write(nout,105) if(selrtot2.ne.0.D0) then write(nout,99) write(nout,100) 2000013,selrtot2,'smuon_R decays' write(nout,101) if(brselrneute(1).ne.0.D0) then write(nout,102) brselrneute(1),2,in1,imu,'BR(~mu_R -> ~chi_10 mu-) .' endif if(brselrneute(2).ne.0.D0) then write(nout,102) brselrneute(2),2,in2,imu,'BR(~mu_R -> ~chi_20 mu-) .' endif if(brselrneute(3).ne.0.D0) then write(nout,102) brselrneute(3),2,in3,imu,'BR(~mu_R -> ~chi_30 mu-) .' endif if(brselrneute(4).ne.0.D0) then write(nout,102) brselrneute(4),2,in4,imu,'BR(~mu_R -> ~chi_40 mu-) .' endif if(brselrcharnue(1).ne.0.D0) then write(nout,102) brselrcharnue(1),2,-ic1,inmu,'BR(~mu_R -> ~chi_1- .nu_mu)' endif if(brselrcharnue(2).ne.0.D0) then write(nout,102) brselrcharnue(2),2,-ic2,inmu,'BR(~mu_R -> ~chi_2- .nu_mu)' endif elseif(selrtot2.eq.0.D0) then write(nout,99) write(nout,100) 2000013,0.000000000E+00,'smuon_R decays' endif c ------------- c c Stau_1 decays c c ------------- c write(nout,105) if(stau1tot2.ne.0.D0) then write(nout,99) write(nout,100) 1000015,stau1tot2,'stau_1 decays' write(nout,101) if(brstau1neut(1).ne.0.D0) then write(nout,102) brstau1neut(1),2,in1,itau, 'BR(~tau_1 -> ~chi_10 . tau-)' endif if(brstau1neut(2).ne.0.D0) then write(nout,102) brstau1neut(2),2,in2,itau, 'BR(~tau_1 -> ~chi_20 . tau-)' endif if(brstau1neut(3).ne.0.D0) then write(nout,102) brstau1neut(3),2,in3,itau, 'BR(~tau_1 -> ~chi_30 . tau-)' endif if(brstau1neut(4).ne.0.D0) then write(nout,102) brstau1neut(4),2,in4,itau, 'BR(~tau_1 -> ~chi_40 . tau-)' endif if(brstau1char(1).ne.0.D0) then write(nout,102) brstau1char(1),2,-ic1,intau,'BR(~tau_1 -> ~chi_1- . nu_tau)' endif if(brstau1char(2).ne.0.D0) then write(nout,102) brstau1char(2),2,-ic2,intau,'BR(~tau_1 -> ~chi_2- . nu_tau)' endif if(brstau1hcsn(1).ne.0.D0) then write(nout,102) brstau1hcsn(1),2,intau1,-ihc,'BR(~tau_1 -> ~nu_tau .L H-)' endif if(brstau1wsn(1).ne.0.D0) then write(nout,102) brstau1wsn(1),2,intau1,-iwc,'BR(~tau_1 -> ~nu_tauL . W-)' endif if(flagnlspgmsb.eq.1.D0) then if(brstautaugrav.ne.0.D0) then write(nout,102) brstautaugrav,2,igrav,itau, 'BR(~tau_1 -> ~G . tau-)' endif endif elseif(stau1tot2.eq.0.D0) then write(nout,99) write(nout,100) 1000015,0.000000000E+00,'stau_1 decays' endif c ------------- c c Stau_2 decays c c ------------- c write(nout,105) if(stau2tot2.ne.0.D0) then write(nout,99) write(nout,100) 2000015,stau2tot2,'stau_2 decays' write(nout,101) if(brstau2neut(1).ne.0.D0) then write(nout,102) brstau2neut(1),2,in1,itau, 'BR(~tau_2 -> ~chi_10 . tau-)' endif if(brstau2neut(2).ne.0.D0) then write(nout,102) brstau2neut(2),2,in2,itau, 'BR(~tau_2 -> ~chi_20 . tau-)' endif if(brstau2neut(3).ne.0.D0) then write(nout,102) brstau2neut(3),2,in3,itau, 'BR(~tau_2 -> ~chi_30 . tau-)' endif if(brstau2neut(4).ne.0.D0) then write(nout,102) brstau2neut(4),2,in4,itau, 'BR(~tau_2 -> ~chi_40 . tau-)' endif if(brstau2char(1).ne.0.D0) then write(nout,102) brstau2char(1),2,-ic1,intau,'BR(~tau_2 -> ~chi_1- . nu_tau)' endif if(brstau2char(2).ne.0.D0) then write(nout,102) brstau2char(2),2,-ic2,intau,'BR(~tau_2 -> ~chi_2- . nu_tau)' endif if(brstau2hcsn(1).ne.0.D0) then write(nout,102) brstau2hcsn(1),2,intau1,-ihc,'BR(~tau_2 -> ~nu_tau .L H-)' endif if(brstau2wsn(1).ne.0.D0) then write(nout,102) brstau2wsn(1),2,intau1,-iwc,'BR(~tau_2 -> ~nu_tauL . W-)' endif if(brstau2hl.ne.0.D0) then write(nout,102) brstau2hl,2,istau1,ihl, 'BR(~tau_2 -> ~tau_1 . h)' endif if(brstau2hh.ne.0.D0) then write(nout,102) brstau2hh,2,istau1,ihh, 'BR(~tau_2 -> ~tau_1 . H)' endif if(brstau2ha.ne.0.D0) then write(nout,102) brstau2ha,2,istau1,iha, 'BR(~tau_2 -> ~tau_1 . A)' endif if(brstau2ztau.ne.0.D0) then write(nout,102) brstau2ztau,2,istau1,iz, 'BR(~tau_2 -> ~tau_1 . Z)' endif elseif(stau2tot2.eq.0.D0) then write(nout,99) write(nout,100) 2000015,0.000000000E+00,'stau_2 decays' endif c -------------------- c c Snu_electronL decays c c -------------------- c write(nout,105) if(sneltot2.ne.0.D0) then write(nout,99) write(nout,100) 1000012,sneltot2,'snu_eL decays' write(nout,101) if(brsnellneut(1).ne.0.D0) then write(nout,102) brsnellneut(1),2,in1,ine, 'BR(~nu_eL -> ~chi_10 nu ._e)' endif if(brsnellneut(2).ne.0.D0) then write(nout,102) brsnellneut(2),2,in2,ine, 'BR(~nu_eL -> ~chi_20 nu ._e)' endif if(brsnellneut(3).ne.0.D0) then write(nout,102) brsnellneut(3),2,in3,ine, 'BR(~nu_eL -> ~chi_30 nu ._e)' endif if(brsnellneut(4).ne.0.D0) then write(nout,102) brsnellneut(4),2,in4,ine, 'BR(~nu_eL -> ~chi_40 nu ._e)' endif if(brsnellchar(1).ne.0.D0) then write(nout,102) brsnellchar(1),2,ic1,ie, 'BR(~nu_eL -> ~chi_1+ e- .)' endif if(brsnellchar(2).ne.0.D0) then write(nout,102) brsnellchar(2),2,ic2,ie, 'BR(~nu_eL -> ~chi_2+ e- .)' endif elseif(sneltot2.eq.0.D0) then write(nout,99) write(nout,100) 1000012,0.000000000E+00,'snu_eL decays' endif c ---------------- c c Snu_muonL decays c c ---------------- c write(nout,105) if(sneltot2.ne.0.D0) then write(nout,99) write(nout,100) 1000014,sneltot2,'snu_muL decays' write(nout,101) if(brsnellneut(1).ne.0.D0) then write(nout,102) brsnellneut(1),2,in1,inmu, 'BR(~nu_muL -> ~chi_10 .nu_mu)' endif if(brsnellneut(2).ne.0.D0) then write(nout,102) brsnellneut(2),2,in2,inmu, 'BR(~nu_muL -> ~chi_20 .nu_mu)' endif if(brsnellneut(3).ne.0.D0) then write(nout,102) brsnellneut(3),2,in3,inmu, 'BR(~nu_muL -> ~chi_30 .nu_mu)' endif if(brsnellneut(4).ne.0.D0) then write(nout,102) brsnellneut(4),2,in4,inmu, 'BR(~nu_muL -> ~chi_40 .nu_mu)' endif if(brsnellchar(1).ne.0.D0) then write(nout,102) brsnellchar(1),2,ic1,imu, 'BR(~nu_muL -> ~chi_1+ .mu-)' endif if(brsnellchar(2).ne.0.D0) then write(nout,102) brsnellchar(2),2,ic2,imu, 'BR(~nu_muL -> ~chi_2+ .mu-)' endif elseif(sneltot2.eq.0.D0) then write(nout,99) write(nout,100) 1000014,0.000000000E+00,'snu_muL decays' endif c --------------- c c Snu_tauL decays c c --------------- c write(nout,105) if(sntautot2.ne.0.D0) then write(nout,99) write(nout,100) 1000016,sntautot2,'snu_tauL decays' write(nout,101) if(brsntauneut(1).ne.0.D0) then write(nout,102) brsntauneut(1),2,in1,intau, 'BR(~nu_tauL -> ~chi_1 .0 nu_tau)' endif if(brsntauneut(2).ne.0.D0) then write(nout,102) brsntauneut(2),2,in2,intau, 'BR(~nu_tauL -> ~chi_2 .0 nu_tau)' endif if(brsntauneut(3).ne.0.D0) then write(nout,102) brsntauneut(3),2,in3,intau, 'BR(~nu_tauL -> ~chi_3 .0 nu_tau)' endif if(brsntauneut(4).ne.0.D0) then write(nout,102) brsntauneut(4),2,in4,intau, 'BR(~nu_tauL -> ~chi_4 .0 nu_tau)' endif if(brsntauchar(1).ne.0.D0) then write(nout,102) brsntauchar(1),2,ic1,itau, 'BR(~nu_tauL -> ~chi_1 .+ tau-)' endif if(brsntauchar(2).ne.0.D0) then write(nout,102) brsntauchar(2),2,ic2,itau, 'BR(~nu_tauL -> ~chi_2 .+ tau-)' endif if(brsntau1hcstau(1).ne.0.D0) then write(nout,102) brsntau1hcstau(1),2,-istau1,-ihc,'BR(~nu_tauL -> ~ .tau_1+ H-)' endif if(brsntau1hcstau(2).ne.0.D0) then write(nout,102) brsntau1hcstau(2),2,-istau2,-ihc,'BR(~nu_tauL -> ~ .tau_2+ H-)' endif if(brsntau1wstau(1).ne.0.D0) then write(nout,102) brsntau1wstau(1),2,-istau1,-iwc, 'BR(~nu_tauL -> ~ .tau_1+ W-)' endif if(brsntau1wstau(2).ne.0.D0) then write(nout,102) brsntau1wstau(2),2,-istau2,-iwc, 'BR(~nu_tauL -> ~ .tau_2+ W-)' endif elseif(sntautot2.eq.0.D0) then write(nout,99) write(nout,100) 1000016,0.000000000E+00,'snu_tauL decays' endif c ---------------- c c chargino1 decays c c ---------------- c do i=1,2,1 if(chartot2(i).eq.0.D0) then flagchartot2(i) = 10.D0 elseif(chartot2(i).ne.0.D0) then flagchartot2(i) = 40.D0 endif flagcondchar(i) = flagchartot2(i)+flagmulti end do write(nout,105) if(flagcondchar(1).eq.10.D0) then write(nout,99) write(nout,100) 1000024,0.000000000E+00,'chargino1+ decays' elseif(flagcondchar(1).eq.40.D0.or.flagcondchar(1).eq.41.D0) then write(nout,99) write(nout,100) 1000024,chartot2(1),'chargino1+ decays' write(nout,101) if(brcharsupl(1).ne.0.D0) then write(nout,102) brcharsupl(1),2,isul,idb, 'BR(~chi_1+ -> ~u_L . db)' endif if(brcharsupr(1).ne.0.D0) then write(nout,102) brcharsupr(1),2,isur,idb, 'BR(~chi_1+ -> ~u_R . db)' endif if(brcharsdownl(1).ne.0.D0) then write(nout,102) brcharsdownl(1),2,-isdl,iu,'BR(~chi_1+ -> ~d_L* . u )' endif if(brcharsdownr(1).ne.0.D0) then write(nout,102) brcharsdownr(1),2,-isdr,iu,'BR(~chi_1+ -> ~d_R* . u )' endif if(brcharsupl(1).ne.0.D0) then write(nout,102) brcharsupl(1),2,iscl,isb, 'BR(~chi_1+ -> ~c_L . sb)' endif if(brcharsupr(1).ne.0.D0) then write(nout,102) brcharsupr(1),2,iscr,isb, 'BR(~chi_1+ -> ~c_R . sb)' endif if(brcharsdownl(1).ne.0.D0) then write(nout,102) brcharsdownl(1),2,-issl,ic,'BR(~chi_1+ -> ~s_L* . c )' endif if(brcharsdownr(1).ne.0.D0) then write(nout,102) brcharsdownr(1),2,-issr,ic,'BR(~chi_1+ -> ~s_R* . c )' endif if(brcharst1(1).ne.0.D0) then write(nout,102) brcharst1(1),2,ist1,ibb, 'BR(~chi_1+ -> ~t_1 . bb)' endif if(brcharst2(1).ne.0.D0) then write(nout,102) brcharst2(1),2,ist2,ibb, 'BR(~chi_1+ -> ~t_2 . bb)' endif if(brcharsb1(1).ne.0.D0) then write(nout,102) brcharsb1(1),2,-isb1,it, 'BR(~chi_1+ -> ~b_1* . t )' endif if(brcharsb2(1).ne.0.D0) then write(nout,102) brcharsb2(1),2,-isb2,it, 'BR(~chi_1+ -> ~b_2* . t )' endif if(brcharsnel(1).ne.0.D0) then write(nout,102) brcharsnel(1),2,inel,-ie, 'BR(~chi_1+ -> ~nu_eL . e+ )' write(nout,102) brcharsnel(1),2,inmul,-imu,'BR(~chi_1+ -> ~nu_muL . mu+ )' endif if(brcharsn1(1).ne.0.D0) then write(nout,102) brcharsn1(1),2,intau1,-itau,'BR(~chi_1+ -> ~nu_tau .1 tau+)' endif if(brcharsell(1).ne.0.D0) then write(nout,102) brcharsell(1),2,-isell,ine,'BR(~chi_1+ -> ~e_L+ . nu_e)' endif if(brcharselr(1).ne.0.D0) then write(nout,102) brcharselr(1),2,-iselr,ine,'BR(~chi_1+ -> ~e_R+ . nu_e)' endif if(brcharsell(1).ne.0.D0) then write(nout,102) brcharsell(1),2,-ismul,inmu,'BR(~chi_1+ -> ~mu_L+ . nu_mu)' endif if(brcharselr(1).ne.0.D0) then write(nout,102) brcharselr(1),2,-ismur,inmu,'BR(~chi_1+ -> ~mu_R+ . nu_mu)' endif if(brcharstau1(1).ne.0.D0) then write(nout,102) brcharstau1(1),2,-istau1,intau,'BR(~chi_1+ -> ~tau ._1+ nu_tau)' endif if(brcharstau2(1).ne.0.D0) then write(nout,102) brcharstau2(1),2,-istau2,intau,'BR(~chi_1+ -> ~tau ._2+ nu_tau)' endif if(brcharwneut(1,1).ne.0.D0) then write(nout,102) brcharwneut(1,1),2,in1,iwc, 'BR(~chi_1+ -> ~chi ._10 W+)' endif if(brcharwneut(1,2).ne.0.D0) then write(nout,102) brcharwneut(1,2),2,in2,iwc, 'BR(~chi_1+ -> ~chi ._20 W+)' endif if(brcharwneut(1,3).ne.0.D0) then write(nout,102) brcharwneut(1,3),2,in3,iwc, 'BR(~chi_1+ -> ~chi ._30 W+)' endif if(brcharwneut(1,4).ne.0.D0) then write(nout,102) brcharwneut(1,4),2,in4,iwc, 'BR(~chi_1+ -> ~chi ._40 W+)' endif if(brcharhcneut(1,1).ne.0.D0) then write(nout,102) brcharhcneut(1,1),2,in1,ihc, 'BR(~chi_1+ -> ~chi ._10 H+)' endif if(brcharhcneut(1,2).ne.0.D0) then write(nout,102) brcharhcneut(1,2),2,in2,ihc, 'BR(~chi_1+ -> ~chi ._20 H+)' endif if(brcharhcneut(1,3).ne.0.D0) then write(nout,102) brcharhcneut(1,3),2,in3,ihc, 'BR(~chi_1+ -> ~chi ._30 H+)' endif if(brcharhcneut(1,4).ne.0.D0) then write(nout,102) brcharhcneut(1,4),2,in4,ihc, 'BR(~chi_1+ -> ~chi ._40 H+)' endif if(flagnlspgmsb.eq.1.D0) then if(brcharwgravitino(1).ne.0.D0) then write(nout,102) brcharwgravitino(1),2,igrav,iwc, 'BR(~chi_1+ -> ~G . W+)' endif if(brcharhcgravitino(1).ne.0.D0) then write(nout,102) brcharhcgravitino(1),2,igrav,ihc,'BR(~chi_1+ -> ~G . H+)' endif endif elseif(flagcondchar(1).eq.11.D0) then if(chartot(1).ne.0.D0) then write(nout,99) write(nout,100) 1000024,chartot(1),'chargino1+ decays' c if(flagnlspgmsb.eq.1.D0) then write(nout,101) if(brcharwgravitino(1).ne.0.D0) then write(nout,102) brcharwgravitino(1),2,igrav,iwc, 'BR(~chi_1+ -> ~G . W+)' endif if(brcharhcgravitino(1).ne.0.D0) then write(nout,102) brcharhcgravitino(1),2,igrav,ihc,'BR(~chi_1+ -> ~G . H+)' endif endif c if(flagchar3bod(1).eq.1.D0) then write(nout,103) endif if(brnupdb(1,1).ne.0.D0) then write(nout,104) brnupdb(1,1),3,in1,iu,idb, 'BR(~chi_1+ -> ~chi ._10 u db)' endif if(brnupdb(1,2).ne.0.D0) then write(nout,104) brnupdb(1,2),3,in2,iu,idb, 'BR(~chi_1+ -> ~chi ._20 u db)' endif if(brnupdb(1,3).ne.0.D0) then write(nout,104) brnupdb(1,3),3,in3,iu,idb, 'BR(~chi_1+ -> ~chi ._30 u db)' endif if(brnupdb(1,4).ne.0.D0) then write(nout,104) brnupdb(1,4),3,in4,iu,idb, 'BR(~chi_1+ -> ~chi ._40 u db)' endif if(brnupdb(1,1).ne.0.D0) then write(nout,104) brnupdb(1,1),3,in1,ic,isb, 'BR(~chi_1+ -> ~chi ._10 c sb)' endif if(brnupdb(1,2).ne.0.D0) then write(nout,104) brnupdb(1,2),3,in2,ic,isb, 'BR(~chi_1+ -> ~chi ._20 c sb)' endif if(brnupdb(1,3).ne.0.D0) then write(nout,104) brnupdb(1,3),3,in3,ic,isb, 'BR(~chi_1+ -> ~chi ._30 c sb)' endif if(brnupdb(1,4).ne.0.D0) then write(nout,104) brnupdb(1,4),3,in4,ic,isb, 'BR(~chi_1+ -> ~chi ._40 c sb)' endif if(brntopbb(1,1).ne.0.D0) then write(nout,104) brntopbb(1,1),3,in1,it,ibb, 'BR(~chi_1+ -> ~chi ._10 t bb)' endif if(brntopbb(1,2).ne.0.D0) then write(nout,104) brntopbb(1,2),3,in2,it,ibb, 'BR(~chi_1+ -> ~chi ._20 t bb)' endif if(brntopbb(1,3).ne.0.D0) then write(nout,104) brntopbb(1,3),3,in3,it,ibb, 'BR(~chi_1+ -> ~chi ._30 t bb)' endif if(brntopbb(1,4).ne.0.D0) then write(nout,104) brntopbb(1,4),3,in4,it,ibb, 'BR(~chi_1+ -> ~chi ._40 t bb)' endif if(brnelnue(1,1).ne.0.D0) then write(nout,104) brnelnue(1,1),3,in1,-ie,ine, 'BR(~chi_1+ -> ~chi ._10 e+ nu_e)' endif if(brnelnue(1,2).ne.0.D0) then write(nout,104) brnelnue(1,2),3,in2,-ie,ine, 'BR(~chi_1+ -> ~chi ._20 e+ nu_e)' endif if(brnelnue(1,3).ne.0.D0) then write(nout,104) brnelnue(1,3),3,in3,-ie,ine, 'BR(~chi_1+ -> ~chi ._30 e+ nu_e)' endif if(brnelnue(1,4).ne.0.D0) then write(nout,104) brnelnue(1,4),3,in4,-ie,ine, 'BR(~chi_1+ -> ~chi ._40 e+ nu_e)' endif if(brnmunumu(1,1).ne.0.D0) then write(nout,104) brnmunumu(1,1),3,in1,-imu,inmu,'BR(~chi_1+ -> ~chi ._10 mu+ nu_mu)' endif if(brnmunumu(1,2).ne.0.D0) then write(nout,104) brnmunumu(1,2),3,in2,-imu,inmu,'BR(~chi_1+ -> ~chi ._20 mu+ nu_mu)' endif if(brnmunumu(1,3).ne.0.D0) then write(nout,104) brnmunumu(1,3),3,in3,-imu,inmu,'BR(~chi_1+ -> ~chi ._30 mu+ nu_mu)' endif if(brnmunumu(1,4).ne.0.D0) then write(nout,104) brnmunumu(1,4),3,in4,-imu,inmu,'BR(~chi_1+ -> ~chi ._40 mu+ nu_mu)' endif if(brntaunut(1,1).ne.0.D0) then write(nout,104) brntaunut(1,1),3,in1,-itau,intau,'BR(~chi_1+ -> ~c .hi_10 tau+ nu_tau)' endif if(brntaunut(1,2).ne.0.D0) then write(nout,104) brntaunut(1,2),3,in2,-itau,intau,'BR(~chi_1+ -> ~c .hi_20 tau+ nu_tau)' endif if(brntaunut(1,3).ne.0.D0) then write(nout,104) brntaunut(1,3),3,in3,-itau,intau,'BR(~chi_1+ -> ~c .hi_30 tau+ nu_tau)' endif if(brntaunut(1,4).ne.0.D0) then write(nout,104) brntaunut(1,4),3,in4,-itau,intau,'BR(~chi_1+ -> ~c .hi_40 tau+ nu_tau)' endif if(brglupdb(1).ne.0.D0) then write(nout,104) brglupdb(1),3,iglo,iu,idb, 'BR(~chi_1+ -> ~g . u db)' endif if(brglchsb(1).ne.0.D0) then write(nout,104) brglchsb(1),3,iglo,ic,isb, 'BR(~chi_1+ -> ~g . c sb)' endif if(brgltopbb(1).ne.0.D0) then write(nout,104) brgltopbb(1),3,iglo,it,ibb, 'BR(~chi_1+ -> ~g . t bb)' endif elseif(chartot(1).eq.0.D0) then write(nout,99) write(nout,100) 1000024,0.000000000E+00,'chargino1+ decays' endif endif c ---------------- c c chargino2 decays c c ---------------- c write(nout,105) if(flagcondchar(2).eq.10.D0) then write(nout,99) write(nout,100) 1000037,0.000000000E+00,'chargino2+ decays' elseif(flagcondchar(2).eq.40.D0.or.flagcondchar(2).eq.41.D0) then write(nout,99) write(nout,100) 1000037,chartot2(2),'chargino2+ decays' write(nout,101) if(brcharsupl(2).ne.0.D0) then write(nout,102) brcharsupl(2),2,isul,idb, 'BR(~chi_2+ -> ~u_L . db)' endif if(brcharsupr(2).ne.0.D0) then write(nout,102) brcharsupr(2),2,isur,idb, 'BR(~chi_2+ -> ~u_R . db)' endif if(brcharsdownl(2).ne.0.D0) then write(nout,102) brcharsdownl(2),2,-isdl,iu,'BR(~chi_2+ -> ~d_L* . u )' endif if(brcharsdownr(2).ne.0.D0) then write(nout,102) brcharsdownr(2),2,-isdr,iu,'BR(~chi_2+ -> ~d_R* . u )' endif if(brcharsupl(2).ne.0.D0) then write(nout,102) brcharsupl(2),2,iscl,isb, 'BR(~chi_2+ -> ~c_L . sb)' endif if(brcharsupr(2).ne.0.D0) then write(nout,102) brcharsupr(2),2,iscr,isb, 'BR(~chi_2+ -> ~c_R . sb)' endif if(brcharsdownl(2).ne.0.D0) then write(nout,102) brcharsdownl(2),2,-issl,ic,'BR(~chi_2+ -> ~s_L* . c )' endif if(brcharsdownr(2).ne.0.D0) then write(nout,102) brcharsdownr(2),2,-issr,ic,'BR(~chi_2+ -> ~s_R* . c )' endif if(brcharst1(2).ne.0.D0) then write(nout,102) brcharst1(2),2,ist1,ibb, 'BR(~chi_2+ -> ~t_1 . bb)' endif if(brcharst2(2).ne.0.D0) then write(nout,102) brcharst2(2),2,ist2,ibb, 'BR(~chi_2+ -> ~t_2 . bb)' endif if(brcharsb1(2).ne.0.D0) then write(nout,102) brcharsb1(2),2,-isb1,it, 'BR(~chi_2+ -> ~b_1* . t )' endif if(brcharsb2(2).ne.0.D0) then write(nout,102) brcharsb2(2),2,-isb2,it, 'BR(~chi_2+ -> ~b_2* . t )' endif if(brcharsnel(2).ne.0.D0) then write(nout,102) brcharsnel(2),2,inel,-ie, 'BR(~chi_2+ -> ~nu_eL . e+ )' write(nout,102) brcharsnel(2),2,inmul,-imu,'BR(~chi_2+ -> ~nu_muL . mu+ )' endif if(brcharsn1(2).ne.0.D0) then write(nout,102) brcharsn1(2),2,intau1,-itau,'BR(~chi_2+ -> ~nu_tau .1 tau+)' endif if(brcharsell(2).ne.0.D0) then write(nout,102) brcharsell(2),2,-isell,ine,'BR(~chi_2+ -> ~e_L+ . nu_e)' endif if(brcharselr(2).ne.0.D0) then write(nout,102) brcharselr(2),2,-iselr,ine,'BR(~chi_2+ -> ~e_R+ . nu_e)' endif if(brcharsell(2).ne.0.D0) then write(nout,102) brcharsell(2),2,-ismul,inmu,'BR(~chi_2+ -> ~mu_L+ . nu_mu)' endif if(brcharselr(2).ne.0.D0) then write(nout,102) brcharselr(2),2,-ismur,inmu,'BR(~chi_2+ -> ~mu_R+ . nu_mu)' endif if(brcharstau1(2).ne.0.D0) then write(nout,102) brcharstau1(2),2,-istau1,intau,'BR(~chi_2+ -> ~tau ._1+ nu_tau)' endif if(brcharstau2(2).ne.0.D0) then write(nout,102) brcharstau2(2),2,-istau2,intau,'BR(~chi_2+ -> ~tau ._2+ nu_tau)' endif if(brcharzchic.ne.0.D0) then write(nout,102) brcharzchic,2,ic1,iz ,'BR(~chi_2+ -> ~chi ._1+ Z )' endif if(brcharwneut(2,1).ne.0.D0) then write(nout,102) brcharwneut(2,1),2,in1,iwc, 'BR(~chi_2+ -> ~chi ._10 W+)' endif if(brcharwneut(2,2).ne.0.D0) then write(nout,102) brcharwneut(2,2),2,in2,iwc, 'BR(~chi_2+ -> ~chi ._20 W+)' endif if(brcharwneut(2,3).ne.0.D0) then write(nout,102) brcharwneut(2,3),2,in3,iwc, 'BR(~chi_2+ -> ~chi ._30 W+)' endif if(brcharwneut(2,4).ne.0.D0) then write(nout,102) brcharwneut(2,4),2,in4,iwc, 'BR(~chi_2+ -> ~chi ._40 W+)' endif if(brcharhlchic.ne.0.D0) then write(nout,102) brcharhlchic,2,ic1,ihl, 'BR(~chi_2+ -> ~chi ._1+ h )' endif if(brcharhhchic.ne.0.D0) then write(nout,102) brcharhhchic,2,ic1,ihh, 'BR(~chi_2+ -> ~chi ._1+ H )' endif if(brcharhachic.ne.0.D0) then write(nout,102) brcharhachic,2,ic1,iha, 'BR(~chi_2+ -> ~chi ._1+ A )' endif if(brcharhcneut(2,1).ne.0.D0) then write(nout,102) brcharhcneut(2,1),2,in1,ihc, 'BR(~chi_2+ -> ~chi ._10 H+)' endif if(brcharhcneut(2,2).ne.0.D0) then write(nout,102) brcharhcneut(2,2),2,in2,ihc, 'BR(~chi_2+ -> ~chi ._20 H+)' endif if(brcharhcneut(2,3).ne.0.D0) then write(nout,102) brcharhcneut(2,3),2,in3,ihc, 'BR(~chi_2+ -> ~chi ._30 H+)' endif if(brcharhcneut(2,4).ne.0.D0) then write(nout,102) brcharhcneut(2,4),2,in4,ihc, 'BR(~chi_2+ -> ~chi ._40 H+)' endif if(flagnlspgmsb.eq.1.D0) then if(brcharwgravitino(2).ne.0.D0) then write(nout,102) brcharwgravitino(2),2,igrav,iwc, 'BR(~chi_2+ -> ~G . W+)' endif if(brcharhcgravitino(2).ne.0.D0) then write(nout,102) brcharhcgravitino(2),2,igrav,ihc,'BR(~chi_2+ -> ~G . H+)' endif endif elseif(flagcondchar(2).eq.11.D0) then if(chartot(2).ne.0.D0) then write(nout,99) write(nout,100) 1000037,chartot(2),'chargino2+ decays' c if(flagnlspgmsb.eq.1.D0) then write(nout,101) if(brcharwgravitino(2).ne.0.D0) then write(nout,102) brcharwgravitino(2),2,igrav,iwc, 'BR(~chi_2+ -> ~G . W+)' endif if(brcharhcgravitino(2).ne.0.D0) then write(nout,102) brcharhcgravitino(2),2,igrav,ihc,'BR(~chi_2+ -> ~G . H+)' endif endif c if(flagchar3bod(2).eq.1.D0) then write(nout,103) endif if(brnupdb(2,1).ne.0.D0) then write(nout,104) brnupdb(2,1),3,in1,iu,idb, 'BR(~chi_2+ -> ~chi ._10 u db)' endif if(brnupdb(2,2).ne.0.D0) then write(nout,104) brnupdb(2,2),3,in2,iu,idb, 'BR(~chi_2+ -> ~chi ._20 u db)' endif if(brnupdb(2,3).ne.0.D0) then write(nout,104) brnupdb(2,3),3,in3,iu,idb, 'BR(~chi_2+ -> ~chi ._30 u db)' endif if(brnupdb(2,4).ne.0.D0) then write(nout,104) brnupdb(2,4),3,in4,iu,idb, 'BR(~chi_2+ -> ~chi ._40 u db)' endif if(brnupdb(2,1).ne.0.D0) then write(nout,104) brnupdb(2,1),3,in1,ic,isb, 'BR(~chi_2+ -> ~chi ._10 c sb)' endif if(brnupdb(2,2).ne.0.D0) then write(nout,104) brnupdb(2,2),3,in2,ic,isb, 'BR(~chi_2+ -> ~chi ._20 c sb)' endif if(brnupdb(2,3).ne.0.D0) then write(nout,104) brnupdb(2,3),3,in3,ic,isb, 'BR(~chi_2+ -> ~chi ._30 c sb)' endif if(brnupdb(2,4).ne.0.D0) then write(nout,104) brnupdb(2,4),3,in4,ic,isb, 'BR(~chi_2+ -> ~chi ._40 c sb)' endif if(brntopbb(2,1).ne.0.D0) then write(nout,104) brntopbb(2,1),3,in1,it,ibb, 'BR(~chi_2+ -> ~chi ._10 t bb)' endif if(brntopbb(2,2).ne.0.D0) then write(nout,104) brntopbb(2,2),3,in2,it,ibb, 'BR(~chi_2+ -> ~chi ._20 t bb)' endif if(brntopbb(2,3).ne.0.D0) then write(nout,104) brntopbb(2,3),3,in3,it,ibb, 'BR(~chi_2+ -> ~chi ._30 t bb)' endif if(brntopbb(2,4).ne.0.D0) then write(nout,104) brntopbb(2,4),3,in4,it,ibb, 'BR(~chi_2+ -> ~chi ._40 t bb)' endif if(brnelnue(2,1).ne.0.D0) then write(nout,104) brnelnue(2,1),3,in1,-ie,ine, 'BR(~chi_2+ -> ~chi ._10 e+ nu_e)' endif if(brnelnue(2,2).ne.0.D0) then write(nout,104) brnelnue(2,2),3,in2,-ie,ine, 'BR(~chi_2+ -> ~chi ._20 e+ nu_e)' endif if(brnelnue(2,3).ne.0.D0) then write(nout,104) brnelnue(2,3),3,in3,-ie,ine, 'BR(~chi_2+ -> ~chi ._30 e+ nu_e)' endif if(brnelnue(2,4).ne.0.D0) then write(nout,104) brnelnue(2,4),3,in4,-ie,ine, 'BR(~chi_2+ -> ~chi ._40 e+ nu_e)' endif if(brnmunumu(2,1).ne.0.D0) then write(nout,104) brnmunumu(2,1),3,in1,-imu,inmu,'BR(~chi_2+ -> ~chi ._10 mu+ nu_mu)' endif if(brnmunumu(2,2).ne.0.D0) then write(nout,104) brnmunumu(2,2),3,in2,-imu,inmu,'BR(~chi_2+ -> ~chi ._20 mu+ nu_mu)' endif if(brnmunumu(2,3).ne.0.D0) then write(nout,104) brnmunumu(2,3),3,in3,-imu,inmu,'BR(~chi_2+ -> ~chi ._30 mu+ nu_mu)' endif if(brnmunumu(2,4).ne.0.D0) then write(nout,104) brnmunumu(2,4),3,in4,-imu,inmu,'BR(~chi_2+ -> ~chi ._40 mu+ nu_mu)' endif if(brntaunut(2,1).ne.0.D0) then write(nout,104) brntaunut(2,1),3,in1,-itau,intau,'BR(~chi_2+ -> ~c .hi_10 tau+ nu_tau)' endif if(brntaunut(2,2).ne.0.D0) then write(nout,104) brntaunut(2,2),3,in2,-itau,intau,'BR(~chi_2+ -> ~c .hi_20 tau+ nu_tau)' endif if(brntaunut(2,3).ne.0.D0) then write(nout,104) brntaunut(2,3),3,in3,-itau,intau,'BR(~chi_2+ -> ~c .hi_30 tau+ nu_tau)' endif if(brntaunut(2,4).ne.0.D0) then write(nout,104) brntaunut(2,4),3,in4,-itau,intau,'BR(~chi_2+ -> ~c .hi_40 tau+ nu_tau)' endif if(brchupup.ne.0.D0) then write(nout,104) brchupup,3,ic1,iu,iub, 'BR(~chi_2+ -> ~c .hi_1+ u ub)' endif if(brchdodo.ne.0.D0) then write(nout,104) brchdodo,3,ic1,id,idb, 'BR(~chi_2+ -> ~c .hi_1+ d db)' endif if(brchchch.ne.0.D0) then write(nout,104) brchchch,3,ic1,ic,icb, 'BR(~chi_2+ -> ~c .hi_1+ c cb)' endif if(brchstst.ne.0.D0) then write(nout,104) brchstst,3,ic1,is,isb, 'BR(~chi_2+ -> ~c .hi_1+ s sb)' endif if(brchtoptop.ne.0.D0) then write(nout,104) brchtoptop,3,ic1,it,itb, 'BR(~chi_2+ -> ~c .hi_1+ t tb)' endif if(brchbotbot.ne.0.D0) then write(nout,104) brchbotbot,3,ic1,ib,ibb, 'BR(~chi_2+ -> ~c .hi_1+ b bb)' endif if(brchee.ne.0.D0) then write(nout,104) brchee,3,ic1,-ie,ie, 'BR(~chi_2+ -> ~c .hi_1+ e+ e-)' endif if(brchmumu.ne.0.D0) then write(nout,104) brchmumu,3,ic1,-imu,imu, 'BR(~chi_2+ -> ~c .hi_1+ mu+ mu-)' endif if(brchtautau.ne.0.D0) then write(nout,104) brchtautau,3,ic1,-itau,itau, 'BR(~chi_2+ -> ~c .hi_1+ tau+ tau-)' endif if(brchnene.ne.0.D0) then write(nout,104) brchnene,3,ic1,ine,-ine, 'BR(~chi_2+ -> ~c .hi_1+ nu_e nu_eb)' endif if(brchnmunmu.ne.0.D0) then write(nout,104) brchnmunmu,3,ic1,inmu,-inmu, 'BR(~chi_2+ -> ~c .hi_1+ nu_mu nu_mub)' endif if(brchntauntau.ne.0.D0) then write(nout,104) brchntauntau,3,ic1,intau,-intau, 'BR(~chi_2+ -> ~c .hi_1+ nu_tau nu_taub)' endif if(brglupdb(2).ne.0.D0) then write(nout,104) brglupdb(2),3,iglo,iu,idb, 'BR(~chi_2+ -> ~g . u db)' endif if(brglchsb(2).ne.0.D0) then write(nout,104) brglchsb(2),3,iglo,ic,isb, 'BR(~chi_2+ -> ~g . c sb)' endif if(brgltopbb(2).ne.0.D0) then write(nout,104) brgltopbb(2),3,iglo,it,ibb, 'BR(~chi_2+ -> ~g . t bb)' endif elseif(chartot(2).eq.0.D0) then write(nout,99) write(nout,100) 1000037,0.000000000E+00,'chargino2+ decays' endif endif c ------------------ c c neutralino1 decays c c ------------------ c flagmultiloop = flagmulti+flagloop do i=1,4,1 if(neuttot2(i).eq.0.D0) then flagneuttot2(i) = 10.D0 elseif(neuttot2(i).ne.0.D0) then flagneuttot2(i) = 40.D0 endif flagcondneut(i) = flagneuttot2(i)+flagmultiloop end do flagcondneut(1) = flagneuttot2(1)+flagmulti write(nout,105) if(flagcondneut(1).eq.10.D0) then write(nout,99) write(nout,100) 1000022,0.000000000E+00,'neutralino1 decays' elseif(flagcondneut(1).eq.40.D0.or.flagcondneut(1).eq.41.D0) then write(nout,99) write(nout,100) 1000022,neuttot2(1),'neutralino1 decays' write(nout,101) if(brneutwchar(1,1).ne.0.D0) then write(nout,102) brneutwchar(1,1),2,ic1,-iwc, 'BR(~chi_10 -> ~c .hi_1+ W-)' write(nout,102) brneutwchar(1,1),2,-ic1,iwc, 'BR(~chi_10 -> ~c .hi_1- W+)' endif if(brneutwchar(1,2).ne.0.D0) then write(nout,102) brneutwchar(1,2),2,ic2,-iwc, 'BR(~chi_10 -> ~c .hi_2+ W-)' write(nout,102) brneutwchar(1,2),2,-ic2,iwc, 'BR(~chi_10 -> ~c .hi_2- W+)' endif if(brneuthcchar(1,1).ne.0.D0) then write(nout,102) brneuthcchar(1,1),2,ic1,-ihc, 'BR(~chi_10 -> ~c .hi_1+ H-)' write(nout,102) brneuthcchar(1,1),2,-ic1,ihc, 'BR(~chi_10 -> ~c .hi_1- H+)' endif if(brneuthcchar(1,2).ne.0.D0) then write(nout,102) brneuthcchar(1,2),2,ic2,-ihc, 'BR(~chi_10 -> ~c .hi_2+ H-)' write(nout,102) brneuthcchar(1,2),2,-ic2,ihc, 'BR(~chi_10 -> ~c .hi_2- H+)' endif if(brneutsupl(1).ne.0.D0) then write(nout,102) brneutsupl(1),2,isul,iub, 'BR(~chi_10 -> ~u ._L ub)' write(nout,102) brneutsupl(1),2,-isul,iu, 'BR(~chi_10 -> ~u ._L* u )' endif if(brneutsupr(1).ne.0.D0) then write(nout,102) brneutsupr(1),2,isur,iub, 'BR(~chi_10 -> ~u ._R ub)' write(nout,102) brneutsupr(1),2,-isur,iu, 'BR(~chi_10 -> ~u ._R* u )' endif if(brneutsdownl(1).ne.0.D0) then write(nout,102) brneutsdownl(1),2,isdl,idb, 'BR(~chi_10 -> ~d ._L db)' write(nout,102) brneutsdownl(1),2,-isdl,id, 'BR(~chi_10 -> ~d ._L* d )' endif if(brneutsdownr(1).ne.0.D0) then write(nout,102) brneutsdownr(1),2,isdr,idb, 'BR(~chi_10 -> ~d ._R db)' write(nout,102) brneutsdownr(1),2,-isdr,id, 'BR(~chi_10 -> ~d ._R* d )' endif if(brneutsupl(1).ne.0.D0) then write(nout,102) brneutsupl(1),2,iscl,icb, 'BR(~chi_10 -> ~c ._L cb)' write(nout,102) brneutsupl(1),2,-iscl,ic, 'BR(~chi_10 -> ~c ._L* c )' endif if(brneutsupr(1).ne.0.D0) then write(nout,102) brneutsupr(1),2,iscr,icb, 'BR(~chi_10 -> ~c ._R cb)' write(nout,102) brneutsupr(1),2,-iscr,ic, 'BR(~chi_10 -> ~c ._R* c )' endif if(brneutsdownl(1).ne.0.D0) then write(nout,102) brneutsdownl(1),2,issl,isb, 'BR(~chi_10 -> ~s ._L sb)' write(nout,102) brneutsdownl(1),2,-issl,is, 'BR(~chi_10 -> ~s ._L* s )' endif if(brneutsdownr(1).ne.0.D0) then write(nout,102) brneutsdownr(1),2,issr,isb, 'BR(~chi_10 -> ~s ._R sb)' write(nout,102) brneutsdownr(1),2,-issr,is, 'BR(~chi_10 -> ~s ._R* s )' endif if(brneutst1(1).ne.0.D0) then write(nout,102) brneutst1(1),2,ist1,itb, 'BR(~chi_10 -> ~t ._1 tb)' write(nout,102) brneutst1(1),2,-ist1,it, 'BR(~chi_10 -> ~t ._1* t )' endif if(brneutst2(1).ne.0.D0) then write(nout,102) brneutst2(1),2,ist2,itb, 'BR(~chi_10 -> ~t ._2 tb)' write(nout,102) brneutst2(1),2,-ist2,it, 'BR(~chi_10 -> ~t ._2* t )' endif if(brneutsb1(1).ne.0.D0) then write(nout,102) brneutsb1(1),2,isb1,ibb, 'BR(~chi_10 -> ~b ._1 bb)' write(nout,102) brneutsb1(1),2,-isb1,ib, 'BR(~chi_10 -> ~b ._1* b )' endif if(brneutsb2(1).ne.0.D0) then write(nout,102) brneutsb2(1),2,isb2,ibb, 'BR(~chi_10 -> ~b ._2 bb)' write(nout,102) brneutsb2(1),2,-isb2,ib, 'BR(~chi_10 -> ~b ._2* b )' endif if(brneutsell(1).ne.0.D0) then write(nout,102) brneutsell(1),2,isell,-ie, 'BR(~chi_10 -> ~e ._L- e+)' write(nout,102) brneutsell(1),2,-isell,ie, 'BR(~chi_10 -> ~e ._L+ e-)' endif if(brneutselr(1).ne.0.D0) then write(nout,102) brneutselr(1),2,iselr,-ie, 'BR(~chi_10 -> ~e ._R- e+)' write(nout,102) brneutselr(1),2,-iselr,ie, 'BR(~chi_10 -> ~e ._R+ e-)' endif if(brneutsell(1).ne.0.D0) then write(nout,102) brneutsell(1),2,ismul,-imu, 'BR(~chi_10 -> ~m .u_L- mu+)' write(nout,102) brneutsell(1),2,-ismul,imu, 'BR(~chi_10 -> ~m .u_L+ mu-)' endif if(brneutselr(1).ne.0.D0) then write(nout,102) brneutselr(1),2,ismur,-imu, 'BR(~chi_10 -> ~m .u_R- mu+)' write(nout,102) brneutselr(1),2,-ismur,imu, 'BR(~chi_10 -> ~m .u_R+ mu-)' endif if(brneutstau1(1).ne.0.D0) then write(nout,102) brneutstau1(1),2,istau1,-itau, 'BR(~chi_10 -> ~t .au_1- tau+)' write(nout,102) brneutstau1(1),2,-istau1,itau, 'BR(~chi_10 -> ~t .au_1+ tau-)' endif if(brneutstau2(1).ne.0.D0) then write(nout,102) brneutstau2(1),2,istau2,-itau, 'BR(~chi_10 -> ~t .au_2- tau+)' write(nout,102) brneutstau2(1),2,-istau2,itau, 'BR(~chi_10 -> ~t .au_2+ tau-)' endif if(brneutsnel(1).ne.0.D0) then write(nout,102) brneutsnel(1),2,inel,-ine, 'BR(~chi_10 -> ~n .u_eL nu_eb)' write(nout,102) brneutsnel(1),2,-inel,ine, 'BR(~chi_10 -> ~n .u_eL* nu_e )' write(nout,102) brneutsnel(1),2,inmul,-inmu, 'BR(~chi_10 -> ~n .u_muL nu_mub)' write(nout,102) brneutsnel(1),2,-inmul,inmu, 'BR(~chi_10 -> ~n .u_muL* nu_mu )' endif if(brneutsn1(1).ne.0.D0) then write(nout,102) brneutsn1(1),2,intau1,-intau, 'BR(~chi_10 -> ~n .u_tau1 nu_taub)' write(nout,102) brneutsn1(1),2,-intau1,intau, 'BR(~chi_10 -> ~n .u_tau1* nu_tau )' endif if(flagnlspgmsb.eq.1.D0) then if(brneutgamgrav(1).ne.0.D0) then write(nout,102) brneutgamgrav(1),2,igrav,iga, 'BR(~chi_10 -> ~G . gam)' endif if(brneutzgrav(1).ne.0.D0) then write(nout,102) brneutzgrav(1),2,igrav,iz, 'BR(~chi_10 -> ~G . Z)' endif if(brneuthlgrav(1).ne.0.D0) then write(nout,102) brneuthlgrav(1),2,igrav,ihl, 'BR(~chi_10 -> ~G . h)' endif if(brneuthhgrav(1).ne.0.D0) then write(nout,102) brneuthhgrav(1),2,igrav,ihh, 'BR(~chi_10 -> ~G . H)' endif if(brneuthagrav(1).ne.0.D0) then write(nout,102) brneuthagrav(1),2,igrav,iha, 'BR(~chi_10 -> ~G . A)' endif endif elseif(flagcondneut(1).eq.11.D0) then if(neuttot(1).ne.0.D0) then write(nout,99) write(nout,100) 1000022,neuttot(1),'neutralino1 decays' c if(flagnlspgmsb.eq.1.D0) then write(nout,101) if(brneutgamgrav(1).ne.0.D0) then write(nout,102) brneutgamgrav(1),2,igrav,iga, 'BR(~chi_10 -> ~G . gam)' endif if(brneutzgrav(1).ne.0.D0) then write(nout,102) brneutzgrav(1),2,igrav,iz, 'BR(~chi_10 -> ~G . Z)' endif if(brneuthlgrav(1).ne.0.D0) then write(nout,102) brneuthlgrav(1),2,igrav,ihl, 'BR(~chi_10 -> ~G . h)' endif if(brneuthhgrav(1).ne.0.D0) then write(nout,102) brneuthhgrav(1),2,igrav,ihh, 'BR(~chi_10 -> ~G . H)' endif if(brneuthagrav(1).ne.0.D0) then write(nout,102) brneuthagrav(1),2,igrav,iha, 'BR(~chi_10 -> ~G . A)' endif endif c if(flagneut3bod(1).eq.1.D0) then write(nout,103) endif if(brchubd(1,1).ne.0.D0) then write(nout,104) brchubd(1,1),3,ic1,iub,id, 'BR(~chi_10 -> ~c .hi_1+ ub d)' write(nout,104) brchubd(1,1),3,-ic1,idb,iu, 'BR(~chi_10 -> ~c .hi_1- db u)' endif if(brchubd(1,2).ne.0.D0) then write(nout,104) brchubd(1,2),3,ic2,iub,id, 'BR(~chi_10 -> ~c .hi_2+ ub d)' write(nout,104) brchubd(1,2),3,-ic2,idb,iu, 'BR(~chi_10 -> ~c .hi_2- db u)' endif if(brchcbs(1,1).ne.0.D0) then write(nout,104) brchcbs(1,1),3,ic1,icb,is, 'BR(~chi_10 -> ~c .hi_1+ cb s)' write(nout,104) brchcbs(1,1),3,-ic1,isb,ic, 'BR(~chi_10 -> ~c .hi_1- sb c)' endif if(brchcbs(1,2).ne.0.D0) then write(nout,104) brchcbs(1,2),3,ic2,icb,is, 'BR(~chi_10 -> ~c .hi_2+ cb s)' write(nout,104) brchcbs(1,2),3,-ic2,isb,ic, 'BR(~chi_10 -> ~c .hi_2- sb c)' endif if(brchtbb(1,1).ne.0.D0) then write(nout,104) brchtbb(1,1),3,ic1,itb,ib, 'BR(~chi_10 -> ~c .hi_1+ tb b)' write(nout,104) brchtbb(1,1),3,-ic1,ibb,it, 'BR(~chi_10 -> ~c .hi_1- bb t)' endif if(brchtbb(1,2).ne.0.D0) then write(nout,104) brchtbb(1,2),3,ic2,itb,ib, 'BR(~chi_10 -> ~c .hi_2+ tb b)' write(nout,104) brchtbb(1,2),3,-ic2,ibb,it, 'BR(~chi_10 -> ~c .hi_2- bb t)' endif if(brchelne(1,1).ne.0.D0) then write(nout,104) brchelne(1,1),3,ic1,-ine,ie, 'BR(~chi_10 -> ~c .hi_1+ nu_eb e-)' write(nout,104) brchelne(1,1),3,-ic1,ine,-ie, 'BR(~chi_10 -> ~c .hi_1- nu_e e+)' endif if(brchelne(1,2).ne.0.D0) then write(nout,104) brchelne(1,2),3,ic2,-ine,ie, 'BR(~chi_10 -> ~c .hi_2+ nu_eb e-)' write(nout,104) brchelne(1,2),3,-ic2,ine,-ie, 'BR(~chi_10 -> ~c .hi_2- nu_e e+)' endif if(brchmunmu(1,1).ne.0.D0) then write(nout,104) brchmunmu(1,1),3,ic1,-inmu,imu, 'BR(~chi_10 -> ~c .hi_1+ nu_mub mu-)' write(nout,104) brchmunmu(1,1),3,-ic1,inmu,-imu, 'BR(~chi_10 -> ~c .hi_1- nu_mu mu+)' endif if(brchmunmu(1,2).ne.0.D0) then write(nout,104) brchmunmu(1,2),3,ic2,-inmu,imu, 'BR(~chi_10 -> ~c .hi_2+ nu_mub mu-)' write(nout,104) brchmunmu(1,2),3,-ic2,inmu,-imu, 'BR(~chi_10 -> ~c .hi_2- nu_mu mu+)' endif if(brchtauntau(1,1).ne.0.D0) then write(nout,104) brchtauntau(1,1),3,ic1,-intau,itau, 'BR(~chi_10 -> . ~chi_1+ nu_taub tau-)' write(nout,104) brchtauntau(1,1),3,-ic1,intau,-itau,'BR(~chi_10 -> . ~chi_1- nu_tau tau+)' endif if(brchtauntau(1,2).ne.0.D0) then write(nout,104) brchtauntau(1,2),3,ic2,-intau,itau, 'BR(~chi_10 -> . ~chi_2+ nu_taub tau-)' write(nout,104) brchtauntau(1,2),3,-ic2,intau,-itau,'BR(~chi_10 -> . ~chi_2- nu_tau tau+)' endif if(brglup(1).ne.0.D0) then write(nout,104) brglup(1),3,iglo,iub,iu, 'BR(~chi_10 -> . ~g ub u)' endif if(brgldo(1).ne.0.D0) then write(nout,104) brgldo(1),3,iglo,idb,id, 'BR(~chi_10 -> . ~g db d)' endif if(brglch(1).ne.0.D0) then write(nout,104) brglch(1),3,iglo,icb,ic, 'BR(~chi_10 -> . ~g cb c)' endif if(brglst(1).ne.0.D0) then write(nout,104) brglst(1),3,iglo,isb,is, 'BR(~chi_10 -> . ~g sb s)' endif if(brgltop(1).ne.0.D0) then write(nout,104) brgltop(1),3,iglo,itb,it, 'BR(~chi_10 -> . ~g tb t)' endif if(brglbot(1).ne.0.D0) then write(nout,104) brglbot(1),3,iglo,ibb,ib, 'BR(~chi_10 -> . ~g bb b)' endif elseif(neuttot(1).eq.0.D0) then write(nout,99) write(nout,100) 1000022,0.000000000E+00,'neutralino1 decays' endif endif c ------------------ c c neutralino2 decays c c ------------------ c write(nout,105) if(flagcondneut(2).eq.10.D0) then write(nout,99) write(nout,100) 1000023,0.000000000E+00,'neutralino2 decays' elseif(flagcondneut(2).eq.40.D0.or.flagcondneut(2).eq.41.D0.or. .flagcondneut(2).eq.42.D0) then write(nout,99) write(nout,100) 1000023,neuttot2(2),'neutralino2 decays' write(nout,101) if(brneutzneut(2,1).ne.0.D0) then write(nout,102) brneutzneut(2,1),2,in1,iz, 'BR(~chi_20 -> ~c .hi_10 Z )' endif if(brneutwchar(2,1).ne.0.D0) then write(nout,102) brneutwchar(2,1),2,ic1,-iwc, 'BR(~chi_20 -> ~c .hi_1+ W-)' write(nout,102) brneutwchar(2,1),2,-ic1,iwc, 'BR(~chi_20 -> ~c .hi_1- W+)' endif if(brneutwchar(2,2).ne.0.D0) then write(nout,102) brneutwchar(2,2),2,ic2,-iwc, 'BR(~chi_20 -> ~c .hi_2+ W-)' write(nout,102) brneutwchar(2,2),2,-ic2,iwc, 'BR(~chi_20 -> ~c .hi_2- W+)' endif if(brneuthlneut(2,1).ne.0.D0) then write(nout,102) brneuthlneut(2,1),2,in1,ihl, 'BR(~chi_20 -> ~c .hi_10 h )' endif if(brneuthhneut(2,1).ne.0.D0) then write(nout,102) brneuthhneut(2,1),2,in1,ihh, 'BR(~chi_20 -> ~c .hi_10 H )' endif if(brneuthaneut(2,1).ne.0.D0) then write(nout,102) brneuthaneut(2,1),2,in1,iha, 'BR(~chi_20 -> ~c .hi_10 A )' endif if(brneuthcchar(2,1).ne.0.D0) then write(nout,102) brneuthcchar(2,1),2,ic1,-ihc, 'BR(~chi_20 -> ~c .hi_1+ H-)' write(nout,102) brneuthcchar(2,1),2,-ic1,ihc, 'BR(~chi_20 -> ~c .hi_1- H+)' endif if(brneuthcchar(2,2).ne.0.D0) then write(nout,102) brneuthcchar(2,2),2,ic2,-ihc, 'BR(~chi_20 -> ~c .hi_2+ H-)' write(nout,102) brneuthcchar(2,2),2,-ic2,ihc, 'BR(~chi_20 -> ~c .hi_2- H+)' endif if(brneutsupl(2).ne.0.D0) then write(nout,102) brneutsupl(2),2,isul,iub, 'BR(~chi_20 -> ~u ._L ub)' write(nout,102) brneutsupl(2),2,-isul,iu, 'BR(~chi_20 -> ~u ._L* u )' endif if(brneutsupr(2).ne.0.D0) then write(nout,102) brneutsupr(2),2,isur,iub, 'BR(~chi_20 -> ~u ._R ub)' write(nout,102) brneutsupr(2),2,-isur,iu, 'BR(~chi_20 -> ~u ._R* u )' endif if(brneutsdownl(2).ne.0.D0) then write(nout,102) brneutsdownl(2),2,isdl,idb, 'BR(~chi_20 -> ~d ._L db)' write(nout,102) brneutsdownl(2),2,-isdl,id, 'BR(~chi_20 -> ~d ._L* d )' endif if(brneutsdownr(2).ne.0.D0) then write(nout,102) brneutsdownr(2),2,isdr,idb, 'BR(~chi_20 -> ~d ._R db)' write(nout,102) brneutsdownr(2),2,-isdr,id, 'BR(~chi_20 -> ~d ._R* d )' endif if(brneutsupl(2).ne.0.D0) then write(nout,102) brneutsupl(2),2,iscl,icb, 'BR(~chi_20 -> ~c ._L cb)' write(nout,102) brneutsupl(2),2,-iscl,ic, 'BR(~chi_20 -> ~c ._L* c )' endif if(brneutsupr(2).ne.0.D0) then write(nout,102) brneutsupr(2),2,iscr,icb, 'BR(~chi_20 -> ~c ._R cb)' write(nout,102) brneutsupr(2),2,-iscr,ic, 'BR(~chi_20 -> ~c ._R* c )' endif if(brneutsdownl(2).ne.0.D0) then write(nout,102) brneutsdownl(2),2,issl,isb, 'BR(~chi_20 -> ~s ._L sb)' write(nout,102) brneutsdownl(2),2,-issl,is, 'BR(~chi_20 -> ~s ._L* s )' endif if(brneutsdownr(2).ne.0.D0) then write(nout,102) brneutsdownr(2),2,issr,isb, 'BR(~chi_20 -> ~s ._R sb)' write(nout,102) brneutsdownr(2),2,-issr,is, 'BR(~chi_20 -> ~s ._R* s )' endif if(brneutst1(2).ne.0.D0) then write(nout,102) brneutst1(2),2,ist1,itb, 'BR(~chi_20 -> ~t ._1 tb)' write(nout,102) brneutst1(2),2,-ist1,it, 'BR(~chi_20 -> ~t ._1* t )' endif if(brneutst2(2).ne.0.D0) then write(nout,102) brneutst2(2),2,ist2,itb, 'BR(~chi_20 -> ~t ._2 tb)' write(nout,102) brneutst2(2),2,-ist2,it, 'BR(~chi_20 -> ~t ._2* t )' endif if(brneutsb1(2).ne.0.D0) then write(nout,102) brneutsb1(2),2,isb1,ibb, 'BR(~chi_20 -> ~b ._1 bb)' write(nout,102) brneutsb1(2),2,-isb1,ib, 'BR(~chi_20 -> ~b ._1* b )' endif if(brneutsb2(2).ne.0.D0) then write(nout,102) brneutsb2(2),2,isb2,ibb, 'BR(~chi_20 -> ~b ._2 bb)' write(nout,102) brneutsb2(2),2,-isb2,ib, 'BR(~chi_20 -> ~b ._2* b )' endif if(brneutsell(2).ne.0.D0) then write(nout,102) brneutsell(2),2,isell,-ie, 'BR(~chi_20 -> ~e ._L- e+)' write(nout,102) brneutsell(2),2,-isell,ie, 'BR(~chi_20 -> ~e ._L+ e-)' endif if(brneutselr(2).ne.0.D0) then write(nout,102) brneutselr(2),2,iselr,-ie, 'BR(~chi_20 -> ~e ._R- e+)' write(nout,102) brneutselr(2),2,-iselr,ie, 'BR(~chi_20 -> ~e ._R+ e-)' endif if(brneutsell(2).ne.0.D0) then write(nout,102) brneutsell(2),2,ismul,-imu, 'BR(~chi_20 -> ~m .u_L- mu+)' write(nout,102) brneutsell(2),2,-ismul,imu, 'BR(~chi_20 -> ~m .u_L+ mu-)' endif if(brneutselr(2).ne.0.D0) then write(nout,102) brneutselr(2),2,ismur,-imu, 'BR(~chi_20 -> ~m .u_R- mu+)' write(nout,102) brneutselr(2),2,-ismur,imu, 'BR(~chi_20 -> ~m .u_R+ mu-)' endif if(brneutstau1(2).ne.0.D0) then write(nout,102) brneutstau1(2),2,istau1,-itau, 'BR(~chi_20 -> ~t .au_1- tau+)' write(nout,102) brneutstau1(2),2,-istau1,itau, 'BR(~chi_20 -> ~t .au_1+ tau-)' endif if(brneutstau2(2).ne.0.D0) then write(nout,102) brneutstau2(2),2,istau2,-itau, 'BR(~chi_20 -> ~t .au_2- tau+)' write(nout,102) brneutstau2(2),2,-istau2,itau, 'BR(~chi_20 -> ~t .au_2+ tau-)' endif if(brneutsnel(2).ne.0.D0) then write(nout,102) brneutsnel(2),2,inel,-ine, 'BR(~chi_20 -> ~n .u_eL nu_eb)' write(nout,102) brneutsnel(2),2,-inel,ine, 'BR(~chi_20 -> ~n .u_eL* nu_e )' write(nout,102) brneutsnel(2),2,inmul,-inmu, 'BR(~chi_20 -> ~n .u_muL nu_mub)' write(nout,102) brneutsnel(2),2,-inmul,inmu, 'BR(~chi_20 -> ~n .u_muL* nu_mu )' endif if(brneutsn1(2).ne.0.D0) then write(nout,102) brneutsn1(2),2,intau1,-intau, 'BR(~chi_20 -> ~n .u_tau1 nu_taub)' write(nout,102) brneutsn1(2),2,-intau1,intau, 'BR(~chi_20 -> ~n .u_tau1* nu_tau )' endif c if(flagnlspgmsb.eq.1.D0) then if(brneutgamgrav(2).ne.0.D0) then write(nout,102) brneutgamgrav(2),2,igrav,iga, 'BR(~chi_20 -> ~G . gam)' endif if(brneutzgrav(2).ne.0.D0) then write(nout,102) brneutzgrav(2),2,igrav,iz, 'BR(~chi_20 -> ~G . Z)' endif if(brneuthlgrav(2).ne.0.D0) then write(nout,102) brneuthlgrav(2),2,igrav,ihl, 'BR(~chi_20 -> ~G . h)' endif if(brneuthhgrav(2).ne.0.D0) then write(nout,102) brneuthhgrav(2),2,igrav,ihh, 'BR(~chi_20 -> ~G . H)' endif if(brneuthagrav(2).ne.0.D0) then write(nout,102) brneuthagrav(2),2,igrav,iha, 'BR(~chi_20 -> ~G . A)' endif endif elseif(flagcondneut(2).eq.11.D0.or.flagcondneut(2).eq.12.D0) then if(neuttot(2).ne.0.D0) then write(nout,99) write(nout,100) 1000023,neuttot(2),'neutralino2 decays' if(flagloop.eq.1.D0) then write(nout,101) if(brnraddec(2,1).ne.0.D0) then write(nout,102) brnraddec(2,1),2,in1,iga, 'BR(~chi_20 -> ~c .hi_10 gam)' endif endif c if(flagnlspgmsb.eq.1.D0) then write(nout,101) if(brneutgamgrav(2).ne.0.D0) then write(nout,102) brneutgamgrav(2),2,igrav,iga, 'BR(~chi_20 -> ~G . gam)' endif if(brneutzgrav(2).ne.0.D0) then write(nout,102) brneutzgrav(2),2,igrav,iz, 'BR(~chi_20 -> ~G . Z)' endif if(brneuthlgrav(2).ne.0.D0) then write(nout,102) brneuthlgrav(2),2,igrav,ihl, 'BR(~chi_20 -> ~G . h)' endif if(brneuthhgrav(2).ne.0.D0) then write(nout,102) brneuthhgrav(2),2,igrav,ihh, 'BR(~chi_20 -> ~G . H)' endif if(brneuthagrav(2).ne.0.D0) then write(nout,102) brneuthagrav(2),2,igrav,iha, 'BR(~chi_20 -> ~G . A)' endif endif c if(flagmulti.eq.1.D0) then if(flagneut3bod(2).eq.1.D0) then write(nout,103) endif if(brneutup(2,1).ne.0.D0) then write(nout,104) brneutup(2,1),3,in1,iub,iu, 'BR(~chi_20 -> ~c .hi_10 ub u)' endif if(brneutdow(2,1).ne.0.D0) then write(nout,104) brneutdow(2,1),3,in1,idb,id, 'BR(~chi_20 -> ~c .hi_10 db d)' endif if(brneutch(2,1).ne.0.D0) then write(nout,104) brneutch(2,1),3,in1,icb,ic, 'BR(~chi_20 -> ~c .hi_10 cb c)' endif if(brneutst(2,1).ne.0.D0) then write(nout,104) brneutst(2,1),3,in1,isb,is, 'BR(~chi_20 -> ~c .hi_10 sb s)' endif if(brneuttop(2,1).ne.0.D0) then write(nout,104) brneuttop(2,1),3,in1,itb,it, 'BR(~chi_20 -> ~c .hi_10 tb t)' endif if(brneutbot(2,1).ne.0.D0) then write(nout,104) brneutbot(2,1),3,in1,ibb,ib, 'BR(~chi_20 -> ~c .hi_10 bb b)' endif if(brneutel(2,1).ne.0.D0) then write(nout,104) brneutel(2,1),3,in1,-ie,ie, 'BR(~chi_20 -> ~c .hi_10 e+ e-)' endif if(brneutmu(2,1).ne.0.D0) then write(nout,104) brneutmu(2,1),3,in1,-imu,imu, 'BR(~chi_20 -> ~c .hi_10 mu+ mu-)' endif if(brneuttau(2,1).ne.0.D0) then write(nout,104) brneuttau(2,1),3,in1,-itau,itau, 'BR(~chi_20 -> ~c .hi_10 tau+ tau-)' endif if(brneutnue(2,1).ne.0.D0) then write(nout,104) brneutnue(2,1),3,in1,-ine,ine, 'BR(~chi_20 -> ~c .hi_10 nu_eb nu_e)' endif if(brneutnumu(2,1).ne.0.D0) then write(nout,104) brneutnumu(2,1),3,in1,-inmu,inmu,'BR(~chi_20 -> ~c .hi_10 nu_mub nu_mu)' endif if(brneutnutau(2,1).ne.0.D0) then write(nout,104) brneutnutau(2,1),3,in1,-intau,intau,'BR(~chi_20 -> . ~chi_10 nu_taub nu_tau)' endif if(brchubd(2,1).ne.0.D0) then write(nout,104) brchubd(2,1),3,ic1,iub,id, 'BR(~chi_20 -> ~c .hi_1+ ub d)' write(nout,104) brchubd(2,1),3,-ic1,idb,iu, 'BR(~chi_20 -> ~c .hi_1- db u)' endif if(brchubd(2,2).ne.0.D0) then write(nout,104) brchubd(2,2),3,ic2,iub,id, 'BR(~chi_20 -> ~c .hi_2+ ub d)' write(nout,104) brchubd(2,2),3,-ic2,idb,iu, 'BR(~chi_20 -> ~c .hi_2- db u)' endif if(brchcbs(2,1).ne.0.D0) then write(nout,104) brchcbs(2,1),3,ic1,icb,is, 'BR(~chi_20 -> ~c .hi_1+ cb s)' write(nout,104) brchcbs(2,1),3,-ic1,isb,ic, 'BR(~chi_20 -> ~c .hi_1- sb c)' endif if(brchcbs(2,2).ne.0.D0) then write(nout,104) brchcbs(2,2),3,ic2,icb,is, 'BR(~chi_20 -> ~c .hi_2+ cb s)' write(nout,104) brchcbs(2,2),3,-ic2,isb,ic, 'BR(~chi_20 -> ~c .hi_2- sb c)' endif if(brchtbb(2,1).ne.0.D0) then write(nout,104) brchtbb(2,1),3,ic1,itb,ib, 'BR(~chi_20 -> ~c .hi_1+ tb b)' write(nout,104) brchtbb(2,1),3,-ic1,ibb,it, 'BR(~chi_20 -> ~c .hi_1- bb t)' endif if(brchtbb(2,2).ne.0.D0) then write(nout,104) brchtbb(2,2),3,ic2,itb,ib, 'BR(~chi_20 -> ~c .hi_2+ tb b)' write(nout,104) brchtbb(2,2),3,-ic2,ibb,it, 'BR(~chi_20 -> ~c .hi_2- bb t)' endif if(brchelne(2,1).ne.0.D0) then write(nout,104) brchelne(2,1),3,ic1,-ine,ie, 'BR(~chi_20 -> ~c .hi_1+ nu_eb e-)' write(nout,104) brchelne(2,1),3,-ic1,ine,-ie, 'BR(~chi_20 -> ~c .hi_1- nu_e e+)' endif if(brchelne(2,2).ne.0.D0) then write(nout,104) brchelne(2,2),3,ic2,-ine,ie, 'BR(~chi_20 -> ~c .hi_2+ nu_eb e-)' write(nout,104) brchelne(2,2),3,-ic2,ine,-ie, 'BR(~chi_20 -> ~c .hi_2- nu_e e+)' endif if(brchmunmu(2,1).ne.0.D0) then write(nout,104) brchmunmu(2,1),3,ic1,-inmu,imu, 'BR(~chi_20 -> ~c .hi_1+ nu_mub mu-)' write(nout,104) brchmunmu(2,1),3,-ic1,inmu,-imu, 'BR(~chi_20 -> ~c .hi_1- nu_mu mu+)' endif if(brchmunmu(2,2).ne.0.D0) then write(nout,104) brchmunmu(2,2),3,ic2,-inmu,imu, 'BR(~chi_20 -> ~c .hi_2+ nu_mub mu-)' write(nout,104) brchmunmu(2,2),3,-ic2,inmu,-imu, 'BR(~chi_20 -> ~c .hi_2- nu_mu mu+)' endif if(brchtauntau(2,1).ne.0.D0) then write(nout,104) brchtauntau(2,1),3,ic1,-intau,itau, 'BR(~chi_20 -> . ~chi_1+ nu_taub tau-)' write(nout,104) brchtauntau(2,1),3,-ic1,intau,-itau,'BR(~chi_20 -> . ~chi_1- nu_tau tau+)' endif if(brchtauntau(2,2).ne.0.D0) then write(nout,104) brchtauntau(2,2),3,ic2,-intau,itau, 'BR(~chi_20 -> . ~chi_2+ nu_taub tau-)' write(nout,104) brchtauntau(2,2),3,-ic2,intau,-itau,'BR(~chi_20 -> . ~chi_2- nu_tau tau+)' endif if(brglup(2).ne.0.D0) then write(nout,104) brglup(2),3,iglo,iub,iu, 'BR(~chi_20 -> . ~g ub u)' endif if(brgldo(2).ne.0.D0) then write(nout,104) brgldo(2),3,iglo,idb,id, 'BR(~chi_20 -> . ~g db d)' endif if(brglch(2).ne.0.D0) then write(nout,104) brglch(2),3,iglo,icb,ic, 'BR(~chi_20 -> . ~g cb c)' endif if(brglst(2).ne.0.D0) then write(nout,104) brglst(2),3,iglo,isb,is, 'BR(~chi_20 -> . ~g sb s)' endif if(brgltop(2).ne.0.D0) then write(nout,104) brgltop(2),3,iglo,itb,it, 'BR(~chi_20 -> . ~g tb t)' endif if(brglbot(2).ne.0.D0) then write(nout,104) brglbot(2),3,iglo,ibb,ib, 'BR(~chi_20 -> . ~g bb b)' endif endif elseif(neuttot(2).eq.0.D0) then write(nout,99) write(nout,100) 1000023,0.000000000E+00,'neutralino2 decays' endif endif c ------------------ c c neutralino3 decays c c ------------------ c write(nout,105) if(flagcondneut(3).eq.10.D0) then write(nout,99) write(nout,100) 1000025,0.000000000E+00,'neutralino3 decays' elseif(flagcondneut(3).eq.40.D0.or.flagcondneut(3).eq.41.D0.or. .flagcondneut(3).eq.42.D0) then write(nout,99) write(nout,100) 1000025,neuttot2(3),'neutralino3 decays' write(nout,101) if(brneutzneut(3,1).ne.0.D0) then write(nout,102) brneutzneut(3,1),2,in1,iz, 'BR(~chi_30 -> ~c .hi_10 Z )' endif if(brneutzneut(3,2).ne.0.D0) then write(nout,102) brneutzneut(3,2),2,in2,iz, 'BR(~chi_30 -> ~c .hi_20 Z )' endif if(brneutwchar(3,1).ne.0.D0) then write(nout,102) brneutwchar(3,1),2,ic1,-iwc, 'BR(~chi_30 -> ~c .hi_1+ W-)' write(nout,102) brneutwchar(3,1),2,-ic1,iwc, 'BR(~chi_30 -> ~c .hi_1- W+)' endif if(brneutwchar(3,2).ne.0.D0) then write(nout,102) brneutwchar(3,2),2,ic2,-iwc, 'BR(~chi_30 -> ~c .hi_2+ W-)' write(nout,102) brneutwchar(3,2),2,-ic2,iwc, 'BR(~chi_30 -> ~c .hi_2- W+)' endif if(brneuthlneut(3,1).ne.0.D0) then write(nout,102) brneuthlneut(3,1),2,in1,ihl, 'BR(~chi_30 -> ~c .hi_10 h )' endif if(brneuthhneut(3,1).ne.0.D0) then write(nout,102) brneuthhneut(3,1),2,in1,ihh, 'BR(~chi_30 -> ~c .hi_10 H )' endif if(brneuthaneut(3,1).ne.0.D0) then write(nout,102) brneuthaneut(3,1),2,in1,iha, 'BR(~chi_30 -> ~c .hi_10 A )' endif if(brneuthlneut(3,2).ne.0.D0) then write(nout,102) brneuthlneut(3,2),2,in2,ihl, 'BR(~chi_30 -> ~c .hi_20 h )' endif if(brneuthhneut(3,2).ne.0.D0) then write(nout,102) brneuthhneut(3,2),2,in2,ihh, 'BR(~chi_30 -> ~c .hi_20 H )' endif if(brneuthaneut(3,2).ne.0.D0) then write(nout,102) brneuthaneut(3,2),2,in2,iha, 'BR(~chi_30 -> ~c .hi_20 A )' endif if(brneuthcchar(3,1).ne.0.D0) then write(nout,102) brneuthcchar(3,1),2,ic1,-ihc, 'BR(~chi_30 -> ~c .hi_1+ H-)' write(nout,102) brneuthcchar(3,1),2,-ic1,ihc, 'BR(~chi_30 -> ~c .hi_1- H+)' endif if(brneuthcchar(3,2).ne.0.D0) then write(nout,102) brneuthcchar(3,2),2,ic2,-ihc, 'BR(~chi_30 -> ~c .hi_2+ H-)' write(nout,102) brneuthcchar(3,2),2,-ic2,ihc, 'BR(~chi_30 -> ~c .hi_2- H+)' endif if(brneutsupl(3).ne.0.D0) then write(nout,102) brneutsupl(3),2,isul,iub, 'BR(~chi_30 -> ~u ._L ub)' write(nout,102) brneutsupl(3),2,-isul,iu, 'BR(~chi_30 -> ~u ._L* u )' endif if(brneutsupr(3).ne.0.D0) then write(nout,102) brneutsupr(3),2,isur,iub, 'BR(~chi_30 -> ~u ._R ub)' write(nout,102) brneutsupr(3),2,-isur,iu, 'BR(~chi_30 -> ~u ._R* u )' endif if(brneutsdownl(3).ne.0.D0) then write(nout,102) brneutsdownl(3),2,isdl,idb, 'BR(~chi_30 -> ~d ._L db)' write(nout,102) brneutsdownl(3),2,-isdl,id, 'BR(~chi_30 -> ~d ._L* d )' endif if(brneutsdownr(3).ne.0.D0) then write(nout,102) brneutsdownr(3),2,isdr,idb, 'BR(~chi_30 -> ~d ._R db)' write(nout,102) brneutsdownr(3),2,-isdr,id, 'BR(~chi_30 -> ~d ._R* d )' endif if(brneutsupl(3).ne.0.D0) then write(nout,102) brneutsupl(3),2,iscl,icb, 'BR(~chi_30 -> ~c ._L cb)' write(nout,102) brneutsupl(3),2,-iscl,ic, 'BR(~chi_30 -> ~c ._L* c )' endif if(brneutsupr(3).ne.0.D0) then write(nout,102) brneutsupr(3),2,iscr,icb, 'BR(~chi_30 -> ~c ._R cb)' write(nout,102) brneutsupr(3),2,-iscr,ic, 'BR(~chi_30 -> ~c ._R* c )' endif if(brneutsdownl(3).ne.0.D0) then write(nout,102) brneutsdownl(3),2,issl,isb, 'BR(~chi_30 -> ~s ._L sb)' write(nout,102) brneutsdownl(3),2,-issl,is, 'BR(~chi_30 -> ~s ._L* s )' endif if(brneutsdownr(3).ne.0.D0) then write(nout,102) brneutsdownr(3),2,issr,isb, 'BR(~chi_30 -> ~s ._R sb)' write(nout,102) brneutsdownr(3),2,-issr,is, 'BR(~chi_30 -> ~s ._R* s )' endif if(brneutst1(3).ne.0.D0) then write(nout,102) brneutst1(3),2,ist1,itb, 'BR(~chi_30 -> ~t ._1 tb)' write(nout,102) brneutst1(3),2,-ist1,it, 'BR(~chi_30 -> ~t ._1* t )' endif if(brneutst2(3).ne.0.D0) then write(nout,102) brneutst2(3),2,ist2,itb, 'BR(~chi_30 -> ~t ._2 tb)' write(nout,102) brneutst2(3),2,-ist2,it, 'BR(~chi_30 -> ~t ._2* t )' endif if(brneutsb1(3).ne.0.D0) then write(nout,102) brneutsb1(3),2,isb1,ibb, 'BR(~chi_30 -> ~b ._1 bb)' write(nout,102) brneutsb1(3),2,-isb1,ib, 'BR(~chi_30 -> ~b ._1* b )' endif if(brneutsb2(3).ne.0.D0) then write(nout,102) brneutsb2(3),2,isb2,ibb, 'BR(~chi_30 -> ~b ._2 bb)' write(nout,102) brneutsb2(3),2,-isb2,ib, 'BR(~chi_30 -> ~b ._2* b )' endif if(brneutsell(3).ne.0.D0) then write(nout,102) brneutsell(3),2,isell,-ie, 'BR(~chi_30 -> ~e ._L- e+)' write(nout,102) brneutsell(3),2,-isell,ie, 'BR(~chi_30 -> ~e ._L+ e-)' endif if(brneutselr(3).ne.0.D0) then write(nout,102) brneutselr(3),2,iselr,-ie, 'BR(~chi_30 -> ~e ._R- e+)' write(nout,102) brneutselr(3),2,-iselr,ie, 'BR(~chi_30 -> ~e ._R+ e-)' endif if(brneutsell(3).ne.0.D0) then write(nout,102) brneutsell(3),2,ismul,-imu, 'BR(~chi_30 -> ~m .u_L- mu+)' write(nout,102) brneutsell(3),2,-ismul,imu, 'BR(~chi_30 -> ~m .u_L+ mu-)' endif if(brneutselr(3).ne.0.D0) then write(nout,102) brneutselr(3),2,ismur,-imu, 'BR(~chi_30 -> ~m .u_R- mu+)' write(nout,102) brneutselr(3),2,-ismur,imu, 'BR(~chi_30 -> ~m .u_R+ mu-)' endif if(brneutstau1(3).ne.0.D0) then write(nout,102) brneutstau1(3),2,istau1,-itau, 'BR(~chi_30 -> ~t .au_1- tau+)' write(nout,102) brneutstau1(3),2,-istau1,itau, 'BR(~chi_30 -> ~t .au_1+ tau-)' endif if(brneutstau2(3).ne.0.D0) then write(nout,102) brneutstau2(3),2,istau2,-itau, 'BR(~chi_30 -> ~t .au_2- tau+)' write(nout,102) brneutstau2(3),2,-istau2,itau, 'BR(~chi_30 -> ~t .au_2+ tau-)' endif if(brneutsnel(3).ne.0.D0) then write(nout,102) brneutsnel(3),2,inel,-ine, 'BR(~chi_30 -> ~n .u_eL nu_eb)' write(nout,102) brneutsnel(3),2,-inel,ine, 'BR(~chi_30 -> ~n .u_eL* nu_e )' write(nout,102) brneutsnel(3),2,inmul,-inmu, 'BR(~chi_30 -> ~n .u_muL nu_mub)' write(nout,102) brneutsnel(3),2,-inmul,inmu, 'BR(~chi_30 -> ~n .u_muL* nu_mu )' endif if(brneutsn1(3).ne.0.D0) then write(nout,102) brneutsn1(3),2,intau1,-intau, 'BR(~chi_30 -> ~n .u_tau1 nu_taub)' write(nout,102) brneutsn1(3),2,-intau1,intau, 'BR(~chi_30 -> ~n .u_tau1* nu_tau )' endif if(flagnlspgmsb.eq.1.D0) then if(brneutgamgrav(3).ne.0.D0) then write(nout,102) brneutgamgrav(3),2,igrav,iga, 'BR(~chi_30 -> ~G . gam)' endif if(brneutzgrav(3).ne.0.D0) then write(nout,102) brneutzgrav(3),2,igrav,iz, 'BR(~chi_30 -> ~G . Z)' endif if(brneuthlgrav(3).ne.0.D0) then write(nout,102) brneuthlgrav(3),2,igrav,ihl, 'BR(~chi_30 -> ~G . h)' endif if(brneuthhgrav(3).ne.0.D0) then write(nout,102) brneuthhgrav(3),2,igrav,ihh, 'BR(~chi_30 -> ~G . H)' endif if(brneuthagrav(3).ne.0.D0) then write(nout,102) brneuthagrav(3),2,igrav,iha, 'BR(~chi_30 -> ~G . A)' endif endif elseif(flagcondneut(3).eq.11.D0.or.flagcondneut(3).eq.12.D0) then if(neuttot(3).ne.0.D0) then write(nout,99) write(nout,100) 1000025,neuttot(3),'neutralino3 decays' if(flagloop.eq.1.D0) then write(nout,101) if(brnraddec(3,1).ne.0.D0) then write(nout,102) brnraddec(3,1),2,in1,iga, 'BR(~chi_30 -> ~c .hi_10 gam)' endif if(brnraddec(3,2).ne.0.D0) then write(nout,102) brnraddec(3,2),2,in2,iga, 'BR(~chi_30 -> ~c .hi_20 gam)' endif endif c if(flagnlspgmsb.eq.1.D0) then write(nout,101) if(brneutgamgrav(3).ne.0.D0) then write(nout,102) brneutgamgrav(3),2,igrav,iga, 'BR(~chi_30 -> ~G . gam)' endif if(brneutzgrav(3).ne.0.D0) then write(nout,102) brneutzgrav(3),2,igrav,iz, 'BR(~chi_30 -> ~G . Z)' endif if(brneuthlgrav(3).ne.0.D0) then write(nout,102) brneuthlgrav(3),2,igrav,ihl, 'BR(~chi_30 -> ~G . h)' endif if(brneuthhgrav(3).ne.0.D0) then write(nout,102) brneuthhgrav(3),2,igrav,ihh, 'BR(~chi_30 -> ~G . H)' endif if(brneuthagrav(3).ne.0.D0) then write(nout,102) brneuthagrav(3),2,igrav,iha, 'BR(~chi_30 -> ~G . A)' endif endif c if(flagmulti.eq.1.D0) then if(flagneut3bod(3).eq.1.D0) then write(nout,103) endif if(brneutup(3,1).ne.0.D0) then write(nout,104) brneutup(3,1),3,in1,iub,iu, 'BR(~chi_30 -> ~c .hi_10 ub u)' endif if(brneutdow(3,1).ne.0.D0) then write(nout,104) brneutdow(3,1),3,in1,idb,id, 'BR(~chi_30 -> ~c .hi_10 db d)' endif if(brneutch(3,1).ne.0.D0) then write(nout,104) brneutch(3,1),3,in1,icb,ic, 'BR(~chi_30 -> ~c .hi_10 cb c)' endif if(brneutst(3,1).ne.0.D0) then write(nout,104) brneutst(3,1),3,in1,isb,is, 'BR(~chi_30 -> ~c .hi_10 sb s)' endif if(brneuttop(3,1).ne.0.D0) then write(nout,104) brneuttop(3,1),3,in1,itb,it, 'BR(~chi_30 -> ~c .hi_10 tb t)' endif if(brneutbot(3,1).ne.0.D0) then write(nout,104) brneutbot(3,1),3,in1,ibb,ib, 'BR(~chi_30 -> ~c .hi_10 bb b)' endif if(brneutel(3,1).ne.0.D0) then write(nout,104) brneutel(3,1),3,in1,-ie,ie, 'BR(~chi_30 -> ~c .hi_10 e+ e-)' endif if(brneutmu(3,1).ne.0.D0) then write(nout,104) brneutmu(3,1),3,in1,-imu,imu, 'BR(~chi_30 -> ~c .hi_10 mu+ mu-)' endif if(brneuttau(3,1).ne.0.D0) then write(nout,104) brneuttau(3,1),3,in1,-itau,itau, 'BR(~chi_30 -> ~c .hi_10 tau+ tau-)' endif if(brneutnue(3,1).ne.0.D0) then write(nout,104) brneutnue(3,1),3,in1,-ine,ine, 'BR(~chi_30 -> ~c .hi_10 nu_eb nu_e)' endif if(brneutnumu(3,1).ne.0.D0) then write(nout,104) brneutnumu(3,1),3,in1,-inmu,inmu,'BR(~chi_30 -> ~c .hi_10 nu_mub nu_mu)' endif if(brneutnutau(3,1).ne.0.D0) then write(nout,104) brneutnutau(3,1),3,in1,-intau,intau,'BR(~chi_30 -> . ~chi_10 nu_taub nu_tau)' endif if(brneutup(3,2).ne.0.D0) then write(nout,104) brneutup(3,2),3,in2,iub,iu, 'BR(~chi_30 -> ~c .hi_20 ub u)' endif if(brneutdow(3,2).ne.0.D0) then write(nout,104) brneutdow(3,2),3,in2,idb,id, 'BR(~chi_30 -> ~c .hi_20 db d)' endif if(brneutch(3,2).ne.0.D0) then write(nout,104) brneutch(3,2),3,in2,icb,ic, 'BR(~chi_30 -> ~c .hi_20 cb c)' endif if(brneutst(3,2).ne.0.D0) then write(nout,104) brneutst(3,2),3,in2,isb,is, 'BR(~chi_30 -> ~c .hi_20 sb s)' endif if(brneuttop(3,2).ne.0.D0) then write(nout,104) brneuttop(3,2),3,in2,itb,it, 'BR(~chi_30 -> ~c .hi_20 tb t)' endif if(brneutbot(3,2).ne.0.D0) then write(nout,104) brneutbot(3,2),3,in2,ibb,ib, 'BR(~chi_30 -> ~c .hi_20 bb b)' endif if(brneutel(3,2).ne.0.D0) then write(nout,104) brneutel(3,2),3,in2,-ie,ie, 'BR(~chi_30 -> ~c .hi_20 e+ e-)' endif if(brneutmu(3,2).ne.0.D0) then write(nout,104) brneutmu(3,2),3,in2,-imu,imu, 'BR(~chi_30 -> ~c .hi_20 mu+ mu-)' endif if(brneuttau(3,2).ne.0.D0) then write(nout,104) brneuttau(3,2),3,in2,-itau,itau, 'BR(~chi_30 -> ~c .hi_20 tau+ tau-)' endif if(brneutnue(3,2).ne.0.D0) then write(nout,104) brneutnue(3,2),3,in2,-ine,ine, 'BR(~chi_30 -> ~c .hi_20 nu_eb nu_e)' endif if(brneutnumu(3,2).ne.0.D0) then write(nout,104) brneutnumu(3,2),3,in2,-inmu,inmu,'BR(~chi_30 -> ~c .hi_20 nu_mub nu_mu)' endif if(brneutnutau(3,2).ne.0.D0) then write(nout,104) brneutnutau(3,2),3,in2,-intau,intau,'BR(~chi_30 -> . ~chi_20 nu_taub nu_tau)' endif if(brchubd(3,1).ne.0.D0) then write(nout,104) brchubd(3,1),3,ic1,iub,id, 'BR(~chi_30 -> ~c .hi_1+ ub d)' write(nout,104) brchubd(3,1),3,-ic1,idb,iu, 'BR(~chi_30 -> ~c .hi_1- db u)' endif if(brchubd(3,2).ne.0.D0) then write(nout,104) brchubd(3,2),3,ic2,iub,id, 'BR(~chi_30 -> ~c .hi_2+ ub d)' write(nout,104) brchubd(3,2),3,-ic2,idb,iu, 'BR(~chi_30 -> ~c .hi_2- db u)' endif if(brchcbs(3,1).ne.0.D0) then write(nout,104) brchcbs(3,1),3,ic1,icb,is, 'BR(~chi_30 -> ~c .hi_1+ cb s)' write(nout,104) brchcbs(3,1),3,-ic1,isb,ic, 'BR(~chi_30 -> ~c .hi_1- sb c)' endif if(brchcbs(3,2).ne.0.D0) then write(nout,104) brchcbs(3,2),3,ic2,icb,is, 'BR(~chi_30 -> ~c .hi_2+ cb s)' write(nout,104) brchcbs(3,2),3,-ic2,isb,ic, 'BR(~chi_30 -> ~c .hi_2- sb c)' endif if(brchtbb(3,1).ne.0.D0) then write(nout,104) brchtbb(3,1),3,ic1,itb,ib, 'BR(~chi_30 -> ~c .hi_1+ tb b)' write(nout,104) brchtbb(3,1),3,-ic1,ibb,it, 'BR(~chi_30 -> ~c .hi_1- bb t)' endif if(brchtbb(3,2).ne.0.D0) then write(nout,104) brchtbb(3,2),3,ic2,itb,ib, 'BR(~chi_30 -> ~c .hi_2+ tb b)' write(nout,104) brchtbb(3,2),3,-ic2,ibb,it, 'BR(~chi_30 -> ~c .hi_2- bb t)' endif if(brchelne(3,1).ne.0.D0) then write(nout,104) brchelne(3,1),3,ic1,-ine,ie, 'BR(~chi_30 -> ~c .hi_1+ nu_eb e-)' write(nout,104) brchelne(3,1),3,-ic1,ine,-ie, 'BR(~chi_30 -> ~c .hi_1- nu_e e+)' endif if(brchelne(3,2).ne.0.D0) then write(nout,104) brchelne(3,2),3,ic2,-ine,ie, 'BR(~chi_30 -> ~c .hi_2+ nu_eb e-)' write(nout,104) brchelne(3,2),3,-ic2,ine,-ie, 'BR(~chi_30 -> ~c .hi_2- nu_e e+)' endif if(brchmunmu(3,1).ne.0.D0) then write(nout,104) brchmunmu(3,1),3,ic1,-inmu,imu, 'BR(~chi_30 -> ~c .hi_1+ nu_mub mu-)' write(nout,104) brchmunmu(3,1),3,-ic1,inmu,-imu, 'BR(~chi_30 -> ~c .hi_1- nu_mu mu+)' endif if(brchmunmu(3,2).ne.0.D0) then write(nout,104) brchmunmu(3,2),3,ic2,-inmu,imu, 'BR(~chi_30 -> ~c .hi_2+ nu_mub mu-)' write(nout,104) brchmunmu(3,2),3,-ic2,inmu,-imu, 'BR(~chi_30 -> ~c .hi_2- nu_mu mu+)' endif if(brchtauntau(3,1).ne.0.D0) then write(nout,104) brchtauntau(3,1),3,ic1,-intau,itau, 'BR(~chi_30 -> . ~chi_1+ nu_taub tau-)' write(nout,104) brchtauntau(3,1),3,-ic1,intau,-itau,'BR(~chi_30 -> . ~chi_1- nu_tau tau+)' endif if(brchtauntau(3,2).ne.0.D0) then write(nout,104) brchtauntau(3,2),3,ic2,-intau,itau, 'BR(~chi_30 -> . ~chi_2+ nu_taub tau-)' write(nout,104) brchtauntau(3,2),3,-ic2,intau,-itau,'BR(~chi_30 -> . ~chi_2- nu_tau tau+)' endif if(brglup(3).ne.0.D0) then write(nout,104) brglup(3),3,iglo,iub,iu, 'BR(~chi_30 -> . ~g ub u)' endif if(brgldo(3).ne.0.D0) then write(nout,104) brgldo(3),3,iglo,idb,id, 'BR(~chi_30 -> . ~g db d)' endif if(brglch(3).ne.0.D0) then write(nout,104) brglch(3),3,iglo,icb,ic, 'BR(~chi_30 -> . ~g cb c)' endif if(brglst(3).ne.0.D0) then write(nout,104) brglst(3),3,iglo,isb,is, 'BR(~chi_30 -> . ~g sb s)' endif if(brgltop(3).ne.0.D0) then write(nout,104) brgltop(3),3,iglo,itb,it, 'BR(~chi_30 -> . ~g tb t)' endif if(brglbot(3).ne.0.D0) then write(nout,104) brglbot(3),3,iglo,ibb,ib, 'BR(~chi_30 -> . ~g bb b)' endif endif elseif(neuttot(3).eq.0.D0) then write(nout,99) write(nout,100) 1000025,0.000000000E+00,'neutralino3 decays' endif endif c ------------------ c c neutralino4 decays c c ------------------ c write(nout,105) if(flagcondneut(4).eq.10.D0) then write(nout,99) write(nout,100) 1000035,0.000000000E+00,'neutralino4 decays' elseif(flagcondneut(4).eq.40.D0.or.flagcondneut(4).eq.41.D0.or. .flagcondneut(4).eq.42.D0) then write(nout,99) write(nout,100) 1000035,neuttot2(4),'neutralino4 decays' write(nout,101) if(brneutzneut(4,1).ne.0.D0) then write(nout,102) brneutzneut(4,1),2,in1,iz, 'BR(~chi_40 -> ~c .hi_10 Z )' endif if(brneutzneut(4,2).ne.0.D0) then write(nout,102) brneutzneut(4,2),2,in2,iz, 'BR(~chi_40 -> ~c .hi_20 Z )' endif if(brneutzneut(4,3).ne.0.D0) then write(nout,102) brneutzneut(4,3),2,in3,iz, 'BR(~chi_40 -> ~c .hi_30 Z )' endif if(brneutwchar(4,1).ne.0.D0) then write(nout,102) brneutwchar(4,1),2,ic1,-iwc, 'BR(~chi_40 -> ~c .hi_1+ W-)' write(nout,102) brneutwchar(4,1),2,-ic1,iwc, 'BR(~chi_40 -> ~c .hi_1- W+)' endif if(brneutwchar(4,2).ne.0.D0) then write(nout,102) brneutwchar(4,2),2,ic2,-iwc, 'BR(~chi_40 -> ~c .hi_2+ W-)' write(nout,102) brneutwchar(4,2),2,-ic2,iwc, 'BR(~chi_40 -> ~c .hi_2- W+)' endif if(brneuthlneut(4,1).ne.0.D0) then write(nout,102) brneuthlneut(4,1),2,in1,ihl, 'BR(~chi_40 -> ~c .hi_10 h )' endif if(brneuthhneut(4,1).ne.0.D0) then write(nout,102) brneuthhneut(4,1),2,in1,ihh, 'BR(~chi_40 -> ~c .hi_10 H )' endif if(brneuthaneut(4,1).ne.0.D0) then write(nout,102) brneuthaneut(4,1),2,in1,iha, 'BR(~chi_40 -> ~c .hi_10 A )' endif if(brneuthlneut(4,2).ne.0.D0) then write(nout,102) brneuthlneut(4,2),2,in2,ihl, 'BR(~chi_40 -> ~c .hi_20 h )' endif if(brneuthhneut(4,2).ne.0.D0) then write(nout,102) brneuthhneut(4,2),2,in2,ihh, 'BR(~chi_40 -> ~c .hi_20 H )' endif if(brneuthaneut(4,2).ne.0.D0) then write(nout,102) brneuthaneut(4,2),2,in2,iha, 'BR(~chi_40 -> ~c .hi_20 A )' endif if(brneuthlneut(4,3).ne.0.D0) then write(nout,102) brneuthlneut(4,3),2,in3,ihl, 'BR(~chi_40 -> ~c .hi_30 h )' endif if(brneuthhneut(4,3).ne.0.D0) then write(nout,102) brneuthhneut(4,3),2,in3,ihh, 'BR(~chi_40 -> ~c .hi_30 H )' endif if(brneuthaneut(4,3).ne.0.D0) then write(nout,102) brneuthaneut(4,3),2,in3,iha, 'BR(~chi_40 -> ~c .hi_30 A )' endif if(brneuthcchar(4,1).ne.0.D0) then write(nout,102) brneuthcchar(4,1),2,ic1,-ihc, 'BR(~chi_40 -> ~c .hi_1+ H-)' write(nout,102) brneuthcchar(4,1),2,-ic1,ihc, 'BR(~chi_40 -> ~c .hi_1- H+)' endif if(brneuthcchar(4,2).ne.0.D0) then write(nout,102) brneuthcchar(4,2),2,ic2,-ihc, 'BR(~chi_40 -> ~c .hi_2+ H-)' write(nout,102) brneuthcchar(4,2),2,-ic2,ihc, 'BR(~chi_40 -> ~c .hi_2- H+)' endif if(brneutsupl(4).ne.0.D0) then write(nout,102) brneutsupl(4),2,isul,iub, 'BR(~chi_40 -> ~u ._L ub)' write(nout,102) brneutsupl(4),2,-isul,iu, 'BR(~chi_40 -> ~u ._L* u )' endif if(brneutsupr(4).ne.0.D0) then write(nout,102) brneutsupr(4),2,isur,iub, 'BR(~chi_40 -> ~u ._R ub)' write(nout,102) brneutsupr(4),2,-isur,iu, 'BR(~chi_40 -> ~u ._R* u )' endif if(brneutsdownl(4).ne.0.D0) then write(nout,102) brneutsdownl(4),2,isdl,idb, 'BR(~chi_40 -> ~d ._L db)' write(nout,102) brneutsdownl(4),2,-isdl,id, 'BR(~chi_40 -> ~d ._L* d )' endif if(brneutsdownr(4).ne.0.D0) then write(nout,102) brneutsdownr(4),2,isdr,idb, 'BR(~chi_40 -> ~d ._R db)' write(nout,102) brneutsdownr(4),2,-isdr,id, 'BR(~chi_40 -> ~d ._R* d )' endif if(brneutsupl(4).ne.0.D0) then write(nout,102) brneutsupl(4),2,iscl,icb, 'BR(~chi_40 -> ~c ._L cb)' write(nout,102) brneutsupl(4),2,-iscl,ic, 'BR(~chi_40 -> ~c ._L* c )' endif if(brneutsupr(4).ne.0.D0) then write(nout,102) brneutsupr(4),2,iscr,icb, 'BR(~chi_40 -> ~c ._R cb)' write(nout,102) brneutsupr(4),2,-iscr,ic, 'BR(~chi_40 -> ~c ._R* c )' endif if(brneutsdownl(4).ne.0.D0) then write(nout,102) brneutsdownl(4),2,issl,isb, 'BR(~chi_40 -> ~s ._L sb)' write(nout,102) brneutsdownl(4),2,-issl,is, 'BR(~chi_40 -> ~s ._L* s )' endif if(brneutsdownr(4).ne.0.D0) then write(nout,102) brneutsdownr(4),2,issr,isb, 'BR(~chi_40 -> ~s ._R sb)' write(nout,102) brneutsdownr(4),2,-issr,is, 'BR(~chi_40 -> ~s ._R* s )' endif if(brneutst1(4).ne.0.D0) then write(nout,102) brneutst1(4),2,ist1,itb, 'BR(~chi_40 -> ~t ._1 tb)' write(nout,102) brneutst1(4),2,-ist1,it, 'BR(~chi_40 -> ~t ._1* t )' endif if(brneutst2(4).ne.0.D0) then write(nout,102) brneutst2(4),2,ist2,itb, 'BR(~chi_40 -> ~t ._2 tb)' write(nout,102) brneutst2(4),2,-ist2,it, 'BR(~chi_40 -> ~t ._2* t )' endif if(brneutsb1(4).ne.0.D0) then write(nout,102) brneutsb1(4),2,isb1,ibb, 'BR(~chi_40 -> ~b ._1 bb)' write(nout,102) brneutsb1(4),2,-isb1,ib, 'BR(~chi_40 -> ~b ._1* b )' endif if(brneutsb2(4).ne.0.D0) then write(nout,102) brneutsb2(4),2,isb2,ibb, 'BR(~chi_40 -> ~b ._2 bb)' write(nout,102) brneutsb2(4),2,-isb2,ib, 'BR(~chi_40 -> ~b ._2* b )' endif if(brneutsell(4).ne.0.D0) then write(nout,102) brneutsell(4),2,isell,-ie, 'BR(~chi_40 -> ~e ._L- e+)' write(nout,102) brneutsell(4),2,-isell,ie, 'BR(~chi_40 -> ~e ._L+ e-)' endif if(brneutselr(4).ne.0.D0) then write(nout,102) brneutselr(4),2,iselr,-ie, 'BR(~chi_40 -> ~e ._R- e+)' write(nout,102) brneutselr(4),2,-iselr,ie, 'BR(~chi_40 -> ~e ._R+ e-)' endif if(brneutsell(4).ne.0.D0) then write(nout,102) brneutsell(4),2,ismul,-imu, 'BR(~chi_40 -> ~m .u_L- mu+)' write(nout,102) brneutsell(4),2,-ismul,imu, 'BR(~chi_40 -> ~m .u_L+ mu-)' endif if(brneutselr(4).ne.0.D0) then write(nout,102) brneutselr(4),2,ismur,-imu, 'BR(~chi_40 -> ~m .u_R- mu+)' write(nout,102) brneutselr(4),2,-ismur,imu, 'BR(~chi_40 -> ~m .u_R+ mu-)' endif if(brneutstau1(4).ne.0.D0) then write(nout,102) brneutstau1(4),2,istau1,-itau, 'BR(~chi_40 -> ~t .au_1- tau+)' write(nout,102) brneutstau1(4),2,-istau1,itau, 'BR(~chi_40 -> ~t .au_1+ tau-)' endif if(brneutstau2(4).ne.0.D0) then write(nout,102) brneutstau2(4),2,istau2,-itau, 'BR(~chi_40 -> ~t .au_2- tau+)' write(nout,102) brneutstau2(4),2,-istau2,itau, 'BR(~chi_40 -> ~t .au_2+ tau-)' endif if(brneutsnel(4).ne.0.D0) then write(nout,102) brneutsnel(4),2,inel,-ine, 'BR(~chi_40 -> ~n .u_eL nu_eb)' write(nout,102) brneutsnel(4),2,-inel,ine, 'BR(~chi_40 -> ~n .u_eL* nu_e )' write(nout,102) brneutsnel(4),2,inmul,-inmu, 'BR(~chi_40 -> ~n .u_muL nu_mub)' write(nout,102) brneutsnel(4),2,-inmul,inmu, 'BR(~chi_40 -> ~n .u_muL* nu_mu )' endif if(brneutsn1(4).ne.0.D0) then write(nout,102) brneutsn1(4),2,intau1,-intau, 'BR(~chi_40 -> ~n .u_tau1 nu_taub)' write(nout,102) brneutsn1(4),2,-intau1,intau, 'BR(~chi_40 -> ~n .u_tau1* nu_tau )' endif if(flagnlspgmsb.eq.1.D0) then if(brneutgamgrav(4).ne.0.D0) then write(nout,102) brneutgamgrav(4),2,igrav,iga, 'BR(~chi_40 -> ~G . gam)' endif if(brneutzgrav(4).ne.0.D0) then write(nout,102) brneutzgrav(4),2,igrav,iz, 'BR(~chi_40 -> ~G . Z)' endif if(brneuthlgrav(4).ne.0.D0) then write(nout,102) brneuthlgrav(4),2,igrav,ihl, 'BR(~chi_40 -> ~G . h)' endif if(brneuthhgrav(4).ne.0.D0) then write(nout,102) brneuthhgrav(4),2,igrav,ihh, 'BR(~chi_40 -> ~G . H)' endif if(brneuthagrav(4).ne.0.D0) then write(nout,102) brneuthagrav(4),2,igrav,iha, 'BR(~chi_40 -> ~G . A)' endif endif elseif(flagcondneut(4).eq.11.D0.or.flagcondneut(4).eq.12.D0) then if(neuttot(4).ne.0.D0) then write(nout,99) write(nout,100) 1000035,neuttot(4),'neutralino4 decays' if(flagloop.eq.1.D0) then write(nout,101) if(brnraddec(4,1).ne.0.D0) then write(nout,102) brnraddec(4,1),2,in1,iga, 'BR(~chi_40 -> ~c .hi_10 gam)' endif if(brnraddec(4,2).ne.0.D0) then write(nout,102) brnraddec(4,2),2,in2,iga, 'BR(~chi_40 -> ~c .hi_20 gam)' endif if(brnraddec(4,3).ne.0.D0) then write(nout,102) brnraddec(4,3),2,in3,iga, 'BR(~chi_40 -> ~c .hi_30 gam)' endif endif c if(flagnlspgmsb.eq.1.D0) then write(nout,101) if(brneutgamgrav(4).ne.0.D0) then write(nout,102) brneutgamgrav(4),2,igrav,iga, 'BR(~chi_40 -> ~G . gam)' endif if(brneutzgrav(4).ne.0.D0) then write(nout,102) brneutzgrav(4),2,igrav,iz, 'BR(~chi_40 -> ~G . Z)' endif if(brneuthlgrav(4).ne.0.D0) then write(nout,102) brneuthlgrav(4),2,igrav,ihl, 'BR(~chi_40 -> ~G . h)' endif if(brneuthhgrav(4).ne.0.D0) then write(nout,102) brneuthhgrav(4),2,igrav,ihh, 'BR(~chi_40 -> ~G . H)' endif if(brneuthagrav(4).ne.0.D0) then write(nout,102) brneuthagrav(4),2,igrav,iha, 'BR(~chi_40 -> ~G . A)' endif endif c if(flagmulti.eq.1.D0) then if(flagneut3bod(4).eq.1.D0) then write(nout,103) endif if(brneutup(4,1).ne.0.D0) then write(nout,104) brneutup(4,1),3,in1,iub,iu, 'BR(~chi_40 -> ~c .hi_10 ub u)' endif if(brneutdow(4,1).ne.0.D0) then write(nout,104) brneutdow(4,1),3,in1,idb,id, 'BR(~chi_40 -> ~c .hi_10 db d)' endif if(brneutch(4,1).ne.0.D0) then write(nout,104) brneutch(4,1),3,in1,icb,ic, 'BR(~chi_40 -> ~c .hi_10 cb c)' endif if(brneutst(4,1).ne.0.D0) then write(nout,104) brneutst(4,1),3,in1,isb,is, 'BR(~chi_40 -> ~c .hi_10 sb s)' endif if(brneuttop(4,1).ne.0.D0) then write(nout,104) brneuttop(4,1),3,in1,itb,it, 'BR(~chi_40 -> ~c .hi_10 tb t)' endif if(brneutbot(4,1).ne.0.D0) then write(nout,104) brneutbot(4,1),3,in1,ibb,ib, 'BR(~chi_40 -> ~c .hi_10 bb b)' endif if(brneutel(4,1).ne.0.D0) then write(nout,104) brneutel(4,1),3,in1,-ie,ie, 'BR(~chi_40 -> ~c .hi_10 e+ e-)' endif if(brneutmu(4,1).ne.0.D0) then write(nout,104) brneutmu(4,1),3,in1,-imu,imu, 'BR(~chi_40 -> ~c .hi_10 mu+ mu-)' endif if(brneuttau(4,1).ne.0.D0) then write(nout,104) brneuttau(4,1),3,in1,-itau,itau, 'BR(~chi_40 -> ~c .hi_10 tau+ tau-)' endif if(brneutnue(4,1).ne.0.D0) then write(nout,104) brneutnue(4,1),3,in1,-ine,ine, 'BR(~chi_40 -> ~c .hi_10 nu_eb nu_e)' endif if(brneutnumu(4,1).ne.0.D0) then write(nout,104) brneutnumu(4,1),3,in1,-inmu,inmu,'BR(~chi_40 -> ~c .hi_10 nu_mub nu_mu)' endif if(brneutnutau(4,1).ne.0.D0) then write(nout,104) brneutnutau(4,1),3,in1,-intau,intau,'BR(~chi_40 -> . ~chi_10 nu_taub nu_tau)' endif if(brneutup(4,2).ne.0.D0) then write(nout,104) brneutup(4,2),3,in2,iub,iu, 'BR(~chi_40 -> ~c .hi_20 ub u)' endif if(brneutdow(4,2).ne.0.D0) then write(nout,104) brneutdow(4,2),3,in2,idb,id, 'BR(~chi_40 -> ~c .hi_20 db d)' endif if(brneutch(4,2).ne.0.D0) then write(nout,104) brneutch(4,2),3,in2,icb,ic, 'BR(~chi_40 -> ~c .hi_20 cb c)' endif if(brneutst(4,2).ne.0.D0) then write(nout,104) brneutst(4,2),3,in2,isb,is, 'BR(~chi_40 -> ~c .hi_20 sb s)' endif if(brneuttop(4,2).ne.0.D0) then write(nout,104) brneuttop(4,2),3,in2,itb,it, 'BR(~chi_40 -> ~c .hi_20 tb t)' endif if(brneutbot(4,2).ne.0.D0) then write(nout,104) brneutbot(4,2),3,in2,ibb,ib, 'BR(~chi_40 -> ~c .hi_20 bb b)' endif if(brneutel(4,2).ne.0.D0) then write(nout,104) brneutel(4,2),3,in2,-ie,ie, 'BR(~chi_40 -> ~c .hi_20 e+ e-)' endif if(brneutmu(4,2).ne.0.D0) then write(nout,104) brneutmu(4,2),3,in2,-imu,imu, 'BR(~chi_40 -> ~c .hi_20 mu+ mu-)' endif if(brneuttau(4,2).ne.0.D0) then write(nout,104) brneuttau(4,2),3,in2,-itau,itau, 'BR(~chi_40 -> ~c .hi_20 tau+ tau-)' endif if(brneutnue(4,2).ne.0.D0) then write(nout,104) brneutnue(4,2),3,in2,-ine,ine, 'BR(~chi_40 -> ~c .hi_20 nu_eb nu_e)' endif if(brneutnumu(4,2).ne.0.D0) then write(nout,104) brneutnumu(4,2),3,in2,-inmu,inmu,'BR(~chi_40 -> ~c .hi_20 nu_mub nu_mu)' endif if(brneutnutau(4,2).ne.0.D0) then write(nout,104) brneutnutau(4,2),3,in2,-intau,intau,'BR(~chi_40 -> . ~chi_20 nu_taub nu_tau)' endif if(brneutup(4,3).ne.0.D0) then write(nout,104) brneutup(4,3),3,in3,iub,iu, 'BR(~chi_40 -> ~c .hi_30 ub u)' endif if(brneutdow(4,3).ne.0.D0) then write(nout,104) brneutdow(4,3),3,in3,idb,id, 'BR(~chi_40 -> ~c .hi_30 db d)' endif if(brneutch(4,3).ne.0.D0) then write(nout,104) brneutch(4,3),3,in3,icb,ic, 'BR(~chi_40 -> ~c .hi_30 cb c)' endif if(brneutst(4,3).ne.0.D0) then write(nout,104) brneutst(4,3),3,in3,isb,is, 'BR(~chi_40 -> ~c .hi_30 sb s)' endif if(brneuttop(4,3).ne.0.D0) then write(nout,104) brneuttop(4,3),3,in3,itb,it, 'BR(~chi_40 -> ~c .hi_30 tb t)' endif if(brneutbot(4,3).ne.0.D0) then write(nout,104) brneutbot(4,3),3,in3,ibb,ib, 'BR(~chi_40 -> ~c .hi_30 bb b)' endif if(brneutel(4,3).ne.0.D0) then write(nout,104) brneutel(4,3),3,in3,-ie,ie, 'BR(~chi_40 -> ~c .hi_30 e+ e-)' endif if(brneutmu(4,3).ne.0.D0) then write(nout,104) brneutmu(4,3),3,in3,-imu,imu, 'BR(~chi_40 -> ~c .hi_30 mu+ mu-)' endif if(brneuttau(4,3).ne.0.D0) then write(nout,104) brneuttau(4,3),3,in3,-itau,itau, 'BR(~chi_40 -> ~c .hi_30 tau+ tau-)' endif if(brneutnue(4,3).ne.0.D0) then write(nout,104) brneutnue(4,3),3,in3,-ine,ine, 'BR(~chi_40 -> ~c .hi_30 nu_eb nu_e)' endif if(brneutnumu(4,3).ne.0.D0) then write(nout,104) brneutnumu(4,3),3,in3,-inmu,inmu,'BR(~chi_40 -> ~c .hi_30 nu_mub nu_mu)' endif if(brneutnutau(4,3).ne.0.D0) then write(nout,104) brneutnutau(4,3),3,in3,-intau,intau,'BR(~chi_40 -> . ~chi_30 nu_taub nu_tau)' endif if(brchubd(4,1).ne.0.D0) then write(nout,104) brchubd(4,1),3,ic1,iub,id, 'BR(~chi_40 -> ~c .hi_1+ ub d)' write(nout,104) brchubd(4,1),3,-ic1,idb,iu, 'BR(~chi_40 -> ~c .hi_1- db u)' endif if(brchubd(4,2).ne.0.D0) then write(nout,104) brchubd(4,2),3,ic2,iub,id, 'BR(~chi_40 -> ~c .hi_2+ ub d)' write(nout,104) brchubd(4,2),3,-ic2,idb,iu, 'BR(~chi_40 -> ~c .hi_2- db u)' endif if(brchcbs(4,1).ne.0.D0) then write(nout,104) brchcbs(4,1),3,ic1,icb,is, 'BR(~chi_40 -> ~c .hi_1+ cb s)' write(nout,104) brchcbs(4,1),3,-ic1,isb,ic, 'BR(~chi_40 -> ~c .hi_1- sb c)' endif if(brchcbs(4,2).ne.0.D0) then write(nout,104) brchcbs(4,2),3,ic2,icb,is, 'BR(~chi_40 -> ~c .hi_2+ cb s)' write(nout,104) brchcbs(4,2),3,-ic2,isb,ic, 'BR(~chi_40 -> ~c .hi_2- sb c)' endif if(brchtbb(4,1).ne.0.D0) then write(nout,104) brchtbb(4,1),3,ic1,itb,ib, 'BR(~chi_40 -> ~c .hi_1+ tb b)' write(nout,104) brchtbb(4,1),3,-ic1,ibb,it, 'BR(~chi_40 -> ~c .hi_1- bb t)' endif if(brchtbb(4,2).ne.0.D0) then write(nout,104) brchtbb(4,2),3,ic2,itb,ib, 'BR(~chi_40 -> ~c .hi_2+ tb b)' write(nout,104) brchtbb(4,2),3,-ic2,ibb,it, 'BR(~chi_40 -> ~c .hi_2- bb t)' endif if(brchelne(4,1).ne.0.D0) then write(nout,104) brchelne(4,1),3,ic1,-ine,ie, 'BR(~chi_40 -> ~c .hi_1+ nu_eb e-)' write(nout,104) brchelne(4,1),3,-ic1,ine,-ie, 'BR(~chi_40 -> ~c .hi_1- nu_e e+)' endif if(brchelne(4,2).ne.0.D0) then write(nout,104) brchelne(4,2),3,ic2,-ine,ie, 'BR(~chi_40 -> ~c .hi_2+ nu_eb e-)' write(nout,104) brchelne(4,2),3,-ic2,ine,-ie, 'BR(~chi_40 -> ~c .hi_2- nu_e e+)' endif if(brchmunmu(4,1).ne.0.D0) then write(nout,104) brchmunmu(4,1),3,ic1,-inmu,imu, 'BR(~chi_40 -> ~c .hi_1+ nu_mub mu-)' write(nout,104) brchmunmu(4,1),3,-ic1,inmu,-imu, 'BR(~chi_40 -> ~c .hi_1- nu_mu mu+)' endif if(brchmunmu(4,2).ne.0.D0) then write(nout,104) brchmunmu(4,2),3,ic2,-inmu,imu, 'BR(~chi_40 -> ~c .hi_2+ nu_mub mu-)' write(nout,104) brchmunmu(4,2),3,-ic2,inmu,-imu, 'BR(~chi_40 -> ~c .hi_2- nu_mu mu+)' endif if(brchtauntau(4,1).ne.0.D0) then write(nout,104) brchtauntau(4,1),3,ic1,-intau,itau, 'BR(~chi_40 -> . ~chi_1+ nu_taub tau-)' write(nout,104) brchtauntau(4,1),3,-ic1,intau,-itau,'BR(~chi_40 -> . ~chi_1- nu_tau tau+)' endif if(brchtauntau(4,2).ne.0.D0) then write(nout,104) brchtauntau(4,2),3,ic2,-intau,itau, 'BR(~chi_40 -> . ~chi_2+ nu_taub tau-)' write(nout,104) brchtauntau(4,2),3,-ic2,intau,-itau,'BR(~chi_40 -> . ~chi_2- nu_tau tau+)' endif if(brglup(4).ne.0.D0) then write(nout,104) brglup(4),3,iglo,iub,iu, 'BR(~chi_40 -> . ~g ub u)' endif if(brgldo(4).ne.0.D0) then write(nout,104) brgldo(4),3,iglo,idb,id, 'BR(~chi_40 -> . ~g db d)' endif if(brglch(4).ne.0.D0) then write(nout,104) brglch(4),3,iglo,icb,ic, 'BR(~chi_40 -> . ~g cb c)' endif if(brglst(4).ne.0.D0) then write(nout,104) brglst(4),3,iglo,isb,is, 'BR(~chi_40 -> . ~g sb s)' endif if(brgltop(4).ne.0.D0) then write(nout,104) brgltop(4),3,iglo,itb,it, 'BR(~chi_40 -> . ~g tb t)' endif if(brglbot(4).ne.0.D0) then write(nout,104) brglbot(4),3,iglo,ibb,ib, 'BR(~chi_40 -> . ~g bb b)' endif endif elseif(neuttot(4).eq.0.D0) then write(nout,99) write(nout,100) 1000035,0.000000000E+00,'neutralino4 decays' endif endif c ---------------- output not a la Les Houches accord ---------------- c else write(21,*) write(21,*) " =====================" write(21,*) " | THE SDECAY OUTPUT |" write(21,*) " ==================== " write(21,*) write(21,*) write(21,*)'SDECAY 1.3' write(21,*)'Authors: M.Muhlleitner, A.Djouadi and Y.Mambrini' write(21,*)'Comput.Phys.Commun.168(2005)46 [hep-ph/0311167]' write(21,*)'In case of problems please send an email to' write(21,*)'muehlleitner@lapp.in2p3.fr' write(21,*)'djouadi@mail.cern.ch' write(21,*)'yann.mambrini@th.u-psud.fr' write(21,*) write(21,*)'If not stated otherwise all couplings and masses' write(21,*)'are given at the scale of the electroweak symmetry' write(21,*)'breaking Q=',scaleofewsb write(21,*) write(21,*) write(21,*) " Notation: " write(21,*) " --------- " write(21,*) " bosons: gm = gamma, gl = gluon, G = Gravitino" write(21,*) write(21,*) " fermions: up = up, ub = up_bar, dn = . down, db = down_bar, " write(21,*) " ch = charm, cb = charm_bar, st = . strange, sb = strange_bar," write(21,*) " bt = bottom, bb = bottom_bar, tp = . top, tb = top_bar, " write(21,*) " e+ = positron, e- = electron, mu+= . muon_+, mu-= muon_- " write(21,*) " tau+ = tau_+, tau- = tau_- " write(21,*) " nue = neutrino_electron, num = neutrino_m .uon," write(21,*) " nueb = neutrino_el_bar, numb = neutrino_ .muon_bar," write(21,*) " nut = neutrino_tau, nutb = neutrino_ .tau_bar" write(21,*) write(21,*) " sfermions: supl/r = sup_L/R, subl/r = sup_ .L/R_bar, " write(21,*) " sdnl/r = sdown_L/R_bar, sdbl/r = sdow .n_L/R_bar, " write(21,*) " schl/r = scharm_L/R, scbl/r = scha .rm_L/R_bar, " write(21,*) " sstl/r = sstrange_L/R, ssbl/r = sstr .ange_L/R_bar, " write(21,*) " stop1/2 = stop_1/2, stop1/2b = stop ._1/2_bar, " write(21,*) " sbot1/2 = sbottom_1/2, sbot1/2b = sbot .tom_1/2_bar," write(21,*) " sel+/- = selectronL+/-, ser+/- = sele .ctronR+/-, " write(21,*) " smul+/- = smuonL+/-, smur+/- = smuo .nR+/-, " write(21,*) " stau1+/- = stau_1+/-, stau2+/- = stau ._2+/-, " write(21,*) " snuel = sneutrino_el_L, snuml = sneutr .ino_muon_L, " write(21,*) " snut1 = sneutrino_tau_1, snuelb = sneutr .ino_el_L_bar " write(21,*) " snumlb= sneutrino_mu_L_bar, snut1b = sneu .trino_tau_1_bar " write(21,*) write(21,*) " gauginos: chi0_1/2/3/4 = neutralino1/2/3/4, chi+_1/2 . = chargino_1/2_+ " c -------------------------------------------------------------------- c unlikely = -123456789D0 if(check(2).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block SMINPUTS has not been given.' write(nout,50)'At least mb(mb)_MSbar is needed in SDECAY .however.' endif if(check(3).ne.1.and.check(4).ne.1) then write(nout,105) write(nout,50)'WARNING: Neither Block EXTPAR nor Block MINPAR h .as been given.' write(nout,50)'For SDECAY necessary parameters might miss.' endif if(check(4).ne.1.and.check(15).ne.1) then write(nout,105) write(nout,50)'WARNING: The soft SUSY breaking masses have not .been given.' endif if(check(4).ne.1.and.check(16).ne.1) then write(nout,105) write(nout,50)'WARNING: AU has not been given. It is needed in .SDECAY however.' endif if(check(4).ne.1.and.check(17).ne.1) then write(nout,105) write(nout,50)'WARNING: AD has not been given. It is needed in .SDECAY however.' endif if(check(4).ne.1.and.check(18).ne.1) then write(nout,105) write(nout,50)'WARNING: AE has not been given. It is needed in .SDECAY however.' endif if(check(5).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block MASS has not been given. It i .s needed in SDECAY however.' endif if(check(6).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block NMIX has not been given. It i .s needed in SDECAY however.' endif if(check(7).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block UMIX has not been given. It i .s needed in SDECAY however.' endif if(check(8).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block VMIX has not been given. It i .s needed in SDECAY however.' endif if(check(9).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block STOPMIX has not been given. I .t is needed in SDECAY however.' endif if(check(10).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block SBOTMIX has not been given. I .t is needed in SDECAY however.' endif if(check(11).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block STAUMIX has not been given. I .t is needed in SDECAY however.' endif if(check(12).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block ALPHA has not been given. It .is needed in SDECAY however.' endif if(check(13).ne.1) then write(nout,105) write(nout,50)'WARHNING: The Block HMIX has not been given.' write(nout,50)'It is needed for a consistent calculation howeve .r' endif if(check(14).ne.1) then write(nout,105) write(nout,50)'WARHNING: The Block GAUGE has not been given.' write(nout,50)'It is needed for a consistent calculation howeve .r' endif if(check(19).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block YU has not been given. It is .needed in SDECAY however.' endif if(check(20).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block YD has not been given. It is .needed in SDECAY however.' endif if(check(21).ne.1) then write(nout,105) write(nout,50)'WARNING: The Block YE has not been given. It is .needed in SDECAY however.' endif if(hmixval(3).eq.unlikely) then write(nout,105) write(nout,50)'WARNING: The DRbar value for the VEV at the scal .e Q has not been given.' write(nout,50)'Instead v=246 GeV has been chosen.' write(nout,50)'However, the QCD corrections to the decays canno .t be calculated consistently' write(nout,50)'in this case.' endif if(warning(1).eq.1.D0) then write(nout,105) write(nout,50)'WARNING: No scale Q has been given.' endif if(warning(2).eq.1.D0) then write(nout,105) write(nout,50)'WARNING: For the gauge couplings g1 and g2 the .DRbar values at the scale Q are not given.' write(nout,50)'They are calculated instead from alpha_ew_MSbar .at M_Z.' write(nout,50)'The decay widths and the QCD corrections cannot .be calculated consistently.' endif if(warning(3).eq.1.D0) then write(nout,105) write(nout,50)'WARNING: No DRbar value for tanbeta has been giv .en at the scale Q.' write(nout,50)'tanbeta at the scale M_input is taken instead.' endif if(warning(4).eq.1.D0) then write(nout,105) write(nout,50)'WARNING: No DRbar value for tanbeta has been giv .en at the scale Q.' write(nout,50)'tanbeta at the scale M_Z is taken instead.' endif if(warning(5).eq.1.D0) then write(nout,105) write(nout,50)'WARNING: No value for tanbeta has been given.' write(nout,50)'It is needed in SDECAY however.' endif c ----------------------------------- c c Information about the decay program c c ----------------------------------- c write(21,*) write(21,*) write(21,*) " Decay Program information" write(21,*) " -------------------------" write(21,*) " SDECAY decay calculator" write(21,*) " 1.3 version number" c ----------------------------------------------------------------- c c The program information: Which spectrum calculator has been used. c c ----------------------------------------------------------------- c write(21,*) write(21,*) " Spectrum calculator information" write(21,*) " -------------------------------" write(nout,661) spinfo1(1:50) write(nout,661) spinfo2(1:50) c ------------------------------------------------ c c Information on the model which has been selected c c ------------------------------------------------ c write(21,*) write(21,*) " Model selection" write(21,*) " ---------------" write(nout,662) modselval(1:50) c ----------------------- c c The SM input parameters c c ----------------------- c if(check(2).eq.1) then write(21,*) write(21,*) " Standard Model inputs" write(21,*) " ---------------------" write(nout,552) 1.D0/salpha_MS,'alpha_em^-1(M_Z)^MSbar' write(nout,552) sdgf,'G_F [GeV^-2]' write(nout,552) alphasmzms,'alpha_S(M_Z)^MSbar' write(nout,552) amzp,'M_Z pole mass' write(nout,552) mbmsbar,'mb(mb)^MSbar' write(nout,552) samt,'mt pole mass' write(nout,552) samtau,'mtau pole mass' endif c ------------------------------------------------------------------- c c The input parameters for the minimal/default SUSY model given above c c ------------------------------------------------------------------- c if(check(3).eq.1) then write(21,*) write(21,*) " Input parameters - minimal models" write(21,*) " ---------------------------------" unlikely = -123456789D0 do ii=1,20,1 if(minval(ii).ne.unlikely) then write(nout,552) minval(ii),mincom(ii) endif end do endif c -------------------------------------------------------------------- c c ---------------------------- c c Non-minimal input parameters c c ---------------------------- c if(check(15).eq.1) then write(21,*) write(21,*) "Input parameters - non-minimal models" write(21,*) "-------------------------------------" unlikely = -123456789D0 do ii=1,100,1 if(extval(ii-1).ne.unlikely) then write(nout,552) extval(ii-1),extcom(ii-1) endif end do endif c ----------------------- c c The W+ and b-quark mass c c ----------------------- c write(21,*) write(21,*) " The W+ and b-quark mass" write(21,*) " -----------------------" write(nout,552) amwp,'W+' write(nout,552) samb,'b-quark pole mass calculated from mb(mb)_Msb .ar' c -------------------------------------------------------------------- c write(21,*) write(21,*) " Higgs and SUSY particle mass spectrum" write(21,*) " -------------------------------------" write(21,*) " h H A H+" write(21,*) aml,amh,ama,amch write(21,*) write(21,*) " chi+_1 chi+_2" write(21,*) amchar(1),amchar(2) write(21,*) write(21,*) " chi0_1 chi0_2 chi0_3 chi0_4" write(21,*) xmneut(1),xmneut(2),xmneut(3),xmneut(4) write(21,*) write(21,*) " gluino" write(21,*) mgluino write(21,*) write(21,*) " supl supr sdnl sdnr" write(21,*) asup1,asup2,asdown1,asdown2 write(21,*) write(21,*) " schl schr sstl sstr" write(21,*) asup1,asup2,asdown1,asdown2 write(21,*) write(21,*) " stop1 stop2 sbot1 sbot2" write(21,*) ast1,ast2,asb1,asb2 write(21,*) write(21,*) " sel ser smul smur" write(21,*) ase1,ase2,ase1,ase2 write(21,*) write(21,*) " stau1 stau2" write(21,*) astau1,astau2 write(21,*) write(21,*) " snuel snuml snut1" write(21,*) asne1,asne1,asntau1 if(mgravitino.ne.unlikely) then write(21,*) write(21,*) " gravitino" write(21,*) mgravitino endif write(21,*) write(21,*) write(21,*) " Mass matrices and mixing angles" write(21,*) " -------------------------------" write(21,*) " Q =",scaleofewsb if(check(12).eq.1) then write(21,*) write(21,*) " alpha(h,H)" write(21,*) alp_mssm endif if(check(9).eq.1.and.check(10).eq.1.and.check(11).eq.1) then write(21,*) write(21,*) " theta_t theta_b theta_tau" write(21,*) sdthet,sdtheb,sdthel endif if(check(6).eq.1) then write(21,*) write(21,*) " N(i,j) Neutralino mixing matrix" write(21,202) " i=1 ",zz(1,1),zz(1,2),zz(1,3),zz(1,4) write(21,202) " i=2 ",zz(2,1),zz(2,2),zz(2,3),zz(2,4) write(21,202) " i=3 ",zz(3,1),zz(3,2),zz(3,3),zz(3,4) write(21,202) " i=4 ",zz(4,1),zz(4,2),zz(4,3),zz(4,4) endif if(check(7).eq.1) then write(21,*) write(21,*) " U(i,j) Chargino mixing matrix U" write(21,204) " i=1 ",uu(1,1),uu(1,2) write(21,204) " i=2 ",uu(2,1),uu(2,2) endif if(check(8).eq.1) then write(21,*) write(21,*) " V(i,j) Chargino mixing matrix V" write(21,204) " i=1 ",vv(1,1),vv(1,2) write(21,204) " i=2 ",vv(2,1),vv(2,2) endif if(check(13).eq.1) then write(21,*) write(21,*) write(21,*) " DRbar Higgs parameters at the scale Q" write(21,*) " -------------------------------------" unlikely = -123456789D0 do ii=1,10,1 if(hmixval(ii).ne.unlikely) then write(nout,552) hmixval(ii),hmixcom(ii) endif end do endif write(21,*) write(21,*) write(21,*) " The gauge couplings at the scale Q" write(21,*) " ----------------------------------" write(21,*) " Q =",scaleofewsb write(21,*) " gprime DRbar =",g1ew write(21,*) " g DRbar =",g2ew write(21,*) if(scalechoice.eq.1.D0) then write(21,*) " Q =",scaleofewsb elseif(scalechoice.eq.2.D0) then if(idrbar.eq.1) then write(21,*) " Q = mass of the decaying particle" elseif(idrbar.eq.0) then write(21,*) " Q = mass of the decaying particle" endif elseif(scalechoice.eq.3.D0) then if(idrbar.eq.1) then write(21,*) " Q =",scaleofcoupling elseif(idrbar.eq.0) then write(21,*) " Q =",scaleofcoupling endif endif if(scalechoice.eq.1.D0) then write(21,*) " alpha_s DRbar =",alsew elseif(scalechoice.eq.2.D0) then if(idrbar.eq.1) then write(21,*) " alpha_s DRbar = depends on the decaying part .icle" elseif(idrbar.eq.0) then write(21,*) " alpha_s MSbar = depends on the decaying part .icle" endif elseif(scalechoice.eq.3.D0) then if(idrbar.eq.1) then write(21,*) " alpha_s DRbar =", . SD_alphascall(scaleofcoupling,inumloop) elseif(idrbar.eq.0) then write(21,*) " alpha_s MSbar =", . SD_alphascall(scaleofcoupling,inumloop) endif endif if(check(16).eq.1.and.check(17).eq.1.and.check(18).eq.1) then write(21,*) write(21,*) write(21,*) " The trilinear couplings AU, AD, AE at the scale Q" write(21,*) " -------------------------------------------------" write(21,*) " Q =",scaleofewsb write(21,*) write(21,*) " 1,1 A_u DRbar =",auval(1,1) write(21,*) " 1,1 A_d DRbar =",adval(1,1) write(21,*) " 1,1 A_e DRbar =",aeval(1,1) write(21,*) " 2,2 A_c DRbar =",auval(2,2) write(21,*) " 2,2 A_s DRbar =",adval(2,2) write(21,*) " 2,2 A_mu DRbar =",aeval(2,2) write(21,*) " 3,3 A_t DRbar =",auval(3,3) write(21,*) " 3,3 A_b DRbar =",adval(3,3) write(21,*) " 3,3 A_tau DRbar =",aeval(3,3) endif if(check(20).eq.1) then write(21,*) write(21,*) write(21,*) " The Yukawa couplings at the scale Q" write(21,*) " -----------------------------------" if(scalechoice.eq.1.D0) then write(21,*) " Q =",scaleofewsb elseif(scalechoice.eq.2.D0) then if(idrbar.eq.1) then write(21,*) " Q = mass of the decaying particle" elseif(idrbar.eq.0) then write(21,*) " Q = mass of the decaying particle" endif elseif(scalechoice.eq.3.D0) then if(idrbar.eq.1) then write(21,*) " Q =",scaleofcoupling elseif(idrbar.eq.0) then write(21,*) " Q =",scaleofcoupling endif endif write(21,*) write(21,*) " y_tau DRbar =",ytau if(scalechoice.eq.1.D0) then write(21,*) " y_t DRbar =",yt write(21,*) " y_b DRbar =",yb elseif(scalechoice.eq.2.D0) then if(idrbar.eq.1) then write(21,*)" y_t DRbar = depends on the decaying particle" write(21,*)" y_b DRbar = depends on the decaying particle" elseif(idrbar.eq.0) then write(21,*)" y_t MSbar = depends on the decaying particle" write(21,*)" y_b MSbar = depends on the decaying particle" endif elseif(scalechoice.eq.3.D0) then call SD_runmass(scaleofcoupling,0.D0,0.D0,runmb,runmt) if(idrbar.eq.1) then write(21,*) " y_t/g^2 DRbar =",SD_yuk(1,runmt) write(21,*) " y_b/g^2 DRbar =",SD_yuk(2,runmb) elseif(idrbar.eq.0) then write(21,*) " y_t/g^2 MSbar =",SD_yuk(1,runmt) write(21,*) " y_b/g^2 MSbar =",SD_yuk(2,runmb) endif endif endif c -------------------------------------------------------------------- c c ----------------------------- c c The soft SUSY breaking masses c c ----------------------------- c if(check(15).eq.1) then write(21,*) write(nout,554) 'MSOFT Q=',scaleofewsb,'The soft SUSY breaking mas .ses at the scale Q' write(21,*) " ---------------------------------------------------- .-------------------" unlikely = -123456789D0 do ii=1,99,1 if(m_softval(ii).ne.unlikely) then if(ii.ne.11.and.ii.ne.12.and.ii.ne.13.and.ii.ne.23.and. . ii.ne.24.and.ii.ne.25.and.ii.ne.26) then write(nout,552) m_softval(ii),m_softcom(ii) endif endif end do endif c ---------------------------- c c Inclusion of QCD corrections c c ---------------------------- c write(21,*) write(21,*) write(21,*) "===================" write(21,*) "| The decay table |" write(21,*) "===================" write(21,*) if(flagqcd.eq.1.D0) then write(nout,*) ' The QCD corrections to the decays gluino -> squ .ark + quark' write(nout,*) ' squark -> gau .gino + quark_prime' write(nout,*) ' squark -> squ .ark_prime + Higgs' write(nout,*) ' squark -> glu .ino + quark' write(nout,*) ' are included.' write(21,*) endif if(flagmulti.eq.1.D0) then write(nout,*) ' The multi-body decays for the inos, stops and s .bottoms are included.' write(21,*) endif if(flagloop.eq.1.D0) then write(nout,*) ' The loop induced decays for the gluino, neutral .inos and stops' write(nout,*) ' are included.' write(21,*) endif if(flagsusytop.eq.1.D0) then write(nout,*) ' The SUSY decays of the top quark are included.' write(21,*) endif if(flagnlspgmsb.eq.1.D0) then write(nout,*) ' Possible decays of the NLSP in GMSB models are .included.' write(21,*) endif write(21,*) write(21,*) write(21,*) " Decaying particle + total width" write(21,*) " Parent --> Daughters Width Branching Rat .io" c ---------- c c Top decays c c ---------- c if(flagsusytop.eq.1.D0) then if(toptot2.ne.0.D0) then write(21,*) write(21,*) " TOP DECAYS ",toptot2 write(21,*) " ---------- " write(21,201) " top --> bottom W+ ",topbw,brtopbw write(21,201) " top --> bottom H+ ",topbh,brtopbh write(21,201) " top --> stop1 chi0_1",topneutrstop(1,1), . brtopneutrstop(1,1) write(21,201) " top --> stop1 chi0_2",topneutrstop(2,1), . brtopneutrstop(2,1) write(21,201) " top --> stop1 chi0_3",topneutrstop(3,1), . brtopneutrstop(3,1) write(21,201) " top --> stop1 chi0_4",topneutrstop(4,1), . brtopneutrstop(4,1) write(21,201) " top --> stop2 chi0_1",topneutrstop(1,2), . brtopneutrstop(1,2) write(21,201) " top --> stop2 chi0_2",topneutrstop(2,2), . brtopneutrstop(2,2) write(21,201) " top --> stop2 chi0_3",topneutrstop(3,2), . brtopneutrstop(3,2) write(21,201) " top --> stop2 chi0_4",topneutrstop(4,2), . brtopneutrstop(4,2) else write(21,*) write(21,*) " THE TOP 2-BODY DECAYS ARE 0" write(21,*) " ---------------------------" endif endif c ------------- c c Gluino decays c c ------------- c flagmultiloop = flagmulti+flagloop if(gluitot2.eq.0.D0) then flaggluitot2 = 10.D0 elseif(gluitot2.ne.0.D0) then flaggluitot2 = 40.D0 endif flagcondglui = flaggluitot2+flagmultiloop if(flagcondglui.eq.10.D0) then write(21,*) write(21,*) " GLUINO STABLE " write(21,*) " ------------- " elseif(flagcondglui.eq.40.D0.or.flagcondglui.eq.41.D0.or. .flagcondglui.eq.42) then write(21,*) write(21,*) " GLUINO DECAYS ",gluitot write(21,*) " ------------- " write(21,201) " gluino --> supl ub",gsupl,brgsupl write(21,201) " gluino --> subl up",gsupl,brgsupl write(21,201) " gluino --> supr ub",gsupr,brgsupr write(21,201) " gluino --> subr up",gsupr,brgsupr write(21,201) " gluino --> sdnl db",gsdownl,brgsdownl write(21,201) " gluino --> sdbl dn",gsdownl,brgsdownl write(21,201) " gluino --> sdnr db",gsdownr,brgsdownr write(21,201) " gluino --> sdbr dn",gsdownr,brgsdownr write(21,201) " gluino --> schl cb",gsupl,brgsupl write(21,201) " gluino --> scbl ch",gsupl,brgsupl write(21,201) " gluino --> schr cb",gsupr,brgsupr write(21,201) " gluino --> scbr ch",gsupr,brgsupr write(21,201) " gluino --> sstl sb",gsdownl,brgsdownl write(21,201) " gluino --> ssbl st",gsdownl,brgsdownl write(21,201) " gluino --> sstr sb",gsdownr,brgsdownr write(21,201) " gluino --> ssbr st",gsdownr,brgsdownr write(21,201) " gluino --> stop1 tb",gst1,brgst1 write(21,201) " gluino --> stop1b tp",gst1,brgst1 write(21,201) " gluino --> stop2 tb",gst2,brgst2 write(21,201) " gluino --> stop2b tp",gst2,brgst2 write(21,201) " gluino --> sbot1 bb",gsb1,brgsb1 write(21,201) " gluino --> sbot1b bt",gsb1,brgsb1 write(21,201) " gluino --> sbot2 bb",gsb2,brgsb2 write(21,201) " gluino --> sbot2b bt",gsb2,brgsb2 if(flagnlspgmsb.eq.1.D0.and.brggravgl.ne.0.D0) then write(21,201) " gluino --> G gluon",ggravgl,brggravgl endif elseif(flagcondglui.eq.11.D0.or.flagcondglui.eq.12.D0) then if(gluitot.ne.0.D0) then write(21,*) write(21,*) " GLUINO DECAYS ",gluitot write(21,*) " ------------- " if(flagloop.eq.1.D0) then write(21,201) " gluino --> chi0_1 gl ",glnjgluon(1), . brglnjgluon(1) write(21,201) " gluino --> chi0_2 gl ",glnjgluon(2), . brglnjgluon(2) write(21,201) " gluino --> chi0_3 gl ",glnjgluon(3), . brglnjgluon(3) write(21,201) " gluino --> chi0_4 gl ",glnjgluon(4), . brglnjgluon(4) endif if(flagnlspgmsb.eq.1.D0.and.brggravgl.ne.0.D0) then write(21,201) " gluino --> G gluon",ggravgl,brggravgl endif if(flagmulti.eq.1.D0) then write(21,201) " gluino --> chi0_1 up ub",xintegoup(1),brgoup( .1) write(21,201) " gluino --> chi0_2 up ub",xintegoup(2),brgoup( .2) write(21,201) " gluino --> chi0_3 up ub",xintegoup(3),brgoup( .3) write(21,201) " gluino --> chi0_4 up ub",xintegoup(4),brgoup( .4) write(21,201) " gluino --> chi0_1 dn db",xintegodn(1),brgodn( .1) write(21,201) " gluino --> chi0_2 dn db",xintegodn(2),brgodn( .2) write(21,201) " gluino --> chi0_3 dn db",xintegodn(3),brgodn( .3) write(21,201) " gluino --> chi0_4 dn db",xintegodn(4),brgodn( .4) write(21,201) " gluino --> chi0_1 ch cb",xintegoup(1),brgoup( .1) write(21,201) " gluino --> chi0_2 ch cb",xintegoup(2),brgoup( .2) write(21,201) " gluino --> chi0_3 ch cb",xintegoup(3),brgoup( .3) write(21,201) " gluino --> chi0_4 ch cb",xintegoup(4),brgoup( .4) write(21,201) " gluino --> chi0_1 st sb",xintegodn(1),brgodn( .1) write(21,201) " gluino --> chi0_2 st sb",xintegodn(2),brgodn( .2) write(21,201) " gluino --> chi0_3 st sb",xintegodn(3),brgodn( .3) write(21,201) " gluino --> chi0_4 st sb",xintegodn(4),brgodn( .4) write(21,201) " gluino --> chi0_1 tp tb",xintegotp(1),brgotp( .1) write(21,201) " gluino --> chi0_2 tp tb",xintegotp(2),brgotp( .2) write(21,201) " gluino --> chi0_3 tp tb",xintegotp(3),brgotp( .3) write(21,201) " gluino --> chi0_4 tp tb",xintegotp(4),brgotp( .4) write(21,201) " gluino --> chi0_1 bt bb",xintegobt(1),brgobt( .1) write(21,201) " gluino --> chi0_2 bt bb",xintegobt(2),brgobt( .2) write(21,201) " gluino --> chi0_3 bt bb",xintegobt(3),brgobt( .3) write(21,201) " gluino --> chi0_4 bt bb",xintegobt(4),brgobt( .4) write(21,201) " gluino --> chi-_1 up db",xintegoud(1),brgoud( .1) write(21,201) " gluino --> chi+_1 ub dn",xintegoud(1),brgoud( .1) write(21,201) " gluino --> chi-_2 up db",xintegoud(2),brgoud( .2) write(21,201) " gluino --> chi+_2 ub dn",xintegoud(2),brgoud( .2) write(21,201) " gluino --> chi-_1 ch sb",xintegoud(1),brgoud( .1) write(21,201) " gluino --> chi+_1 cb st",xintegoud(1),brgoud( .1) write(21,201) " gluino --> chi-_2 ch sb",xintegoud(2),brgoud( .2) write(21,201) " gluino --> chi+_2 cb st",xintegoud(2),brgoud( .2) write(21,201) " gluino --> chi-_1 tp bb",xintegotb(1),brgotb( .1) write(21,201) " gluino --> chi+_1 tb bt",xintegotb(1),brgotb( .1) write(21,201) " gluino --> chi-_2 tp bb",xintegotb(2),brgotb( .2) write(21,201) " gluino --> chi+_2 tb bt",xintegotb(2),brgotb( .2) write(21,201) " gluino --> H+ stop1b bt",xinteghcst1b, . brhcst1b write(21,201) " gluino --> H- stop1 bb",xinteghcst1b, . brhcst1b write(21,201) " gluino --> W+ stop1b bt",xintegwst1b,brwst1b write(21,201) " gluino --> W+ stop1 bb",xintegwst1b,brwst1b endif elseif(gluitot.eq.0.D0) then write(21,*) write(21,*) " GLUINO STABLE " write(21,*) " ------------- " endif endif c ------------ c c Stop1 decays c c ------------ c flagmultiloop = flagmulti+flagloop do i=1,2,1 if(stoptot2(i).eq.0.D0) then flagstoptot2(i) = 10.D0 elseif(stoptot2(i).ne.0.D0) then flagstoptot2(i) = 40.D0 endif end do flagcondstop(1) = flagstoptot2(1)+flagmultiloop flagcondstop(2) = flagstoptot2(2)+flagmulti if(flagcondstop(1).eq.10.D0) then write(21,*) write(21,*) " STOP1 STABLE " write(21,*) " ------------ " elseif(flagcondstop(1).eq.40.D0.or.flagcondstop(1).eq.41.D0.or. .flagcondstop(1).eq.42.D0) then write(21,*) write(21,*) " STOP1 DECAYS ",stoptot2(1) write(21,*) " ------------ " write(21,201) " stop1 --> chi0_1 tp",st1neutt(1),brst1neutt(1) write(21,201) " stop1 --> chi0_2 tp",st1neutt(2),brst1neutt(2) write(21,201) " stop1 --> chi0_3 tp",st1neutt(3),brst1neutt(3) write(21,201) " stop1 --> chi0_4 tp",st1neutt(4),brst1neutt(4) write(21,201) " stop1 --> chi+_1 bt",st1charb(1),brst1charb(1) write(21,201) " stop1 --> chi+_2 bt",st1charb(2),brst1charb(2) write(21,201) " stop1 --> gluino tp",st1glui,brst1glui write(21,201) " stop1 --> sbot1 H+",st1hcsb(1),brst1hcsb(1) write(21,201) " stop1 --> sbot2 H+",st1hcsb(2),brst1hcsb(2) write(21,201) " stop1 --> sbot1 W+",st1wsb(1),brst1wsb(1) write(21,201) " stop1 --> sbot2 W+",st1wsb(2),brst1wsb(2) elseif(flagcondstop(1).eq.11.D0.or.flagcondstop(1).eq.12.D0) then if(stoptot(1).ne.0.D0) then write(21,*) write(21,*) " STOP1 DECAYS ",stoptot(1) write(21,*) " ------------ " if(flagloop.eq.1.D0) then write(21,201) " stop1 --> chi0_1 ch ",gamma,brgamma write(21,201) " stop1 --> chi0_1 up ",gammaup,brgammaup write(21,201) " stop1 --> gluino ch ",gammagluino, . brgammagluino endif if(flagmulti.eq.1.D0) then if(stoptotmulti(1).ne.0.D0) then write(21,201) " stop1 --> chi0_1 bt W+ ",xintegstopw(1,1), . brstopw(1,1) write(21,201) " stop1 --> chi0_2 bt W+ ",xintegstopw(1,2), . brstopw(1,2) write(21,201) " stop1 --> chi0_3 bt W+ ",xintegstopw(1,3), . brstopw(1,3) write(21,201) " stop1 --> chi0_4 bt W+ ",xintegstopw(1,4), . brstopw(1,4) write(21,201) " stop1 --> chi0_1 bt H+ ",xintegstoph(1,1), . brstoph(1,1) write(21,201) " stop1 --> chi0_2 bt H+ ",xintegstoph(1,2), . brstoph(1,2) write(21,201) " stop1 --> chi0_3 bt H+ ",xintegstoph(1,3), . brstoph(1,3) write(21,201) " stop1 --> chi0_4 bt H+ ",xintegstoph(1,4), . brstoph(1,4) write(21,201) " stop1 --> snut1 bt tau+",xintegstsntau(1,1), . brstsntau(1,1) write(21,201) " stop1 --> snuel bt e+ ",xintegstsnel(1), . brstsnel(1) write(21,201) " stop1 --> snuml bt mu+ ",xintegstsnel(1), . brstsnel(1) write(21,201) " stop1 --> stau1+ bt nut ",xintegststau(1,1), . brststau(1,1) write(21,201) " stop1 --> stau2+ bt nut ",xintegststau(1,2), . brststau(1,2) write(21,201) " stop1 --> sel+ bt nue ",xintegstsel(1,1), . brstsel(1,1) write(21,201) " stop1 --> ser+ bt nue ",xintegstsel(1,2), . brstsel(1,2) write(21,201) " stop1 --> smul+ bt num ",xintegstsel(1,1), . brstsel(1,1) write(21,201) " stop1 --> smur+ bt num ",xintegstsel(1,2), . brstsel(1,2) write(21,201) " stop1 --> sbot1b bt tp ",xintegstbsbst(1,1), . brstbsbst(1,1) write(21,201) " stop1 --> sbot2b bt tp ",xintegstbsbst(1,2), . brstbsbst(1,2) write(21,201) " stop1 --> sbot1 bb tp ",xintegstbbsbt(1,1), . brstbbsbt(1,1) write(21,201) " stop1 --> sbot2 bb tp ",xintegstbbsbt(1,2), . brstbbsbt(1,2) write(21,201) " stop1 --> sbot1 up db ",xintegstupsbdow(1,1), . brstupsbdow(1,1) write(21,201) " stop1 --> sbot2 up db ",xintegstupsbdow(1,2), . brstupsbdow(1,2) write(21,201) " stop1 --> sbot1 ch sb ",xintegstupsbdow(1,1), . brstupsbdow(1,1) write(21,201) " stop1 --> sbot2 ch sb ",xintegstupsbdow(1,2), . brstupsbdow(1,2) write(21,201) " stop1 --> sbot1 tau+ nut ",xintegsttausbnu(1,1), . brsttausbnu(1,1) write(21,201) " stop1 --> sbot2 tau+ nut ",xintegsttausbnu(1,2), . brsttausbnu(1,2) write(21,201) " stop1 --> sbot1 e+ nue ",xintegstelsbnu(1,1), . brstelsbnu(1,1) write(21,201) " stop1 --> sbot2 e+ nue ",xintegstelsbnu(1,2), . brstelsbnu(1,2) write(21,201) " stop1 --> sbot1 mu+ num ",xintegstelsbnu(1,1), . brstelsbnu(1,1) write(21,201) " stop1 --> sbot2 mu+ num ",xintegstelsbnu(1,2), . brstelsbnu(1,2) else if(stoptot4.ne.0.D0) then write(21,201) " stop1 --> chi0_1 bt f fbarprime", . sigma4bodtot,br4bodoffshelltau endif endif endif elseif(stoptot(1).eq.0.D0) then write(21,*) write(21,*) " STOP1 STABLE " write(21,*) " ------------ " endif endif c ------------ c c Stop2 decays c c ------------ c if(flagcondstop(2).eq.10.D0) then write(21,*) write(21,*) " STOP2 STABLE " write(21,*) " ------------ " elseif(flagcondstop(2).eq.40.D0.or.flagcondstop(2).eq.41.D0) then write(21,*) write(21,*) " STOP2 DECAYS ",stoptot2(2) write(21,*) " ------------ " write(21,201) " stop2 --> chi0_1 tp",st2neutt(1),brst2neutt(1) write(21,201) " stop2 --> chi0_2 tp",st2neutt(2),brst2neutt(2) write(21,201) " stop2 --> chi0_3 tp",st2neutt(3),brst2neutt(3) write(21,201) " stop2 --> chi0_4 tp",st2neutt(4),brst2neutt(4) write(21,201) " stop2 --> chi+_1 bt",st2charb(1),brst2charb(1) write(21,201) " stop2 --> chi+_2 bt",st2charb(2),brst2charb(2) write(21,201) " stop2 --> gluino tp",st2glui,brst2glui write(21,201) " stop2 --> stop1 h ",st2hl,brst2hl write(21,201) " stop2 --> stop1 H ",st2hh,brst2hh write(21,201) " stop2 --> stop1 A ",st2ha,brst2ha write(21,201) " stop2 --> sbot1 H+",st2hcsb(1),brst2hcsb(1) write(21,201) " stop2 --> sbot2 H+",st2hcsb(2),brst2hcsb(2) write(21,201) " stop2 --> stop1 Z ",st2ztop,brst2ztop write(21,201) " stop2 --> sbot1 W+",st2wsb(1),brst2wsb(1) write(21,201) " stop2 --> sbot2 W+",st2wsb(2),brst2wsb(2) elseif(flagcondstop(2).eq.11.D0) then if(stoptot(2).ne.0.D0) then write(21,*) write(21,*) " STOP2 DECAYS ",stoptot(2) write(21,*) " ------------ " write(21,201) " stop2 --> chi0_1 bt W+ ",xintegstopw(2,1), . brstopw(2,1) write(21,201) " stop2 --> chi0_2 bt W+ ",xintegstopw(2,2), . brstopw(2,2) write(21,201) " stop2 --> chi0_3 bt W+ ",xintegstopw(2,3), . brstopw(2,3) write(21,201) " stop2 --> chi0_4 bt W+ ",xintegstopw(2,4), . brstopw(2,4) write(21,201) " stop2 --> chi0_1 bt H+ ",xintegstoph(2,1), . brstoph(2,1) write(21,201) " stop2 --> chi0_2 bt H+ ",xintegstoph(2,2), . brstoph(2,2) write(21,201) " stop2 --> chi0_3 bt H+ ",xintegstoph(2,3), . brstoph(2,3) write(21,201) " stop2 --> chi0_4 bt H+ ",xintegstoph(2,4), . brstoph(2,4) write(21,201) " stop2 --> snut1 bt tau+",xintegstsntau(2,1), . brstsntau(2,1) write(21,201) " stop2 --> snuel bt e+ ",xintegstsnel(2), . brstsnel(2) write(21,201) " stop2 --> snuml bt mu+ ",xintegstsnel(2), . brstsnel(2) write(21,201) " stop2 --> stau1+ bt nut ",xintegststau(2,1), . brststau(2,1) write(21,201) " stop2 --> stau2+ bt nut ",xintegststau(2,2), . brststau(2,2) write(21,201) " stop2 --> sel+ bt nue ",xintegstsel(2,1), . brstsel(2,1) write(21,201) " stop2 --> ser+ bt nue ",xintegstsel(2,2), . brstsel(2,2) write(21,201) " stop2 --> smul+ bt num ",xintegstsel(2,1), . brstsel(2,1) write(21,201) " stop2 --> smur+ bt num ",xintegstsel(2,2), . brstsel(2,2) write(21,201) " stop2 --> sbot1b bt tp ",xintegstbsbst(2,1), . brstbsbst(2,1) write(21,201) " stop2 --> sbot2b bt tp ",xintegstbsbst(2,2), . brstbsbst(2,2) write(21,201) " stop2 --> sbot1 bb tp ",xintegstbbsbt(2,1), . brstbbsbt(2,1) write(21,201) " stop2 --> sbot2 bb tp ",xintegstbbsbt(2,2), . brstbbsbt(2,2) write(21,201) " stop2 --> sbot1 up db ",xintegstupsbdow(2,1), . brstupsbdow(2,1) write(21,201) " stop2 --> sbot2 up db ",xintegstupsbdow(2,2), . brstupsbdow(2,2) write(21,201) " stop2 --> sbot1 ch sb ",xintegstupsbdow(2,1), . brstupsbdow(2,1) write(21,201) " stop2 --> sbot2 ch sb ",xintegstupsbdow(2,2), . brstupsbdow(2,2) write(21,201) " stop2 --> sbot1 tau+ nut ",xintegsttausbnu(2,1), . brsttausbnu(2,1) write(21,201) " stop2 --> sbot2 tau+ nut ",xintegsttausbnu(2,2), . brsttausbnu(2,2) write(21,201) " stop2 --> sbot1 e+ nue ",xintegstelsbnu(2,1), . brstelsbnu(2,1) write(21,201) " stop2 --> sbot2 e+ nue ",xintegstelsbnu(2,2), . brstelsbnu(2,2) write(21,201) " stop2 --> sbot1 mu+ num ",xintegstelsbnu(2,1), . brstelsbnu(2,1) write(21,201) " stop2 --> sbot2 mu+ num ",xintegstelsbnu(2,2), . brstelsbnu(2,2) write(21,201) " stop2 --> stop1 tp tb ",xintegst2st1tt, . brst2st1tt write(21,201) " stop2 --> stop1b tp tp ",xintegst2st1startt, . brst2st1startt write(21,201) " stop2 --> stop1 bt bb ",xintegst2st1bb, . brst2st1bb write(21,201) " stop2 --> stop1 up ub ",xintegst2st1uu, . brst2st1uu write(21,201) " stop2 --> stop1 ch cb ",xintegst2st1uu, . brst2st1uu write(21,201) " stop2 --> stop1 dn db ",xintegst2st1dd, . brst2st1dd write(21,201) " stop2 --> stop1 st sb ",xintegst2st1dd, . brst2st1dd write(21,201) " stop2 --> stop1 tau+ tau-",xintegst2st1tautau, . brst2st1tautau write(21,201) " stop2 --> stop1 e+ e- ",xintegst2st1ee, . brst2st1ee write(21,201) " stop2 --> stop1 mu+ mu- ",xintegst2st1ee, . brst2st1ee write(21,201) " stop2 --> stop1 nue nueb",xintegst2st1nunu, . brst2st1nunu write(21,201) " stop2 --> stop1 num numb",xintegst2st1nunu, . brst2st1nunu write(21,201) " stop2 --> stop1 nut nutb",xintegst2st1nunu, . brst2st1nunu elseif(stoptot(2).eq.0.D0) then write(21,*) write(21,*) " STOP2 STABLE " write(21,*) " ------------ " endif endif c --------------- c c Sbottom1 decays c c --------------- c do i=1,2,1 if(sbottot2(i).eq.0.D0) then flagsbottot2(i) = 10.D0 elseif(sbottot2(i).ne.0.D0) then flagsbottot2(i) = 40.D0 endif flagcondsbot(i) = flagsbottot2(i)+flagmulti end do if(flagcondsbot(1).eq.10.D0) then write(21,*) write(21,*) " SBOTTOM1 STABLE " write(21,*) " --------------- " elseif(flagcondsbot(1).eq.40.D0.or.flagcondsbot(1).eq.41.D0) then write(21,*) write(21,*) " SBOTTOM1 DECAYS ",sbottot2(1) write(21,*) " --------------- " write(21,201) " sbot1 --> chi0_1 bt",sb1neutt(1),brsb1neutt(1) write(21,201) " sbot1 --> chi0_2 bt",sb1neutt(2),brsb1neutt(2) write(21,201) " sbot1 --> chi0_3 bt",sb1neutt(3),brsb1neutt(3) write(21,201) " sbot1 --> chi0_4 bt",sb1neutt(4),brsb1neutt(4) write(21,201) " sbot1 --> chi-_1 tp",sb1chart(1),brsb1chart(1) write(21,201) " sbot1 --> chi-_2 tp",sb1chart(2),brsb1chart(2) write(21,201) " sbot1 --> gluino bt",sb1glui,brsb1glui write(21,201) " sbot1 --> stop1 H-",sb1hcst(1),brsb1hcst(1) write(21,201) " sbot1 --> stop2 H-",sb1hcst(2),brsb1hcst(2) write(21,201) " sbot1 --> stop1 W-",sb1wst(1),brsb1wst(1) write(21,201) " sbot1 --> stop2 W-",sb1wst(2),brsb1wst(2) elseif(flagcondsbot(1).eq.11.D0) then if(sbottot(1).ne.0.D0) then write(21,*) write(21,*) " SBOTTOM1 DECAYS ",sbottot(1) write(21,*) " --------------- " write(21,201) " sbot1 --> snut1b tp tau-",xintegsbsntau(1,1), . brsbsntau(1,1) write(21,201) " sbot1 --> snuelb tp e- ",xintegsbsnel(1), . brsbsnel(1) write(21,201) " sbot1 --> snumlb tp mu- ",xintegsbsnel(1), . brsbsnel(1) write(21,201) " sbot1 --> stau1- tp nutb",xintegsbstau(1,1), . brsbstau(1,1) write(21,201) " sbot1 --> stau2- tp nutb",xintegsbstau(1,2), . brsbstau(1,2) write(21,201) " sbot1 --> sel- tp nueb",xintegsbsel(1,1), . brsbsel(1,1) write(21,201) " sbot1 --> ser- tp nueb",xintegsbsel(1,2), . brsbsel(1,2) write(21,201) " sbot1 --> smul- tp numb",xintegsbsel(1,1), . brsbsel(1,1) write(21,201) " sbot1 --> smur- tp numb",xintegsbsel(1,2), . brsbsel(1,2) write(21,201) " sbot1 --> stop1b tp bt ",xintegsbtstsb(1,1), . brsbtstsb(1,1) write(21,201) " sbot1 --> stop2b tp bt ",xintegsbtstsb(1,2), . brsbtstsb(1,2) write(21,201) " sbot1 --> stop1 tb bt ",xintegsbtbstb(1,1), . brsbtbstb(1,1) write(21,201) " sbot1 --> stop2 tb bt ",xintegsbtbstb(1,2), . brsbtbstb(1,2) write(21,201) " sbot1 --> stop1 ub dn ",xintegsbupstdow(1,1), . brsbupstdow(1,1) write(21,201) " sbot1 --> stop2 ub dn ",xintegsbupstdow(1,2), . brsbupstdow(1,2) write(21,201) " sbot1 --> stop1 cb st ",xintegsbupstdow(1,1), . brsbupstdow(1,1) write(21,201) " sbot1 --> stop2 cb st ",xintegsbupstdow(1,2), . brsbupstdow(1,2) write(21,201) " sbot1 --> stop1 tau- nutb",xintegsbtaustnu(1,1), . brsbtaustnu(1,1) write(21,201) " sbot1 --> stop2 tau- nutb",xintegsbtaustnu(1,2), . brsbtaustnu(1,2) write(21,201) " sbot1 --> stop1 e- nueb",xintegsbelstnu(1,1), . brsbelstnu(1,1) write(21,201) " sbot1 --> stop2 e- nueb",xintegsbelstnu(1,2), . brsbelstnu(1,2) write(21,201) " sbot1 --> stop1 mu- numb",xintegsbelstnu(1,1), . brsbelstnu(1,1) write(21,201) " sbot1 --> stop2 mu- numb",xintegsbelstnu(1,2), . brsbelstnu(1,2) elseif(sbottot(1).eq.0.D0) then write(21,*) write(21,*) " SBOTTOM1 STABLE " write(21,*) " --------------- " endif endif c --------------- c c Sbottom2 decays c c --------------- c if(flagcondsbot(2).eq.10.D0) then write(21,*) write(21,*) " SBOTTOM2 STABLE " write(21,*) " --------------- " elseif(flagcondsbot(2).eq.40.D0.or.flagcondsbot(2).eq.41.D0) then write(21,*) write(21,*) " SBOTTOM2 DECAYS ",sbottot2(2) write(21,*) " --------------- " write(21,201) " sbot2 --> chi0_1 bt",sb2neutt(1),brsb2neutt(1) write(21,201) " sbot2 --> chi0_2 bt",sb2neutt(2),brsb2neutt(2) write(21,201) " sbot2 --> chi0_3 bt",sb2neutt(3),brsb2neutt(3) write(21,201) " sbot2 --> chi0_4 bt",sb2neutt(4),brsb2neutt(4) write(21,201) " sbot2 --> chi-_1 tp",sb2chart(1),brsb2chart(1) write(21,201) " sbot2 --> chi-_2 tp",sb2chart(2),brsb2chart(2) write(21,201) " sbot2 --> gluino bt",sb2glui,brsb2glui write(21,201) " sbot2 --> sbot1 h ",sb2hl,brsb2hl write(21,201) " sbot2 --> sbot1 H ",sb2hh,brsb2hh write(21,201) " sbot2 --> sbot1 A ",sb2ha,brsb2ha write(21,201) " sbot2 --> stop1 H-",sb2hcst(1),brsb2hcst(1) write(21,201) " sbot2 --> stop2 H-",sb2hcst(2),brsb2hcst(2) write(21,201) " sbot2 --> stop1 W-",sb2wst(1),brsb2wst(1) write(21,201) " sbot2 --> stop2 W-",sb2wst(2),brsb2wst(2) write(21,201) " sbot2 --> sbot1 Z0",sb2zbot,brsb2zbot elseif(flagcondsbot(2).eq.11.D0) then if(sbottot(2).ne.0.D0) then write(21,*) write(21,*) " SBOTTOM2 DECAYS ",sbottot(2) write(21,*) " --------------- " write(21,201) " sbot2 --> snut1b tp tau-",xintegsbsntau(2,1), . brsbsntau(2,1) write(21,201) " sbot2 --> snuelb tp e- ",xintegsbsnel(2), . brsbsnel(2) write(21,201) " sbot2 --> snumlb tp mu- ",xintegsbsnel(2), . brsbsnel(2) write(21,201) " sbot2 --> stau1- tp nutb",xintegsbstau(2,1), . brsbstau(2,1) write(21,201) " sbot2 --> stau2- tp nutb",xintegsbstau(2,2), . brsbstau(2,2) write(21,201) " sbot2 --> sel- tp nueb",xintegsbsel(2,1), . brsbsel(2,1) write(21,201) " sbot2 --> ser- tp nueb",xintegsbsel(2,2), . brsbsel(2,2) write(21,201) " sbot2 --> smul- tp numb",xintegsbsel(2,1), . brsbsel(2,1) write(21,201) " sbot2 --> smur- tp numb",xintegsbsel(2,2), . brsbsel(2,2) write(21,201) " sbot2 --> stop1b tp bt ",xintegsbtstsb(2,1), . brsbtstsb(2,1) write(21,201) " sbot2 --> stop2b tp bt ",xintegsbtstsb(2,2), . brsbtstsb(2,2) write(21,201) " sbot2 --> stop1 tb bt ",xintegsbtbstb(2,1), . brsbtbstb(2,1) write(21,201) " sbot2 --> stop2 tb bt ",xintegsbtbstb(2,2), . brsbtbstb(2,2) write(21,201) " sbot2 --> stop1 ub dn ",xintegsbupstdow(2,1), . brsbupstdow(2,1) write(21,201) " sbot2 --> stop2 ub dn ",xintegsbupstdow(2,2), . brsbupstdow(2,2) write(21,201) " sbot2 --> stop1 cb st ",xintegsbupstdow(2,1), . brsbupstdow(2,1) write(21,201) " sbot2 --> stop2 cb st ",xintegsbupstdow(2,2), . brsbupstdow(2,2) write(21,201) " sbot2 --> stop1 tau- nutb",xintegsbtaustnu(2,1), . brsbtaustnu(2,1) write(21,201) " sbot2 --> stop2 tau- nutb",xintegsbtaustnu(2,2), . brsbtaustnu(2,2) write(21,201) " sbot2 --> stop1 e- nueb",xintegsbelstnu(2,1), . brsbelstnu(2,1) write(21,201) " sbot2 --> stop2 e- nueb",xintegsbelstnu(2,2), . brsbelstnu(2,2) write(21,201) " sbot2 --> stop1 mu- numb",xintegsbelstnu(2,1), . brsbelstnu(2,1) write(21,201) " sbot2 --> stop2 mu- numb",xintegsbelstnu(2,2), . brsbelstnu(2,2) write(21,201) " sbot2 --> sbot1 bt bb ",xintegsb2sb1bb, . brsb2sb1bb write(21,201) " sbot2 --> sbot1b bt bt ",xintegsb2sb1starbb, . brsb2sb1starbb write(21,201) " sbot2 --> sbot1 tp tb ",xintegsb2sb1tt, . brsb2sb1tt write(21,201) " sbot2 --> sbot1 up ub ",xintegsb2sb1uu, . brsb2sb1uu write(21,201) " sbot2 --> sbot1 dn db ",xintegsb2sb1dd, . brsb2sb1dd write(21,201) " sbot2 --> sbot1 ch cb ",xintegsb2sb1uu, . brsb2sb1uu write(21,201) " sbot2 --> sbot1 st sb ",xintegsb2sb1dd, . brsb2sb1dd write(21,201) " sbot2 --> sbot1 e- e+ ",xintegsb2sb1ee, . brsb2sb1ee write(21,201) " sbot2 --> sbot1 mu- mu+ ",xintegsb2sb1ee, . brsb2sb1ee write(21,201) " sbot2 --> sbot1 tau- tau+",xintegsb2sb1tautau, . brsb2sb1tautau write(21,201) " sbot2 --> sbot1 nue nueb",xintegsb2sb1nunu, . brsb2sb1nunu write(21,201) " sbot2 --> sbot1 num numb",xintegsb2sb1nunu, . brsb2sb1nunu write(21,201) " sbot2 --> sbot1 nut nutb",xintegsb2sb1nunu, . brsb2sb1nunu elseif(sbottot2(2).eq.0.D0) then write(21,*) write(21,*) " SBOTTOM2 STABLE " write(21,*) " --------------- " endif endif c ------------ c c Sup_L decays c c ------------ c if(supltot2.ne.0.D0) then write(21,*) write(21,*) " SUPL DECAYS ",supltot2 write(21,*) " ----------- " write(21,201) " supl --> chi0_1 up",suplneutup(1), . brsuplnup(1) write(21,201) " supl --> chi0_2 up",suplneutup(2), . brsuplnup(2) write(21,201) " supl --> chi0_3 up",suplneutup(3), . brsuplnup(3) write(21,201) " supl --> chi0_4 up",suplneutup(4), . brsuplnup(4) write(21,201) " supl --> chi+_1 dn",suplchardow(1), . brsuplcdow(1) write(21,201) " supl --> chi+_2 dn",suplchardow(2), . brsuplcdow(2) write(21,201) " supl --> gluino up",suplglui,brsuplglui elseif(supltot2.eq.0.D0) then write(21,*) write(21,*) " SUPL STABLE " write(21,*) " ----------- " endif c ------------ c c Sup_R decays c c ------------ c if(suprtot2.ne.0.D0) then write(21,*) write(21,*) " SUPR DECAYS ",suprtot2 write(21,*) " ----------- " write(21,201) " supr --> chi0_1 up",suprneutup(1), . brsuprnup(1) write(21,201) " supr --> chi0_2 up",suprneutup(2), . brsuprnup(2) write(21,201) " supr --> chi0_3 up",suprneutup(3), . brsuprnup(3) write(21,201) " supr --> chi0_4 up",suprneutup(4), . brsuprnup(4) write(21,201) " supr --> chi+_1 dn",suprchardow(1), . brsuprcdow(1) write(21,201) " supr --> chi+_2 dn",suprchardow(2), . brsuprcdow(2) write(21,201) " supr --> gluino up",suprglui,brsuprglui elseif(suprtot2.eq.0.D0) then write(21,*) write(21,*) " SUPR STABLE " write(21,*) " ----------- " endif c -------------- c c Sdown_L decays c c -------------- c if(sdowltot2.ne.0.D0) then write(21,*) write(21,*) " SDOWNL DECAYS ",sdowltot2 write(21,*) " ------------- " write(21,201) " sdnl --> chi0_1 dn",sdowlneutdow(1), . brsdowlndow(1) write(21,201) " sdnl --> chi0_2 dn",sdowlneutdow(2), . brsdowlndow(2) write(21,201) " sdnl --> chi0_3 dn",sdowlneutdow(3), . brsdowlndow(3) write(21,201) " sdnl --> chi0_4 dn",sdowlneutdow(4), . brsdowlndow(4) write(21,201) " sdnl --> chi-_1 up",sdowlcharup(1), . brsdowlchup(1) write(21,201) " sdnl --> chi-_2 up",sdowlcharup(2), . brsdowlchup(2) write(21,201) " sdnl --> gluino dn",sdowlglui,brsdowlglui elseif(sdowltot2.eq.0.D0) then write(21,*) write(21,*) " SDOWNL STABLE " write(21,*) " ------------- " endif c -------------- c c Sdown_R decays c c -------------- c if(sdowrtot2.ne.0.D0) then write(21,*) write(21,*) " SDOWNR DECAYS ",sdowrtot2 write(21,*) " ------------- " write(21,201) " sdnr --> chi0_1 dn",sdowrneutdow(1), . brsdowrndow(1) write(21,201) " sdnr --> chi0_2 dn",sdowrneutdow(2), . brsdowrndow(2) write(21,201) " sdnr --> chi0_3 dn",sdowrneutdow(3), . brsdowrndow(3) write(21,201) " sdnr --> chi0_4 dn",sdowrneutdow(4), . brsdowrndow(4) write(21,201) " sdnr --> chi-_1 up",sdowrcharup(1), . brsdowrchup(1) write(21,201) " sdnr --> chi-_2 up",sdowrcharup(2), . brsdowrchup(2) write(21,201) " sdnr --> gluino dn",sdowrglui,brsdowrglui elseif(sdowrtot2.eq.0.D0) then write(21,*) write(21,*) " SDOWNR STABLE " write(21,*) " ------------- " endif c --------------- c c Scharm_L decays c c --------------- c if(supltot2.ne.0.D0) then write(21,*) write(21,*) " SCHARML DECAYS ",supltot2 write(21,*) " -------------- " write(21,201) " schl --> chi0_1 ch",suplneutup(1), . brsuplnup(1) write(21,201) " schl --> chi0_2 ch",suplneutup(2), . brsuplnup(2) write(21,201) " schl --> chi0_3 ch",suplneutup(3), . brsuplnup(3) write(21,201) " schl --> chi0_4 ch",suplneutup(4), . brsuplnup(4) write(21,201) " schl --> chi+_1 st",suplchardow(1), . brsuplcdow(1) write(21,201) " schl --> chi+_2 st",suplchardow(2), . brsuplcdow(2) write(21,201) " schl --> gluino ch",suplglui,brsuplglui elseif(supltot2.eq.0.D0) then write(21,*) write(21,*) " SCHARML STABLE " write(21,*) " -------------- " endif c --------------- c c Scharm_R decays c c --------------- c if(suprtot2.ne.0.D0) then write(21,*) write(21,*) " SCHARMR DECAYS ",suprtot2 write(21,*) " -------------- " write(21,201) " schr --> chi0_1 ch",suprneutup(1), . brsuprnup(1) write(21,201) " schr --> chi0_2 ch",suprneutup(2), . brsuprnup(2) write(21,201) " schr --> chi0_3 ch",suprneutup(3), . brsuprnup(3) write(21,201) " schr --> chi0_4 ch",suprneutup(4), . brsuprnup(4) write(21,201) " schr --> chi+_1 st",suprchardow(1), . brsuprcdow(1) write(21,201) " schr --> chi+_2 st",suprchardow(2), . brsuprcdow(2) write(21,201) " schr --> gluino ch",suprglui,brsuprglui elseif(suprtot2.eq.0.D0) then write(21,*) write(21,*) " SCHARMR STABLE " write(21,*) " -------------- " endif c ----------------- c c Sstrange_L decays c c ----------------- c if(sdowltot2.ne.0.D0) then write(21,*) write(21,*) " STRANGEL DECAYS ",sdowltot2 write(21,*) " --------------- " write(21,201) " sstl --> chi0_1 st",sdowlneutdow(1), . brsdowlndow(1) write(21,201) " sstl --> chi0_2 st",sdowlneutdow(2), . brsdowlndow(2) write(21,201) " sstl --> chi0_3 st",sdowlneutdow(3), . brsdowlndow(3) write(21,201) " sstl --> chi0_4 st",sdowlneutdow(4), . brsdowlndow(4) write(21,201) " sstl --> chi-_1 ch",sdowlcharup(1), . brsdowlchup(1) write(21,201) " sstl --> chi-_2 ch",sdowlcharup(2), . brsdowlchup(2) write(21,201) " sstl --> gluino st",sdowlglui,brsdowlglui elseif(sdowltot2.eq.0.D0) then write(21,*) write(21,*) " STRANGEL STABLE " write(21,*) " --------------- " endif c ----------------- c c Sstrange_R decays c c ----------------- c if(sdowrtot2.ne.0.D0) then write(21,*) write(21,*) " STRANGER DECAYS ",sdowrtot2 write(21,*) " --------------- " write(21,201) " sstr --> chi0_1 st",sdowrneutdow(1), . brsdowrndow(1) write(21,201) " sstr --> chi0_2 st",sdowrneutdow(2), . brsdowrndow(2) write(21,201) " sstr --> chi0_3 st",sdowrneutdow(3), . brsdowrndow(3) write(21,201) " sstr --> chi0_4 st",sdowrneutdow(4), . brsdowrndow(4) write(21,201) " sstr --> chi-_1 ch",sdowrcharup(1), . brsdowrchup(1) write(21,201) " sstr --> chi-_2 ch",sdowrcharup(2), . brsdowrchup(2) write(21,201) " sstr --> gluino st",sdowrglui,brsdowrglui elseif(sdowrtot2.eq.0.D0) then write(21,*) write(21,*) " STRANGER STABLE " write(21,*) " --------------- " endif c ------------------ c c Selectron_L decays c c ------------------ c if(selltot2.ne.0.D0) then write(21,*) write(21,*) " SELECTRONL DECAYS ",selltot2 write(21,*) " ----------------- " write(21,201) " sel- --> chi0_1 e- ",sellneute(1), . brsellneute(1) write(21,201) " sel- --> chi0_2 e- ",sellneute(2), . brsellneute(2) write(21,201) " sel- --> chi0_3 e- ",sellneute(3), . brsellneute(3) write(21,201) " sel- --> chi0_4 e- ",sellneute(4), . brsellneute(4) write(21,201) " sel- --> chi-_1 nue",sellcharnue(1), . brsellcharnue(1) write(21,201) " sel- --> chi-_2 nue",sellcharnue(2), . brsellcharnue(2) elseif(selltot2.eq.0.D0) then write(21,*) write(21,*) " SELECTRONL STABLE " write(21,*) " ----------------- " endif c ------------------ c c Selectron_R decays c c ------------------ c if(selrtot2.ne.0.D0) then write(21,*) write(21,*) " SELECTRONR DECAYS ",selrtot2 write(21,*) " ----------------- " write(21,201) " ser- --> chi0_1 e- ",selrneute(1), . brselrneute(1) write(21,201) " ser- --> chi0_2 e- ",selrneute(2), . brselrneute(2) write(21,201) " ser- --> chi0_3 e- ",selrneute(3), . brselrneute(3) write(21,201) " ser- --> chi0_4 e- ",selrneute(4), . brselrneute(4) write(21,201) " ser- --> chi-_1 nue",selrcharnue(1), . brselrcharnue(1) write(21,201) " ser- --> chi-_2 nue",selrcharnue(2), . brselrcharnue(2) elseif(selrtot2.eq.0.D0) then write(21,*) write(21,*) " SELECTRONR STABLE " write(21,*) " ----------------- " endif c -------------- c c Smuon_L decays c c -------------- c if(selltot2.ne.0.D0) then write(21,*) write(21,*) " SMUONL DECAYS ",selltot2 write(21,*) " ------------- " write(21,201) " smul- --> chi0_1 mu-",sellneute(1), . brsellneute(1) write(21,201) " smul- --> chi0_2 mu-",sellneute(2), . brsellneute(2) write(21,201) " smul- --> chi0_3 mu-",sellneute(3), . brsellneute(3) write(21,201) " smul- --> chi0_4 mu-",sellneute(4), . brsellneute(4) write(21,201) " smul- --> chi-_1 num",sellcharnue(1), . brsellcharnue(1) write(21,201) " smul- --> chi-_2 num",sellcharnue(2), . brsellcharnue(2) elseif(selltot2.eq.0.D0) then write(21,*) write(21,*) " SMUONL STABLE " write(21,*) " ------------- " endif c ------------------ c c Smuon_R decays c c ------------------ c if(selrtot2.ne.0.D0) then write(21,*) write(21,*) " SMUONR DECAYS ",selrtot2 write(21,*) " ------------- " write(21,201) " smur- --> chi0_1 mu-",selrneute(1), . brselrneute(1) write(21,201) " smur- --> chi0_2 mu-",selrneute(2), . brselrneute(2) write(21,201) " smur- --> chi0_3 mu-",selrneute(3), . brselrneute(3) write(21,201) " smur- --> chi0_4 mu-",selrneute(4), . brselrneute(4) write(21,201) " smur- --> chi-_1 num",selrcharnue(1), . brselrcharnue(1) write(21,201) " smur- --> chi-_2 num",selrcharnue(2), . brselrcharnue(2) elseif(selrtot2.eq.0.D0) then write(21,*) write(21,*) " SMUONR STABLE " write(21,*) " ------------- " endif c ------------- c c Stau_1 decays c c ------------- c if(stau1tot2.ne.0.D0) then write(21,*) write(21,*) " STAU1 DECAYS ",stau1tot2 write(21,*) " ------------ " write(21,201) " stau1 --> chi0_1 tau-",stau1neut(1), . brstau1neut(1) write(21,201) " stau1 --> chi0_2 tau-",stau1neut(2), . brstau1neut(2) write(21,201) " stau1 --> chi0_3 tau-",stau1neut(3), . brstau1neut(3) write(21,201) " stau1 --> chi0_4 tau-",stau1neut(4), . brstau1neut(4) write(21,201) " stau1 --> chi-_1 nut ",stau1char(1), . brstau1char(1) write(21,201) " stau1 --> chi-_2 nut ",stau1char(2), . brstau1char(2) write(21,201) " stau1 --> snut1 H- ",stau1hcsn(1), . brstau1hcsn(1) write(21,201) " stau1 --> snut1 W- ",stau1wsn(1), . brstau1wsn(1) if(flagnlspgmsb.eq.1.D0) then write(21,201) " stau1 --> G tau-",stautaugravitino, . brstautaugrav endif elseif(stau1tot2.eq.0.D0) then write(21,*) write(21,*) " STAU1 STABLE " write(21,*) " ------------ " endif c ------------- c c Stau_2 decays c c ------------- c if(stau2tot2.ne.0.D0) then write(21,*) write(21,*) " STAU2 DECAYS ",stau2tot2 write(21,*) " ------------ " write(21,201) " stau2 --> chi0_1 tau-",stau2neut(1), . brstau2neut(1) write(21,201) " stau2 --> chi0_2 tau-",stau2neut(2), . brstau2neut(2) write(21,201) " stau2 --> chi0_3 tau-",stau2neut(3), . brstau2neut(3) write(21,201) " stau2 --> chi0_4 tau-",stau2neut(4), . brstau2neut(4) write(21,201) " stau2 --> chi-_1 nut ",stau2char(1), . brstau2char(1) write(21,201) " stau2 --> chi-_2 nut ",stau2char(2), . brstau2char(2) write(21,201) " stau2 --> snut1 H- ",stau2hcsn(1), . brstau2hcsn(1) write(21,201) " stau2 --> snut1 W- ",stau2wsn(1), . brstau2wsn(1) write(21,201) " stau2 --> stau1 h ",stau2hl, . brstau2hl write(21,201) " stau2 --> stau1 H ",stau2hh, . brstau2hh write(21,201) " stau2 --> stau1 A ",stau2ha, . brstau2ha write(21,201) " stau2 --> stau1 Z ",stau2ztau, . brstau2ztau elseif(stau2tot2.eq.0.D0) then write(21,*) write(21,*) " STAU2 STABLE " write(21,*) " ------------ " endif c -------------------- c c Snu_electronL decays c c -------------------- c if(sneltot2.ne.0.D0) then write(21,*) write(21,*) " SNEUTRINO_EL DECAYS ",sneltot2 write(21,*) " ------------------- " write(21,201) " snuel --> chi0_1 nue",snellneut(1), . brsnellneut(1) write(21,201) " snuel --> chi0_2 nue",snellneut(2), . brsnellneut(2) write(21,201) " snuel --> chi0_3 nue",snellneut(3), . brsnellneut(3) write(21,201) " snuel --> chi0_4 nue",snellneut(4), . brsnellneut(4) write(21,201) " snuel --> chi+_1 e- ",snellchar(1), . brsnellchar(1) write(21,201) " snuel --> chi+_2 e- ",snellchar(2), . brsnellchar(2) elseif(sneltot2.eq.0.D0) then write(21,*) write(21,*) " SNEUTRINO_EL STABLE " write(21,*) " ------------------- " endif c ---------------- c c Snu_muonL decays c c ---------------- c if(sneltot2.ne.0.D0) then write(21,*) write(21,*) " SNEUTRINO_MUL DECAYS ",sneltot2 write(21,*) " -------------------- " write(21,201) " snuml --> chi0_1 num",snellneut(1), . brsnellneut(1) write(21,201) " snuml --> chi0_2 num",snellneut(2), . brsnellneut(2) write(21,201) " snuml --> chi0_3 num",snellneut(3), . brsnellneut(3) write(21,201) " snuml --> chi0_4 num",snellneut(4), . brsnellneut(4) write(21,201) " snuml --> chi+_1 mu-",snellchar(1), . brsnellchar(1) write(21,201) " snuml --> chi+_2 mu-",snellchar(2), . brsnellchar(2) elseif(sneltot2.eq.0.D0) then write(21,*) write(21,*) " SNEUTRINO_MUL STABLE " write(21,*) " -------------------- " endif c --------------- c c Snu_tauL decays c c --------------- c if(sntautot2.ne.0.D0) then write(21,*) write(21,*) " SNEUTRINO_TAU1 DECAYS ",sntautot2 write(21,*) " --------------------- " write(21,201) " snut1 --> chi0_1 nut ",sntauneut(1), . brsntauneut(1) write(21,201) " snut1 --> chi0_2 nut ",sntauneut(2), . brsntauneut(2) write(21,201) " snut1 --> chi0_3 nut ",sntauneut(3), . brsntauneut(3) write(21,201) " snut1 --> chi0_4 nut ",sntauneut(4), . brsntauneut(4) write(21,201) " snut1 --> chi+_1 tau-",sntauchar(1), . brsntauchar(1) write(21,201) " snut1 --> chi+_2 tau-",sntauchar(2), . brsntauchar(2) write(21,201) " snut1 --> stau1+ H- ",sntau1hcstau(1), . brsntau1hcstau(1) write(21,201) " snut1 --> stau2+ H- ",sntau1hcstau(2), . brsntau1hcstau(2) write(21,201) " snut1 --> stau1+ W- ",sntau1wstau(1), . brsntau1wstau(1) write(21,201) " snut1 --> stau2+ W- ",sntau1wstau(2), . brsntau1wstau(2) elseif(sntautot2.eq.0.D0) then write(21,*) write(21,*) " SNEUTRINO_TAU1 STABLE " write(21,*) " --------------------- " endif c ---------------- c c chargino1 decays c c ---------------- c do i=1,2,1 if(chartot2(i).eq.0.D0) then flagchartot2(i) = 10.D0 elseif(chartot2(i).ne.0.D0) then flagchartot2(i) = 40.D0 endif flagcondchar(i) = flagchartot2(i)+flagmulti end do if(flagcondchar(1).eq.10.D0) then write(21,*) write(21,*) " CHARGINO1 STABLE " write(21,*) " ---------------- " elseif(flagcondchar(1).eq.40.D0.or.flagcondchar(1).eq.41.D0) then write(21,*) write(21,*) " CHARGINO1 DECAYS ",chartot2(1) write(21,*) " ---------------- " write(21,201) " chi+_1 --> supl db ",charsupl(1),brcharsupl(1) write(21,201) " chi+_1 --> supr db ",charsupr(1),brcharsupr(1) write(21,201) " chi+_1 --> sdbl up ",charsdownl(1), . brcharsdownl(1) write(21,201) " chi+_1 --> sdbr up ",charsdownr(1), . brcharsdownr(1) write(21,201) " chi+_1 --> schl sb ",charsupl(1),brcharsupl(1) write(21,201) " chi+_1 --> schr sb ",charsupr(1),brcharsupr(1) write(21,201) " chi+_1 --> ssbl ch ",charsdownl(1), . brcharsdownl(1) write(21,201) " chi+_1 --> ssbr ch ",charsdownr(1), . brcharsdownr(1) write(21,201) " chi+_1 --> stop1 bb ",charst1(1),brcharst1(1) write(21,201) " chi+_1 --> stop2 bb ",charst2(1),brcharst2(1) write(21,201) " chi+_1 --> sbot1b tp ",charsb1(1),brcharsb1(1) write(21,201) " chi+_1 --> sbot2b tp ",charsb2(1),brcharsb2(1) write(21,201) " chi+_1 --> snuel e+ ",charsnel(1),brcharsnel(1) write(21,201) " chi+_1 --> snuml mu+ ",charsnel(1),brcharsnel(1) write(21,201) " chi+_1 --> snut1 tau+ ",charsn1(1),brcharsn1(1) write(21,201) " chi+_1 --> sel+ nue ",charsell(1),brcharsell(1) write(21,201) " chi+_1 --> ser+ nue ",charselr(1),brcharselr(1) write(21,201) " chi+_1 --> smul+ num ",charsell(1),brcharsell(1) write(21,201) " chi+_1 --> smur+ num ",charselr(1),brcharselr(1) write(21,201) " chi+_1 --> stau1+ nut ",charstau1(1), . brcharstau1(1) write(21,201) " chi+_1 --> stau2+ nut ",charstau2(1), . brcharstau2(1) write(21,201) " chi+_1 --> chi0_1 W+ ",charwneut(1,1), . brcharwneut(1,1) write(21,201) " chi+_1 --> chi0_2 W+ ",charwneut(1,2), . brcharwneut(1,2) write(21,201) " chi+_1 --> chi0_3 W+ ",charwneut(1,3), . brcharwneut(1,3) write(21,201) " chi+_1 --> chi0_4 W+ ",charwneut(1,4), . brcharwneut(1,4) write(21,201) " chi+_1 --> chi0_1 H+ ",charhcneut(1,1), . brcharhcneut(1,1) write(21,201) " chi+_1 --> chi0_2 H+ ",charhcneut(1,2), . brcharhcneut(1,2) write(21,201) " chi+_1 --> chi0_3 H+ ",charhcneut(1,3), . brcharhcneut(1,3) write(21,201) " chi+_1 --> chi0_4 H+ ",charhcneut(1,4), . brcharhcneut(1,4) elseif(flagcondchar(1).eq.11.D0) then if(chartot(1).ne.0.D0) then write(21,*) write(21,*) " CHARGINO1 DECAYS ",chartot(1) write(21,*) " ---------------- " write(21,201) " chi+_1 --> chi0_1 up db ",xchiup(1,1), . brnupdb(1,1) write(21,201) " chi+_1 --> chi0_2 up db ",xchiup(1,2), . brnupdb(1,2) write(21,201) " chi+_1 --> chi0_3 up db ",xchiup(1,3), . brnupdb(1,3) write(21,201) " chi+_1 --> chi0_4 up db ",xchiup(1,4), . brnupdb(1,4) write(21,201) " chi+_1 --> chi0_1 ch sb ",xchiup(1,1), . brnupdb(1,1) write(21,201) " chi+_1 --> chi0_2 ch sb ",xchiup(1,2), . brnupdb(1,2) write(21,201) " chi+_1 --> chi0_3 ch sb ",xchiup(1,3), . brnupdb(1,3) write(21,201) " chi+_1 --> chi0_4 ch sb ",xchiup(1,4), . brnupdb(1,4) write(21,201) " chi+_1 --> chi0_1 tp bb ",xchitop(1,1), . brntopbb(1,1) write(21,201) " chi+_1 --> chi0_2 tp bb ",xchitop(1,2), . brntopbb(1,2) write(21,201) " chi+_1 --> chi0_3 tp bb ",xchitop(1,3), . brntopbb(1,3) write(21,201) " chi+_1 --> chi0_4 tp bb ",xchitop(1,4), . brntopbb(1,4) write(21,201) " chi+_1 --> chi0_1 e+ nue",xchiel(1,1), . brnelnue(1,1) write(21,201) " chi+_1 --> chi0_2 e+ nue",xchiel(1,2), . brnelnue(1,2) write(21,201) " chi+_1 --> chi0_3 e+ nue",xchiel(1,3), . brnelnue(1,3) write(21,201) " chi+_1 --> chi0_4 e+ nue",xchiel(1,4), . brnelnue(1,4) write(21,201) " chi+_1 --> chi0_1 mu+ num",xchimu(1,1), . brnmunumu(1,1) write(21,201) " chi+_1 --> chi0_2 mu+ num",xchimu(1,2), . brnmunumu(1,2) write(21,201) " chi+_1 --> chi0_3 mu+ num",xchimu(1,3), . brnmunumu(1,3) write(21,201) " chi+_1 --> chi0_4 mu+ num",xchimu(1,4), . brnmunumu(1,4) write(21,201) " chi+_1 --> chi0_1 tau+ nut",xchitau(1,1), . brntaunut(1,1) write(21,201) " chi+_1 --> chi0_2 tau+ nut",xchitau(1,2), . brntaunut(1,2) write(21,201) " chi+_1 --> chi0_3 tau+ nut",xchitau(1,3), . brntaunut(1,3) write(21,201) " chi+_1 --> chi0_4 tau+ nut",xchitau(1,4), . brntaunut(1,4) write(21,201) " chi+_1 --> gluino up db ",xgluiupdb(1), . brglupdb(1) write(21,201) " chi+_1 --> gluino ch sb ",xgluichsb(1), . brglchsb(1) write(21,201) " chi+_1 --> gluino tp bb ",xgluitopbb(1), . brgltopbb(1) elseif(chartot(1).eq.0.D0) then write(21,*) write(21,*) " CHARGINO1 STABLE " write(21,*) " ---------------- " endif endif c ---------------- c c chargino2 decays c c ---------------- c if(flagcondchar(2).eq.10.D0) then write(21,*) write(21,*) " CHARGINO2 STABLE " write(21,*) " ---------------- " elseif(flagcondchar(2).eq.40.D0.or.flagcondchar(2).eq.41.D0) then write(21,*) write(21,*) " CHARGINO2 DECAYS ",chartot2(2) write(21,*) " ---------------- " write(21,201) " chi+_2 --> supl db ",charsupl(2),brcharsupl(2) write(21,201) " chi+_2 --> supr db ",charsupr(2),brcharsupr(2) write(21,201) " chi+_2 --> sdbl up ",charsdownl(2), . brcharsdownl(2) write(21,201) " chi+_2 --> sdbr up ",charsdownr(2), . brcharsdownr(2) write(21,201) " chi+_2 --> schl sb ",charsupl(2),brcharsupl(2) write(21,201) " chi+_2 --> schr sb ",charsupr(2),brcharsupr(2) write(21,201) " chi+_2 --> ssbl ch ",charsdownl(2), . brcharsdownl(2) write(21,201) " chi+_2 --> ssbr ch ",charsdownr(2), . brcharsdownr(2) write(21,201) " chi+_2 --> stop1 bb ",charst1(2),brcharst1(2) write(21,201) " chi+_2 --> stop2 bb ",charst2(2),brcharst2(2) write(21,201) " chi+_2 --> sbot1b tp ",charsb1(2),brcharsb1(2) write(21,201) " chi+_2 --> sbot2b tp ",charsb2(2),brcharsb2(2) write(21,201) " chi+_2 --> snuel e+ ",charsnel(2),brcharsnel(2) write(21,201) " chi+_2 --> snuml mu+ ",charsnel(2),brcharsnel(2) write(21,201) " chi+_2 --> snut1 tau+ ",charsn1(2),brcharsn1(2) write(21,201) " chi+_2 --> sel+ nue ",charsell(2),brcharsell(2) write(21,201) " chi+_2 --> ser+ nue ",charselr(2),brcharselr(2) write(21,201) " chi+_2 --> smul+ num ",charsell(2),brcharsell(2) write(21,201) " chi+_2 --> smur+ num ",charselr(2),brcharselr(2) write(21,201) " chi+_2 --> stau1+ nut ",charstau1(2), . brcharstau1(2) write(21,201) " chi+_2 --> stau2+ nut ",charstau2(2), . brcharstau2(2) write(21,201) " chi+_2 --> chi+_1 Z ",char2zchic1,brcharzchic write(21,201) " chi+_2 --> chi0_1 W+ ",charwneut(2,1), . brcharwneut(2,1) write(21,201) " chi+_2 --> chi0_2 W+ ",charwneut(2,2), . brcharwneut(2,2) write(21,201) " chi+_2 --> chi0_3 W+ ",charwneut(2,3), . brcharwneut(2,3) write(21,201) " chi+_2 --> chi0_4 W+ ",charwneut(2,4), . brcharwneut(2,4) write(21,201) " chi+_2 --> chi+_1 h ",char2hlchic1,brcharhlchic write(21,201) " chi+_2 --> chi+_1 H ",char2hhchic1,brcharhhchic write(21,201) " chi+_2 --> chi+_1 A ",char2hachic1,brcharhachic write(21,201) " chi+_2 --> chi0_1 H+ ",charhcneut(2,1), . brcharhcneut(2,1) write(21,201) " chi+_2 --> chi0_2 H+ ",charhcneut(2,2), . brcharhcneut(2,2) write(21,201) " chi+_2 --> chi0_3 H+ ",charhcneut(2,3), . brcharhcneut(2,3) write(21,201) " chi+_2 --> chi0_4 H+ ",charhcneut(2,4), . brcharhcneut(2,4) elseif(flagcondchar(2).eq.11.D0) then if(chartot(2).ne.0.D0) then write(21,*) write(21,*) " CHARGINO2 DECAYS ",chartot(2) write(21,*) " ---------------- " write(21,201) " chi+_2 --> chi0_1 up db ",xchiup(2,1), . brnupdb(2,1) write(21,201) " chi+_2 --> chi0_2 up db ",xchiup(2,2), . brnupdb(2,2) write(21,201) " chi+_2 --> chi0_3 up db ",xchiup(2,3), . brnupdb(2,3) write(21,201) " chi+_2 --> chi0_4 up db ",xchiup(2,4), . brnupdb(2,4) write(21,201) " chi+_2 --> chi0_1 ch sb ",xchiup(2,1), . brnupdb(2,1) write(21,201) " chi+_2 --> chi0_2 ch sb ",xchiup(2,2), . brnupdb(2,2) write(21,201) " chi+_2 --> chi0_3 ch sb ",xchiup(2,3), . brnupdb(2,3) write(21,201) " chi+_2 --> chi0_4 ch sb ",xchiup(2,4), . brnupdb(2,4) write(21,201) " chi+_2 --> chi0_1 tp bb ",xchitop(2,1), . brntopbb(2,1) write(21,201) " chi+_2 --> chi0_2 tp bb ",xchitop(2,2), . brntopbb(2,2) write(21,201) " chi+_2 --> chi0_3 tp bb ",xchitop(2,3), . brntopbb(2,3) write(21,201) " chi+_2 --> chi0_4 tp bb ",xchitop(2,4), . brntopbb(2,4) write(21,201) " chi+_2 --> chi0_1 e+ nue ",xchiel(2,1), . brnelnue(2,1) write(21,201) " chi+_2 --> chi0_2 e+ nue ",xchiel(2,2), . brnelnue(2,2) write(21,201) " chi+_2 --> chi0_3 e+ nue ",xchiel(2,3), . brnelnue(2,3) write(21,201) " chi+_2 --> chi0_4 e+ nue ",xchiel(2,4), . brnelnue(2,4) write(21,201) " chi+_2 --> chi0_1 mu+ num ",xchimu(2,1), . brnmunumu(2,1) write(21,201) " chi+_2 --> chi0_2 mu+ num ",xchimu(2,2), . brnmunumu(2,2) write(21,201) " chi+_2 --> chi0_3 mu+ num ",xchimu(2,3), . brnmunumu(2,3) write(21,201) " chi+_2 --> chi0_4 mu+ num ",xchimu(2,4), . brnmunumu(2,4) write(21,201) " chi+_2 --> chi0_1 tau+ nut ",xchitau(2,1), . brntaunut(2,1) write(21,201) " chi+_2 --> chi0_2 tau+ nut ",xchitau(2,2), . brntaunut(2,2) write(21,201) " chi+_2 --> chi0_3 tau+ nut ",xchitau(2,3), . brntaunut(2,3) write(21,201) " chi+_2 --> chi0_4 tau+ nut ",xchitau(2,4), . brntaunut(2,4) write(21,201) " chi+_2 --> chi+_1 up ub ",xchar1up,brchupup write(21,201) " chi+_2 --> chi+_1 dn db ",xchar1dow,brchdodo write(21,201) " chi+_2 --> chi+_1 ch cb ",xchar1ch,brchchch write(21,201) " chi+_2 --> chi+_1 st sb ",xchar1str,brchstst write(21,201) " chi+_2 --> chi+_1 tp tb ",xchar1top,brchtoptop write(21,201) " chi+_2 --> chi+_1 bt bb ",xchar1bot,brchbotbot write(21,201) " chi+_2 --> chi+_1 e+ e- ",xchar1el,brchee write(21,201) " chi+_2 --> chi+_1 mu+ mu- ",xchar1mu,brchmumu write(21,201) " chi+_2 --> chi+_1 tau+ tau-",xchar1tau,brchtautau write(21,201) " chi+_2 --> chi+_1 nue nueb",xchar1nue,brchnene write(21,201) " chi+_2 --> chi+_1 num numb",xchar1numu,brchnmunmu write(21,201) " chi+_2 --> chi+_1 nut nutb",xchar1nutau, . brchntauntau write(21,201) " chi+_2 --> gluino up db ",xgluiupdb(2), . brglupdb(2) write(21,201) " chi+_2 --> gluino ch sb ",xgluichsb(2), . brglchsb(2) write(21,201) " chi+_2 --> gluino tp bb ",xgluitopbb(2), . brgltopbb(2) elseif(chartot(2).eq.0.D0) then write(21,*) write(21,*) " CHARGINO2 STABLE " write(21,*) " ---------------- " endif endif c ------------------ c c neutralino1 decays c c ------------------ c flagmultiloop = flagmulti+flagloop do i=1,4,1 if(neuttot2(i).eq.0.D0) then flagneuttot2(i) = 10.D0 elseif(neuttot2(i).ne.0.D0) then flagneuttot2(i) = 40.D0 endif flagcondneut(i) = flagneuttot2(i)+flagmultiloop end do flagcondneut(1) = flagneuttot2(1)+flagmulti if(flagcondneut(1).eq.10.D0) then write(21,*) write(21,*) " NEUTRALINO1 STABLE " write(21,*) " ------------------ " elseif(flagcondneut(1).eq.40.D0.or.flagcondneut(1).eq.41.D0) then write(21,*) write(21,*) " NEUTRALINO1 DECAYS ",neuttot2(1) write(21,*) " ------------------ " write(21,201) " chi0_1 --> chi+_1 W- ",neutwchar(1,1), . brneutwchar(1,1) write(21,201) " chi0_1 --> chi-_1 W+ ",neutwchar(1,1), . brneutwchar(1,1) write(21,201) " chi0_1 --> chi+_2 W- ",neutwchar(1,2), . brneutwchar(1,2) write(21,201) " chi0_1 --> chi-_2 W+ ",neutwchar(1,2), . brneutwchar(1,2) write(21,201) " chi0_1 --> chi+_1 H- ",neuthcchar(1,1), . brneuthcchar(1,1) write(21,201) " chi0_1 --> chi-_1 H+ ",neuthcchar(1,1), . brneuthcchar(1,1) write(21,201) " chi0_1 --> chi+_2 H- ",neuthcchar(1,2), . brneuthcchar(1,2) write(21,201) " chi0_1 --> chi-_2 H+ ",neuthcchar(1,2), . brneuthcchar(1,2) write(21,201) " chi0_1 --> supl ub ",neutsupl(1),brneutsupl(1) write(21,201) " chi0_1 --> subl up ",neutsupl(1),brneutsupl(1) write(21,201) " chi0_1 --> supr ub ",neutsupr(1),brneutsupr(1) write(21,201) " chi0_1 --> subr up ",neutsupr(1),brneutsupr(1) write(21,201) " chi0_1 --> sdnl db ",neutsdownl(1), . brneutsdownl(1) write(21,201) " chi0_1 --> sdbl dn ",neutsdownl(1), . brneutsdownl(1) write(21,201) " chi0_1 --> sdnr db ",neutsdownr(1), . brneutsdownr(1) write(21,201) " chi0_1 --> sdbr dn ",neutsdownr(1), . brneutsdownr(1) write(21,201) " chi0_1 --> schl cb ",neutsupl(1),brneutsupl(1) write(21,201) " chi0_1 --> scbl ch ",neutsupl(1),brneutsupl(1) write(21,201) " chi0_1 --> schr cb ",neutsupr(1),brneutsupr(1) write(21,201) " chi0_1 --> scbr ch ",neutsupr(1),brneutsupr(1) write(21,201) " chi0_1 --> sstl sb ",neutsdownl(1), . brneutsdownl(1) write(21,201) " chi0_1 --> ssbl st ",neutsdownl(1), . brneutsdownl(1) write(21,201) " chi0_1 --> sstr sb ",neutsdownr(1), . brneutsdownr(1) write(21,201) " chi0_1 --> ssbr st ",neutsdownr(1), . brneutsdownr(1) write(21,201) " chi0_1 --> stop1 tb ",neutst1(1),brneutst1(1) write(21,201) " chi0_1 --> stop1b tp ",neutst1(1),brneutst1(1) write(21,201) " chi0_1 --> stop2 tb ",neutst2(1),brneutst2(1) write(21,201) " chi0_1 --> stop2b tp ",neutst2(1),brneutst2(1) write(21,201) " chi0_1 --> sbot1 bb ",neutsb1(1),brneutsb1(1) write(21,201) " chi0_1 --> sbot1b bt ",neutsb1(1),brneutsb1(1) write(21,201) " chi0_1 --> sbot2 bb ",neutsb2(1),brneutsb2(1) write(21,201) " chi0_1 --> sbot2b bt ",neutsb2(1),brneutsb2(1) write(21,201) " chi0_1 --> sel- e+ ",neutsell(1),brneutsell(1) write(21,201) " chi0_1 --> sel+ e- ",neutsell(1),brneutsell(1) write(21,201) " chi0_1 --> ser- e+ ",neutselr(1),brneutselr(1) write(21,201) " chi0_1 --> ser+ e- ",neutselr(1),brneutselr(1) write(21,201) " chi0_1 --> smul- mu+ ",neutsell(1),brneutsell(1) write(21,201) " chi0_1 --> smul+ mu- ",neutsell(1),brneutsell(1) write(21,201) " chi0_1 --> smur- mu+ ",neutselr(1),brneutselr(1) write(21,201) " chi0_1 --> smur+ mu- ",neutselr(1),brneutselr(1) write(21,201) " chi0_1 --> stau1- tau+",neutstau1(1), . brneutstau1(1) write(21,201) " chi0_1 --> stau1+ tau-",neutstau1(1), . brneutstau1(1) write(21,201) " chi0_1 --> stau2- tau+",neutstau2(1), . brneutstau2(1) write(21,201) " chi0_1 --> stau2+ tau-",neutstau2(1), . brneutstau2(1) write(21,201) " chi0_1 --> snuel nueb",neutsnel(1),brneutsnel(1) write(21,201) " chi0_1 --> snuelb nue ",neutsnel(1),brneutsnel(1) write(21,201) " chi0_1 --> snuml numb",neutsnel(1),brneutsnel(1) write(21,201) " chi0_1 --> snumlb num ",neutsnel(1),brneutsnel(1) write(21,201) " chi0_1 --> snut1 nutb",neutsn1(1),brneutsn1(1) write(21,201) " chi0_1 --> snut1b nut ",neutsn1(1),brneutsn1(1) if(flagnlspgmsb.eq.1.D0) then write(21,201) " chi0_1 --> G gm ",neutgammagravitino(1), . brneutgamgrav(1) write(21,201) " chi0_1 --> G Z ",neutZgravitino(1), . brneutzgrav(1) write(21,201) " chi0_1 --> G h ",neuthlgravitino(1), . brneuthlgrav(1) write(21,201) " chi0_1 --> G H ",neuthhgravitino(1), . brneuthhgrav(1) write(21,201) " chi0_1 --> G A ",neuthagravitino(1), . brneuthagrav(1) endif elseif(flagcondneut(1).eq.11.D0) then if(neuttot(1).ne.0.D0) then write(21,*) write(21,*) " NEUTRALINO1 DECAYS ",neuttot(1) write(21,*) " ------------------ " c if(flagnlspgmsb.eq.1.D0) then write(21,201) " chi0_1 --> G gm ",neutgammagravitino(1), . brneutgamgrav(1) write(21,201) " chi0_1 --> G Z ",neutZgravitino(1), . brneutzgrav(1) write(21,201) " chi0_1 --> G h ",neuthlgravitino(1), . brneuthlgrav(1) write(21,201) " chi0_1 --> G H ",neuthhgravitino(1), . brneuthhgrav(1) write(21,201) " chi0_1 --> G A ",neuthagravitino(1), . brneuthagrav(1) endif c write(21,201) " chi0_1 --> chi+_1 ub dn ",xchubdow(1,1), . brchubd(1,1) write(21,201) " chi0_1 --> chi-_1 up db ",xchubdow(1,1), . brchubd(1,1) write(21,201) " chi0_1 --> chi+_2 ub dn ",xchubdow(1,2), . brchubd(1,2) write(21,201) " chi0_1 --> chi-_2 up db ",xchubdow(1,2), . brchubd(1,2) write(21,201) " chi0_1 --> chi+_1 cb st ",xchcbs(1,1), . brchcbs(1,1) write(21,201) " chi0_1 --> chi-_1 ch sb ",xchcbs(1,1), . brchcbs(1,1) write(21,201) " chi0_1 --> chi+_2 cb st ",xchcbs(1,2), . brchcbs(1,2) write(21,201) " chi0_1 --> chi-_2 ch sb ",xchcbs(1,2), . brchcbs(1,2) write(21,201) " chi0_1 --> chi+_1 tb bt ",xchtbb(1,1), . brchtbb(1,1) write(21,201) " chi0_1 --> chi-_1 tp bb ",xchtbb(1,1), . brchtbb(1,1) write(21,201) " chi0_1 --> chi+_2 tb bt ",xchtbb(1,2), . brchtbb(1,2) write(21,201) " chi0_1 --> chi-_2 tp bb ",xchtbb(1,2), . brchtbb(1,2) write(21,201) " chi0_1 --> chi+_1 e- nueb",xchelne(1,1), . brchelne(1,1) write(21,201) " chi0_1 --> chi-_1 e+ nue ",xchelne(1,1), . brchelne(1,1) write(21,201) " chi0_1 --> chi+_2 e- nueb",xchelne(1,2), . brchelne(1,2) write(21,201) " chi0_1 --> chi-_2 e+ nue ",xchelne(1,2), . brchelne(1,2) write(21,201) " chi0_1 --> chi+_1 mu- numb",xchmunmu(1,1), . brchmunmu(1,1) write(21,201) " chi0_1 --> chi-_1 mu+ num ",xchmunmu(1,1), . brchmunmu(1,1) write(21,201) " chi0_1 --> chi+_2 mu- numb",xchmunmu(1,2), . brchmunmu(1,2) write(21,201) " chi0_1 --> chi-_2 mu+ num ",xchmunmu(1,2), . brchmunmu(1,2) write(21,201) " chi0_1 --> chi+_1 tau- nutb",xchtauntau(1,1), . brchtauntau(1,1) write(21,201) " chi0_1 --> chi-_1 tau+ nut ",xchtauntau(1,1), . brchtauntau(1,1) write(21,201) " chi0_1 --> chi+_2 tau- nutb",xchtauntau(1,2), . brchtauntau(1,2) write(21,201) " chi0_1 --> chi-_2 tau+ nut ",xchtauntau(1,2), . brchtauntau(1,2) write(21,201) " chi0_1 --> gluino up ub ",xgluinoup(1), . brglup(1) write(21,201) " chi0_1 --> gluino dn db ",xgluinodo(1), . brgldo(1) write(21,201) " chi0_1 --> gluino ch cb ",xgluinoch(1), . brglch(1) write(21,201) " chi0_1 --> gluino st sb ",xgluinost(1), . brglst(1) write(21,201) " chi0_1 --> gluino tp tb ",xgluinotop(1), . brgltop(1) write(21,201) " chi0_1 --> gluino bt bb ",xgluinobot(1), . brglbot(1) elseif(neuttot(1).eq.0.D0) then write(21,*) write(21,*) " NEUTRALINO1 STABLE " write(21,*) " ------------------ " endif endif c ------------------ c c neutralino2 decays c c ------------------ c if(flagcondneut(2).eq.10.D0) then write(21,*) write(21,*) " NEUTRALINO2 STABLE " write(21,*) " ------------------ " elseif(flagcondneut(2).eq.40.D0.or.flagcondneut(2).eq.41.D0.or. .flagcondneut(2).eq.42.D0) then write(21,*) write(21,*) " NEUTRALINO2 DECAYS ",neuttot2(2) write(21,*) " ------------------ " write(21,201) " chi0_2 --> chi0_1 Z ",neutzneut(2,1), . brneutzneut(2,1) write(21,201) " chi0_2 --> chi+_1 W- ",neutwchar(2,1), . brneutwchar(2,1) write(21,201) " chi0_2 --> chi-_1 W+ ",neutwchar(2,1), . brneutwchar(2,1) write(21,201) " chi0_2 --> chi+_2 W- ",neutwchar(2,2), . brneutwchar(2,2) write(21,201) " chi0_2 --> chi-_2 W+ ",neutwchar(2,2), . brneutwchar(2,2) write(21,201) " chi0_2 --> chi0_1 h ",neuthlneut(2,1), . brneuthlneut(2,1) write(21,201) " chi0_2 --> chi0_1 H ",neuthhneut(2,1), . brneuthhneut(2,1) write(21,201) " chi0_2 --> chi0_1 A ",neuthaneut(2,1), . brneuthaneut(2,1) write(21,201) " chi0_2 --> chi+_1 H- ",neuthcchar(2,1), . brneuthcchar(2,1) write(21,201) " chi0_2 --> chi-_1 H+ ",neuthcchar(2,1), . brneuthcchar(2,1) write(21,201) " chi0_2 --> chi+_2 H- ",neuthcchar(2,2), . brneuthcchar(2,2) write(21,201) " chi0_2 --> chi-_2 H+ ",neuthcchar(2,2), . brneuthcchar(2,2) write(21,201) " chi0_2 --> supl ub ",neutsupl(2),brneutsupl(2) write(21,201) " chi0_2 --> subl up ",neutsupl(2),brneutsupl(2) write(21,201) " chi0_2 --> supr ub ",neutsupr(2),brneutsupr(2) write(21,201) " chi0_2 --> subr up ",neutsupr(2),brneutsupr(2) write(21,201) " chi0_2 --> sdnl db ",neutsdownl(2), . brneutsdownl(2) write(21,201) " chi0_2 --> sdbl dn ",neutsdownl(2), . brneutsdownl(2) write(21,201) " chi0_2 --> sdnr db ",neutsdownr(2), . brneutsdownr(2) write(21,201) " chi0_2 --> sdbr dn ",neutsdownr(2), . brneutsdownr(2) write(21,201) " chi0_2 --> schl cb ",neutsupl(2),brneutsupl(2) write(21,201) " chi0_2 --> scbl ch ",neutsupl(2),brneutsupl(2) write(21,201) " chi0_2 --> schr cb ",neutsupr(2),brneutsupr(2) write(21,201) " chi0_2 --> scbr ch ",neutsupr(2),brneutsupr(2) write(21,201) " chi0_2 --> sstl sb ",neutsdownl(2), . brneutsdownl(2) write(21,201) " chi0_2 --> ssbl st ",neutsdownl(2), . brneutsdownl(2) write(21,201) " chi0_2 --> sstr sb ",neutsdownr(2), . brneutsdownr(2) write(21,201) " chi0_2 --> ssbr st ",neutsdownr(2), . brneutsdownr(2) write(21,201) " chi0_2 --> stop1 tb ",neutst1(2),brneutst1(2) write(21,201) " chi0_2 --> stop1b tp ",neutst1(2),brneutst1(2) write(21,201) " chi0_2 --> stop2 tb ",neutst2(2),brneutst2(2) write(21,201) " chi0_2 --> stop2b tp ",neutst2(2),brneutst2(2) write(21,201) " chi0_2 --> sbot1 bb ",neutsb1(2),brneutsb1(2) write(21,201) " chi0_2 --> sbot1b bt ",neutsb1(2),brneutsb1(2) write(21,201) " chi0_2 --> sbot2 bb ",neutsb2(2),brneutsb2(2) write(21,201) " chi0_2 --> sbot2b bt ",neutsb2(2),brneutsb2(2) write(21,201) " chi0_2 --> sel- e+ ",neutsell(2),brneutsell(2) write(21,201) " chi0_2 --> sel+ e- ",neutsell(2),brneutsell(2) write(21,201) " chi0_2 --> ser- e+ ",neutselr(2),brneutselr(2) write(21,201) " chi0_2 --> ser+ e- ",neutselr(2),brneutselr(2) write(21,201) " chi0_2 --> smul- mu+ ",neutsell(2),brneutsell(2) write(21,201) " chi0_2 --> smul+ mu- ",neutsell(2),brneutsell(2) write(21,201) " chi0_2 --> smur- mu+ ",neutselr(2),brneutselr(2) write(21,201) " chi0_2 --> smur+ mu- ",neutselr(2),brneutselr(2) write(21,201) " chi0_2 --> stau1- tau+",neutstau1(2), . brneutstau1(2) write(21,201) " chi0_2 --> stau1+ tau-",neutstau1(2), . brneutstau1(2) write(21,201) " chi0_2 --> stau2- tau+",neutstau2(2), . brneutstau2(2) write(21,201) " chi0_2 --> stau2+ tau-",neutstau2(2), . brneutstau2(2) write(21,201) " chi0_2 --> snuel nueb",neutsnel(2),brneutsnel(2) write(21,201) " chi0_2 --> snuelb nue ",neutsnel(2),brneutsnel(2) write(21,201) " chi0_2 --> snuml numb",neutsnel(2),brneutsnel(2) write(21,201) " chi0_2 --> snumlb num ",neutsnel(2),brneutsnel(2) write(21,201) " chi0_2 --> snut1 nutb",neutsn1(2),brneutsn1(2) write(21,201) " chi0_2 --> snut1b nut ",neutsn1(2),brneutsn1(2) elseif(flagcondneut(2).eq.11.D0.or.flagcondneut(2).eq.12.D0) then if(neuttot(2).ne.0.D0) then write(21,*) write(21,*) " NEUTRALINO2 DECAYS ",neuttot(2) write(21,*) " ------------------ " if(flagloop.eq.1.D0) then write(21,201) " chi0_2 --> chi0_1 gm ",nraddec(2,1), . brnraddec(2,1) endif if(flagmulti.eq.1.D0) then write(21,201) " chi0_2 --> chi0_1 up ub ",xneutup(2,1), . brneutup(2,1) write(21,201) " chi0_2 --> chi0_1 dn db ",xneutdow(2,1), . brneutdow(2,1) write(21,201) " chi0_2 --> chi0_1 ch cb ",xneutch(2,1), . brneutch(2,1) write(21,201) " chi0_2 --> chi0_1 st sb ",xneutst(2,1), . brneutst(2,1) write(21,201) " chi0_2 --> chi0_1 tp tb ",xneuttop(2,1), . brneuttop(2,1) write(21,201) " chi0_2 --> chi0_1 bt bb ",xneutbot(2,1), . brneutbot(2,1) write(21,201) " chi0_2 --> chi0_1 e+ e- ",xneutel(2,1), . brneutel(2,1) write(21,201) " chi0_2 --> chi0_1 mu+ mu- ",xneutmu(2,1), . brneutmu(2,1) write(21,201) " chi0_2 --> chi0_1 tau+ tau-",xneuttau(2,1), . brneuttau(2,1) write(21,201) " chi0_2 --> chi0_1 nue nueb",xneutnue(2,1), . brneutnue(2,1) write(21,201) " chi0_2 --> chi0_1 num numb",xneutnumu(2,1), . brneutnumu(2,1) write(21,201) " chi0_2 --> chi0_1 nut nutb",xneutnutau(2,1), . brneutnutau(2,1) write(21,201) " chi0_2 --> chi+_1 ub dn ",xchubdow(2,1), . brchubd(2,1) write(21,201) " chi0_2 --> chi-_1 up db ",xchubdow(2,1), . brchubd(2,1) write(21,201) " chi0_2 --> chi+_2 ub dn ",xchubdow(2,2), . brchubd(2,2) write(21,201) " chi0_2 --> chi-_2 up db ",xchubdow(2,2), . brchubd(2,2) write(21,201) " chi0_2 --> chi+_1 cb st ",xchcbs(2,1), . brchcbs(2,1) write(21,201) " chi0_2 --> chi-_1 ch sb ",xchcbs(2,1), . brchcbs(2,1) write(21,201) " chi0_2 --> chi+_2 cb st ",xchcbs(2,2), . brchcbs(2,2) write(21,201) " chi0_2 --> chi-_2 ch sb ",xchcbs(2,2), . brchcbs(2,2) write(21,201) " chi0_2 --> chi+_1 tb bt ",xchtbb(2,1), . brchtbb(2,1) write(21,201) " chi0_2 --> chi-_1 tp bb ",xchtbb(2,1), . brchtbb(2,1) write(21,201) " chi0_2 --> chi+_2 tb bt ",xchtbb(2,2), . brchtbb(2,2) write(21,201) " chi0_2 --> chi-_2 tp bb ",xchtbb(2,2), . brchtbb(2,2) write(21,201) " chi0_2 --> chi+_1 e- nueb",xchelne(2,1), . brchelne(2,1) write(21,201) " chi0_2 --> chi-_1 e+ nue ",xchelne(2,1), . brchelne(2,1) write(21,201) " chi0_2 --> chi+_2 e- nueb",xchelne(2,2), . brchelne(2,2) write(21,201) " chi0_2 --> chi-_2 e+ nue ",xchelne(2,2), . brchelne(2,2) write(21,201) " chi0_2 --> chi+_1 mu- numb",xchmunmu(2,1), . brchmunmu(2,1) write(21,201) " chi0_2 --> chi-_1 mu+ num ",xchmunmu(2,1), . brchmunmu(2,1) write(21,201) " chi0_2 --> chi+_2 mu- numb",xchmunmu(2,2), . brchmunmu(2,2) write(21,201) " chi0_2 --> chi-_2 mu+ num ",xchmunmu(2,2), . brchmunmu(2,2) write(21,201) " chi0_2 --> chi+_1 tau- nutb",xchtauntau(2,1), . brchtauntau(2,1) write(21,201) " chi0_2 --> chi-_1 tau+ nut ",xchtauntau(2,1), . brchtauntau(2,1) write(21,201) " chi0_2 --> chi+_2 tau- nutb",xchtauntau(2,2), . brchtauntau(2,2) write(21,201) " chi0_2 --> chi-_2 tau+ nut ",xchtauntau(2,2), . brchtauntau(2,2) write(21,201) " chi0_2 --> gluino up ub ",xgluinoup(2), . brglup(2) write(21,201) " chi0_2 --> gluino dn db ",xgluinodo(2), . brgldo(2) write(21,201) " chi0_2 --> gluino ch cb ",xgluinoch(2), . brglch(2) write(21,201) " chi0_2 --> gluino st sb ",xgluinost(2), . brglst(2) write(21,201) " chi0_2 --> gluino tp tb ",xgluinotop(2), . brgltop(2) write(21,201) " chi0_2 --> gluino bt bb ",xgluinobot(2), . brglbot(2) endif elseif(neuttot(2).eq.0.D0) then write(21,*) write(21,*) " NEUTRALINO2 STABLE " write(21,*) " ------------------ " endif endif c ------------------ c c neutralino3 decays c c ------------------ c if(flagcondneut(3).eq.10.D0) then write(21,*) write(21,*) " NEUTRALINO3 STABLE " write(21,*) " ------------------ " elseif(flagcondneut(3).eq.40.D0.or.flagcondneut(3).eq.41.D0.or. .flagcondneut(3).eq.42.D0) then write(21,*) write(21,*) " NEUTRALINO3 DECAYS ",neuttot2(3) write(21,*) " ------------------ " write(21,201) " chi0_3 --> chi0_1 Z ",neutzneut(3,1), . brneutzneut(3,1) write(21,201) " chi0_3 --> chi0_2 Z ",neutzneut(3,2), . brneutzneut(3,2) write(21,201) " chi0_3 --> chi+_1 W- ",neutwchar(3,1), . brneutwchar(3,1) write(21,201) " chi0_3 --> chi-_1 W+ ",neutwchar(3,1), . brneutwchar(3,1) write(21,201) " chi0_3 --> chi+_2 W- ",neutwchar(3,2), . brneutwchar(3,2) write(21,201) " chi0_3 --> chi-_2 W+ ",neutwchar(3,2), . brneutwchar(3,2) write(21,201) " chi0_3 --> chi0_1 h ",neuthlneut(3,1), . brneuthlneut(3,1) write(21,201) " chi0_3 --> chi0_1 H ",neuthhneut(3,1), . brneuthhneut(3,1) write(21,201) " chi0_3 --> chi0_1 A ",neuthaneut(3,1), . brneuthaneut(3,1) write(21,201) " chi0_3 --> chi0_2 h ",neuthlneut(3,2), . brneuthlneut(3,2) write(21,201) " chi0_3 --> chi0_2 H ",neuthhneut(3,2), . brneuthhneut(3,2) write(21,201) " chi0_3 --> chi0_2 A ",neuthaneut(3,2), . brneuthaneut(3,2) write(21,201) " chi0_3 --> chi+_1 H- ",neuthcchar(3,1), . brneuthcchar(3,1) write(21,201) " chi0_3 --> chi-_1 H+ ",neuthcchar(3,1), . brneuthcchar(3,1) write(21,201) " chi0_3 --> chi+_2 H- ",neuthcchar(3,2), . brneuthcchar(3,2) write(21,201) " chi0_3 --> chi-_2 H+ ",neuthcchar(3,2), . brneuthcchar(3,2) write(21,201) " chi0_3 --> supl ub ",neutsupl(3),brneutsupl(3) write(21,201) " chi0_3 --> subl up ",neutsupl(3),brneutsupl(3) write(21,201) " chi0_3 --> supr ub ",neutsupr(3),brneutsupr(3) write(21,201) " chi0_3 --> subr up ",neutsupr(3),brneutsupr(3) write(21,201) " chi0_3 --> sdnl db ",neutsdownl(3), . brneutsdownl(3) write(21,201) " chi0_3 --> sdbl dn ",neutsdownl(3), . brneutsdownl(3) write(21,201) " chi0_3 --> sdnr db ",neutsdownr(3), . brneutsdownr(3) write(21,201) " chi0_3 --> sdbr dn ",neutsdownr(3), . brneutsdownr(3) write(21,201) " chi0_3 --> schl cb ",neutsupl(3),brneutsupl(3) write(21,201) " chi0_3 --> scbl ch ",neutsupl(3),brneutsupl(3) write(21,201) " chi0_3 --> schr cb ",neutsupr(3),brneutsupr(3) write(21,201) " chi0_3 --> scbr ch ",neutsupr(3),brneutsupr(3) write(21,201) " chi0_3 --> sstl sb ",neutsdownl(3), . brneutsdownl(3) write(21,201) " chi0_3 --> ssbl st ",neutsdownl(3), . brneutsdownl(3) write(21,201) " chi0_3 --> sstr sb ",neutsdownr(3), . brneutsdownr(3) write(21,201) " chi0_3 --> ssbr st ",neutsdownr(3), . brneutsdownr(3) write(21,201) " chi0_3 --> stop1 tb ",neutst1(3),brneutst1(3) write(21,201) " chi0_3 --> stop1b tp ",neutst1(3),brneutst1(3) write(21,201) " chi0_3 --> stop2 tb ",neutst2(3),brneutst2(3) write(21,201) " chi0_3 --> stop2b tp ",neutst2(3),brneutst2(3) write(21,201) " chi0_3 --> sbot1 bb ",neutsb1(3),brneutsb1(3) write(21,201) " chi0_3 --> sbot1b bt ",neutsb1(3),brneutsb1(3) write(21,201) " chi0_3 --> sbot2 bb ",neutsb2(3),brneutsb2(3) write(21,201) " chi0_3 --> sbot2b bt ",neutsb2(3),brneutsb2(3) write(21,201) " chi0_3 --> sel- e+ ",neutsell(3),brneutsell(3) write(21,201) " chi0_3 --> sel+ e- ",neutsell(3),brneutsell(3) write(21,201) " chi0_3 --> ser- e+ ",neutselr(3),brneutselr(3) write(21,201) " chi0_3 --> ser+ e- ",neutselr(3),brneutselr(3) write(21,201) " chi0_3 --> smul- mu+ ",neutsell(3),brneutsell(3) write(21,201) " chi0_3 --> smul+ mu- ",neutsell(3),brneutsell(3) write(21,201) " chi0_3 --> smur- mu+ ",neutselr(3),brneutselr(3) write(21,201) " chi0_3 --> smur+ mu- ",neutselr(3),brneutselr(3) write(21,201) " chi0_3 --> stau1- tau+",neutstau1(3), . brneutstau1(3) write(21,201) " chi0_3 --> stau1+ tau-",neutstau1(3), . brneutstau1(3) write(21,201) " chi0_3 --> stau2- tau+",neutstau2(3), . brneutstau2(3) write(21,201) " chi0_3 --> stau2+ tau-",neutstau2(3), . brneutstau2(3) write(21,201) " chi0_3 --> snuel nueb",neutsnel(3),brneutsnel(3) write(21,201) " chi0_3 --> snuelb nue ",neutsnel(3),brneutsnel(3) write(21,201) " chi0_3 --> snuml numb",neutsnel(3),brneutsnel(3) write(21,201) " chi0_3 --> snumlb num ",neutsnel(3),brneutsnel(3) write(21,201) " chi0_3 --> snut1 nutb",neutsn1(3),brneutsn1(3) write(21,201) " chi0_3 --> snut1b nut ",neutsn1(3),brneutsn1(3) elseif(flagcondneut(3).eq.11.D0.or.flagcondneut(3).eq.12.D0) then if(neuttot(3).ne.0.D0) then write(21,*) write(21,*) " NEUTRALINO3 DECAYS ",neuttot(3) write(21,*) " ------------------ " if(flagloop.eq.1.D0) then write(21,201) " chi0_3 --> chi0_1 gm ",nraddec(3,1), . brnraddec(3,1) write(21,201) " chi0_3 --> chi0_2 gm ",nraddec(3,2), . brnraddec(3,2) endif if(flagmulti.eq.1.D0) then write(21,201) " chi0_3 --> chi0_1 up ub ",xneutup(3,1), . brneutup(3,1) write(21,201) " chi0_3 --> chi0_1 dn db ",xneutdow(3,1), . brneutdow(3,1) write(21,201) " chi0_3 --> chi0_1 ch cb ",xneutch(3,1), . brneutch(3,1) write(21,201) " chi0_3 --> chi0_1 st sb ",xneutst(3,1), . brneutst(3,1) write(21,201) " chi0_3 --> chi0_1 tp tb ",xneuttop(3,1), . brneuttop(3,1) write(21,201) " chi0_3 --> chi0_1 bt bb ",xneutbot(3,1), . brneutbot(3,1) write(21,201) " chi0_3 --> chi0_1 e+ e- ",xneutel(3,1), . brneutel(3,1) write(21,201) " chi0_3 --> chi0_1 mu+ mu- ",xneutmu(3,1), . brneutmu(3,1) write(21,201) " chi0_3 --> chi0_1 tau+ tau-",xneuttau(3,1), . brneuttau(3,1) write(21,201) " chi0_3 --> chi0_1 nue nueb",xneutnue(3,1), . brneutnue(3,1) write(21,201) " chi0_3 --> chi0_1 num numb",xneutnumu(3,1), . brneutnumu(3,1) write(21,201) " chi0_3 --> chi0_1 nut nutb",xneutnutau(3,1), . brneutnutau(3,1) write(21,201) " chi0_3 --> chi0_2 up ub ",xneutup(3,2), . brneutup(3,2) write(21,201) " chi0_3 --> chi0_2 dn db ",xneutdow(3,2), . brneutdow(3,2) write(21,201) " chi0_3 --> chi0_2 ch cb ",xneutch(3,2), . brneutch(3,2) write(21,201) " chi0_3 --> chi0_2 st sb ",xneutst(3,2), . brneutst(3,2) write(21,201) " chi0_3 --> chi0_2 tp tb ",xneuttop(3,2), . brneuttop(3,2) write(21,201) " chi0_3 --> chi0_2 bt bb ",xneutbot(3,2), . brneutbot(3,2) write(21,201) " chi0_3 --> chi0_2 e+ e- ",xneutel(3,2), . brneutel(3,2) write(21,201) " chi0_3 --> chi0_2 mu+ mu- ",xneutmu(3,2), . brneutmu(3,2) write(21,201) " chi0_3 --> chi0_2 tau+ tau-",xneuttau(3,2), . brneuttau(3,2) write(21,201) " chi0_3 --> chi0_2 nue nueb",xneutnue(3,2), . brneutnue(3,2) write(21,201) " chi0_3 --> chi0_2 num numb",xneutnumu(3,2), . brneutnumu(3,2) write(21,201) " chi0_3 --> chi0_2 nut nutb",xneutnutau(3,2), . brneutnutau(3,2) write(21,201) " chi0_3 --> chi+_1 ub dn ",xchubdow(3,1), . brchubd(3,1) write(21,201) " chi0_3 --> chi-_1 up db ",xchubdow(3,1), . brchubd(3,1) write(21,201) " chi0_3 --> chi+_2 ub dn ",xchubdow(3,2), . brchubd(3,2) write(21,201) " chi0_3 --> chi-_2 up db ",xchubdow(3,2), . brchubd(3,2) write(21,201) " chi0_3 --> chi+_1 cb st ",xchcbs(3,1), . brchcbs(3,1) write(21,201) " chi0_3 --> chi-_1 ch sb ",xchcbs(3,1), . brchcbs(3,1) write(21,201) " chi0_3 --> chi+_2 cb st ",xchcbs(3,2), . brchcbs(3,2) write(21,201) " chi0_3 --> chi-_2 ch sb ",xchcbs(3,2), . brchcbs(3,2) write(21,201) " chi0_3 --> chi+_1 tb bt ",xchtbb(3,1), . brchtbb(3,1) write(21,201) " chi0_3 --> chi-_1 tp bb ",xchtbb(3,1), . brchtbb(3,1) write(21,201) " chi0_3 --> chi+_2 tb bt ",xchtbb(3,2), . brchtbb(3,2) write(21,201) " chi0_3 --> chi-_2 tp bb ",xchtbb(3,2), . brchtbb(3,2) write(21,201) " chi0_3 --> chi+_1 e- nueb",xchelne(3,1), . brchelne(3,1) write(21,201) " chi0_3 --> chi-_1 e+ nue ",xchelne(3,1), . brchelne(3,1) write(21,201) " chi0_3 --> chi+_2 e- nueb",xchelne(3,2), . brchelne(3,2) write(21,201) " chi0_3 --> chi-_2 e+ nue ",xchelne(3,2), . brchelne(3,2) write(21,201) " chi0_3 --> chi+_1 mu- numb",xchmunmu(3,1), . brchmunmu(3,1) write(21,201) " chi0_3 --> chi-_1 mu+ num ",xchmunmu(3,1), . brchmunmu(3,1) write(21,201) " chi0_3 --> chi+_2 mu- numb",xchmunmu(3,2), . brchmunmu(3,2) write(21,201) " chi0_3 --> chi-_2 mu+ num ",xchmunmu(3,2), . brchmunmu(3,2) write(21,201) " chi0_3 --> chi+_1 tau- nutb",xchtauntau(3,1), . brchtauntau(3,1) write(21,201) " chi0_3 --> chi-_1 tau+ nut ",xchtauntau(3,1), . brchtauntau(3,1) write(21,201) " chi0_3 --> chi+_2 tau- nutb",xchtauntau(3,2), . brchtauntau(3,2) write(21,201) " chi0_3 --> chi-_2 tau+ nut ",xchtauntau(3,2), . brchtauntau(3,2) write(21,201) " chi0_3 --> gluino up ub ",xgluinoup(3), . brglup(3) write(21,201) " chi0_3 --> gluino dn db ",xgluinodo(3), . brgldo(3) write(21,201) " chi0_3 --> gluino ch cb ",xgluinoch(3), . brglch(3) write(21,201) " chi0_3 --> gluino st sb ",xgluinost(3), . brglst(3) write(21,201) " chi0_3 --> gluino tp tb ",xgluinotop(3), . brgltop(3) write(21,201) " chi0_3 --> gluino bt bb ",xgluinobot(3), . brglbot(3) endif elseif(neuttot(3).eq.0.D0) then write(21,*) write(21,*) " NEUTRALINO3 STABLE " write(21,*) " ------------------ " endif endif c ------------------ c c neutralino4 decays c c ------------------ c if(flagcondneut(4).eq.10.D0) then write(21,*) write(21,*) " NEUTRALINO4 STABLE " write(21,*) " ------------------ " elseif(flagcondneut(4).eq.40.D0.or.flagcondneut(4).eq.41.D0.or. .flagcondneut(4).eq.42.D0) then write(21,*) write(21,*) " NEUTRALINO4 DECAYS ",neuttot2(4) write(21,*) " ------------------ " write(21,201) " chi0_4 --> chi0_1 Z ",neutzneut(4,1), . brneutzneut(4,1) write(21,201) " chi0_4 --> chi0_2 Z ",neutzneut(4,2), . brneutzneut(4,2) write(21,201) " chi0_4 --> chi0_3 Z ",neutzneut(4,3), . brneutzneut(4,3) write(21,201) " chi0_4 --> chi+_1 W- ",neutwchar(4,1), . brneutwchar(4,1) write(21,201) " chi0_4 --> chi-_1 W+ ",neutwchar(4,1), . brneutwchar(4,1) write(21,201) " chi0_4 --> chi+_2 W- ",neutwchar(4,2), . brneutwchar(4,2) write(21,201) " chi0_4 --> chi-_2 W+ ",neutwchar(4,2), . brneutwchar(4,2) write(21,201) " chi0_4 --> chi0_1 h ",neuthlneut(4,1), . brneuthlneut(4,1) write(21,201) " chi0_4 --> chi0_1 H ",neuthhneut(4,1), . brneuthhneut(4,1) write(21,201) " chi0_4 --> chi0_1 A ",neuthaneut(4,1), . brneuthaneut(4,1) write(21,201) " chi0_4 --> chi0_2 h ",neuthlneut(4,2), . brneuthlneut(4,2) write(21,201) " chi0_4 --> chi0_2 H ",neuthhneut(4,2), . brneuthhneut(4,2) write(21,201) " chi0_4 --> chi0_2 A ",neuthaneut(4,2), . brneuthaneut(4,2) write(21,201) " chi0_4 --> chi0_3 h ",neuthlneut(4,3), . brneuthlneut(4,3) write(21,201) " chi0_4 --> chi0_3 H ",neuthhneut(4,3), . brneuthhneut(4,3) write(21,201) " chi0_4 --> chi0_3 A ",neuthaneut(4,3), . brneuthaneut(4,3) write(21,201) " chi0_4 --> chi+_1 H- ",neuthcchar(4,1), . brneuthcchar(4,1) write(21,201) " chi0_4 --> chi-_1 H+ ",neuthcchar(4,1), . brneuthcchar(4,1) write(21,201) " chi0_4 --> chi+_2 H- ",neuthcchar(4,2), . brneuthcchar(4,2) write(21,201) " chi0_4 --> chi-_2 H+ ",neuthcchar(4,2), . brneuthcchar(4,2) write(21,201) " chi0_4 --> supl ub ",neutsupl(4),brneutsupl(4) write(21,201) " chi0_4 --> subl up ",neutsupl(4),brneutsupl(4) write(21,201) " chi0_4 --> supr ub ",neutsupr(4),brneutsupr(4) write(21,201) " chi0_4 --> subr up ",neutsupr(4),brneutsupr(4) write(21,201) " chi0_4 --> sdnl db ",neutsdownl(4), . brneutsdownl(4) write(21,201) " chi0_4 --> sdbl dn ",neutsdownl(4), . brneutsdownl(4) write(21,201) " chi0_4 --> sdnr db ",neutsdownr(4), . brneutsdownr(4) write(21,201) " chi0_4 --> sdbr dn ",neutsdownr(4), . brneutsdownr(4) write(21,201) " chi0_4 --> schl cb ",neutsupl(4),brneutsupl(4) write(21,201) " chi0_4 --> scbl ch ",neutsupl(4),brneutsupl(4) write(21,201) " chi0_4 --> schr cb ",neutsupr(4),brneutsupr(4) write(21,201) " chi0_4 --> scbr ch ",neutsupr(4),brneutsupr(4) write(21,201) " chi0_4 --> ssbl st ",neutsdownl(4), . brneutsdownl(4) write(21,201) " chi0_4 --> sstl sb ",neutsdownl(4), . brneutsdownl(4) write(21,201) " chi0_4 --> ssbr st ",neutsdownr(4), . brneutsdownr(4) write(21,201) " chi0_4 --> sstr sb ",neutsdownr(4), . brneutsdownr(4) write(21,201) " chi0_4 --> stop1 tb ",neutst1(4),brneutst1(4) write(21,201) " chi0_4 --> stop1b tp ",neutst1(4),brneutst1(4) write(21,201) " chi0_4 --> stop2 tb ",neutst2(4),brneutst2(4) write(21,201) " chi0_4 --> stop2b tp ",neutst2(4),brneutst2(4) write(21,201) " chi0_4 --> sbot1 bb ",neutsb1(4),brneutsb1(4) write(21,201) " chi0_4 --> sbot1b bt ",neutsb1(4),brneutsb1(4) write(21,201) " chi0_4 --> sbot2 bb ",neutsb2(4),brneutsb2(4) write(21,201) " chi0_4 --> sbot2b bt ",neutsb2(4),brneutsb2(4) write(21,201) " chi0_4 --> sel- e+ ",neutsell(4),brneutsell(4) write(21,201) " chi0_4 --> sel+ e- ",neutsell(4),brneutsell(4) write(21,201) " chi0_4 --> ser- e+ ",neutselr(4),brneutselr(4) write(21,201) " chi0_4 --> ser+ e- ",neutselr(4),brneutselr(4) write(21,201) " chi0_4 --> smul- mu+ ",neutsell(4),brneutsell(4) write(21,201) " chi0_4 --> smul+ mu- ",neutsell(4),brneutsell(4) write(21,201) " chi0_4 --> smur- mu+ ",neutselr(4),brneutselr(4) write(21,201) " chi0_4 --> smur+ mu- ",neutselr(4),brneutselr(4) write(21,201) " chi0_4 --> stau1- tau+",neutstau1(4), . brneutstau1(4) write(21,201) " chi0_4 --> stau1+ tau-",neutstau1(4), . brneutstau1(4) write(21,201) " chi0_4 --> stau2- tau+",neutstau2(4), . brneutstau2(4) write(21,201) " chi0_4 --> stau2+ tau-",neutstau2(4), . brneutstau2(4) write(21,201) " chi0_4 --> snuel nueb",neutsnel(4),brneutsnel(4) write(21,201) " chi0_4 --> snuelb nue ",neutsnel(4),brneutsnel(4) write(21,201) " chi0_4 --> snuml numb",neutsnel(4),brneutsnel(4) write(21,201) " chi0_4 --> snumlb num ",neutsnel(4),brneutsnel(4) write(21,201) " chi0_4 --> snut1 nutb",neutsn1(4),brneutsn1(4) write(21,201) " chi0_4 --> snut1b nut ",neutsn1(4),brneutsn1(4) elseif(flagcondneut(4).eq.11.D0.or.flagcondneut(4).eq.12.D0) then if(neuttot(4).ne.0.D0) then write(21,*) write(21,*) " NEUTRALINO4 DECAYS ",neuttot(4) write(21,*) " ------------------ " if(flagloop.eq.1.D0) then write(21,201) " chi0_4 --> chi0_1 gm ",nraddec(4,1), . brnraddec(4,1) write(21,201) " chi0_4 --> chi0_2 gm ",nraddec(4,2), . brnraddec(4,2) write(21,201) " chi0_4 --> chi0_3 gm ",nraddec(4,3), . brnraddec(4,3) endif if(flagmulti.eq.1.D0) then write(21,201) " chi0_4 --> chi0_1 up ub ",xneutup(4,1), . brneutup(4,1) write(21,201) " chi0_4 --> chi0_1 dn db ",xneutdow(4,1), . brneutdow(4,1) write(21,201) " chi0_4 --> chi0_1 ch cb ",xneutch(4,1), . brneutch(4,1) write(21,201) " chi0_4 --> chi0_1 st sb ",xneutst(4,1), . brneutst(4,1) write(21,201) " chi0_4 --> chi0_1 tp tb ",xneuttop(4,1), . brneuttop(4,1) write(21,201) " chi0_4 --> chi0_1 bt bb ",xneutbot(4,1), . brneutbot(4,1) write(21,201) " chi0_4 --> chi0_1 e+ e- ",xneutel(4,1), . brneutel(4,1) write(21,201) " chi0_4 --> chi0_1 mu+ mu- ",xneutmu(4,1), . brneutmu(4,1) write(21,201) " chi0_4 --> chi0_1 tau+ tau-",xneuttau(4,1), . brneuttau(4,1) write(21,201) " chi0_4 --> chi0_1 nue nueb",xneutnue(4,1), . brneutnue(4,1) write(21,201) " chi0_4 --> chi0_1 num numb",xneutnumu(4,1), . brneutnumu(4,1) write(21,201) " chi0_4 --> chi0_1 nut nutb",xneutnutau(4,1), . brneutnutau(4,1) write(21,201) " chi0_4 --> chi0_2 up ub ",xneutup(4,2), . brneutup(4,2) write(21,201) " chi0_4 --> chi0_2 dn db ",xneutdow(4,2), . brneutdow(4,2) write(21,201) " chi0_4 --> chi0_2 ch cb ",xneutch(4,2), . brneutch(4,2) write(21,201) " chi0_4 --> chi0_2 st sb ",xneutst(4,2), . brneutst(4,2) write(21,201) " chi0_4 --> chi0_2 tp tb ",xneuttop(4,2), . brneuttop(4,2) write(21,201) " chi0_4 --> chi0_2 bt bb ",xneutbot(4,2), . brneutbot(4,2) write(21,201) " chi0_4 --> chi0_2 e+ e- ",xneutel(4,2), . brneutel(4,2) write(21,201) " chi0_4 --> chi0_2 mu+ mu- ",xneutmu(4,2), . brneutmu(4,2) write(21,201) " chi0_4 --> chi0_2 tau+ tau-",xneuttau(4,2), . brneuttau(4,2) write(21,201) " chi0_4 --> chi0_2 nue nueb",xneutnue(4,2), . brneutnue(4,2) write(21,201) " chi0_4 --> chi0_2 num numb",xneutnumu(4,2), . brneutnumu(4,2) write(21,201) " chi0_4 --> chi0_2 nut nutb",xneutnutau(4,2), . brneutnutau(4,2) write(21,201) " chi0_4 --> chi0_3 up ub ",xneutup(4,3), . brneutup(4,3) write(21,201) " chi0_4 --> chi0_3 dn db ",xneutdow(4,3), . brneutdow(4,3) write(21,201) " chi0_4 --> chi0_3 ch cb ",xneutch(4,3), . brneutch(4,3) write(21,201) " chi0_4 --> chi0_3 st sb ",xneutst(4,3), . brneutst(4,3) write(21,201) " chi0_4 --> chi0_3 tp tb ",xneuttop(4,3), . brneuttop(4,3) write(21,201) " chi0_4 --> chi0_3 bt bb ",xneutbot(4,3), . brneutbot(4,3) write(21,201) " chi0_4 --> chi0_3 e+ e- ",xneutel(4,3), . brneutel(4,3) write(21,201) " chi0_4 --> chi0_3 mu+ mu- ",xneutmu(4,3), . brneutmu(4,3) write(21,201) " chi0_4 --> chi0_3 tau+ tau-",xneuttau(4,3), . brneuttau(4,3) write(21,201) " chi0_4 --> chi0_3 nue nueb",xneutnue(4,3), . brneutnue(4,3) write(21,201) " chi0_4 --> chi0_3 num numb",xneutnumu(4,3), . brneutnumu(4,3) write(21,201) " chi0_4 --> chi0_3 nut nutb",xneutnutau(4,3), . brneutnutau(4,3) write(21,201) " chi0_4 --> chi+_1 ub dn ",xchubdow(4,1), . brchubd(4,1) write(21,201) " chi0_4 --> chi-_1 up db ",xchubdow(4,1), . brchubd(4,1) write(21,201) " chi0_4 --> chi+_2 ub dn ",xchubdow(4,2), . brchubd(4,2) write(21,201) " chi0_4 --> chi-_2 up db ",xchubdow(4,2), . brchubd(4,2) write(21,201) " chi0_4 --> chi+_1 cb st ",xchcbs(4,1), . brchcbs(4,1) write(21,201) " chi0_4 --> chi-_1 ch sb ",xchcbs(4,1), . brchcbs(4,1) write(21,201) " chi0_4 --> chi+_2 cb st ",xchcbs(4,2), . brchcbs(4,2) write(21,201) " chi0_4 --> chi+_2 ch sb ",xchcbs(4,2), . brchcbs(4,2) write(21,201) " chi0_4 --> chi+_1 tb bt ",xchtbb(4,1), . brchtbb(4,1) write(21,201) " chi0_4 --> chi-_1 tp bb ",xchtbb(4,1), . brchtbb(4,1) write(21,201) " chi0_4 --> chi+_2 tb bt ",xchtbb(4,2), . brchtbb(4,2) write(21,201) " chi0_4 --> chi-_2 tp bb ",xchtbb(4,2), . brchtbb(4,2) write(21,201) " chi0_4 --> chi+_1 e- nueb",xchelne(4,1), . brchelne(4,1) write(21,201) " chi0_4 --> chi-_1 e+ nue ",xchelne(4,1), . brchelne(4,1) write(21,201) " chi0_4 --> chi+_2 e- nueb",xchelne(4,2), . brchelne(4,2) write(21,201) " chi0_4 --> chi-_2 e+ nue ",xchelne(4,2), . brchelne(4,2) write(21,201) " chi0_4 --> chi+_1 mu- numb",xchmunmu(4,1), . brchmunmu(4,1) write(21,201) " chi0_4 --> chi-_1 mu+ num ",xchmunmu(4,1), . brchmunmu(4,1) write(21,201) " chi0_4 --> chi+_2 mu- numb",xchmunmu(4,2), . brchmunmu(4,2) write(21,201) " chi0_4 --> chi-_2 mu+ num ",xchmunmu(4,2), . brchmunmu(4,2) write(21,201) " chi0_4 --> chi+_1 tau- nutb",xchtauntau(4,1), . brchtauntau(4,1) write(21,201) " chi0_4 --> chi-_1 tau+ nut ",xchtauntau(4,1), . brchtauntau(4,1) write(21,201) " chi0_4 --> chi+_2 tau- nutb",xchtauntau(4,2), . brchtauntau(4,2) write(21,201) " chi0_4 --> chi-_2 tau+ nut ",xchtauntau(4,2), . brchtauntau(4,2) write(21,201) " chi0_4 --> gluino up ub ",xgluinoup(4), . brglup(4) write(21,201) " chi0_4 --> gluino dn db ",xgluinodo(4), . brgldo(4) write(21,201) " chi0_4 --> gluino ch cb ",xgluinoch(4), . brglch(4) write(21,201) " chi0_4 --> gluino st sb ",xgluinost(4), . brglst(4) write(21,201) " chi0_4 --> gluino tp tb ",xgluinotop(4), . brgltop(4) write(21,201) " chi0_4 --> gluino bt bb ",xgluinobot(4), . brglbot(4) endif elseif(neuttot(4).eq.0.D0) then write(21,*) write(21,*) " NEUTRALINO4 STABLE " write(21,*) " ------------------ " endif endif endif c ==================================================================== c c end of the output file c ==================================================================== c 49 format('#',1x,A,E16.8) 50 format('#',1x,A) 51 format('BLOCK',1x,A,2x,'#',1x,A) 551 format(1x,A,2x,'#',1x,A) 52 format(1x,I9,3x,1P,E16.8,0P,3x,'#',1x,A) 552 format(2x,E16.8,0P,3x,A) 53 format(1x,I2,1x,I2,3x,1P,E16.8,0P,3x,'#',1x,A) 54 format('BLOCK',1x,A,1P,E16.8,2x,'#',1x,A) 554 format(2x,A,1P,E16.8,2x,1x,A) 55 format(1x,I5,3x,1P,E16.8,0P,3x,'#',1x,A) 56 format(1x,I4,3x,'#',1x,A,E16.8) 57 format(1x,I5,3x,1P,E16.8,0P,3x,'#',1x,A,E16.8) 58 format(1x,I2,1x,I2,3x,'#',1x,A) 59 format(1x,I2,1x,I2,3x,1P,E16.8,0P,3x,'#',1x,A,E16.8) 60 format(9x,1P,E16.8,0P,3x,'#',1x,A) 61 format(1x,I5,3x,A) 661 format(2x,A) 62 format(1x,I5,1x,I5,3x,'#',1x,A) 662 format(2x,A) 63 format(1x,I5,3x,A,1x,'#',1x,A) 99 format('#',9x,'PDG',12x,'Width') 100 format('DECAY',1x,I9,3x,1P,E16.8,0P,3x,'#',1x,A) 101 format('#',10x,'BR',9x,'NDA',6x,'ID1',7x,'ID2') 102 format(3x,1P,E16.8,0P,3x,I2,3x,(I9,1x),(I9,1x),2x,'#',1x,A) 103 format('#',11x,'BR',9x,'NDA',6x,'ID1',7x,'ID2',7x,'ID3') 107 format('#',11x,'BR',9x,'NDA',6x,'ID1',7x,'ID2',7x,'ID3',7x,'ID4') 104 format(3x,1P,E16.8,0P,3x,I2,3x,(I9,1x),(I9,1x),(I9,1x),2x,'#', .1x,A) 106 format(3x,1P,E16.8,0P,3x,I2,3x,(I9,1x),(I9,1x),(I9,1x),(I9,1x), .2x,'#',1x,A) 105 format('#') 201 format(1x,A,1x,E16.9,1x,E16.9) 202 format(1x,A,1x,E18.6,1x,E18.6,1x,E18.6,1x,E18.6) 203 format(E18.6,2x,E18.6) 204 format(1x,A,1x,E18.6,1x,E18.6) 205 format(E18.6,2x,E18.6,2x,E18.6) end c -------------------------------------------------------------------- c c ---------- Setting of the parameters given by suspect2.f ----------- c c -------------------------------------------------------------------- c subroutine SD_common_ini implicit double precision (a-h,m,o-z) double precision minval(1:20),smval(1:20),massval(1:50), . nmixval(4,4),umixval(2,2),vmixval(2,2), . stopmixval(2,2),sbotmixval(2,2),staumixval(2,2), . hmixval(1:10),gaugeval(1:3),msoftval(1:100), . auval(3,3),adval(3,3),aeval(3,3),yuval(3,3), . ydval(3,3),yeval(3,3),qvalue(1:20),extval(0:100), . m_softval(1:100) c double precision nl,nq integer imod(1:2) integer check(1:22) character spinfo1*100,spinfo2*100,modselval*100,mincom(1:20)*20, . extcom(0:100)*20,softcom(1:100)*20,m_softcom(1:100)*20, . hmixcom(1:10)*20 dimension ichoice(11),errmess(10),warning(1:10) dimension u(2,2),v(2,2),z(4,4),dxmn(4) dimension amneut(4),xmneut(4),amchar(2) dimension uu(2,2),vv(2,2),zz(4,4),zp(4,4) c -- common blocks for the suspect2 input read in in the main program -- COMMON/SU_SMPAR/dalfinv,dsw2,dalphas,dmt,dmb,dmc,dmtau COMMON/SU_RGSCAL/dqewsb,dehigh,delow COMMON/SU_MSSMHPAR/dmhu2,dmhd2,dma,dmu COMMON/SU_MSSMGPAR/dm1,dm2,dm3 COMMON/SU_MSSMSLEP/dmsl,dmtaur,dmel,dmer COMMON/SU_MSSMSQUA/dmsq,dmtr,dmbr,dmuq,dmur,dmdr COMMON/SU_ATRI3/dal,dau,dad COMMON/SU_ATRI12/dal1,dau1,dad1 COMMON/SU_MSUGRA/m0,mhalf,a0 COMMON/SU_RADEWSB/sgnmu0,tgbeta c COMMON/SU_GMSB/mgmmess,mgmsusy,nl,nq COMMON/SU_AMSB/m32,am0,cq,cu,cd,cl,ce,chu,chd COMMON/SU_PASS/ichoice c -------------- common block given by SD_read_leshouches ------------ c COMMON/SD_leshouches1/spinfo1,spinfo2,modselval,mincom,extcom, . softcom,hmixcom COMMON/SD_leshouches2/minval,extval,smval,massval,nmixval,umixval, . vmixval,stopmixval,sbotmixval,staumixval, . hmixval,gaugeval,msoftval,auval,adval, . aeval,yuval,ydval,yeval,alphaval,qvalue,imod COMMON/SD_checkval/check c ----------------- common blocks needed in sdecay ------------------- c c -- first common block is given by suspect -- c COMMON/SD_flagmixang/flagcu,flagcd,flagce COMMON/SD_input/flaginput,ninlha COMMON/SD_param/sdgf,sdmz,sdmw,pi,g2 COMMON/SD_massgino/amneut,xmneut,amchar COMMON/SD_squarktb/ast1,ast2,asb1,asb2 COMMON/SD_squarkud/asup1,asup2,asdown1,asdown2 COMMON/SD_sfermionetau/ase1,ase2,astau1,astau2 COMMON/SD_sneutrino/asne1,asne2,asntau1,asntau2 COMMON/SD_gluino/mgluino COMMON/SD_hmass/ama,aml,amh,amch,amar COMMON/SD_mixang/alp_mssm,tanbeta COMMON/SD_mixmat/uu,vv,zz,zp COMMON/SD_weinberg/sw,cw COMMON/SD_sfmixang/sdthet,sdtheb,sdthel,cum,sum,cdm,sdm,cem,sem COMMON/SD_fermion/samt,samb,samtau COMMON/SD_strangecharm/sams,samc COMMON/SD_break/sdatop,sdabot,sdatau,sdmu COMMON/SD_break1/sdaup,sdadown,sdael COMMON/SD_break2/sd_m1,sd_m2,sd_m3 COMMON/SD_break3/sd_mel,sd_mer,sd_muq,sd_mur,sd_mdr COMMON/SD_break4/sd_msl,sd_mtaur,sd_msq,sd_mtr,sd_mbr COMMON/SD_break6/m_softval,m_softcom COMMON/SD_yukawa/yt,yb,ytau COMMON/SD_coupewsb/alsew,g2ew,g1ew COMMON/SD_runmcalc/rmtc,rmbc,rmtauc COMMON/SD_refscale/amuref COMMON/SD_hikasakob/sdmuq,sdmhd2 COMMON/SD_hikasakob02/sdmsq,sdmbr,sdmdr COMMON/SD_runcoupscale/scalechoice,scaleofcoupling,inumloop COMMON/SD_mwmzpole/amwp,amzp COMMON/SD_ewsbv/vewsb COMMON/SD_alspar/iparals COMMON/SD_scaleofewsb/scaleofewsb COMMON/SD_gmsb/sd_mgmsusy,sd_mgmmess COMMON/SD_massgrav/mgravitino c --------- some additional common blocks for the output file -------- c COMMON/SD_outparam/salpha_MS,alphasmzms COMMON/SD_break5/sd_mel1,sd_mel2,sd_mer1,sd_mer2,sd_muq1,sd_muq2, . sd_mur1,sd_mur2,sd_mdr1,sd_mdr2 COMMON/SD_warning/warning c ---- needed for the calc. of the mb pole mass from mb(mb)_MSbar ---- c COMMON/SD_mbmb/sd_mbmb,i_sd_mbmb COMMON/SD_mbmsbar/mbmsbar external SD_runmbmb,SD_alphascall if(flaginput.eq.1) then c -- Parameter setting by file in the SUSY Les Houches Accord format - c call SD_read_leshouches(ninlha) c maggie changed 25/2/2005 c- Parameter setting by SuSpect in the SUSY Les Houches Accord format- c elseif(flaginput.eq.0) then call suspect2(1,1,ICHOICE,ERRMESS) open(ninlha,file='suspect2_lha.out',status='unknown') call SD_read_leshouches(ninlha) endif c end maggie changed 25/2/2005 c ------------ setting of the parameters needed in sdecay ------------ c do i=1,10,1 warning(i) = 0.D0 end do iparals = 0 unlikely = -123456789D0 c -- pi -- pi = 4.D0*datan(1.D0) c -- alpha_ew_MSbar at M_Z -- if(smval(1).ne.0.D0) then salpha_MS = 1.D0/smval(1) else salpha_MS = 1.D0/127.934D0 endif c -- G_F -- if(smval(2).ne.0.D0) then sdgf = smval(2) else sdgf = 1.16639D-5 endif c -- the strong coupling constant alphas_MS at the scale MZ -- if(smval(3).ne.0.D0) then alphasmzms = smval(3) else alphasmzms = 0.1172D0 endif c -- Z pole mass -- if(smval(4).ne.0.D0) then amzp = smval(4) else amzp = 91.187D0 endif c -- calculation of sin_thetaW from alpha_ew_MSbar and the Z pole mass sw2calc = 1.D0/2.D0 - . dsqrt(1.D0/4.D0-pi*salpha_MS/dsqrt(2.D0)/sdgf/amzp**2) swcalc = dsqrt(sw2calc) c -- W pole mass -- if(massval(1).ne.0.D0) then amwp = massval(1) else amwp = dsqrt(amzp**2*(1.D0-sw2calc)) endif c -- v at the scale Q -- if(hmixval(3).eq.unlikely) then vewsb = 1.D0/dsqrt(dsqrt(2.D0)*sdgf) else vewsb = hmixval(3) endif c -- the scale Q at which the couplings are given -- if(extval(0).ne.unlikely.and.extval(0).ne.-1.D0) then scaleofewsb = extval(0) ewsbscale = scaleofewsb else qvalsum = 0.D0 isum = 0 do i=1,20,1 qvalsum = qvalsum + qvalue(i) if(qvalue(i).ne.0.D0) then isum = isum + 1 endif end do if(isum.ne.0) then scaleofewsb = qvalsum/dble(isum) else warning(1) = 1.D0 endif ewsbscale = scaleofewsb endif c -- the DRbar couplings g1,g2,alpha_s at the scale Q -- if(gaugeval(3).ne.0.D0) then alsew = gaugeval(3)**2/4.D0/pi elseif(gaugeval(3).eq.0.D0) then iparals = 1 alsew = SD_alphascall(scaleofewsb,inumloop) endif if(gaugeval(1).ne.0.D0) then g1ew = gaugeval(1) endif if(gaugeval(2).ne.0.D0) then g2ew = gaugeval(2) c -- g**2 at the scale Q -- g2 = gaugeval(2)**2 endif c -- in case the gauge couplings are not given at the scale Q -- if(gaugeval(1).eq.0.D0.or.gaugeval(2).eq.0.D0) then g1ew = dsqrt(4.D0*pi*salpha_MS/(1.D0-sw2calc)) g2ew = dsqrt(4.D0*pi*salpha_MS)/swcalc c -- g**2 -- g2 = g2ew**2 warning(2) = 1.D0 endif c -- Z and W mass at the scale Q if g1ew and g2ew are given -- if(gaugeval(1).ne.0.D0.and.gaugeval(2).ne.0.D0) then sdmz = dsqrt(1.D0/4.D0*(gaugeval(1)**2+gaugeval(2)**2)* . vewsb**2) sdmw = dsqrt(1.D0/4.D0*gaugeval(2)**2*vewsb**2) else sdmz = amzp sdmw = amwp endif c -- the value for sw calculated from g, gprime given in the DRbar c -- scheme at the scale Q if g1ew and g2ew are given if(gaugeval(1).ne.0.D0.and.gaugeval(2).ne.0.D0) then tw = gaugeval(1)/gaugeval(2) sw = dsqrt(tw**2/(1.D0+tw**2)) cw = dsqrt(1.D0/(1.D0+tw**2)) else sw = swcalc cw = dsqrt(1.D0-sw2calc) tw = sw/cw endif c -- This scale is important for the calculation of the higher --- c c -- order corrections. It is the scale at which the couplings are --- c c -- taken. Other possibilities are initiated in the subroutines --- c amuref = ewsbscale c -- neutralino and chargino masses -- amneut(1)=dabs(massval(28)) amneut(2)=dabs(massval(29)) amneut(3)=dabs(massval(30)) amneut(4)=dabs(massval(31)) xmneut(1)=massval(28) xmneut(2)=massval(29) xmneut(3)=massval(30) xmneut(4)=massval(31) amchar(1)=massval(32) amchar(2)=massval(33) c -- the chargino and neutralino mixing matrix elements -- do i=1,2,1 do j=1,2,1 uu(i,j)=umixval(i,j) vv(i,j)=vmixval(i,j) end do end do do i=1,4,1 do j=1,4,1 zz(i,j)=nmixval(i,j) end do end do do k=1,4 zp(k,1) = zz(k,1)*cw+zz(k,2)*sw zp(k,2) = -zz(k,1)*sw+zz(k,2)*cw zp(k,3) = zz(k,3) zp(k,4) = zz(k,4) enddo c -- sfermion masses -- ast1 = massval(16) ast2 = massval(17) asb1 = massval(14) asb2 = massval(15) asup1 = massval(8) asup2 = massval(9) asdown1 = massval(10) asdown2 = massval(11) ase1 = massval(18) ase2 = massval(19) astau1 = massval(24) astau2 = massval(25) asne1 = massval(20) asne2 = 1.D15 asntau1 = massval(26) asntau2 = 1.D15 c -- the gluino mass -- mgluino = massval(27) c -- the gravitino mass -- mgravitino = massval(35) c -- the Higgs masses -- aml = massval(2) amh = massval(3) amch = massval(5) if(massval(4).ne.0.D0) then ama = massval(4) elseif(extval(26).ne.unlikely) then ama = extval(26) elseif(extval(24).ne.unlikely) then ama = dsqrt(extval(24)) endif amar = ama c -- the fermion pole masses -- if(smval(6).ne.0.D0) then samt = smval(6) else samt = 172.5D0 endif if(smval(7).ne.0.D0) then samtau = smval(7) else samtau = 1.7771D0 endif sams = 0.190D0 samc = 1.40D0 c -- the mass mb(mb)_MSbar -- if(smval(5).ne.0.D0) then sd_mbmb = smval(5) endif mbmsbar = sd_mbmb c -- calculation of the mb pole mass (called samb here) from -- c -- mb(mb)_MSbar value just used for the very first initialization -- if(i_sd_mbmb.eq.0) then c -- first guess value for amb_pole -- samb = 4.9D0 c -- mb(mb)_MSbar -- call SD_runmbmb(amzp,runmbz) endif if(flaginput.eq.0.D0) then samb = massval(34) endif c -- the MSSM mixing angle alpha in the Higgs sector -- c -- Attention: It might be that alphaval is not the DRbar value at c -- the scale Q. alp_mssm = alphaval c -- DRbar value of tanbeta at the scale Q -- if(hmixval(2).ne.unlikely) then tanbeta = hmixval(2) endif c -- If no DRbar value at the scale Q has been given for tanbeta -- if(hmixval(2).eq.unlikely) then if(extval(25).ne.0.D0.and.extval(25).ne.unlikely) then warning(3) = 1.D0 tanbeta = extval(25) elseif(minval(3).ne.0.D0.and.minval(3).ne.unlikely) then warning(4) = 1.D0 tanbeta = minval(3) else warning(5) = 1.D0 endif endif c -- tanbeta at the scale M_Z -- if(minval(3).ne.0.D0.and.minval(3).ne.unlikely) then tanbeta_Z = minval(3) endif c -- This is for GMSB models -- if(imod(1).eq.1.and.imod(2).eq.2) then if(minval(1).ne.unlikely) then sd_mgmsusy = minval(1) endif if(minval(2).ne.unlikely) then sd_mgmmess = minval(2) endif endif c -- the sfermion mixing angles -- sdthet=dacos(stopmixval(1,1)) sdtheb=dacos(sbotmixval(1,1)) sdthel=dacos(staumixval(1,1)) if(stopmixval(1,2).le.0.D0) then if(sdthet.ge.0.D0) then sdthet = -1.D0*sdthet endif endif if(sbotmixval(1,2).le.0.D0) then if(sdtheb.ge.0.D0) then sdtheb = -1.D0*sdtheb endif endif if(staumixval(1,2).le.0.D0) then if(sdthel.ge.0.D0) then sdthel = -1.D0*sdthel endif endif cum = 1.D0 sum = 0.D0 cdm = 1.D0 sdm = 0.D0 cem = 1.D0 sem = 0.D0 c -- SUSY breaking parameters: DRbar values at the scale Q -- do i=1,100,1 m_softval(i) = unlikely end do do i=1,99,1 if(msoftval(i).ne.unlikely) then m_softval(i) = msoftval(i) m_softcom(i) = softcom(i) elseif(extval(i).ne.unlikely) then m_softval(i) = extval(i) m_softcom(i) = extcom(i) endif end do sdatop=auval(3,3) sdabot=adval(3,3) sdatau=aeval(3,3) sdaup = auval(1,1) sdadown = adval(1,1) sdael = aeval(1,1) sdmu = hmixval(1) sd_m1 = m_softval(1) sd_m2 = m_softval(2) sd_m3 = m_softval(3) sdmhd2 = m_softval(21) sdmhu2 = m_softval(22) sdmbr = m_softval(49) if(m_softval(47).ne.unlikely.and.m_softval(48).ne.unlikely) then if(m_softval(47).ne.0.D0.and.m_softval(48).ne.0.D0) then sdmdr = (m_softval(47)+m_softval(48))/2.D0 elseif(m_softval(47).ne.0.D0) then sdmdr = m_softval(47) elseif(m_softval(48).ne.0.D0) then sdmdr = m_softval(48) else sdmdr = 0.D0 endif elseif(m_softval(47).ne.unlikely) then sdmdr = m_softval(47) elseif(m_softval(48).ne.unlikely) then sdmdr = m_softval(48) endif if(m_softval(41).ne.unlikely.and.m_softval(42).ne.unlikely) then if(m_softval(41).ne.0.D0.and.m_softval(42).ne.0.D0) then sdmuq = (m_softval(41)+m_softval(42))/2.D0 elseif(m_softval(41).ne.0.D0) then sdmuq = m_softval(41) elseif(m_softval(42).ne.0.D0) then sdmuq = m_softval(42) else sdmuq = 0.D0 endif elseif(m_softval(41).ne.unlikely) then sdmuq = m_softval(41) elseif(m_softval(42).ne.unlikely) then sdmuq = m_softval(42) endif sdmsq = m_softval(43) if(m_softval(31).ne.unlikely.and.m_softval(32).ne.unlikely) then if(m_softval(31).ne.0.D0.and.m_softval(32).ne.0.D0) then sd_mel = (m_softval(31)+m_softval(32))/2.D0 elseif(m_softval(31).ne.0.D0) then sd_mel = m_softval(31) elseif(m_softval(32).ne.0.D0) then sd_mel = m_softval(32) else sd_mel = 0.D0 endif elseif(m_softval(31).ne.unlikely) then sd_mel = m_softval(31) elseif(m_softval(32).ne.unlikely) then sd_mel = m_softval(32) endif if(m_softval(34).ne.unlikely.and.m_softval(35).ne.unlikely) then if(m_softval(34).ne.0.D0.and.m_softval(35).ne.0.D0) then sd_mer = (m_softval(34)+m_softval(35))/2.D0 elseif(m_softval(34).ne.0.D0) then sd_mer = m_softval(34) elseif(m_softval(35).ne.0.D0) then sd_mer = m_softval(35) else sd_mer = 0.D0 endif elseif(m_softval(34).ne.unlikely) then sd_mer = m_softval(34) elseif(m_softval(35).ne.unlikely) then sd_mer = m_softval(35) endif if(m_softval(44).ne.unlikely.and.m_softval(45).ne.unlikely) then if(m_softval(44).ne.0.D0.and.m_softval(45).ne.0.D0) then sd_mur = (m_softval(44)+m_softval(45))/2.D0 elseif(m_softval(44).ne.0.D0) then sd_mur = m_softval(44) elseif(m_softval(45).ne.0.D0) then sd_mur = m_softval(45) else sd_mur = 0.D0 endif elseif(m_softval(44).ne.unlikely) then sd_mur = m_softval(44) elseif(m_softval(45).ne.unlikely) then sd_mur = m_softval(45) endif sd_mel1 = m_softval(31) sd_mel2 = m_softval(32) sd_mer1 = m_softval(34) sd_mer2 = m_softval(35) sd_muq1 = m_softval(41) sd_muq2 = m_softval(42) sd_mur1 = m_softval(44) sd_mur2 = m_softval(45) sd_mdr1 = m_softval(47) sd_mdr2 = m_softval(48) sd_msl = m_softval(33) sd_mtaur = m_softval(36) sd_mtr = m_softval(46) sd_muq = sdmuq sd_mdr = sdmdr sd_msq = sdmsq sd_mbr = sdmbr c ---- the DRbar Yukawa couplings at the scale Q ---- c c -- (yt = g*mt/(sqrt(2)*mw*sin\beta) -- c -- (yb = g*mb/(sqrt(2)*mw*cos\beta) -- c -- (ytau = g*mtau/(sqrt(2)*mw*cos\beta) -- yt = yuval(3,3) yb = ydval(3,3) ytau = yeval(3,3) ytewsb = yuval(3,3) ybewsb = ydval(3,3) ytauewsb = yeval(3,3) c -- Here the running mt,mb,mtau masses are calculated from yt,yb, --- c c -- ytau given at the scale Q - needed for the QCD corrections --- c rmtc = dsqrt(2.D0)*sdmw*dsin(datan(tanbeta))*yt/dsqrt(g2) rmbc = dsqrt(2.D0)*sdmw*dcos(datan(tanbeta))*yb/dsqrt(g2) rmtauc = dsqrt(2.D0)*sdmw*dcos(datan(tanbeta))*ytau/dsqrt(g2) end c -------------------------------------------------------------------- c c ------ This and the following subroutines read in the spectrum ----- c c ------ file given in the SUSY Les Houches Accord format ----- c c ------ hep-ph/0311123. ----- c c ------ Thanks to Tilman Plehn for the first version which has ----- c c ------ been expanded and changed here. ----- c c -------------------------------------------------------------------- c subroutine SD_read_leshouches(ninlha) implicit double precision (a-h,m,o-z) double precision minval(1:20),smval(1:20),massval(1:50), . nmixval(4,4),umixval(2,2),vmixval(2,2), . stopmixval(2,2),sbotmixval(2,2),staumixval(2,2), . hmixval(1:10),gaugeval(1:3),msoftval(1:100), . auval(3,3),adval(3,3),aeval(3,3),yuval(3,3), . ydval(3,3),yeval(3,3),qvalue(1:20),extval(0:100) integer check(1:22),check_final,imod(1:2) character line1*6,line2*100, . spinfo1*100,spinfo2*100,modselval*100,mincom(1:20)*20, . extcom(0:100)*20,softcom(1:100)*20,hmixcom(1:10)*20 logical done COMMON/SD_leshouches1/spinfo1,spinfo2,modselval,mincom,extcom, . softcom,hmixcom COMMON/SD_leshouches2/minval,extval,smval,massval,nmixval,umixval, . vmixval,stopmixval,sbotmixval,staumixval, . hmixval,gaugeval,msoftval,auval,adval, . aeval,yuval,ydval,yeval,alphaval,qvalue,imod COMMON/SD_mbmb/sd_mbmb,i_sd_mbmb COMMON/SD_checkval/check c -- i_sd_mbmb = 0 ensures that the routine is called which calulates -- c -- the mbpole mass from mb(mb)_MSbar = smval(5) -- i_sd_mbmb = 0 c -- start from the beginning of the file SD_leshouches.in -- rewind(ninlha) c -- initialization of the check array -- do i1=1,22,1 check(i1) = 0 end do c -- the scale Q -- do i=1,20,1 qvalue(i) = 0.D0 end do c a trick to jump over undefined parameters in subsequent writings unlikely = -123456789D0 do i=1,100,1 extval(i-1) = unlikely end do do i=1,20,1 minval(i) = unlikely end do do i=1,10,1 hmixval(i) = unlikely end do do i=1,100,1 msoftval(i) = unlikely end do c ------------------------------------------------------------------- c do i=1,10000,1 c -- check if routine can be left -- check_final = 1 do i1=1,22,1 check_final = check_final*check(i1) end do if(check_final.eq.1) then return endif c -- read in new line -- line1=' ' read(ninlha,'(a6,a100)',end=9900) line1,line2 c -- rewrite line1(1:6) and line2(1:20) to upper case -- do j1=1,6,1 if(line1(j1:j1).ne.'#') then do j2=97,122,1 if(line1(j1:j1).eq.char(j2)) line1(j1:j1)=char(j2-32) end do endif end do do j1=1,20,1 if(line2(j1:j1).ne.'#') then do j2=97,122,1 if(line2(j1:j1).eq.char(j2)) line2(j1:j1)=char(j2-32) end do endif end do c -- looks for blocks and reads them in one after the other -- if(line1(1:1).eq.'B') then c -- look for Block MODSEL -- if(line2(1:6).eq.'MODSEL') then call SD_READ_MODSEL(ninlha,modselval,imod,done) if (done) then check(1) = 1 goto 1111 else print*,'SD_read_leshouches: problem in MODSEL' endif c -- look for Block SMINPUTS -- elseif(line2(1:8).eq.'SMINPUTS') then call SD_READ_SMINPUTS(ninlha,smval,done) if (done) then check(2) = 1 goto 1111 else print*,'SD_read_leshouches: problem in SMINPUTS' endif c -- look for Block MINPAR -- elseif(line2(1:6).eq.'MINPAR') then call SD_READ_MINPAR(ninlha,minval,mincom,done) if (done) then check(3) = 1 goto 1111 else print*,'SD_read_leshouches: problem in MINPAR' endif c -- look for Block EXTPAR -- elseif(line2(1:6).eq.'EXTPAR') then call SD_READ_EXTPAR(ninlha,extval,extcom,done) if (done) then check(4) = 1 goto 1111 else print*,'SD_read_leshouches: problem in EXTPAR' endif c -- look for Block MASS -- elseif(line2(1:4).eq.'MASS') then call SD_READ_MASS(ninlha,massval,done) if (done) then check(5) = 1 goto 1111 else print*,'SD_read_leshouches: problem in MASS' endif c -- look for Block NMIX -- elseif(line2(1:4).eq.'NMIX') then call SD_READ_NMIX(ninlha,nmixval,done) if (done) then check(6) = 1 goto 1111 else print*,'SD_read_leshouches: problem in NMIX' endif c -- look for Block UMIX -- elseif(line2(1:4).eq.'UMIX') then call SD_READ_UMIX(ninlha,umixval,done) if (done) then check(7) = 1 goto 1111 else print*,'SD_read_leshouches: problem in UMIX' endif c -- look for Block VMIX -- elseif(line2(1:4).eq.'VMIX') then call SD_READ_VMIX(ninlha,vmixval,done) if (done) then check(8) = 1 goto 1111 else print*,'SD_read_leshouches: problem in VMIX' endif c -- look for Block STOPMIX -- elseif(line2(1:7).eq.'STOPMIX') then call SD_READ_STOPMIX(ninlha,stopmixval,done) if (done) then check(9) = 1 goto 1111 else print*,'SD_read_leshouches: problem in STOPMIX' endif c -- look for Block SBOTMIX -- elseif(line2(1:7).eq.'SBOTMIX') then call SD_READ_SBOTMIX(ninlha,sbotmixval,done) if (done) then check(10) = 1 goto 1111 else print*,'SD_read_leshouches: problem in SBOTMIX' endif c -- look for Block STAUMIX -- elseif(line2(1:7).eq.'STAUMIX') then call SD_READ_STAUMIX(ninlha,staumixval,done) if (done) then check(11) = 1 goto 1111 else print*,'SD_read_leshouches: problem in STAUMIX' endif c -- look for Block ALPHA -- elseif(line2(1:5).eq.'ALPHA') then call SD_READ_ALPHA(ninlha,alphaval,done) if (done) then check(12) = 1 goto 1111 else print*,'SD_read_leshouches: problem in ALPHA' endif c -- look for Block HMIX -- elseif(line2(1:4).eq.'HMIX') then backspace ninlha read(ninlha,'(13x,E16.8)') Qval qvalue(1) = Qval call SD_READ_HMIX(ninlha,hmixval,hmixcom,done) if (done) then check(13) = 1 goto 1111 else print*,'SD_read_leshouches: problem in HMIX' endif c -- look for Block GAUGE -- elseif(line2(1:5).eq.'GAUGE') then backspace ninlha read(ninlha,'(14x,E16.8)') Qval qvalue(2) = Qval call SD_READ_GAUGE(ninlha,gaugeval,done) if (done) then check(14) = 1 goto 1111 else print*,'SD_read_leshouches: problem in GAUGE' endif c -- look for Block MSOFT -- elseif(line2(1:5).eq.'MSOFT') then backspace ninlha read(ninlha,'(14x,E16.8)') Qval qvalue(3) = Qval call SD_READ_MSOFT(ninlha,msoftval,softcom,done) if (done) then check(15) = 1 goto 1111 else print*,'SD_read_leshouches: problem in MSOFT' endif c -- look for Block AU -- elseif(line2(1:2).eq.'AU') then backspace ninlha read(ninlha,'(11x,E16.8)') Qval qvalue(4) = Qval call SD_READ_AU(ninlha,auval,done) if (done) then check(16) = 1 goto 1111 else print*,'SD_read_leshouches: problem in AU' endif c -- look for Block AD -- elseif(line2(1:2).eq.'AD') then backspace ninlha read(ninlha,'(11x,E16.8)') Qval qvalue(5) = Qval call SD_READ_AD(ninlha,adval,done) if (done) then check(17) = 1 goto 1111 else print*,'SD_read_leshouches: problem in AD' endif c -- look for Block AE -- elseif(line2(1:2).eq.'AE') then backspace ninlha read(ninlha,'(11x,E16.8)') Qval qvalue(6) = Qval call SD_READ_AE(ninlha,aeval,done) if (done) then check(18) = 1 goto 1111 else print*,'SD_read_leshouches: problem in AE' endif c -- look for Block YU -- elseif(line2(1:2).eq.'YU') then backspace ninlha read(ninlha,'(11x,E16.8)') Qval qvalue(7) = Qval call SD_READ_YU(ninlha,yuval,done) if (done) then check(19) = 1 goto 1111 else print*,'SD_read_leshouches: problem in YU' endif c -- look for Block YD -- elseif(line2(1:2).eq.'YD') then backspace ninlha read(ninlha,'(11x,E16.8)') Qval qvalue(8) = Qval call SD_READ_YD(ninlha,ydval,done) if (done) then check(20) = 1 goto 1111 else print*,'SD_read_leshouches: problem in YD' endif c -- look for Block YE -- elseif(line2(1:2).eq.'YE') then backspace ninlha read(ninlha,'(11x,E16.8)') Qval qvalue(9) = Qval call SD_READ_YE(ninlha,yeval,done) if (done) then check(21) = 1 goto 1111 else print*,'SD_read_leshouches: problem in YE' endif c -- look for Block SPINFO -- elseif(line2(1:6).eq.'SPINFO') then call SD_READ_SPINFO(ninlha,spinfo1,spinfo2,done) if (done) then check(22) = 1 goto 1111 else print*,'SD_read_leshouches: problem in SPINFO' endif c -- continue if the Block is not interesting -- else goto 1111 endif c -- continue if it is not a Block statement -- else goto 1111 endif c -- maximum number of lines exhausted -- 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' return end c -------------------------------------------------------------------- c subroutine SD_READ_MODSEL(ninlha,modselval,imod,done) implicit double precision (a-h,m,o-z) integer imod(1:2) character line1*1,line2*1,line3*100,modselval*100 logical done done=.false. modselval = ' ' do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,'(1x,i5,1x,i5,3x,a100)') idum1,idum2,line3 if(idum1.eq.1) then imod(1) = idum1 imod(2) = idum2 modselval = line3 endif elseif(line1.eq.'#') then go to 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done =.true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_SMINPUTS(ninlha,smval,done) implicit double precision (a-h,m,o-z) double precision smval(20) character line1*1 logical done done=.false. do i=1,20,1 smval(i) = 0.D0 end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum,val c -- inverse EM coupling at the Z pole in the MS_bar scheme (with -- c -- five active flavours) -- if(idum.eq.1) then smval(1) = val c -- G_F, Fermi constant (in units of GeV^-2) elseif(idum.eq.2) then smval(2) = val c -- Strong coupling at the Z pole in the MS_bar scheme (with five -- c -- active flavours) -- elseif(idum.eq.3) then smval(3) = val c -- M_Z, pole mass -- elseif(idum.eq.4) then smval(4) = val c -- mb(mb)^MS_bar. b quark running mass in the MS_bar scheme -- elseif(idum.eq.5) then smval(5) = val c -- mt, pole mass -- elseif(idum.eq.6) then smval(6) = val c -- mtau, pole mass -- elseif(idum.eq.7) then smval(7) = val endif elseif(line1.eq.'#') then go to 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done =.true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_MINPAR(ninlha,minval,mincom,done) implicit double precision (a-h,m,o-z) double precision minval(20) character line1*1,line2*1,line3*20,mincom(1:20)*20 logical done done= .false. do i=1,20,1 mincom(i) = ' ' end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum,val,line2,line3 do ii=1,6,1 if(idum.eq.ii) then minval(ii) = val mincom(ii) = line3 endif end do c -- i=3: value for tanbeta(MZ) -- elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_EXTPAR(ninlha,extval,extcom,done) implicit double precision (a-h,m,o-z) double precision extval(0:100) character line1*1,line2*1,line3*20,extcom(0:100)*20 logical done done= .false. do i=1,100,1 extcom(i-1) = ' ' end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum,val,line2,line3 do ii=1,54,1 if(idum.eq.(ii-1)) then extval(ii-1) = val extcom(ii-1) = line3 endif end do elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_MASS(ninlha,massval,done) implicit double precision (a-h,m,o-z) double precision massval(50) character line1*1 logical done done= .false. do i=1,50,1 massval(i) = 0.D0 end do c a trick to jump over an undefined gravitino mass unlikely = -123456789D0 massval(35) = unlikely do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum,val c -- value for M_W -- if(idum.eq.24) then massval(1) = val c -- value for M_h -- elseif(idum.eq.25) then massval(2) = val c -- value for M_H -- elseif(idum.eq.35) then massval(3) = val c -- value for M_A -- elseif(idum.eq.36) then massval(4) = val c -- value for M_H+/- -- elseif(idum.eq.37) then massval(5) = val c -- value for ~d_L -- elseif(idum.eq.1000001) then massval(6) = val c -- value for ~d_R -- elseif(idum.eq.2000001) then massval(7) = val c -- value for ~u_L -- elseif(idum.eq.1000002) then massval(8) = val c -- value for ~u_R -- elseif(idum.eq.2000002) then massval(9) = val c -- value for ~s_L -- elseif(idum.eq.1000003) then massval(10) = val c -- value for ~s_R -- elseif(idum.eq.2000003) then massval(11) = val c -- value for ~c_L -- elseif(idum.eq.1000004) then massval(12) = val c -- value for ~c_R -- elseif(idum.eq.2000004) then massval(13) = val c -- value for ~b_1 -- elseif(idum.eq.1000005) then massval(14) = val c -- value for ~b_2 -- elseif(idum.eq.2000005) then massval(15) = val c -- value for ~t_1 -- elseif(idum.eq.1000006) then massval(16) = val c -- value for ~t_2 -- elseif(idum.eq.2000006) then massval(17) = val c -- value for ~e_L -- elseif(idum.eq.1000011) then massval(18) = val c -- value for ~e_R -- elseif(idum.eq.2000011) then massval(19) = val c -- value for ~nu_eL -- elseif(idum.eq.1000012) then massval(20) = val c -- value for ~mu_L -- elseif(idum.eq.1000013) then massval(21) = val c -- value for ~mu_R -- elseif(idum.eq.2000013) then massval(22) = val c -- value for ~nu_muL -- elseif(idum.eq.1000014) then massval(23) = val c -- value for ~tau_1 -- elseif(idum.eq.1000015) then massval(24) = val c -- value for ~tau_2 -- elseif(idum.eq.2000015) then massval(25) = val c -- value for ~nu_tauL -- elseif(idum.eq.1000016) then massval(26) = val c -- value for ~g -- elseif(idum.eq.1000021) then massval(27) = val c -- value for ~chi_10 -- elseif(idum.eq.1000022) then massval(28) = val c -- value for ~chi_20 -- elseif(idum.eq.1000023) then massval(29) = val c -- value for ~chi_30 -- elseif(idum.eq.1000025) then massval(30) = val c -- value for ~chi_40 -- elseif(idum.eq.1000035) then massval(31) = val c -- value for ~chi_1+ -- elseif(idum.eq.1000024) then massval(32) = val c -- value for ~chi_2+ -- elseif(idum.eq.1000037) then massval(33) = val c -- value for m_b pole mass -- elseif(idum.eq.5) then massval(34) = val c -- value for the gravitino mass -- elseif(idum.eq.1000039) then massval(35) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_NMIX(ninlha,nmixval,done) implicit double precision (a-h,m,o-z) double precision nmixval(4,4) character line1*1 logical done done= .false. do i=1,4,1 do j=1,4,1 nmixval(i,j) = 0.D0 end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- the values for the neutralino mixing matrix -- if(idum1.eq.1.and.idum2.eq.1) then nmixval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then nmixval(1,2) = val elseif(idum1.eq.1.and.idum2.eq.3) then nmixval(1,3) = val elseif(idum1.eq.1.and.idum2.eq.4) then nmixval(1,4) = val elseif(idum1.eq.2.and.idum2.eq.1) then nmixval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then nmixval(2,2) = val elseif(idum1.eq.2.and.idum2.eq.3) then nmixval(2,3) = val elseif(idum1.eq.2.and.idum2.eq.4) then nmixval(2,4) = val elseif(idum1.eq.3.and.idum2.eq.1) then nmixval(3,1) = val elseif(idum1.eq.3.and.idum2.eq.2) then nmixval(3,2) = val elseif(idum1.eq.3.and.idum2.eq.3) then nmixval(3,3) = val elseif(idum1.eq.3.and.idum2.eq.4) then nmixval(3,4) = val elseif(idum1.eq.4.and.idum2.eq.1) then nmixval(4,1) = val elseif(idum1.eq.4.and.idum2.eq.2) then nmixval(4,2) = val elseif(idum1.eq.4.and.idum2.eq.3) then nmixval(4,3) = val elseif(idum1.eq.4.and.idum2.eq.4) then nmixval(4,4) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_UMIX(ninlha,umixval,done) implicit double precision (a-h,m,o-z) double precision umixval(2,2) character line1*1 logical done done= .false. do i=1,2,1 do j=1,2,1 umixval(i,j) = 0.D0 end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- the values for the chargino mixing matrix U -- if(idum1.eq.1.and.idum2.eq.1) then umixval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then umixval(1,2) = val elseif(idum1.eq.2.and.idum2.eq.1) then umixval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then umixval(2,2) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_VMIX(ninlha,vmixval,done) implicit double precision (a-h,m,o-z) double precision vmixval(2,2) character line1*1 logical done done= .false. do i=1,2,1 do j=1,2,1 vmixval(i,j) = 0.D0 end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- the values for the chargino mixing matrix V -- if(idum1.eq.1.and.idum2.eq.1) then vmixval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then vmixval(1,2) = val elseif(idum1.eq.2.and.idum2.eq.1) then vmixval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then vmixval(2,2) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_STOPMIX(ninlha,stopmixval,done) implicit double precision (a-h,m,o-z) double precision stopmixval(2,2) character line1*1 logical done done= .false. do i=1,2,1 do j=1,2,1 stopmixval(i,j) = 0.D0 end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- the values for the stop mixing matrix: m(1,1) = cos(theta), -- c -- m(1,2) = sin(theta), m(2,1) = -sin(theta), m(2,2) = cos(theta). -- if(idum1.eq.1.and.idum2.eq.1) then stopmixval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then stopmixval(1,2) = val elseif(idum1.eq.2.and.idum2.eq.1) then stopmixval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then stopmixval(2,2) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_SBOTMIX(ninlha,sbotmixval,done) implicit double precision (a-h,m,o-z) double precision sbotmixval(2,2) character line1*1 logical done done= .false. do i=1,2,1 do j=1,2,1 sbotmixval(i,j) = 0.D0 end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- the values for the sbottom mixing matrix: m(1,1) = cos(theta), -- c -- m(1,2) = sin(theta), m(2,1) = -sin(theta), m(2,2) = cos(theta). -- if(idum1.eq.1.and.idum2.eq.1) then sbotmixval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then sbotmixval(1,2) = val elseif(idum1.eq.2.and.idum2.eq.1) then sbotmixval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then sbotmixval(2,2) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_STAUMIX(ninlha,staumixval,done) implicit double precision (a-h,m,o-z) double precision staumixval(2,2) character line1*1 logical done done= .false. do i=1,2,1 do j=1,2,1 staumixval(i,j) = 0.D0 end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- the values for the stau mixing matrix: m(1,1) = cos(theta), -- c -- m(1,2) = sin(theta), m(2,1) = -sin(theta), m(2,2) = cos(theta). -- if(idum1.eq.1.and.idum2.eq.1) then staumixval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then staumixval(1,2) = val elseif(idum1.eq.2.and.idum2.eq.1) then staumixval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then staumixval(2,2) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_ALPHA(ninlha,alphaval,done) implicit double precision (a-h,m,o-z) character line1*1 logical done done= .false. alphaval = 0.D0 do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) val c -- value for the effective Higgs mixing parameter alpha -- c -- ! The given value is the 'best choice' solution. Depending on ! -- c -- ! the spectrum calcluator it can be an on-shell parameter or ! -- c -- ! can be given in the DR_bar definition at a certain ! -- c -- ! characteristic scale etc. For details on the specific ! -- c -- ! prescriptions see the manual of the particular spectrum ! -- c -- ! calculator. ! -- alphaval = val elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_HMIX(ninlha,hmixval,hmixcom,done) implicit double precision (a-h,m,o-z) double precision hmixval(1:10) character line1*1,line2*1,line3*20,hmixcom(1:10)*20 logical done done= .false. do i=1,10,1 hmixcom(i) = ' ' end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum,val,line2,line3 do ii=1,10,1 if(idum.eq.ii) then hmixval(ii) = val hmixcom(ii) = line3 endif end do elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_GAUGE(ninlha,gaugeval,done) implicit double precision (a-h,m,o-z) double precision gaugeval(1:3) character line1*1 logical done done= .false. do i=1,3,1 gaugeval(i) = 0.D0 end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum,val c -- The following parameters are the DR_bar running parameters at -- c -- the scale Q. -- c -- value for g_prime at the scale Q -- if(idum.eq.1) then gaugeval(1) = val c -- value for g at the scale Q -- elseif(idum.eq.2) then gaugeval(2) = val c -- value for g3 at the scale Q -- elseif(idum.eq.3) then gaugeval(3) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_MSOFT(ninlha,msoftval,softcom,done) implicit double precision (a-h,m,o-z) double precision msoftval(1:100) character line1*1,line2*1,line3*20,softcom(1:100)*20 logical done done= .false. do i=1,100,1 softcom(i) = ' ' end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum,val,line2,line3 do ii=1,100,1 if(idum.eq.ii) then msoftval(ii) = val softcom(ii) = line3 endif end do elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_AU(ninlha,auval,done) implicit double precision (a-h,m,o-z) double precision auval(3,3) character line1*1 logical done done= .false. unlikely = -123456789D0 do i=1,3,1 do j=1,3,1 auval(i,j) = unlikely end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- The following parameters are the DR_bar running parameters at -- c -- the scale Q. -- c -- values for AU(i,j) at the scale Q -- if(idum1.eq.1.and.idum2.eq.1) then auval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then auval(1,2) = val elseif(idum1.eq.1.and.idum2.eq.3) then auval(1,3) = val elseif(idum1.eq.2.and.idum2.eq.1) then auval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then auval(2,2) = val elseif(idum1.eq.2.and.idum2.eq.3) then auval(2,3) = val elseif(idum1.eq.3.and.idum2.eq.1) then auval(3,1) = val elseif(idum1.eq.3.and.idum2.eq.2) then auval(3,2) = val elseif(idum1.eq.3.and.idum2.eq.3) then auval(3,3) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_AD(ninlha,adval,done) implicit double precision (a-h,m,o-z) double precision adval(3,3) character line1*1 logical done done= .false. unlikely = -123456789D0 do i=1,3,1 do j=1,3,1 adval(i,j) = unlikely end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- The following parameters are the DR_bar running parameters at -- c -- the scale Q. -- c -- values for AD(i,j) at the scale Q -- if(idum1.eq.1.and.idum2.eq.1) then adval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then adval(1,2) = val elseif(idum1.eq.1.and.idum2.eq.3) then adval(1,3) = val elseif(idum1.eq.2.and.idum2.eq.1) then adval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then adval(2,2) = val elseif(idum1.eq.2.and.idum2.eq.3) then adval(2,3) = val elseif(idum1.eq.3.and.idum2.eq.1) then adval(3,1) = val elseif(idum1.eq.3.and.idum2.eq.2) then adval(3,2) = val elseif(idum1.eq.3.and.idum2.eq.3) then adval(3,3) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_AE(ninlha,aeval,done) implicit double precision (a-h,m,o-z) double precision aeval(3,3) character line1*1 logical done done= .false. unlikely = -123456789D0 do i=1,3,1 do j=1,3,1 aeval(i,j) = unlikely end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- The following parameters are the DR_bar running parameters at -- c -- the scale Q. -- c -- values for AE(i,j) at the scale Q -- if(idum1.eq.1.and.idum2.eq.1) then aeval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then aeval(1,2) = val elseif(idum1.eq.1.and.idum2.eq.3) then aeval(1,3) = val elseif(idum1.eq.2.and.idum2.eq.1) then aeval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then aeval(2,2) = val elseif(idum1.eq.2.and.idum2.eq.3) then aeval(2,3) = val elseif(idum1.eq.3.and.idum2.eq.1) then aeval(3,1) = val elseif(idum1.eq.3.and.idum2.eq.2) then aeval(3,2) = val elseif(idum1.eq.3.and.idum2.eq.3) then aeval(3,3) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_YU(ninlha,yuval,done) implicit double precision (a-h,m,o-z) double precision yuval(3,3) character line1*1 logical done done= .false. do i=1,3,1 do j=1,3,1 yuval(i,j) = 0.D0 end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- The following parameters are the DR_bar running parameters at -- c -- the scale Q. -- c -- values for YU(i,j) at the scale Q -- if(idum1.eq.1.and.idum2.eq.1) then yuval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then yuval(1,2) = val elseif(idum1.eq.1.and.idum2.eq.3) then yuval(1,3) = val elseif(idum1.eq.2.and.idum2.eq.1) then yuval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then yuval(2,2) = val elseif(idum1.eq.2.and.idum2.eq.3) then yuval(2,3) = val elseif(idum1.eq.3.and.idum2.eq.1) then yuval(3,1) = val elseif(idum1.eq.3.and.idum2.eq.2) then yuval(3,2) = val elseif(idum1.eq.3.and.idum2.eq.3) then yuval(3,3) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_YD(ninlha,ydval,done) implicit double precision (a-h,m,o-z) double precision ydval(3,3) character line1*1 logical done done= .false. do i=1,3,1 do j=1,3,1 ydval(i,j) = 0.D0 end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- The following parameters are the DR_bar running parameters at -- c -- the scale Q. -- c -- values for YD(i,j) at the scale Q -- if(idum1.eq.1.and.idum2.eq.1) then ydval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then ydval(1,2) = val elseif(idum1.eq.1.and.idum2.eq.3) then ydval(1,3) = val elseif(idum1.eq.2.and.idum2.eq.1) then ydval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then ydval(2,2) = val elseif(idum1.eq.2.and.idum2.eq.3) then ydval(2,3) = val elseif(idum1.eq.3.and.idum2.eq.1) then ydval(3,1) = val elseif(idum1.eq.3.and.idum2.eq.2) then ydval(3,2) = val elseif(idum1.eq.3.and.idum2.eq.3) then ydval(3,3) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_YE(ninlha,yeval,done) implicit double precision (a-h,m,o-z) double precision yeval(3,3) character line1*1 logical done done= .false. do i=1,3,1 do j=1,3,1 yeval(i,j) = 0.D0 end do end do do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,*) idum1,idum2,val c -- The following parameters are the DR_bar running parameters at -- c -- the scale Q. -- c -- values for YE(i,j) at the scale Q -- if(idum1.eq.1.and.idum2.eq.1) then yeval(1,1) = val elseif(idum1.eq.1.and.idum2.eq.2) then yeval(1,2) = val elseif(idum1.eq.1.and.idum2.eq.3) then yeval(1,3) = val elseif(idum1.eq.2.and.idum2.eq.1) then yeval(2,1) = val elseif(idum1.eq.2.and.idum2.eq.2) then yeval(2,2) = val elseif(idum1.eq.2.and.idum2.eq.3) then yeval(2,3) = val elseif(idum1.eq.3.and.idum2.eq.1) then yeval(3,1) = val elseif(idum1.eq.3.and.idum2.eq.2) then yeval(3,2) = val elseif(idum1.eq.3.and.idum2.eq.3) then yeval(3,3) = val endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c subroutine SD_READ_SPINFO(ninlha,spinfo1,spinfo2,done) implicit double precision (a-h,m,o-z) character line1*1,line2*100,spinfo1*100,spinfo2*100 logical done done= .false. spinfo1 = ' ' spinfo2 = ' ' do i=1,200,1 read(ninlha,'(a1)',end=9900) line1 c -- decide what it is and read the line if anything of interest -- if (line1.eq.' ') then backspace ninlha read(ninlha,'(1x,i5,3x,a100)') idum,line2 c -- the name of the spectrum calculator -- if(idum.eq.1) then spinfo1 = line2 c -- the version number of the spectrum calculator -- elseif(idum.eq.2) then spinfo2 = line2 endif elseif(line1.eq.'#') then goto 1111 elseif(line1.eq.'b'.or.line1.eq.'B'.or.line1.eq.'d'.or.line1.eq ..'D') then backspace ninlha done = .true. return endif 1111 continue end do 9900 print*,'SD_read_leshouches: end of file' done = .true. end c -------------------------------------------------------------------- c c -------- Calculation of the couplings needed in the decays --------- c c -------------------------------------------------------------------- c subroutine SD_couplings implicit double precision (a-h,m,o-z) dimension amneut(4),xmneut(4),amchar(2) dimension u(2,2),v(2,2),z(4,4),zp(4,4) dimension ahl(4,4),ahh(4,4),aa(4,4) dimension gkhlr(2,2),gkhll(2,2),gkhhr(2,2),gkhhl(2,2),gkhar(2,2), . gkhal(2,2) dimension ql(4,2),qr(4,2),or(4,2),ol(4,2) dimension opl(2,2),opr(2,2),onl(4,4),onr(4,4) dimension ale(2,2),altau(2,2),alsne(2,2),blsne(2,2),alsnt(2,2), . blsnt(2,2) dimension alsbo(2,2),aksbo(2,2),alsto(2,2),aksto(2,2) dimension alup(2,2),aldo(2,2) dimension ae(2,4),be(2,4),atau(2,4),btau(2,4),anu(2,4),bnu(2,4), . antau(2,4),bntau(2,4) dimension atop(2,4),btop(2,4),abo(2,4),bbo(2,4) dimension aup(2,4),bup(2,4),ado(2,4),bdo(2,4) dimension gltt(2,2),ghtt(2,2) dimension glbb(2,2),ghbb(2,2) dimension gctb(2,2),chctb(2,2) dimension gztt(2,2),gzbb(2,2),gztautau(2,2) dimension gwtb(2,2),gwntau(2,2) dimension gul(2),gur(2),gdl(2),gdr(2),gtl(2),gtr(2),gbl(2),gbr(2) dimension q(4,4),s(4,4) dimension qc(2,2),sc(2,2) c ----- common blocks needed for the calculation of the couplings ---- c c COMMON/SD_flagmixang/flagcu,flagcd,flagce COMMON/SD_param/sdgf,amz,amw,pi,g2 COMMON/SD_massgino/amneut,xmneut,amchar COMMON/SD_squarktb/ast1,ast2,asb1,asb2 COMMON/SD_squarkud/asup1,asup2,asdown1,asdown2 COMMON/SD_sfermionetau/ase1,ase2,astau1,astau2 COMMON/SD_sneutrino/asne1,asne2,asntau1,asntau2 COMMON/SD_hmass/ama,aml,amh,amch,amar COMMON/SD_mixang/alp_mssm,tanbeta COMMON/SD_mixmat/u,v,z,zp COMMON/SD_weinberg/sw,cw COMMON/SD_sfmixang/thet,theb,thel,cu,su,cd,sd,ce,se COMMON/SD_fermion/amt,amb,amtau COMMON/SD_break/autop,adbot,adtau,amu COMMON/SD_break1/sdaup,sdadown,sdael c ------ common blocks for the couplings needed for the widths ------- c COMMON/SD_coup1/ahl,ahh,aa COMMON/SD_coup2/gkhll,gkhhl,gkhal,gkhlr,gkhhr,gkhar COMMON/SD_coup3/ql,qr,ol,or COMMON/SD_coup4/opl,opr,onl,onr COMMON/SD_coup5/ale,altau,alsne,blsne,alsnt,blsnt COMMON/SD_coup6/alsto,aksto,alsbo,aksbo COMMON/SD_coup7/alup,aldo COMMON/SD_coup8/ae,be,atau,btau,anu,bnu,antau,bntau COMMON/SD_coup9/atop,btop,abo,bbo COMMON/SD_coup10/aup,bup,ado,bdo COMMON/SD_coup11/gltt,ghtt,gatt COMMON/SD_coup12/glbb,ghbb,gabb COMMON/SD_coup13/gctb,chctb COMMON/SD_coup14/chctbl,chctbr,chctaunur,chctaunul COMMON/SD_coup15/achtop,vchtop,achtau,vchtau COMMON/SD_coup16/czttl,czttr,czbbl,czbbr,cztautaul,cztautaur, . cznunul,cznunur COMMON/SD_coup17/azztoptop,vzztoptop,azztautau,vzztautau, . azzneutneut,vzzneutneut,azzbotbot,vzzbotbot COMMON/SD_coup18/awff,vwff COMMON/SD_coup19/gztt,gzbb,gztautau COMMON/SD_coup20/gwtb,gwntau COMMON/SD_coup21/gtr,gtl,gbr,gbl,gur,gul,gdr,gdl COMMON/SD_yukawa/ytewsb,ybewsb,ytauewsb c ------------------------- the mixing angles ------------------------ c ct=dcos(thet) st=dsin(thet) cb=dcos(theb) sb=dsin(theb) cl=dcos(thel) sl=dsin(thel) tgbet=tanbeta bet =datan(tanbeta) alp =alp_mssm tw =sw/cw c--------------------------------------------------------------------- c c The couplings c--------------------------------------------------------------------- c c -- the Yukawa couplings at the scale of EWSB -- ytc = ytewsb/dsqrt(g2) ybc = ybewsb/dsqrt(g2) ytauc = ytauewsb/dsqrt(g2) c -------------------------------------------------------------------- c c Higgs-neutralino_i-neutralino_j couplings c -------------------------------------------------------------------- c do i=1,4,1 do j=1,4,1 q(i,j) = 1.d0/2.d0/cw*(z(i,3)*zp(j,2)+z(j,3)*zp(i,2)) s(i,j) = 1.d0/2.d0/cw*(z(i,4)*zp(j,2)+z(j,4)*zp(i,2)) ahl(i,j) = (q(i,j)*dsin(alp)+s(i,j)*dcos(alp))/2.D0 ahh(i,j) = (-q(i,j)*dcos(alp)+s(i,j)*dsin(alp))/2.D0 aa(i,j) = (-q(i,j)*dsin(bet)+s(i,j)*dcos(bet))/2.D0 enddo enddo c Feynman rule: ig*(ahl(i,j)*(1-g_5)+ahl(j,i)*(1+g_5)) c Feynman rule: ig*(ahh(i,j)*(1-g_5)+ahh(j,i)*(1+g_5)) c Feynman rule: g*(aa(i,j)*(1-g_5)-aa(j,i)*(1+g_5)) c -------------------------------------------------------------------- c c Higgs-chargino_i-chargino_j couplings c -------------------------------------------------------------------- c do i=1,2 do j=1,2 qc(i,j) = 1.D0/dsqrt(2.D0)*u(j,2)*v(i,1) sc(i,j) = 1.D0/dsqrt(2.D0)*u(j,1)*v(i,2) enddo enddo do i=1,2 do j=1,2 gkhlr(i,j) = -qc(i,j)*dsin(alp)+sc(i,j)*dcos(alp) gkhll(i,j) = -qc(j,i)*dsin(alp)+sc(j,i)*dcos(alp) gkhhr(i,j) = dcos(alp)*qc(i,j)+dsin(alp)*sc(i,j) gkhhl(i,j) = dcos(alp)*qc(j,i)+dsin(alp)*sc(j,i) gkhar(i,j) = dsin(bet)*qc(i,j)+dcos(bet)*sc(i,j) gkhal(i,j) = -dsin(bet)*qc(j,i)-dcos(bet)*sc(j,i) enddo enddo c Feynman rule: -ig*[gkhll*(1-g_5)/2+gkhlr*(1+g_5)/2] c Feynman rule: g*[gkhal*(1-g5)/2+gkhar*(1+g_5)/2] c j in, i out c -------------------------------------------------------------------- c c H^+ neutralino_i-chargino_j couplings c -------------------------------------------------------------------- c do i=1,4 do j=1,2 ql(i,j) = dcos(bet)*(v(j,1)*z(i,4)+v(j,2)/dsqrt(2.D0)* . (z(i,2)+z(i,1)*sw/cw)) qr(i,j) = dsin(bet)*(u(j,1)*z(i,3)-u(j,2)/dsqrt(2.D0)* . (z(i,2)+z(i,1)*sw/cw)) enddo enddo c Feynman rule: -i*g*[ql(i,j)*P_L + qr(i,j)*P_R] c incoming H-, incoming chargino_j+ c -------------------------------------------------------------------- c c Z-neutralino_i-neutralino_j couplings c -------------------------------------------------------------------- c do i=1,4 do j=1,4 onr(i,j) = 1/2.D0/cw*(z(i,3)*z(j,3)-z(i,4)*z(j,4)) onl(i,j) = -onr(i,j) enddo enddo c Feynman rule: i*g*g_mu*(onl(i,j)*(1-g5)/2+onr(i,j)*(1+g5)/2) c incoming neutralino_j, outgoing neutralino_i c -------------------------------------------------------------------- c c Z-chargino_i-chargino_j couplings c -------------------------------------------------------------------- c opl(1,1) = -v(1,1)*v(1,1)-0.5D0*v(1,2)*v(1,2)+sw**2 opr(1,1) = -u(1,1)*u(1,1)-0.5D0*u(1,2)*u(1,2)+sw**2 opl(1,2) = -v(1,1)*v(2,1)-0.5D0*v(1,2)*v(2,2) opr(1,2) = -u(1,1)*u(2,1)-0.5D0*u(1,2)*u(2,2) opl(2,1) = opl(1,2) opr(2,1) = opr(1,2) opl(2,2) = -v(2,1)*v(2,1)-0.5D0*v(2,2)*v(2,2)+sw**2 opr(2,2) = -u(2,1)*u(2,1)-0.5D0*u(2,2)*u(2,2)+sw**2 c Feynman rule: ig/costheta_W*g_mu*[opl(i,j)*P_L+opr(i,j)*P_R] c incoming chargino_j, outgoing chargino_i c -------------------------------------------------------------------- c c W^+ neutralino_i-chargino_j couplings c -------------------------------------------------------------------- c do i=1,4 do j=1,2 or(i,j) = 1/dsqrt(2.D0)*z(i,3)*u(j,2)+z(i,2)*u(j,1) ol(i,j) = -1/dsqrt(2.D0)*z(i,4)*v(j,2)+z(i,2)*v(j,1) end do end do c Feynman rule: ig*g_mu*[ ol(i,j)*P_L + or(i,j)*P_R ] c outgoing W+, incoming chargino+ <=> incoming W+, outgoing chargino+ c -------------------------------------------------------------------- c c the chargino_k-selectron-neutrino_e couplings c -------------------------------------------------------------------- c do k=1,2 ale(1,k) = -U(k,1)*ce ale(2,k) = U(k,1)*se enddo c Feynman rule: ig*[ale(1/2,k)*P_R] c -------------------------------------------------------------------- c c the chargino_k-stau-neutrino_tau couplings c -------------------------------------------------------------------- c do k=1,2 altau(1,k) = -cl*U(k,1)+sl*Ytauc*U(k,2) altau(2,k) = sl*U(k,1)+cl*Ytauc*U(k,2) enddo c Feynman rule: ig*altau(1/2,k)*P_R c blto(1/2,k) identical to 0. c -------------------------------------------------------------------- c c The chargino_k-sneutrino_eL-electron coupling c -------------------------------------------------------------------- c do k=1,2 alsne(1,k) = -v(k,1) alsne(2,k) = 0.D0 blsne(1,k) = 0.D0 blsne(2,k) = 0.D0 enddo c Feynman rule: ig*[alsne(1/2,k)*P_R + blsne(1/2,k)*P_L] c -------------------------------------------------------------------- c c the chargino_k-sneutrino_tau1/2-tau couplings c -------------------------------------------------------------------- c do k=1,2 alsnt(1,k) = -v(k,1) alsnt(2,k) = 0.D0 blsnt(1,k) = ytauc*u(k,2) blsnt(2,k) = 0.D0 end do c Feynman rule: ig*[alsnt(1/2,k)*P_L + blsnt(1/2,k)*P_R ] c -------------------------------------------------------------------- c c the chargino_k-stop1/2-bottom couplings c -------------------------------------------------------------------- c do k=1,2 alsto(1,k) = -ct*V(k,1)+st*Ytc*V(k,2) alsto(2,k) = st*V(k,1)+ct*Ytc*V(k,2) aksto(1,k) = ct*Ybc*U(k,2) aksto(2,k) = -st*Ybc*U(k,2) enddo c Feynman rule: ig*[alsto(1/2,k)*P_R+aksto(1/2,k)*P_L] c outgoing chargino+, outgoing bottom-quark c -------------------------------------------------------------------- c c the chargino_k-sbottom1/2-top couplings c -------------------------------------------------------------------- c do k=1,2 alsbo(1,k) = -cb*U(k,1)+sb*Ybc*U(k,2) alsbo(2,k) = sb*U(k,1)+cb*Ybc*U(k,2) aksbo(1,k) = cb*Ytc*V(k,2) aksbo(2,k) = -sb*Ytc*V(k,2) enddo c Feynman rule: ig*[alsbo(1/2,k)*P_R+aksbo(1/2,k)*P_L] c incoming chargino+, outgoing top-quark c -------------------------------------------------------------------- c c the chargino_k-sup1/2-down couplings c -------------------------------------------------------------------- c do k=1,2 alup(1,k) = -V(k,1)*cu alup(2,k) = V(k,1)*su enddo c Feynman rule: ig*[ alup(1/2,k)*P_R ] c -------------------------------------------------------------------- c c the chargino_k-sdown1/2-up couplings c -------------------------------------------------------------------- c do k=1,2 aldo(1,k) = -U(k,1)*cd aldo(2,k) = U(k,1)*sd enddo c Feynman rule: ig*[aldo(1/2,k)*P_R] c -------------------------------------------------------------------- c c neutralino-selectronL/R-electron couplings c -------------------------------------------------------------------- c do k=1,4 ae(1,k) = ce*dsqrt(2.D0)*(zp(k,1)*sw+(0.5D0-sw**2)* . zp(k,2)/cw) ae(2,k) = -se*dsqrt(2.D0)*(zp(k,1)*sw+(0.5D0-sw**2)* . zp(k,2)/cw) be(1,k) = se*dsqrt(2.D0)*sw*(zp(k,2)*tw-zp(k,1)) be(2,k) = ce*dsqrt(2.D0)*sw*(zp(k,2)*tw-zp(k,1)) enddo c Feynman rule: ig*[ ae(1/2,k)*P_R + be(1/2,k)*P_L ] c -------------------------------------------------------------------- c c neutralino_k-stau-tau couplings c -------------------------------------------------------------------- c do k=1,4 atau(1,k) = cl*dsqrt(2.D0)*(zp(k,1)*sw+(0.5D0-sw**2)* . zp(k,2)/cw)-sl*ytauc*z(k,3) atau(2,k) = -sl*dsqrt(2.D0)*(zp(k,1)*sw+(0.5D0-sw**2)* . zp(k,2)/cw)-cl*ytauc*z(k,3) btau(1,k) = sl*dsqrt(2.D0)*sw*(zp(k,2)*tw-zp(k,1)) . -cl*ytauc*z(k,3) btau(2,k) = cl*dsqrt(2.D0)*sw*(zp(k,2)*tw-zp(k,1)) . +sl*ytauc*z(k,3) enddo c Feynman rule: ig*[ atau(1/2,k)*P_R + btau(1/2,k)*P_L ] c -------------------------------------------------------------------- c c neutralino-sneutrino_e-neutrino_e couplings c -------------------------------------------------------------------- c do k=1,4 anu(1,k) = -zp(k,2)/dsqrt(2.D0)/cw anu(2,k) = 0.D0 bnu(1,k) = 0.D0 bnu(2,k) = 0.D0 enddo c Feynman rule: ig*[ anu(2,k)*P_R + bnu(2,k)*P_L ] c -------------------------------------------------------------------- c c neutralino-sneutrinotau1/2-neutrinotau couplings c -------------------------------------------------------------------- c do k=1,4 antau(1,k) = -zp(k,2)/dsqrt(2.D0)/cw antau(2,k) = 0.D0 bntau(1,k) = 0.D0 bntau(2,k) = 0.D0 enddo c Feynman rule: ig*[ antau(1/2,k)*P_R + bntau(1/2,k)*P_L ] c -------------------------------------------------------------------- c c the neutralino_k-stop1/2-top couplings c -------------------------------------------------------------------- c do k=1,4 atop(1,k) = ct*dsqrt(2.D0)*(-2.D0*zp(k,1)*sw/3.D0 . +(-0.5D0+2.D0/3.D0*sw**2)*zp(k,2)/cw)-st*ytc*z(k,4) atop(2,k) = -st*dsqrt(2.D0)*(-2.D0*zp(k,1)*sw/3.D0+(-0.5D0 . +2.D0/3.D0*sw**2)*zp(k,2)/cw)-ct*ytc*z(k,4) btop(1,k) = -2.D0*st*dsqrt(2.D0)*sw*(zp(k,2)*tw-zp(k,1))/3.D0 . -ct*ytc*z(k,4) btop(2,k) = -2.D0*ct*dsqrt(2.D0)*sw*(zp(k,2)*tw-zp(k,1))/3.D0 . +st*ytc*z(k,4) enddo c Feynman rule: ig*[ atop(1/2,k)*P_R + btop(1/2,k)*P_L ] c -------------------------------------------------------------------- c c the neutralino_k-sbottom1/2-bottom couplings c -------------------------------------------------------------------- c do k=1,4 abo(1,k) = cb*dsqrt(2.D0)*(zp(k,1)*sw/3.D0+(0.5D0 . -1.d0/3.D0*sw**2)*zp(k,2)/cw)-sb*ybc*z(k,3) abo(2,k) = -sb*dsqrt(2.D0)*(zp(k,1)*sw/3.D0+(0.5D0 . -1.D0/3.D0*sw**2)*zp(k,2)/cw)-cb*ybc*z(k,3) bbo(1,k) = sb*dsqrt(2.D0)*sw*(zp(k,2)*tw-zp(k,1))/3.D0 . -cb*ybc*z(k,3) bbo(2,k) = cb*dsqrt(2.D0)*sw*(zp(k,2)*tw-zp(k,1))/3.D0 . +sb*ybc*z(k,3) enddo c Feynman rule: ig*[ abo(1/2,k)*P_R + bbo(1/2,k)*P_L ] c -------------------------------------------------------------------- c c neutralino_k-sup1/2-up couplings c -------------------------------------------------------------------- c do k=1,4 aup(1,k) = -cu*dsqrt(2.D0)*(2.D0/3.D0*zp(k,1)*sw+(0.5D0 . -2.D0/3.D0*sw**2)*zp(k,2)/cw) aup(2,k) = -su*dsqrt(2.D0)*(-2.D0*zp(k,1)*sw/3.D0+ . (-0.5D0+2.D0/3.D0*sw**2)*zp(k,2)/cw) bup(1,k) = -2.D0*su*dsqrt(2.D0)*sw*(zp(k,2)*tw- . zp(k,1))/3.D0 bup(2,k) = -2.D0*cu*dsqrt(2.D0)*sw*(zp(k,2)*tw- . zp(k,1))/3.D0 enddo c Feynman rule: ig*[ aup(1/2,k)*P_R + bup(1/2,k)*P_L ] c -------------------------------------------------------------------- c c neutralino_k-sdown1/2-down couplings c -------------------------------------------------------------------- c do k=1,4 ado(1,k) = cd*dsqrt(2.D0)*(zp(k,1)*sw/3.D0+(0.5D0 . -1.D0/3.D0*sw**2)*zp(k,2)/cw) ado(2,k) = -sd*dsqrt(2.D0)*(zp(k,1)*sw/3.D0+(0.5D0 . -1.d0/3.D0*sw**2)*zp(k,2)/cw) bdo(1,k) = sd*dsqrt(2.D0)*sw*(zp(k,2)*tw-zp(k,1))/3.D0 bdo(2,k) = cd*dsqrt(2.D0)*sw*(zp(k,2)*tw-zp(k,1))/3.D0 enddo c Feynman rule: ig*[ ado(1/2,k)*P_R + bdo(1/2,k)*P_L ] c -------------------------------------------------------------------- c c the Higgs-stop1-stop2 couplings c -------------------------------------------------------------------- c bhlt12 = amz*dsin(2.D0*thet)/2.D0/cw*(-0.5D0+4.D0/3.D0*sw**2)* . dsin(alp+bet)-amt*dcos(2.D0*thet)/2.D0/amw/dsin(bet)* . (amu*dsin(alp)+autop*dcos(alp)) bhlt11 = amz/cw*dsin(alp+bet)*(1.D0/2.D0*dcos(thet)**2-2.D0/3.D0* . sw**2*dcos(2.D0*thet))-ytc**2*2.D0*amw*dsin(bet)*dcos(alp) . -ytc/dsqrt(2.D0)*dsin(2.D0*thet)*(autop*dcos(alp)+ . amu*dsin(alp)) bhlt22 = amz/cw*dsin(alp+bet)*(1.D0/2.D0*dsin(thet)**2+2.D0/3.D0* . sw**2*dcos(2.D0*thet))-ytc**2*2.D0*amw*dsin(bet)*dcos(alp) . +ytc/dsqrt(2.D0)*dsin(2.D0*thet)*(autop*dcos(alp)+ . amu*dsin(alp)) bhht12 = -amz*dsin(2.D0*thet)/2.D0/cw*(-0.5D0+4.D0/3.D0*sw**2)* . dcos(alp+bet)-amt*dcos(2.D0*thet)/2.D0/amw/dsin(bet)* . (-amu*dcos(alp)+autop*dsin(alp)) bhht11 = -amz/cw*dcos(alp+bet)*(1.D0/2.D0*dcos(thet)**2-2.D0/3.D0* . sw**2*dcos(2.D0*thet))-ytc**2*2.D0*amw*dsin(alp)*dsin(bet) . -ytc/dsqrt(2.D0)*dsin(2.D0*thet)*(autop*dsin(alp)- . amu*dcos(alp)) bhht22 = -amz/cw*dcos(alp+bet)*(1.D0/2.D0*dsin(thet)**2+2.D0/3.D0* . sw**2*dcos(2.D0*thet))-ytc**2*2.D0*amw*dsin(alp)*dsin(bet) . +ytc/dsqrt(2.D0)*dsin(2.D0*thet)*(autop*dsin(alp)- . amu*dcos(alp)) bat = -amt/2.D0/amw*(autop/tgbet+amu) gltt(1,1) = bhlt11*amw/amz**2 gltt(1,2) = bhlt12*amw/amz**2 gltt(2,1) = gltt(1,2) gltt(2,2) = bhlt22*amw/amz**2 ghtt(1,1) = bhht11*amw/amz**2 ghtt(1,2) = bhht12*amw/amz**2 ghtt(2,1) = ghtt(1,2) ghtt(2,2) = bhht22*amw/amz**2 gatt = bat*amw/amz**2 c Feynman rule: ig*amz**2/amw*gltt and ig*amz**2/amw*ghtt c -g*amz**2/amw*gatt stop1 in stop2 out c +g*amz**2/amw*gatt stop2 in stop1 out c -------------------------------------------------------------------- c c the Higgs-sbottom1-sbottom2 couplings c -------------------------------------------------------------------- c bhlb12 = amz*dsin(2.D0*theb)/2.D0/cw*(0.5D0-2.D0/3.D0*sw**2)* . dsin(alp+bet)+amb*dcos(2.D0*theb)/2.D0/amw/dcos(bet)* . (amu*dcos(alp)+adbot*dsin(alp)) bhlb11 = amz/cw*dsin(alp+bet)*(-1.D0/2.D0*dcos(theb)**2+1.D0/3.D0* . sw**2*dcos(2.D0*theb))+ybc**2*2.D0*amw*dsin(alp)*dcos(bet) . -ybc/dsqrt(2.D0)*dsin(2.D0*theb)*(-adbot*dsin(alp) . -amu*dcos(alp)) bhlb22 = amz/cw*dsin(alp+bet)*(-1.D0/2.D0*dsin(theb)**2-1.D0/3.D0* . sw**2*dcos(2.D0*theb))+ybc**2*2.D0*amw*dsin(alp)*dcos(bet) . +ybc/dsqrt(2.D0)*dsin(2.D0*theb)*(-adbot*dsin(alp) . -amu*dcos(alp)) bhhb12 = -amz*dsin(2.D0*theb)/2.D0/cw*(0.5D0-2.D0/3.D0*sw**2)* . dcos(alp+bet)-amb*dcos(2.D0*theb)/2.D0/amw/dcos(bet)* . (-amu*dsin(alp)+adbot*dcos(alp)) bhhb11 = -amz/cw*dcos(alp+bet)*(-1.D0/2.D0*dcos(theb)**2+ . 1.D0/3.D0*sw**2*dcos(2.D0*theb)) . -ybc**2*2.D0*amw*dcos(alp)*dcos(bet) . -ybc/dsqrt(2.D0)*dsin(2.D0*theb)*(adbot*dcos(alp)- . amu*dsin(alp)) bhhb22 = -amz/cw*dcos(alp+bet)*(-1.D0/2.D0*dsin(theb)**2 . -1.D0/3.D0*sw**2*dcos(2.D0*theb)) . -ybc**2*2.D0*amw*dcos(alp)*dcos(bet) . +ybc/dsqrt(2.D0)*dsin(2.D0*theb)*(adbot*dcos(alp)- . amu*dsin(alp)) bab = -amb/2.D0/amw*(adbot*tgbet+amu) glbb(1,1) = bhlb11*amw/amz**2 glbb(1,2) = bhlb12*amw/amz**2 glbb(2,1) = glbb(1,2) glbb(2,2) = bhlb22*amw/amz**2 ghbb(1,1) = bhhb11*amw/amz**2 ghbb(1,2) = bhhb12*amw/amz**2 ghbb(2,1) = ghbb(1,2) ghbb(2,2) = bhhb22*amw/amz**2 gabb = bab*amw/amz**2 c Feynman rule: ig*amz**2/amw*glbb and ig*amz**2/amw*ghbb c -g*amz**2/amw*gabb sbottom1 in sbottom2 out c +g*amz**2/amw*gabb sbottom2 in sbottom1 out c -------------------------------------------------------------------- c c H+ - stop1/2 - sbottom1/2 couplings c -------------------------------------------------------------------- c s11 = 1.D0/dsqrt(2.D0)/amw*(amb**2*tgbet+amt**2/tgbet-amw**2* . dsin(2.D0*bet)) s12 = amb/dsqrt(2.D0)/amw*(adbot*tgbet+amu) s21 = amt/dsqrt(2.D0)/amw*(autop/tgbet+amu) s22 = 1.D0/dsqrt(2.D0)/amw*amb*amt*(1.D0/tgbet+tgbet) chctb(1,1) = (-ct*cb*s11-st*sb*s22-ct*sb*s12-st*cb*s21) chctb(1,2) = (ct*sb*s11-ct*cb*s12+sb*st*s21-st*cb*s22) chctb(2,1) = (st*cb*s11+st*sb*s12-ct*cb*s21-ct*sb*s22) chctb(2,2) = (-st*sb*s11+st*cb*s12+ct*sb*s21-ct*cb*s22) gctb(1,1) = chctb(1,1)/amw gctb(1,2) = chctb(1,2)/amw gctb(2,1) = chctb(2,1)/amw gctb(2,2) = chctb(2,2)/amw c Feynman rule: -ig*mw*gctb(i,j) c chctb(1,2) is for stop1-sbottom2 c -------------------------------------------------------------------- c c coupling H+-f-f' c -------------------------------------------------------------------- c chctbr = ybc*dsin(bet) chctbl = ytc*dcos(bet) chctaunur = ytauc*dsin(bet) chctaunul = 0.D0 c Feynman rule: ie*(chctbr*pro(+1)+chctbl*pro(-1)) c up-type out, down-type in vchtau = -ytauc/2.D0*dsin(bet) achtau = -vchtau vchtop = -ybc/2.D0*dsin(bet)-ytc/2.D0*dcos(bet) achtop = ybc/2.D0*dsin(bet)-ytc/2.D0*dcos(bet) c Feynman rule (H+ incoming) ig*[-vch+ach*g_5] c Feynman rule (H- incoming) ig*[-vch-ach*g_5] c -------------------------------------------------------------------- c c Z-fermion-antifermion c -------------------------------------------------------------------- c czttl = 0.5D0*(1-4.D0/3.D0*sw**2) czttr = 0.5D0*(-4.D0/3.D0*sw**2) czbbl = 0.5D0*(-1+2.D0/3.D0*sw**2) czbbr = 0.5d0*(2.D0/3.D0*sw**2) cztautaul = 0.5D0*(-1+2.D0*sw**2) cztautaur = 0.5D0*(2.D0*sw**2) cznunul = 0.5D0 cznunur = 0.D0 c Feynman rule -ig*gamma_mu/costheta_W*[czffr*P_R+czffl*P_L] azztoptop = 1.D0/4.D0/cw vzztoptop = (1.D0-8.D0/3.D0*sw**2)/4.D0/cw azzbotbot = -1.D0/4.D0/cw vzzbotbot = (-1.D0+4.D0/3.D0*sw**2)/4.D0/cw azztautau = -1.D0/4.D0/cw vzztautau = (-1.D0+4.D0*sw**2)/4.D0/cw azzneutneut = 1.D0/4.D0/cw vzzneutneut = 1.D0/4.D0/cw c Feynman rule: -i*g*g_mu*(vzz*1-azz*g_5) c -------------------------------------------------------------------- c c W fermion fermion coupling c -------------------------------------------------------------------- c vwff = 1/2.D0/dsqrt(2.D0) awff = vwff c Feynman rule: -i*g*g_mu*(vwff*1-vwff*g_5) c -------------------------------------------------------------------- c c Z-stop_i-stop_j coupling c -------------------------------------------------------------------- c aztt11 = ct**2-4.D0/3.D0*sw**2 aztt12 = -st*ct aztt21 = -st*ct aztt22 = st**2-4.D0/3.D0*sw**2 gztt(1,1) = aztt11 gztt(1,2) = aztt12 gztt(2,1) = aztt21 gztt(2,2) = aztt22 c Feynman rule: -ig*/2/cos_thetaW*gztt(i,j)*[p1(mu)+p2(mu)] c p1(mu) incoming, p2(mu) outgoing c -------------------------------------------------------------------- c c Z-sbottom_i-sbottom_j coupling c -------------------------------------------------------------------- c azbb11 = -cb**2+2.D0/3.D0*sw**2 azbb12 = sb*cb azbb21 = sb*cb azbb22 = -sb**2+2.D0/3.D0*sw**2 gzbb(1,1) = azbb11 gzbb(1,2) = azbb12 gzbb(2,1) = azbb21 gzbb(2,2) = azbb22 c Feynman rule: -ig*/2/cos_thetaW*gzbb(i,j)*[p1(mu)+p2(mu)] c -------------------------------------------------------------------- c c Z-stau_i-stau_j coupling c -------------------------------------------------------------------- c aztautau11 = -cl**2+2.D0*sw**2 aztautau12 = sl*cl aztautau21 = sl*cl aztautau22 = -sl**2+2.D0*sw**2 gztautau(1,1) = aztautau11 gztautau(1,2) = aztautau12 gztautau(2,1) = aztautau21 gztautau(2,2) = aztautau22 c Feynman rule: -ig*/2/cos_thetaW*gztautau(i,j)*[p1(mu)+p2(mu)] c -------------------------------------------------------------------- c c W-stop_i-sbottom_j coupling c -------------------------------------------------------------------- c gwtb(1,1) = cb*ct gwtb(1,2) = -(sb*ct) gwtb(2,1) = -(cb*st) gwtb(2,2) = sb*st c Feynman rule: -ig/dsqrt(2)*gwtb(i,j)*[p1(mu)+p2(mu)] c gwtb(1,2) corresponds to W-stop1-sbottom2 c i with p1(mu) in, j with p2(mu) out c -------------------------------------------------------------------- c c W-sneutrino_taui-stau_j coupling c -------------------------------------------------------------------- c cn = 1.D0 sn = 0.D0 gwntau(1,1) = cl*cn gwntau(1,2) = -(sl*cn) gwntau(2,1) = -(cl*sn) gwntau(2,2) = sl*sn c Feynman rule: -ig/dsqrt(2)*gwntau(i,j)*[p1(mu)+p2(mu)] c gwntau(1,2) corresponds to W-sneutrino_tau1-stau2 c i with p1(mu) in, j with p2(mu) out c -------------------------------------------------------------------- c c gluino-up-sup couplings c -------------------------------------------------------------------- c gur(1) = su gur(2) = cu gul(1) = -cu gul(2) = su c Feynman rule: ig_s*t_ij*sqrt(2)*[gur(i)*P_L+gul(i)*P_R] c incoming gluino, outgoing quark c -------------------------------------------------------------------- c c gluino-down-sdown couplings c -------------------------------------------------------------------- c gdr(1) = sd gdr(2) = cd gdl(1) = -cd gdl(2) = sd c Feynman rule: ig_s*t_ij*sqrt(2)*[gdr(i)*P_L+gdl(i)*P_R] c incoming gluino, outgoing quark c -------------------------------------------------------------------- c c gluino-top-stop couplings c -------------------------------------------------------------------- c gtr(1) = st gtr(2) = ct gtl(1) = -ct gtl(2) = st c Feynman rule: ig_s*t_ij*sqrt(2)*[gtr(i)*P_L+gtl(i)*P_R] c incoming gluino, outgoing quark c -------------------------------------------------------------------- c c the gluino-bottom-sbottom couplings c -------------------------------------------------------------------- c gbr(1) = sb gbr(2) = cb gbl(1) = -cb gbl(2) = sb c Feynman rule: ig_s*t_ij*sqrt(2)*[gbr(i)*P_L+gbl(i)*P_R] c incoming gluino, outgoing quark end c -------------------------------------------------------------------- c c --------------------- scale dependent couplings -------------------- c c -------------------------------------------------------------------- c double precision function SD_alphascall(scale,loopnum) implicit double precision (a-h,m,o-z) COMMON/SD_fermion/amt0,amb0,amtau0 COMMON/SD_als/xlambda,amc,amb,amt,n0 COMMON/SD_strangecharm/sams,amc0 COMMON/SD_scheme/idrbar COMMON/SD_coupewsb/alsew,g2ew,g1ew COMMON/SD_refscale/amuref COMMON/SD_alspar/iparals COMMON/SD_outparam/salpha_MS,alphasmzms COMMON/SD_mwmzpole/amwp,amzp external SD_alphas pi = 4.D0*datan(1.D0) amc = amc0 amb = amb0 amt = amt0 if(iparals.eq.0) then alsewsb_drbar = alsew amewsb = amuref if(idrbar.eq.1) then alsewsb = alsewsb_drbar else alsewsb_msbar = alsewsb_drbar / (1+alsewsb_drbar/4/pi) alsewsb = alsewsb_msbar endif elseif(iparals.eq.1) then alsewsb_drbar = alphasmzms/(1.D0-alphasmzms/4.D0/pi) amewsb = amzp if(idrbar.eq.1) then alsewsb = alsewsb_drbar else alsewsb_msbar = alphasmzms alsewsb = alsewsb_msbar endif endif if(amewsb.ge.amt0) then n0 = 6 else n0 = 5 endif acc = 1.d-10 loop = loopnum xlambda = SD_xitla(amewsb,n0,loop,alsewsb,acc) call SD_alsini(acc) SD_alphascall = SD_alphas(scale,loop) end c -------------------------------------------------------------------- c subroutine SD_runmass(amdec,amfin,xval,runmb,runmt) implicit double precision (a-h,m,o-z) COMMON/SD_qcdflag/idrflagsd COMMON/SD_fermion/amt0,amb0,amtau0 COMMON/SD_strangecharm/amsb,amc0 COMMON/SD_als/xlambda,amc,amb,amt,n0 COMMON/SD_runcoupscale/scalechoice,scaleofcoupling,inumloop COMMON/SD_scheme/idrbar COMMON/SD_coupewsb/alsew,g2ew,g1ew COMMON/SD_refscale/amuref pi = 4.D0*datan(1.D0) amc = amc0 amb = amb0 amt = amt0 idrflagsd = idrbar alsewsb_drbar = alsew amewsb = amuref if(idrbar.eq.1) then alsewsb = alsewsb_drbar else alsewsb_msbar = alsewsb_drbar / (1+alsewsb_drbar/4/pi) alsewsb = alsewsb_msbar endif if(amewsb.ge.amt0) then n0 = 6 else n0 = 5 endif acc = 1.d-10 loop = inumloop xlambda = SD_xitla(amewsb,n0,loop,alsewsb,acc) call SD_alsini(acc) qsc = dsqrt(amdec**2*(1.D0-xval+amfin**2/amdec**2)) runmb = SD_runm(qsc,5) runmt = SD_runm(qsc,6) end c -------------------------------------------------------------------- c c The following routines and functions SD_xitla, SD_runm, SD_alphas, c c SD_alsini, SD_xiter are taken from HDECAY c c The function SD_runm has been changed in order to enable the c c calculation of mbpole from mb(mb)_MSbar c c -------------------------------------------------------------------- c double precision function SD_xitla(q,nf,no,alp,acc) c--iteration routine to determine improved lambda's implicit double precision (a-h,o-z) b0(nf)=33.d0-2.d0*nf b1(nf)=6.d0*(153.d0-19.d0*nf)/b0(nf)**2 als2(nf,x,xlb)=12.d0*pi/(b0(nf)*dlog(x**2/xlb**2)) . *(1.d0-b1(nf)*dlog(dlog(x**2/xlb**2)) . /dlog(x**2/xlb**2)) aa(nf)=12d0*pi/b0(nf) bb(nf)=b1(nf)/aa(nf) xit(a,b,x)=a/2.d0*(1d0+dsqrt(1d0-4d0*b*dlog(x))) pi=4.d0*datan(1.d0) C nf=5 xlb=q*dexp(-aa(nf)/alp/2.d0) if(no.eq.1)goto 111 ii=0 1 ii=ii+1 x=dlog(q**2/xlb**2) a=aa(nf)/alp b=bb(nf)*alp xx=xit(a,b,x) xlb=q*dexp(-xx/2.d0) y1=alp y2=als2(nf,q,xlb) dy=dabs(y2-y1)/y1 if(dy.ge.acc) goto 1 111 SD_xitla=xlb return end c -------------------------------------------------------------------- c double precision function SD_runm(q,nf) implicit double precision (a-h,m,o-z) parameter (nn=6) parameter (zeta3 = 1.202056903159594d0) dimension am(nn),ymsb(nn) COMMON/SD_als/xlambda,amca,amba,amta,n0a COMMON/SD_fermion/amt,amb,amtau COMMON/SD_strangecharm/amsb,amc COMMON/SD_qcdflag/idrflag c maggie added 04/01/04 COMMON/SD_mbmb/sd_mbmb,i_sd_mbmb COMMON/SD_mbpoleflag/idrmbpole c end maggie added 04/01/04 save istrange b0(nf)=(33.d0-2.d0*nf)/12d0 b1(nf) = (102d0-38d0/3d0*nf)/16d0 b2(nf) = (2857d0/2d0-5033d0/18d0*nf+325d0/54d0*nf**2)/64d0 g0(nf) = 1d0 g1(nf) = (202d0/3d0-20d0/9d0*nf)/16d0 g2(nf) = (1249d0-(2216d0/27d0+160d0/3d0*zeta3)*nf . - 140d0/81d0*nf**2)/64d0 c1(nf) = g1(nf)/b0(nf) - b1(nf)*g0(nf)/b0(nf)**2 c2(nf) = ((g1(nf)/b0(nf) - b1(nf)*g0(nf)/b0(nf)**2)**2 . + g2(nf)/b0(nf) + b1(nf)**2*g0(nf)/b0(nf)**3 . - b1(nf)*g1(nf)/b0(nf)**2 - b2(nf)*g0(nf)/b0(nf)**2)/2d0 C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> C c1(nf) = 1.175D0 C c2(nf) = 1.501D0 C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> c maggie question 04/01/04: Can I add the coeff3? tran(x,xk)=1d0+coeff1*SD_alphas(x,2)/pi . +xk*(SD_alphas(x,2)/pi)**2 . +coeff3*(SD_alphas(x,2)/pi)**3 cq(x,nf)=(2d0*b0(nf)*x)**(g0(nf)/b0(nf)) . *(1d0+c1(nf)*x+c2(nf)*x**2) data istrange/0/ pi=4d0*datan(1d0) acc = 1.d-8 c maggie added 04/01/04 if(i_sd_mbmb.eq.0) then idr = idrmbpole else idr = idrflag endif c end maggie added 04/01/04 if(idr.ne.1) then coeff1 = 4D0/3D0 else coeff1 = 5D0/3D0 endif coeff3=101.45424d0 c coeff3 = 0.D0 am(1) = 0 am(2) = 0 c -------------------------------------------- c nnlo = 1 imsbar = 0 if(imsbar.eq.1)then if(istrange.eq.0)then c -- strange pole mass from msbar-mass at 1 GeV amsd = xlambda amsu = 1.d8 123 ams = (amsu+amsd)/2 am(3) = ams xmsb = ams/cq(SD_alphas(ams,2)/pi,3) . *cq(SD_alphas(1.d0,2)/pi,3)/tran(ams,0d0) dd = (xmsb-amsb)/amsb if(dabs(dd).ge.acc)then if(dd.le.0.d0)then amsd = am(3) else amsu = am(3) endif goto 123 endif istrange=1 endif am(3) = amsb else ams=amsb am(3) = ams endif c--------------------------------------------------------------------- c c-!! modifs jlk: to determine (perturbatively, at an order consistent c with the pert. level used in RUNM) Mb(pole) from mb(mb)_MSbar input: c mbmb= mb(mb)_MSbar ; MPpole determined iteratively to acc. d-8 if(i_sd_mbmb.eq.0) then c i_sd_mbmb is just a counter because this calculation is only needed c once do i=1,20 if(i.eq.1) then mbsave=0.d0 MBpole=sd_mbmb endif xkb= 16.11d0 -1.04d0*(4.d0-(amsb+amc)/MBpole) if(i.ge.3) then amba=mbpole call SD_alsini(1.d-8) endif mbMBpole=sd_mbmb* . CQ(SD_alphas(MBpole,2)/pi,4) . /CQ(SD_alphas(sd_mbmb,2)/pi,4) c mbMPpole is mb(MBpole) MBpole= mbMBpole*tran(MBpole,xkb) c tran(Q,xk) is the usual pert. relation between Mpole and mrun(Mpole), c see its def. above if(dabs(1.d0-mbsave/MBpole).lt.1.d-8) goto 2 mbsave=MBpole enddo 2 AMB=MBpole c write(*,*)'last iter, mbpole: ',i,mbpole i_sd_mbmb=1 endif c rest of calculation follows as before: c--------------------------------------------------------------------- c am(3) = amsb am(4) = amc am(5) = amb am(6) = amt xk = 16.11d0 do 1 i=1,nf-1 xk = xk - 1.04d0*(1.d0-am(i)/am(nf)) 1 continue if(nf.ge.4)then xmsb = am(nf)/tran(am(nf),0d0) xmhat = xmsb/cq(SD_alphas(am(nf),2)/pi,nf) else xmsb = 0 xmhat = 0 endif ymsb(3) = amsb if(nf.eq.3)then ymsb(4) = ymsb(3)*cq(SD_alphas(am(4),2)/pi,3)/ . cq(SD_alphas(1.d0,2)/pi,3) ymsb(5) = ymsb(4)*cq(SD_alphas(am(5),2)/pi,4)/ . cq(SD_alphas(am(4),2)/pi,4) ymsb(6) = ymsb(5)*cq(SD_alphas(am(6),2)/pi,5)/ . cq(SD_alphas(am(5),2)/pi,5) elseif(nf.eq.4)then ymsb(4) = xmsb ymsb(5) = ymsb(4)*cq(SD_alphas(am(5),2)/pi,4)/ . cq(SD_alphas(am(4),2)/pi,4) ymsb(6) = ymsb(5)*cq(SD_alphas(am(6),2)/pi,5)/ . cq(SD_alphas(am(5),2)/pi,5) elseif(nf.eq.5)then ymsb(5) = xmsb ymsb(4) = ymsb(5)*cq(SD_alphas(am(4),2)/pi,4)/ . cq(SD_alphas(am(5),2)/pi,4) ymsb(6) = ymsb(5)*cq(SD_alphas(am(6),2)/pi,5)/ . cq(SD_alphas(am(5),2)/pi,5) elseif(nf.eq.6)then ymsb(6) = xmsb ymsb(5) = ymsb(6)*cq(SD_alphas(am(5),2)/pi,5)/ . cq(SD_alphas(am(6),2)/pi,5) ymsb(4) = ymsb(5)*cq(SD_alphas(am(4),2)/pi,4)/ . cq(SD_alphas(am(5),2)/pi,4) endif if(q.lt.amc)then n0=3 q0 = 1.d0 elseif(q.le.amb)then n0=4 q0 = amc elseif(q.le.amt)then n0=5 q0 = amb else n0=6 q0 = amt endif if(nnlo.eq.1.and.nf.gt.3)then xkfac = tran(am(nf),0d0)/tran(am(nf),xk) else xkfac = 1d0 endif SD_runm = ymsb(n0)*cq(SD_alphas(q,2)/pi,n0)/ . cq(SD_alphas(q0,2)/pi,n0) . * xkfac return end c -------------------------------------------------------------------- c double precision function SD_alphas(q,n) implicit double precision (a-h,o-z) dimension xlb(6) COMMON/SD_alslam/xlb1(6),xlb2(6) COMMON/SD_als/xlambda,amc,amb,amt,n0 b0(nf)=33.d0-2.d0*nf b1(nf)=6.d0*(153.d0-19.d0*nf)/b0(nf)**2 als1(nf,x)=12.d0*pi/(b0(nf)*dlog(x**2/xlb(nf)**2)) als2(nf,x)=12.d0*pi/(b0(nf)*dlog(x**2/xlb(nf)**2)) . *(1.d0-b1(nf)*dlog(dlog(x**2/xlb(nf)**2)) . /dlog(x**2/xlb(nf)**2)) pi=4.d0*datan(1.d0) if(n.eq.1)then do 1 i=1,6 xlb(i)=xlb1(i) 1 continue else do 2 i=1,6 xlb(i)=xlb2(i) 2 continue endif if(q.lt.amc)then nf=3 elseif(q.le.amb)then nf=4 elseif(q.le.amt)then nf=5 else nf=6 endif if(n.eq.1)then SD_alphas=als1(nf,q) else SD_alphas=als2(nf,q) endif return end c -------------------------------------------------------------------- c subroutine SD_alsini(acc) implicit double precision (a-h,o-z) dimension xlb(6) COMMON/SD_alslam/xlb1(6),xlb2(6) COMMON/SD_als/xlambda,amc,amb,amt,n0 xlb1(1)=0d0 xlb1(2)=0d0 xlb2(1)=0d0 xlb2(2)=0d0 if(n0.eq.3)then xlb(3)=xlambda xlb(4)=xlb(3)*(xlb(3)/amc)**(2.d0/25.d0) xlb(5)=xlb(4)*(xlb(4)/amb)**(2.d0/23.d0) xlb(6)=xlb(5)*(xlb(5)/amt)**(2.d0/21.d0) elseif(n0.eq.4)then xlb(4)=xlambda xlb(5)=xlb(4)*(xlb(4)/amb)**(2.d0/23.d0) xlb(3)=xlb(4)*(xlb(4)/amc)**(-2.d0/27.d0) xlb(6)=xlb(5)*(xlb(5)/amt)**(2.d0/21.d0) elseif(n0.eq.5)then xlb(5)=xlambda xlb(4)=xlb(5)*(xlb(5)/amb)**(-2.d0/25.d0) xlb(3)=xlb(4)*(xlb(4)/amc)**(-2.d0/27.d0) xlb(6)=xlb(5)*(xlb(5)/amt)**(2.d0/21.d0) elseif(n0.eq.6)then xlb(6)=xlambda xlb(5)=xlb(6)*(xlb(6)/amt)**(-2.d0/23.d0) xlb(4)=xlb(5)*(xlb(5)/amb)**(-2.d0/25.d0) xlb(3)=xlb(4)*(xlb(4)/amc)**(-2.d0/27.d0) endif do 1 i=1,6 xlb1(i)=xlb(i) 1 continue if(n0.eq.3)then xlb(3)=xlambda xlb(4)=xlb(3)*(xlb(3)/amc)**(2.d0/25.d0) . *(2.d0*dlog(amc/xlb(3)))**(-107.d0/1875.d0) xlb(4)=SD_xiter(amc,xlb(3),3,xlb(4),4,acc) xlb(5)=xlb(4)*(xlb(4)/amb)**(2.d0/23.d0) . *(2.d0*dlog(amb/xlb(4)))**(-963.d0/13225.d0) xlb(5)=SD_xiter(amb,xlb(4),4,xlb(5),5,acc) xlb(6)=xlb(5)*(xlb(5)/amt)**(2.d0/21.d0) . *(2.d0*dlog(amt/xlb(5)))**(-321.d0/3381.d0) xlb(6)=SD_xiter(amt,xlb(5),5,xlb(6),6,acc) elseif(n0.eq.4)then xlb(4)=xlambda xlb(5)=xlb(4)*(xlb(4)/amb)**(2.d0/23.d0) . *(2.d0*dlog(amb/xlb(4)))**(-963.d0/13225.d0) xlb(5)=SD_xiter(amb,xlb(4),4,xlb(5),5,acc) xlb(3)=xlb(4)*(xlb(4)/amc)**(-2.d0/27.d0) . *(2.d0*dlog(amc/xlb(4)))**(107.d0/2025.d0) xlb(3)=SD_xiter(amc,xlb(4),4,xlb(3),3,acc) xlb(6)=xlb(5)*(xlb(5)/amt)**(2.d0/21.d0) . *(2.d0*dlog(amt/xlb(5)))**(-321.d0/3381.d0) xlb(6)=SD_xiter(amt,xlb(5),5,xlb(6),6,acc) elseif(n0.eq.5)then xlb(5)=xlambda xlb(4)=xlb(5)*(xlb(5)/amb)**(-2.d0/25.d0) . *(2.d0*dlog(amb/xlb(5)))**(963.d0/14375.d0) xlb(4)=SD_xiter(amb,xlb(5),5,xlb(4),4,acc) xlb(3)=xlb(4)*(xlb(4)/amc)**(-2.d0/27.d0) . *(2.d0*dlog(amc/xlb(4)))**(107.d0/2025.d0) xlb(3)=SD_xiter(amc,xlb(4),4,xlb(3),3,acc) xlb(6)=xlb(5)*(xlb(5)/amt)**(2.d0/21.d0) . *(2.d0*dlog(amt/xlb(5)))**(-321.d0/3381.d0) xlb(6)=SD_xiter(amt,xlb(5),5,xlb(6),6,acc) elseif(n0.eq.6)then xlb(6)=xlambda xlb(5)=xlb(6)*(xlb(6)/amt)**(-2.d0/23.d0) . *(2.d0*dlog(amt/xlb(6)))**(321.d0/3703.d0) xlb(5)=SD_xiter(amt,xlb(6),6,xlb(5),5,acc) xlb(4)=xlb(5)*(xlb(5)/amb)**(-2.d0/25.d0) . *(2.d0*dlog(amb/xlb(5)))**(963.d0/14375.d0) xlb(4)=SD_xiter(amb,xlb(5),5,xlb(4),4,acc) xlb(3)=xlb(4)*(xlb(4)/amc)**(-2.d0/27.d0) . *(2.d0*dlog(amc/xlb(4)))**(107.d0/2025.d0) xlb(3)=SD_xiter(amc,xlb(4),4,xlb(3),3,acc) endif do 2 i=1,6 xlb2(i)=xlb(i) 2 continue return end c -------------------------------------------------------------------- c double precision function SD_xiter(q,xlb1,nf1,xlb,nf2,acc) implicit double precision (a-h,o-z) b0(nf)=33.d0-2.d0*nf b1(nf)=6.d0*(153.d0-19.d0*nf)/b0(nf)**2 als2(nf,x,xlb)=12.d0*pi/(b0(nf)*dlog(x**2/xlb**2)) . *(1.d0-b1(nf)*dlog(dlog(x**2/xlb**2)) . /dlog(x**2/xlb**2)) aa(nf)=12d0*pi/b0(nf) bb(nf)=b1(nf)/aa(nf) xit(a,b,x)=a/2.d0*(1d0+dsqrt(1d0-4d0*b*dlog(x))) pi=4.d0*datan(1.d0) xlb2=xlb ii=0 1 ii=ii+1 x=dlog(q**2/xlb2**2) alp=als2(nf1,q,xlb1) a=aa(nf2)/alp b=bb(nf2)*alp xx=xit(a,b,x) xlb2=q*dexp(-xx/2.d0) y1=als2(nf1,q,xlb1) y2=als2(nf2,q,xlb2) dy=dabs(y2-y1)/y1 if(dy.ge.acc) goto 1 SD_xiter=xlb2 return end c -------------------------------------------------------------------- c double precision function SD_yuk(i,q) implicit double precision (a-h,o-z) COMMON/SD_param/sdgf,amz,amw,pi,g2 COMMON/SD_mixang/alp_mssm,tanbeta bet=datan(tanbeta) if(i.eq.1) then SD_yuk = q/(dsqrt(2.D0)*amw*dsin(bet)) elseif(i.eq.2) then SD_yuk = q/(dsqrt(2.D0)*amw*dcos(bet)) endif return end c -------------------------------------------------------------------- c c The H+-topbar-bottom coupling c c -------------------------------------------------------------------- c c Feynman rule: ig*(-vchtopr+achtopr*g5) c top out, bottom in subroutine SD_hctopbbot(vchtopr,achtopr) implicit double precision (a-h,m,o-z) COMMON/SD_mixang/alp_mssm,tanbeta COMMON/SD_scala/scalb,scalt bet=datan(tanbeta) cb = dcos(bet) sb = dsin(bet) vchtopr = -scalb/2.D0*sb-scalt/2.D0*cb achtopr = scalb/2.D0*sb-scalt/2.D0*cb end c -------------------------------------------------------------------- c c The H+-topbar-bottom coupling c c -------------------------------------------------------------------- c c Feynman rule: ie/sw*(chtbrunr*pro(+1)+chtbrunl*pro(-1)) c up out, down in subroutine SD_higgschudb(chtbrunr,chtbrunl) implicit double precision (a-h,o-z) COMMON/SD_mixang/alp_mssm,tanbeta COMMON/SD_scala/scalb,scalt bet=datan(tanbeta) cb = dcos(bet) sb = dsin(bet) chtbrunr = scalb*sb chtbrunl = scalt*cb end c -------------------------------------------------------------------- c c The h/H/A-top-topbar couplings c c -------------------------------------------------------------------- c subroutine SD_phitoptop(hlttr,hhttr,hattr) implicit double precision (a-h,m,o-z) COMMON/SD_mixang/a,tanbeta COMMON/SD_scala/scalb,scalt bet=datan(tanbeta) hlttr = scalt*dcos(a) hhttr = scalt*dsin(a) hattr = -scalt*dcos(bet) end c -------------------------------------------------------------------- c c The h/H/A-b-bbar couplings c c -------------------------------------------------------------------- c subroutine SD_phibotbot(hlbbr,hhbbr,habbr) implicit double precision (a-h,o-z) COMMON/SD_mixang/a,tanbeta COMMON/SD_scala/scalb,scalt bet=datan(tanbeta) hlbbr = scalb*(-dsin(a)) hhbbr = scalb*dcos(a) habbr = -scalb*dsin(bet) end c -------------------------------------------------------------------- c c the chargino_k-sbottom1/2-top couplings c c -------------------------------------------------------------------- c c Feynman rule: ig*[alsbot(1/2,k)*P_R+aksbot(1/2,k)*P_L] c outgoing chargino+, outgoing top-quark subroutine SD_charsbottop(alsbot,aksbot) implicit double precision (a-h,m,o-z) dimension alsbot(2,2),aksbot(2,2) dimension u(2,2),v(2,2),z(4,4),zp(4,4) COMMON/SD_mixmat/u,v,z,zp COMMON/SD_scala/scalb,scalt COMMON/SD_sfmixang/thet,theb,thel,cu,su,cd,sd,ce,se cb = dcos(theb) sb = dsin(theb) do k=1,2 alsbot(1,k)=-cb*U(k,1)+sb*scalb*U(k,2) alsbot(2,k)= sb*U(k,1)+cb*scalb*U(k,2) aksbot(1,k)=cb*scalt*V(k,2) aksbot(2,k)= -sb*scalt*V(k,2) enddo end c -------------------------------------------------------------------- c c the chargino_k-stop1/2-bottom couplings c c -------------------------------------------------------------------- c c Feynman rule: ig*[alstor(1/2,k)*P_R+akstor(1/2,k)*P_L] c outgoing chargino+, outgoing bottom-quark subroutine SD_charstopbot(alstor,akstor) implicit double precision (a-h,m,o-z) dimension alstor(2,2),akstor(2,2) dimension u(2,2),v(2,2),z(4,4),zp(4,4) COMMON/SD_mixmat/u,v,z,zp COMMON/SD_scala/scalb,scalt COMMON/SD_sfmixang/thet,theb,thel,cu,su,cd,sd,ce,se ct = dcos(thet) st = dsin(thet) do k=1,2 alstor(1,k)=-ct*V(k,1)+st*scalt*V(k,2) alstor(2,k)= st*V(k,1)+ct*scalt*V(k,2) akstor(1,k)=ct*scalb*U(k,2) akstor(2,k)= -st*scalb*U(k,2) enddo end c -------------------------------------------------------------------- c c neutralino_k-sbottom1/2-bottom couplings c c -------------------------------------------------------------------- c c Feynman rule: ig*[ abot(1/2,k)*P_R + bbot(1/2,k)*P_L ] subroutine SD_neutsbotbot(abot,bbot) implicit double precision (a-h,m,o-z) dimension abot(2,4),bbot(2,4) dimension u(2,2),v(2,2),z(4,4),zp(4,4) COMMON/SD_mixmat/u,v,z,zp COMMON/SD_scala/scalb,scalt COMMON/SD_sfmixang/thet,theb,thel,cu,su,cd,sd,ce,se COMMON/SD_weinberg/sw,cw cb = dcos(theb) sb = dsin(theb) tw = sw/cw do k=1,4 abot(1,k)=cb*dsqrt(2.d0)*(zp(k,1)*sw/3.d0+(0.5d0 . -1.d0/3.d0*sw**2)*zp(k,2)/cw)-sb*scalb*z(k,3) abot(2,k)=-sb*dsqrt(2.d0)*(zp(k,1)*sw/3.d0+(0.5d0 . -1.d0/3.d0*sw**2)*zp(k,2)/cw)-cb*scalb*z(k,3) bbot(1,k)=sb*dsqrt(2.d0)*sw*(zp(k,2)*tw-zp(k,1))/3.d0 . -cb*scalb*z(k,3) bbot(2,k)=cb*dsqrt(2.d0)*sw*(zp(k,2)*tw-zp(k,1))/3.d0 . +sb*scalb*z(k,3) enddo end c -------------------------------------------------------------------- c c neutralino_k-stop1/2-top couplings c c -------------------------------------------------------------------- c c Feynman rule: ig*[ atopr(1/2,k)*P_R + btopr(1/2,k)*P_L ] subroutine SD_neutstoptop(atopr,btopr) implicit double precision (a-h,o-z) dimension atopr(2,4),btopr(2,4) dimension u(2,2),v(2,2),z(4,4),zp(4,4) COMMON/SD_mixmat/u,v,z,zp COMMON/SD_scala/scalb,scalt COMMON/SD_sfmixang/thet,theb,thel,cu,su,cd,sd,ce,se COMMON/SD_weinberg/sw,cw ct = dcos(thet) st = dsin(thet) tw = sw/cw do k=1,4 atopr(1,k)=ct*dsqrt(2.d0)*(-2.d0*zp(k,1)*sw/3.d0 . +(-0.5d0+2.d0/3.d0*sw**2)*zp(k,2)/cw)-st*scalt*z(k,4) atopr(2,k)=-st*dsqrt(2.d0)*(-2.d0*zp(k,1)*sw/3.d0+(-0.5d0 . +2.d0/3.d0*sw**2)*zp(k,2)/cw)-ct*scalt*z(k,4) btopr(1,k)=-2.d0*st*dsqrt(2.d0)*sw*(zp(k,2)*tw-zp(k,1))/3.d0 . -ct*scalt*z(k,4) btopr(2,k)=-2.d0*ct*dsqrt(2.d0)*sw*(zp(k,2)*tw-zp(k,1))/3.d0 . +st*scalt*z(k,4) enddo end c -------------------------------------------------------------------- c c H+ - sneutrino_tau1/2 - stau1/2 couplings c c -------------------------------------------------------------------- c c Feynman rule: -ig*mw*gcsntaur(i,j) c chcsntau(1,2) is for sneutrino_tau1-stau2 subroutine SD_hcstausntau(gcsntaur) implicit double precision (a-h,o-z) dimension chcsntau(2,2),gcsntaur(2,2) COMMON/SD_param/gf,amz,amw,pi,g2 COMMON/SD_break/au,ad,al,amu COMMON/SD_mixang/alp_mssm,tanbeta COMMON/SD_sfmixang/thet,theb,thel,cum,sum,cdm,sdm,cem,sem COMMON/SD_scalatau/scaltau cl = dcos(thel) sl = dsin(thel) cn = 1.D0 sn = 0.D0 b = datan(tanbeta) tgbet = tanbeta s11 = 1.d0/dsqrt(2.d0)*amw*(scaltau**2-1.D0)*dsin(2.d0*b) s12 = scaltau*dcos(b)*(al*tgbet+amu) s21 = 0.D0 s22 = 0.D0 chcsntau(1,1)=(-cn*cl*s11-sn*sl*s22-cn*sl*s12-sn*cl*s21) chcsntau(1,2)=(cn*sl*s11-cn*cl*s12+sl*sn*s21-sn*cl*s22) chcsntau(2,1)=(sn*cl*s11+sn*sl*s12-cn*cl*s21-cn*sl*s22) chcsntau(2,2)=(-sn*sl*s11+sn*cl*s12+cn*sl*s21-cn*cl*s22) gcsntaur(1,1)=chcsntau(1,1)/amw gcsntaur(1,2)=chcsntau(1,2)/amw gcsntaur(2,1)=chcsntau(2,1)/amw gcsntaur(2,2)=chcsntau(2,2)/amw end c -------------------------------------------------------------------- c c H+ - stop1/2 - sbottom1/2 couplings c c -------------------------------------------------------------------- c c Feynman rule: -ig*mw*gctbr(i,j) c gctbr(1,2) is for stop1-sbottom2 subroutine SD_hcsbotstop(gctbr) implicit double precision (a-h,o-z) dimension chctb(2,2),gctbr(2,2) COMMON/SD_param/gf,amz,amw,pi,g2 COMMON/SD_break/au,ad,al,amu COMMON/SD_mixang/alp_mssm,tanbeta COMMON/SD_sfmixang/thet,theb,thel,cum,sum,cdm,sdm,cem,sem COMMON/SD_scala/scalb,scalt cb = dcos(theb) sb = dsin(theb) ct = dcos(thet) st = dsin(thet) b = datan(tanbeta) tgbet = tanbeta s11 = 1.d0/dsqrt(2.d0)*amw*(scalb**2+scalt**2-1.D0)*dsin(2.d0*b) s12 = scalb*dcos(b)*(ad*tgbet+amu) s21 = scalt*dsin(b)*(au/tgbet+amu) s22 = dsqrt(2.d0)*amw*scalb*scalt chctb(1,1)=(-ct*cb*s11-st*sb*s22-ct*sb*s12-st*cb*s21) chctb(1,2)=(ct*sb*s11-ct*cb*s12+sb*st*s21-st*cb*s22) chctb(2,1)=(st*cb*s11+st*sb*s12-ct*cb*s21-ct*sb*s22) chctb(2,2)=(-st*sb*s11+st*cb*s12+ct*sb*s21-ct*cb*s22) gctbr(1,1)=chctb(1,1)/amw gctbr(1,2)=chctb(1,2)/amw gctbr(2,1)=chctb(2,1)/amw gctbr(2,2)=chctb(2,2)/amw end c -------------------------------------------------------------------- c c the stau1-stau2-Higgs couplings c c -------------------------------------------------------------------- c c Feynman rule: ig*amz**2/amw*gltautaur and ig*amz**2/amw*ghtautaur c -g*amz**2/amw*gatautaur: stau1 in stau2 out c +g*amz**2/amw*gatautaur: stau2 in stau1 out subroutine SD_higgsstau1stau2(gltautaur,ghtautaur,gatautaur) implicit double precision (a-h,o-z) dimension gltautaur(2,2),ghtautaur(2,2) COMMON/SD_param/gf,amz,amw,pi,g2 COMMON/SD_break/au,ad,al,amu COMMON/SD_mixang/a,tanbeta COMMON/SD_sfmixang/thet,theb,thel,cum,sum,cdm,sdm,cem,sem COMMON/SD_scalatau/scaltau COMMON/SD_weinberg/sw,cw b = datan(tanbeta) tgbet = dtan(b) bhltau12 = amz*dsin(2.D0*thel)/2.D0/cw*(0.5D0-2.D0*sw**2)* . dsin(a+b)+scaltau/dsqrt(2.D0)*dcos(2.D0*thel)* . (amu*dcos(a)+al*dsin(a)) bhltau11 = amz/cw*dsin(a+b)*(-1.D0/2.D0*dcos(thel)**2+1.D0* . sw**2*dcos(2.D0*thel)) . +scaltau**2*2.D0*amw*dsin(a)*dcos(b) . -scaltau/dsqrt(2.D0)*dsin(2.D0*thel)*(-al*dsin(a) . -amu*dcos(a)) bhltau22 = amz/cw*dsin(a+b)*(-1.D0/2.D0*dsin(thel)**2-1.D0* . sw**2*dcos(2.D0*thel)) . +scaltau**2*2.D0*amw*dsin(a)*dcos(b) . +scaltau/dsqrt(2.D0)*dsin(2.D0*thel)*(-al*dsin(a) . -amu*dcos(a)) bhhtau12 = -amz*dsin(2.D0*thel)/2.D0/cw*(0.5D0-2.d0*sw**2)* . dcos(a+b)-scaltau/dsqrt(2.D0)*dcos(2.D0*thel)* . (-amu*dsin(a)+al*dcos(a)) bhhtau11 = -amz/cw*dcos(a+b)*(-1.D0/2.D0*dcos(thel)**2+1.D0* . sw**2*dcos(2.D0*thel)) . -scaltau**2*2.D0*amw*dcos(a)*dcos(b) . -scaltau/dsqrt(2.D0)*dsin(2.D0*thel)*(al*dcos(a)- . amu*dsin(a)) bhhtau22 = -amz/cw*dcos(a+b)*(-1.D0/2.D0*dsin(thel)**2-1.D0* . sw**2*dcos(2.D0*thel)) . -scaltau**2*2.D0*amw*dcos(a)*dcos(b) . +scaltau/dsqrt(2.D0)*dsin(2.D0*thel)*(al*dcos(a)- . amu*dsin(a)) batau = -scaltau/dsqrt(2.D0)*dcos(b)*(al*tgbet+amu) gltautaur(1,1)=bhltau11*amw/amz**2 gltautaur(1,2)=bhltau12*amw/amz**2 gltautaur(2,1)=gltautaur(1,2) gltautaur(2,2)=bhltau22*amw/amz**2 ghtautaur(1,1)=bhhtau11*amw/amz**2 ghtautaur(1,2)=bhhtau12*amw/amz**2 ghtautaur(2,1)=ghtautaur(1,2) ghtautaur(2,2)=bhhtau22*amw/amz**2 gatautaur=batau*amw/amz**2 end c -------------------------------------------------------------------- c c the sbottom1-sbottom2-Higgs couplings c c -------------------------------------------------------------------- c c Feynman rule: ig*amz**2/amw*glbb and ig*amz**2/amw*ghbb c -g*amz**2/amw*gabb sbottom1 in sbottom2 out c +g*amz**2/amw*gabb sbottom2 in sbottom1 out subroutine SD_higgssb1sb2(glbbr,ghbbr,gabbr) implicit double precision (a-h,o-z) dimension glbbr(2,2),ghbbr(2,2) COMMON/SD_param/gf,amz,amw,pi,g2 COMMON/SD_break/au,ad,al,amu COMMON/SD_mixang/a,tanbeta COMMON/SD_sfmixang/thet,theb,thel,cum,sum,cdm,sdm,cem,sem COMMON/SD_scala/scalb,scalt COMMON/SD_weinberg/sw,cw b = datan(tanbeta) tgbet = dtan(b) bhlb12 = amz*dsin(2.D0*theb)/2.D0/cw*(0.5D0-2.d0/3.d0*sw**2)* . dsin(a+b)+scalb/dsqrt(2.D0)*dcos(2.D0*theb)*(amu*dcos(a) . +ad*dsin(a)) bhlb11 = amz/cw*dsin(a+b)*(-1.D0/2.D0*dcos(theb)**2+1.D0/3.D0* . sw**2*dcos(2.D0*theb))+scalb**2*2.D0*amw*dsin(a)*dcos(b) . -scalb/dsqrt(2.D0)*dsin(2.D0*theb)*(-ad*dsin(a) . -amu*dcos(a)) bhlb22 = amz/cw*dsin(a+b)*(-1.D0/2.D0*dsin(theb)**2-1.D0/3.D0* . sw**2*dcos(2.D0*theb))+scalb**2*2.D0*amw*dsin(a)*dcos(b) . +scalb/dsqrt(2.D0)*dsin(2.D0*theb)*(-ad*dsin(a) . -amu*dcos(a)) bhhb12 = -amz*dsin(2.D0*theb)/2.D0/cw*(0.5D0-2.d0/3.d0*sw**2)* . dcos(a+b)-scalb/dsqrt(2.D0)*dcos(2.D0*theb)*(-amu*dsin(a) . +ad*dcos(a)) bhhb11 = -amz/cw*dcos(a+b)*(-1.D0/2.D0*dcos(theb)**2+1.D0/3.D0* . sw**2*dcos(2.D0*theb))-scalb**2*2.D0*amw*dcos(a)*dcos(b) . -scalb/dsqrt(2.D0)*dsin(2.D0*theb)*(ad*dcos(a)- . amu*dsin(a)) bhhb22 = -amz/cw*dcos(a+b)*(-1.D0/2.D0*dsin(theb)**2-1.D0/3.D0* . sw**2*dcos(2.D0*theb))-scalb**2*2.D0*a