00001 
00002 
00003 
00004 
00005 
00006 
00007       SUBROUTINE INIETC(jakk1,jakk2,itd,ifpho)
00008       COMMON / IDFC  / IDFF
00009       COMMON / TAURAD / XK0DEC,ITDKRC
00010       DOUBLE PRECISION            XK0DEC
00011       COMMON / JAKI   /  JAK1,JAK2,JAKP,JAKM,KTOM
00012       COMMON /PHOACT/ IFPHOT
00013       SAVE
00014 
00015           IDFF=-15
00016 
00017           XK0DEC=0.01
00018 
00019           ITDKRC=itd
00020 
00021           JAK1=jakk1
00022           JAK2=jakk2
00023 
00024           IFPHOT=IFPHO
00025       end
00026 
00027       SUBROUTINE TRALO4(KTOS,PHOI,PHOF,AM)
00028 
00029 
00030 
00031       COMMON / MOMDEC / Q1,Q2,P1,P2,P3,P4
00032       COMMON /TRALID/ idtra
00033       double precision Q1(4),Q2(4),P1(4),P2(4),P3(4),P4(4),P1QQ(4),P2QQ(4)
00034       double precision PIN(4),POUT(4),PBST(4),PBS1(4),QQ(4),PI
00035       double precision THET,PHI,EXE
00036       REAL*4 PHOI(4),PHOF(4)
00037       SAVE
00038       DATA PI /3.141592653589793238462643D0/
00039       AM=SQRT(ABS
00040      $   (PHOI(4)**2-PHOI(3)**2-PHOI(2)**2-PHOI(1)**2))
00041       idtra=KTOS
00042       DO K=1,4
00043        PIN(K)=PHOI(K)
00044        PHOF(K)=PHOI(K)
00045       ENDDO
00046 
00047       IF    (idtra.EQ.1) THEN
00048         DO K=1,4
00049          PBST(K)=P1(K)
00050          QQ(K)=Q1(K)
00051         ENDDO
00052       ELSEIF(idtra.EQ.2) THEN
00053         DO K=1,4
00054          PBST(K)=P2(K)
00055          QQ(K)=Q1(K)
00056         ENDDO
00057       ELSEIF(idtra.EQ.3) THEN
00058         DO K=1,4
00059          PBST(K)=P3(K)
00060          QQ(K)=Q2(K)
00061         ENDDO
00062       ELSE
00063         DO K=1,4
00064          PBST(K)=P4(K)
00065          QQ(K)=Q2(K)
00066         ENDDO
00067       ENDIF
00068 
00069 
00070 
00071         CALL BOSTDQ(1,QQ,PBST,PBST)
00072         CALL BOSTDQ(1,QQ,P1,P1QQ)
00073         CALL BOSTDQ(1,QQ,P2,P2QQ)
00074         PBS1(4)=PBST(4)
00075         PBS1(3)=SQRT(PBST(3)**2+PBST(2)**2+PBST(1)**2)
00076         PBS1(2)=0D0
00077         PBS1(1)=0D0 
00078         EXE=(PBS1(4)+PBS1(3))/DSQRT(PBS1(4)**2-PBS1(3)**2)
00079 
00080 
00081 
00082        IF(KTOS.EQ.1)  EXE=(PBS1(4)-PBS1(3))/DSQRT(PBS1(4)**2-PBS1(3)**2)
00083         CALL BOSTD3(EXE,PIN,POUT)
00084 
00085 
00086         THET=ACOS(P2QQ(3)/SQRT(P2QQ(3)**2+P2QQ(2)**2+P2QQ(1)**2))
00087         PHI=0D0
00088         PHI=ACOS(P2QQ(1)/SQRT(P2QQ(2)**2+P2QQ(1)**2))
00089         IF(P2QQ(2).LT.0D0) PHI=2*PI-PHI
00090 
00091         CALL ROTPOX(THET,PHI,POUT)
00092         CALL BOSTDQ(-1,QQ,POUT,POUT)
00093       DO K=1,4
00094        PHOF(K)=POUT(K)
00095       ENDDO
00096       END
00097       SUBROUTINE CHOICE(MNUM,RR,ICHAN,PROB1,PROB2,PROB3,
00098      $            AMRX,GAMRX,AMRA,GAMRA,AMRB,GAMRB)
00099       COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00100      *                 ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00101      *                 ,AMK,AMKZ,AMKST,GAMKST
00102 
00103       REAL*4            AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00104      *                 ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00105      *                 ,AMK,AMKZ,AMKST,GAMKST
00106 
00107       AMROP=1.1
00108       GAMROP=0.36
00109       AMOM=.782
00110       GAMOM=0.0084
00111 
00112       IF(MNUM.EQ.0) THEN
00113        PROB1=0.5
00114        PROB2=0.5
00115        AMRX =AMA1
00116        GAMRX=GAMA1
00117        AMRA =AMRO
00118        GAMRA=GAMRO
00119        AMRB =AMRO
00120        GAMRB=GAMRO
00121       ELSEIF(MNUM.EQ.1) THEN
00122        PROB1=0.5
00123        PROB2=0.5
00124        AMRX =1.57
00125        GAMRX=0.9
00126        AMRB =AMKST
00127        GAMRB=GAMKST
00128        AMRA =AMRO
00129        GAMRA=GAMRO
00130       ELSEIF(MNUM.EQ.2) THEN
00131        PROB1=0.5
00132        PROB2=0.5
00133        AMRX =1.57
00134        GAMRX=0.9
00135        AMRB =AMKST
00136        GAMRB=GAMKST
00137        AMRA =AMRO
00138        GAMRA=GAMRO
00139       ELSEIF(MNUM.EQ.3) THEN
00140        PROB1=0.5
00141        PROB2=0.5
00142        AMRX =1.27
00143        GAMRX=0.3
00144        AMRA =AMKST
00145        GAMRA=GAMKST
00146        AMRB =AMKST
00147        GAMRB=GAMKST
00148       ELSEIF(MNUM.EQ.4) THEN
00149        PROB1=0.5
00150        PROB2=0.5
00151        AMRX =1.27
00152        GAMRX=0.3
00153        AMRA =AMKST
00154        GAMRA=GAMKST
00155        AMRB =AMKST
00156        GAMRB=GAMKST
00157       ELSEIF(MNUM.EQ.5) THEN
00158        PROB1=0.5
00159        PROB2=0.5
00160        AMRX =1.27
00161        GAMRX=0.3
00162        AMRA =AMKST
00163        GAMRA=GAMKST
00164        AMRB =AMRO
00165        GAMRB=GAMRO
00166       ELSEIF(MNUM.EQ.6) THEN
00167        PROB1=0.4
00168        PROB2=0.4
00169        AMRX =1.27
00170        GAMRX=0.3
00171        AMRA =AMRO
00172        GAMRA=GAMRO
00173        AMRB =AMKST
00174        GAMRB=GAMKST
00175       ELSEIF(MNUM.EQ.7) THEN
00176        PROB1=0.0
00177        PROB2=1.0
00178        AMRX =1.27
00179        GAMRX=0.9
00180        AMRA =AMRO
00181        GAMRA=GAMRO
00182        AMRB =AMRO
00183        GAMRB=GAMRO
00184       ELSEIF(MNUM.EQ.8) THEN
00185        PROB1=0.0
00186        PROB2=1.0
00187        AMRX =AMROP
00188        GAMRX=GAMROP
00189        AMRB =AMOM
00190        GAMRB=GAMOM
00191        AMRA =AMRO
00192        GAMRA=GAMRO
00193       ELSEIF(MNUM.EQ.9) THEN
00194        PROB1=0.5
00195        PROB2=0.5
00196        AMRX =AMA1
00197        GAMRX=GAMA1
00198        AMRA =AMRO
00199        GAMRA=GAMRO
00200        AMRB =AMRO
00201        GAMRB=GAMRO
00202       ELSEIF(MNUM.EQ.101) THEN
00203        PROB1=.35
00204        PROB2=.35
00205        AMRX =1.2
00206        GAMRX=.46
00207        AMRB =AMOM
00208        GAMRB=GAMOM
00209        AMRA =AMOM
00210        GAMRA=GAMOM
00211       ELSEIF(MNUM.EQ.102) THEN
00212        PROB1=0.0
00213        PROB2=0.0
00214        AMRX =1.4
00215        GAMRX=.6
00216        AMRB =AMOM
00217        GAMRB=GAMOM
00218        AMRA =AMOM
00219        GAMRA=GAMOM
00220       ELSEIF(MNUM.GE.103.AND.MNUM.LE.112) THEN
00221        PROB1=0.0
00222        PROB2=0.0
00223        AMRX =1.4
00224        GAMRX=.6
00225        AMRB =AMOM
00226        GAMRB=GAMOM
00227        AMRA =AMOM
00228        GAMRA=GAMOM
00229 
00230 
00231       ELSE
00232        PROB1=0.0
00233        PROB2=0.0
00234        AMRX =AMA1
00235        GAMRX=GAMA1
00236        AMRA =AMRO
00237        GAMRA=GAMRO
00238        AMRB =AMRO
00239        GAMRB=GAMRO
00240       ENDIF
00241 
00242       IF    (RR.LE.PROB1) THEN
00243        ICHAN=1
00244       ELSEIF(RR.LE.(PROB1+PROB2)) THEN
00245        ICHAN=2
00246         AX   =AMRA
00247         GX   =GAMRA
00248         AMRA =AMRB
00249         GAMRA=GAMRB
00250         AMRB =AX
00251         GAMRB=GX
00252         PX   =PROB1
00253         PROB1=PROB2
00254         PROB2=PX
00255       ELSE
00256        ICHAN=3
00257       ENDIF
00258 
00259       PROB3=1.0-PROB1-PROB2
00260       END
00261       SUBROUTINE INITDK
00262 
00263 
00264 
00265 
00266 
00267 
00268       COMMON / DECPAR / GFERMI,GV,GA,CCABIB,SCABIB,GAMEL
00269       REAL*4            GFERMI,GV,GA,CCABIB,SCABIB,GAMEL
00270       COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00271      *                 ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00272      *                 ,AMK,AMKZ,AMKST,GAMKST
00273 
00274       REAL*4            AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00275      *                 ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00276      *                 ,AMK,AMKZ,AMKST,GAMKST
00277       COMMON / TAUBRA / GAMPRT(500),JLIST(500),NCHAN
00278       COMMON / TAUKLE / BRA1,BRK0,BRK0B,BRKS
00279       REAL*4            BRA1,BRK0,BRK0B,BRKS
00280 
00281       PARAMETER (NMODE=86,NM1=0,NM2=11,NM3=19,NM4=22,NM5=21,NM6=13)
00282       COMMON / TAUDCD /IDFFIN(9,NMODE),MULPIK(NMODE)
00283      &                ,NAMES
00284       CHARACTER NAMES(NMODE)*31
00285 
00286       CHARACTER OLDNAMES(7)*31
00287       CHARACTER*80 bxINIT
00288       PARAMETER (
00289      $  bxINIT ='(1x,1h*,g17.8,            16x, a31,a4,a4, 1x,1h*)'
00290      $ )
00291       REAL*4 PI,POL1(4)
00292 
00293 
00294 
00295 
00296 
00297 
00298 
00299 
00300 
00301 
00302 
00303 
00304 
00305 
00306 
00307 
00308 
00309 
00310 
00311 
00312 
00313       DIMENSION NOPIK(9,NMODE),NPIK(NMODE)
00314 
00315       DATA   NPIK  /                4,                    4,    
00316      a                              4,                    4,    
00317      b                              4,                    4,
00318      c                              4,                    4,
00319      d                              4,                    4,
00320      e                              4,                    4,    
00321      e                              4,                    4,    
00322      e                              4,                    4,    
00323      e                              4,                    4,    
00324      e                              4,                    4,    
00325      e                              4,                    4,    
00326      1                              5,       
00327      a                              5,                    5,    
00328      b                              5,                    5,
00329      c                              5,                    5,
00330      d                              5,                    5,
00331      e                              5,                    5,    
00332      a                              5,                    5,    
00333      b                              5,                    5,
00334      c                              5,                    5,
00335      d                              5,                    5,
00336      e                              5,                    5,    
00337      x                                                    5,    
00338      2                              6,                    6,
00339      a                              6,                    6,    
00340      b                              6,                    6,    
00341      c                              6,                    6,    
00342      d                              6,                    6,    
00343      e                              6,                    6,    
00344      3                              3,                    3,            
00345      4                              3,                    3,            
00346      5                              3,                    3,            
00347      6                              3,                    3,  
00348      7                              3,                          
00349      a                              3,                    3,    
00350      a                              3,                    3,    
00351      a                              3,                    3,    
00352      a                              3,                    3,    
00353      a                              3,                    3,    
00354      8                                                    2, 
00355      9                              2,                    2,    
00356      9                              2,                    2,    
00357      9                              2,                    2,    
00358      9                              2,                    2,    
00359      9                              2,                    2/    
00360 
00361       DATA  NOPIK / -1,-1, 1, 2, 0, 0,3*0,     2, 2, 2,-1, 0, 0,3*0,  
00362      a               4, 2, 2,-1, 0, 0,3*0,     4, 2, 2,-1, 0, 0,3*0,     
00363      b               4, 2, 2,-1, 0, 0,3*0,     4, 2, 2,-1, 0, 0,3*0,     
00364      c               4, 2, 2,-1, 0, 0,3*0,     4, 2, 2,-1, 0, 0,3*0,     
00365      d               4, 2, 2,-1, 0, 0,3*0,     4, 2, 2,-1, 0, 0,3*0,     
00366      e               4, 2, 2,-1, 0, 0,3*0,     4, 2, 2,-1, 0, 0,3*0,     
00367      a               4, 2, 2,-1, 0, 0,3*0,     4, 2, 2,-1, 0, 0,3*0,     
00368      b               4, 2, 2,-1, 0, 0,3*0,     4, 2, 2,-1, 0, 0,3*0,     
00369      c               4, 2, 2,-1, 0, 0,3*0,     4, 2, 2,-1, 0, 0,3*0,     
00370      d               4, 2, 2,-1, 0, 0,3*0,     4, 2, 2,-1, 0, 0,3*0,     
00371      e               4, 2, 2,-1, 0, 0,3*0,     4, 2, 2,-1, 0, 0,3*0,     
00372      1              -1,-1, 1, 2, 2, 0,3*0,  
00373      a              -1,-1, 1, 2, 2, 0,3*0,     2, 2, 2, 2, 2, 0,3*0,     
00374      a               1,-1,-1, 2, 2, 0,3*0,    -1, 2, 2, 2, 2, 0,3*0,     
00375      a              -1, 1, 1,-1,-1, 0,3*0,    -1,-1, 1, 2, 4, 0,3*0,     
00376      a              -1,-1, 1, 2, 4, 0,3*0,    -1,-1, 1, 2, 4, 0,3*0,     
00377      a              -1,-1, 1, 2, 4, 0,3*0,    -1,-1, 1, 2, 4, 0,3*0,     
00378      a              -1,-1, 1, 2, 4, 0,3*0,    -1,-1, 1, 2, 4, 0,3*0,     
00379      a              -1,-1, 1, 2, 4, 0,3*0,    -1,-1, 1, 2, 4, 0,3*0,     
00380      a              -1,-1, 1, 2, 4, 0,3*0,    -1,-1, 1, 2, 4, 0,3*0,     
00381      a              -1,-1, 1, 2, 4, 0,3*0,    -1,-1, 1, 2, 4, 0,3*0,     
00382      a              -1,-1, 1, 2, 4, 0,3*0,    -1,-1, 1, 2, 4, 0,3*0,     
00383      x                                        -1,-1,-1, 1, 1, 0,3*0,     
00384      2              -1,-1,-1, 1, 1, 2,3*0,    -1,-1, 1, 2, 2, 2,3*0, 
00385      a              -1,-1,-1, 1, 1, 1,3*0,    -1,-1, 1, 2, 2, 1,3*0,     
00386      b              -1,-1,-1, 1, 1, 1,3*0,    -1,-1, 1, 2, 2, 1,3*0,     
00387      c              -1,-1,-1, 1, 1, 1,3*0,    -1,-1, 1, 2, 2, 1,3*0,     
00388      d              -1,-1,-1, 1, 1, 1,3*0,    -1,-1, 1, 2, 2, 1,3*0,     
00389      e              -1,-1,-1, 1, 1, 1,3*0,    -1,-1, 1, 2, 2, 1,3*0,     
00390      3              -3,-1, 3, 0, 0, 0,3*0,    -4,-1, 4, 0, 0, 0,3*0,  
00391      4              -3, 2,-4, 0, 0, 0,3*0,     2, 2,-3, 0, 0, 0,3*0,  
00392      5              -3,-1, 1, 0, 0, 0,3*0,    -1, 4, 2, 0, 0, 0,3*0,  
00393      6               9,-1, 2, 0, 0, 0,3*0,    -1, 2, 8, 0, 0, 0,3*0,
00394 
00395 
00396 
00397      7               2, 2,-1, 0, 0, 0,3*0,                           
00398      7               2, 2, 2, 0, 0, 0,3*0,     2, 2, 2, 0, 0, 0,3*0, 
00399      7               2, 2, 2, 0, 0, 0,3*0,     2, 2, 2, 0, 0, 0,3*0, 
00400      7               2, 2, 2, 0, 0, 0,3*0,     2, 2, 2, 0, 0, 0,3*0, 
00401      7               2, 2, 2, 0, 0, 0,3*0,     2, 2, 2, 0, 0, 0,3*0, 
00402      7               2, 2, 2, 0, 0, 0,3*0,     2, 2, 2, 0, 0, 0,3*0, 
00403 
00404      8                                        -3,-4, 0, 0, 0, 0,3*0,
00405      8               -3,-3, 0, 0, 0, 0,3*0,   -3,-3, 0, 0, 0, 0,3*0, 
00406      8               -3,-3, 0, 0, 0, 0,3*0,   -3,-3, 0, 0, 0, 0,3*0, 
00407      8               -3,-3, 0, 0, 0, 0,3*0,   -3,-3, 0, 0, 0, 0,3*0, 
00408      8               -3,-3, 0, 0, 0, 0,3*0,   -3,-3, 0, 0, 0, 0,3*0, 
00409      8               -3,-3, 0, 0, 0, 0,3*0,   -3,-3, 0, 0, 0, 0,3*0 /
00410 
00411 
00412 
00413       NCHAN = NMODE + 7
00414       DO 1 I = 1,500
00415       IF (I.LE.NCHAN) THEN
00416         JLIST(I) = I
00417 
00418         IF(I.EQ. 1) GAMPRT(I) =0.1800 
00419         IF(I.EQ. 2) GAMPRT(I) =0.1751 
00420         IF(I.EQ. 3) GAMPRT(I) =0.1110 
00421         IF(I.EQ. 4) GAMPRT(I) =0.2515 
00422         IF(I.EQ. 5) GAMPRT(I) =0.1790 /2
00423         IF(I.EQ. 6) GAMPRT(I) =0.0071 
00424         IF(I.EQ. 7) GAMPRT(I) =0.0134
00425         IF(I.EQ. 8) GAMPRT(I) =0.0450
00426         IF(I.EQ. 9) GAMPRT(I) =0.0100
00427 
00428         IF(I.EQ.30) GAMPRT(I) =0.0009
00429         IF(I.EQ.33) GAMPRT(I) =0.004
00430         IF(I.EQ.34) GAMPRT(I) =0.002
00431         IF(I.EQ.35) GAMPRT(I) =0.001
00432 
00433         IF(I.EQ.51) GAMPRT(I) =0.0004 
00434         IF(I.EQ.52) GAMPRT(I) =0.0003 
00435         IF(I.EQ.53) GAMPRT(I) =0.0005 
00436 
00437         IF(I.EQ.64) GAMPRT(I) =0.0015 
00438         IF(I.EQ.65) GAMPRT(I) =0.0015 
00439         IF(I.EQ.66) GAMPRT(I) =0.0015 
00440         IF(I.EQ.67) GAMPRT(I) =0.0005
00441         IF(I.EQ.68) GAMPRT(I) =0.0050
00442         IF(I.EQ.69) GAMPRT(I) =0.0055
00443         IF(I.EQ.70) GAMPRT(I) =0.0017 
00444         IF(I.EQ.71) GAMPRT(I) =0.0013
00445         IF(I.EQ.72) GAMPRT(I) =0.1790 /2  
00446 
00447         IF(I.EQ.83) GAMPRT(I) =0.0010 
00448 
00449         IF(I.EQ. 1) OLDNAMES(I)='  TAU-  -->   E-               '
00450         IF(I.EQ. 2) OLDNAMES(I)='  TAU-  -->  MU-               '
00451         IF(I.EQ. 3) OLDNAMES(I)='  TAU-  -->  PI-               '
00452         IF(I.EQ. 4) OLDNAMES(I)='  TAU-  -->  PI-, PI0          '
00453         IF(I.EQ. 5) OLDNAMES(I)='  TAU-  -->  PI-, PI-,  PI+    '
00454         IF(I.EQ. 6) OLDNAMES(I)='  TAU-  -->   K-               '
00455         IF(I.EQ. 7) OLDNAMES(I)='  TAU-  -->  K*- (two subch)   '
00456         IF(I.EQ. 8) NAMES(I-7)='  TAU-  --> 2PI-,  PI0,  PI+   '
00457         IF(I.EQ. 9) NAMES(I-7)='  TAU-  --> 3PI0,        PI-   '
00458 
00459         IF(I.EQ.10) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00460         IF(I.EQ.11) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00461         IF(I.EQ.12) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00462         IF(I.EQ.13) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00463         IF(I.EQ.14) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00464         IF(I.EQ.15) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00465         IF(I.EQ.16) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00466         IF(I.EQ.17) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00467         IF(I.EQ.18) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00468         IF(I.EQ.19) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00469         IF(I.EQ.20) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00470         IF(I.EQ.21) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00471         IF(I.EQ.22) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00472         IF(I.EQ.23) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00473         IF(I.EQ.24) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00474         IF(I.EQ.25) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00475         IF(I.EQ.26) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00476         IF(I.EQ.27) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00477         IF(I.EQ.28) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00478         IF(I.EQ.29) NAMES(I-7)='  TAU-  --> xxxxxxx4xxxxxxxx   '  
00479 
00480 
00481         IF(I.EQ.30) NAMES(I-7)='  TAU-  --> 2PI-, PI+, 2PI0 old'
00482         IF(I.EQ.31) NAMES(I-7)='  TAU-  --> a1 --> rho omega   '  
00483         IF(I.EQ.32) NAMES(I-7)='  TAU-  --> benchmark curr     '  
00484         IF(I.EQ.33) NAMES(I-7)='  TAU-  --> 2PI0, 2PI-,  PI+   '  
00485         IF(I.EQ.34) NAMES(I-7)='  TAU-  --> PI- 4PI0           '  
00486         IF(I.EQ.35) NAMES(I-7)='  TAU-  --> 3PI- 2PI+          '  
00487         IF(I.EQ.36) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00488         IF(I.EQ.37) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00489         IF(I.EQ.38) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00490         IF(I.EQ.39) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00491         IF(I.EQ.40) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00492 
00493         IF(I.EQ.41) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00494         IF(I.EQ.42) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00495         IF(I.EQ.43) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00496         IF(I.EQ.44) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00497         IF(I.EQ.45) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00498         IF(I.EQ.46) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00499         IF(I.EQ.47) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00500         IF(I.EQ.48) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00501         IF(I.EQ.49) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00502         IF(I.EQ.50) NAMES(I-7)='  TAU-  --> xxxxxxxxx5xxxxxx   '  
00503 
00504         IF(I.EQ.51) NAMES(I-7)='  TAU-  --> 3PI-, 2PI+,        '
00505         IF(I.EQ.52) NAMES(I-7)='  TAU-  --> 3PI-, 2PI+,  PI0   '
00506         IF(I.EQ.53) NAMES(I-7)='  TAU-  --> 2PI-,  PI+, 3PI0   '
00507         IF(I.EQ.54) NAMES(I-7)='  TAU-  --> xxxxxxxxxnxxxxxx   '  
00508         IF(I.EQ.55) NAMES(I-7)='  TAU-  --> xxxxxxxxxnxxxxxx   '  
00509         IF(I.EQ.56) NAMES(I-7)='  TAU-  --> xxxxxxxxxnxxxxxx   '  
00510         IF(I.EQ.57) NAMES(I-7)='  TAU-  --> xxxxxxxxxnxxxxxx   '  
00511         IF(I.EQ.58) NAMES(I-7)='  TAU-  --> xxxxxxxxxnxxxxxx   '  
00512         IF(I.EQ.59) NAMES(I-7)='  TAU-  --> xxxxxxxxxnxxxxxx   '  
00513         IF(I.EQ.60) NAMES(I-7)='  TAU-  --> xxxxxxxxxnxxxxxx   '  
00514         IF(I.EQ.61) NAMES(I-7)='  TAU-  --> xxxxxxxxxnxxxxxx   '  
00515         IF(I.EQ.62) NAMES(I-7)='  TAU-  --> xxxxxxxxxnxxxxxx   '  
00516         IF(I.EQ.63) NAMES(I-7)='  TAU-  --> xxxxxxxxxnxxxxxx   '  
00517 
00518         IF(I.EQ.64) NAMES(I-7)='  TAU-  -->  K-, PI-,  K+      '
00519         IF(I.EQ.65) NAMES(I-7)='  TAU-  -->  K0, PI-, K0B      '
00520 
00521         IF(I.EQ.66) NAMES(I-7)='  TAU-  -->  K-,  K0, PI0      '
00522 
00523         IF(I.EQ.67) NAMES(I-7)='  TAU-  --> PI0  PI0   K-      '
00524         IF(I.EQ.68) NAMES(I-7)='  TAU-  -->  K-  PI-  PI+      '
00525         IF(I.EQ.69) NAMES(I-7)='  TAU-  --> PI-  K0B  PI0      '
00526         IF(I.EQ.70) NAMES(I-7)='  TAU-  --> ETA  PI-  PI0      '
00527         IF(I.EQ.71) NAMES(I-7)='  TAU-  --> PI-  PI0  GAM      '
00528         IF(I.EQ.72) NAMES(I-7)='  TAU-  --> PI-  PI0  PI0      '
00529         IF(I.EQ.73) NAMES(I-7)='  TAU-  --> xxxxxxxxx3xxxxxx   '  
00530         IF(I.EQ.74) NAMES(I-7)='  TAU-  --> xxxxxxxxx3xxxxxx   '  
00531         IF(I.EQ.75) NAMES(I-7)='  TAU-  --> xxxxxxxxx3xxxxxx   '  
00532         IF(I.EQ.76) NAMES(I-7)='  TAU-  --> xxxxxxxxx3xxxxxx   '  
00533         IF(I.EQ.77) NAMES(I-7)='  TAU-  --> xxxxxxxxx3xxxxxx   '  
00534         IF(I.EQ.78) NAMES(I-7)='  TAU-  --> xxxxxxxxx3xxxxxx   '  
00535         IF(I.EQ.79) NAMES(I-7)='  TAU-  --> xxxxxxxxx3xxxxxx   '  
00536         IF(I.EQ.80) NAMES(I-7)='  TAU-  --> xxxxxxxxx3xxxxxx   '  
00537         IF(I.EQ.81) NAMES(I-7)='  TAU-  --> xxxxxxxxx3xxxxxx   '  
00538         IF(I.EQ.82) NAMES(I-7)='  TAU-  --> xxxxxxxxx3xxxxxx   '  
00539  
00540 
00541         IF(I.EQ.83) NAMES(I-7)='  TAU-  -->  K-  K0            '
00542         IF(I.EQ.84) NAMES(I-7)='  TAU-  --> xxxxxxxxx2xxxxxx   '  
00543         IF(I.EQ.85) NAMES(I-7)='  TAU-  --> xxxxxxxxx2xxxxxx   '  
00544         IF(I.EQ.86) NAMES(I-7)='  TAU-  --> xxxxxxxxx2xxxxxx   '  
00545         IF(I.EQ.87) NAMES(I-7)='  TAU-  --> xxxxxxxxx2xxxxxx   '  
00546         IF(I.EQ.88) NAMES(I-7)='  TAU-  --> xxxxxxxxx2xxxxxx   '  
00547         IF(I.EQ.89) NAMES(I-7)='  TAU-  --> xxxxxxxxx2xxxxxx   '  
00548         IF(I.EQ.90) NAMES(I-7)='  TAU-  --> xxxxxxxxx2xxxxxx   '  
00549         IF(I.EQ.91) NAMES(I-7)='  TAU-  --> xxxxxxxxx2xxxxxx   '  
00550         IF(I.EQ.92) NAMES(I-7)='  TAU-  --> xxxxxxxxx2xxxxxx   '  
00551         IF(I.EQ.93) NAMES(I-7)='  TAU-  --> xxxxxxxxx2xxxxxx   '  
00552 
00553       ELSE
00554         JLIST(I) = 0
00555         GAMPRT(I) = 0.
00556       ENDIF
00557    1  CONTINUE
00558       DO I=1,NMODE
00559         MULPIK(I)=NPIK(I)
00560         DO J=1,MULPIK(I)
00561          IDFFIN(J,I)=NOPIK(J,I)
00562         ENDDO
00563       ENDDO
00564         DO I=1,NCHAN
00565          GAMPRT(I) = 1D0/NCHAN
00566         ENDDO
00567           gamprt(31)=gamprt(31)*0.001
00568           gamprt(32)=gamprt(32)*0.001
00569         do k=1,10  
00570           gamprt(36+k)=gamprt(36+k)*0.001
00571           gamprt(30-k)=gamprt(30-k)*0.001
00572           gamprt(30+10+k)=gamprt(30+10+k)*0.001
00573           gamprt(30-10-k)=gamprt(30-10-k)*0.001
00574 
00575           gamprt(53+k)=gamprt(53+k)*0.001
00576           gamprt(72+k)=gamprt(72+k)*0.001
00577           gamprt(83+k)=gamprt(83+k)*0.001
00578         enddo
00579          GAMPRT(72)=GAMPRT(72)/2
00580          GAMPRT(5)=GAMPRT(5)/2
00581 
00582 
00583 
00584 
00585 
00586 
00587 
00588 
00589 
00590 
00591 
00592       BRA1=1D0 
00593       BRK0=0.5
00594       BRK0B=0.5
00595       BRKS=0.6667
00596 
00597 
00598       GFERMI = 1.16637E-5
00599       CCABIB = 0.975
00600       GV     = 1.0
00601       GA     =-1.0
00602 
00603 
00604 
00605 
00606       SCABIB = SQRT(1.-CCABIB**2)
00607       PI =4.*ATAN(1.)
00608       GAMEL  = GFERMI**2*AMTAU**5/(192*PI**3)
00609 
00610       CALL DEXAY(-1,pol1)
00611 
00612       RETURN
00613       END
00614       FUNCTION DCDMAS(IDENT)
00615       COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00616      *                 ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00617      *                 ,AMK,AMKZ,AMKST,GAMKST
00618 
00619       REAL*4            AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00620      *                 ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00621      *                 ,AMK,AMKZ,AMKST,GAMKST
00622       IF      (IDENT.EQ. 1) THEN
00623         APKMAS=AMPI
00624       ELSEIF  (IDENT.EQ.-1) THEN
00625         APKMAS=AMPI
00626       ELSEIF  (IDENT.EQ. 2) THEN
00627         APKMAS=AMPIZ
00628       ELSEIF  (IDENT.EQ.-2) THEN
00629         APKMAS=AMPIZ
00630       ELSEIF  (IDENT.EQ. 3) THEN
00631         APKMAS=AMK
00632       ELSEIF  (IDENT.EQ.-3) THEN
00633         APKMAS=AMK
00634       ELSEIF  (IDENT.EQ. 4) THEN
00635         APKMAS=AMKZ
00636       ELSEIF  (IDENT.EQ.-4) THEN
00637         APKMAS=AMKZ
00638       ELSEIF  (IDENT.EQ. 8) THEN
00639         APKMAS=0.0001
00640       ELSEIF  (IDENT.EQ.-8) THEN
00641         APKMAS=0.0001
00642       ELSEIF  (IDENT.EQ. 9) THEN
00643         APKMAS=0.5488
00644       ELSEIF  (IDENT.EQ.-9) THEN
00645         APKMAS=0.5488
00646       ELSE
00647         PRINT *, 'STOP IN APKMAS, WRONG IDENT=',IDENT
00648         STOP
00649       ENDIF
00650       DCDMAS=APKMAS
00651       END
00652       FUNCTION LUNPIK(ID,ISGN)
00653       COMMON / TAUKLE / BRA1,BRK0,BRK0B,BRKS
00654       REAL*4            BRA1,BRK0,BRK0B,BRKS
00655       REAL*4 XIO(1)
00656       IDENT=ID*ISGN
00657 
00658       IF      (IDENT.EQ. 1) THEN
00659         IPKDEF=-211
00660       ELSEIF  (IDENT.EQ.-1) THEN
00661         IPKDEF= 211
00662       ELSEIF  (IDENT.EQ. 2) THEN
00663         IPKDEF=111
00664       ELSEIF  (IDENT.EQ.-2) THEN
00665         IPKDEF=111
00666       ELSEIF  (IDENT.EQ. 3) THEN
00667         IPKDEF=-321
00668       ELSEIF  (IDENT.EQ.-3) THEN
00669         IPKDEF= 321
00670 
00671       ELSEIF  (IDENT.EQ. 4) THEN
00672 
00673 
00674         CALL RANMAR(XIO,1)
00675         IF (XIO(1).GT.BRK0) THEN
00676           IPKDEF= 130
00677         ELSE
00678           IPKDEF= 310
00679         ENDIF
00680       ELSEIF  (IDENT.EQ.-4) THEN
00681 
00682 
00683         CALL RANMAR(XIO,1)
00684         IF (XIO(1).GT.BRK0B) THEN
00685           IPKDEF= 130
00686         ELSE
00687           IPKDEF= 310
00688         ENDIF
00689       ELSEIF  (IDENT.EQ. 8) THEN
00690         IPKDEF= 22
00691       ELSEIF  (IDENT.EQ.-8) THEN
00692         IPKDEF= 22
00693       ELSEIF  (IDENT.EQ. 9) THEN
00694         IPKDEF= 221
00695       ELSEIF  (IDENT.EQ.-9) THEN
00696         IPKDEF= 221
00697       ELSE
00698         PRINT *, 'STOP IN IPKDEF, WRONG IDENT=',IDENT
00699         STOP
00700       ENDIF
00701       LUNPIK=IPKDEF
00702       END
00703 
00704 
00705 
00706 
00707       SUBROUTINE TAURDF(KTO)
00708 
00709 
00710 
00711       COMMON / TAUKLE / BRA1,BRK0,BRK0B,BRKS
00712       REAL*4            BRA1,BRK0,BRK0B,BRKS
00713       COMMON / TAUBRA / GAMPRT(500),JLIST(500),NCHAN
00714       IF (KTO.EQ.1) THEN
00715 
00716 
00717       BRA1 = PKORB(4,1)
00718       BRKS = PKORB(4,3)
00719       BRK0  = PKORB(4,5)
00720       BRK0B  = PKORB(4,6)
00721       ELSE
00722 
00723 
00724       BRA1 = PKORB(4,2)
00725       BRKS = PKORB(4,4)
00726       BRK0  = PKORB(4,5)
00727       BRK0B  = PKORB(4,6)
00728       ENDIF
00729 
00730       END
00731 
00732 
00733       SUBROUTINE INIPHX(XK00)
00734 
00735 
00736 
00737 
00738       COMMON / QEDPRM /ALFINV,ALFPI,XK0
00739       REAL*8           ALFINV,ALFPI,XK0
00740       REAL*8 PI8,XK00
00741 
00742       PI8    = 4.D0*DATAN(1.D0)
00743       ALFINV = 137.03604D0
00744       ALFPI  = 1D0/(ALFINV*PI8)
00745       XK0=XK00
00746       END
00747 
00748       SUBROUTINE INIMAS
00749 
00750 
00751 
00752 
00753 
00754       COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00755      *                 ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00756      *                 ,AMK,AMKZ,AMKST,GAMKST
00757 
00758       REAL*4            AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00759      *                 ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00760      *                 ,AMK,AMKZ,AMKST,GAMKST
00761 
00762 
00763       AMTAU  = 1.7842
00764 
00765       AMTAU  = 1.777
00766       AMNUTA = 0.010
00767       AMEL   = 0.0005111
00768       AMNUE  = 0.0
00769       AMMU   = 0.105659 
00770       AMNUMU = 0.0
00771 
00772 
00773 
00774       AMPIZ  = 0.134964
00775       AMPI   = 0.139568
00776       AMRO   = 0.773
00777       GAMRO  = 0.145
00778 
00779       AMA1   = 1.251
00780       GAMA1  = 0.599
00781       AMK    = 0.493667
00782       AMKZ   = 0.49772
00783       AMKST  = 0.8921
00784       GAMKST = 0.0513
00785 
00786 
00787 
00788 
00789 
00790 
00791 
00792 
00793 
00794 
00795 
00796 
00797       AMA1   = 1.275   
00798       GAMA1  = 0.615   
00799 
00800 
00801 
00802 
00803 
00804 
00805 
00806       RETURN
00807       END
00808       subroutine bostdq(idir,vv,pp,q)
00809 
00810 
00811 
00812 
00813 
00814 
00815 
00816 
00817 
00818 
00819 
00820       implicit DOUBLE PRECISION (a-h,o-z)
00821       parameter (nout=6)
00822       DOUBLE PRECISION v(4),p(4),q(4),pp(4),vv(4)  
00823       save
00824 
00825       do 1 i=1,4
00826       v(i)=vv(i)
00827  1    p(i)=pp(i)
00828       amv=(v(4)**2-v(1)**2-v(2)**2-v(3)**2)
00829       if (amv.le.0d0) then
00830         write(6,*) 'bosstv: warning amv**2=',amv
00831       endif
00832       amv=sqrt(abs(amv))
00833       if (idir.eq.-1) then
00834         q(4)=( p(1)*v(1)+p(2)*v(2)+p(3)*v(3)+p(4)*v(4))/amv
00835         wsp =(q(4)+p(4))/(v(4)+amv)
00836       elseif (idir.eq.1) then
00837         q(4)=(-p(1)*v(1)-p(2)*v(2)-p(3)*v(3)+p(4)*v(4))/amv
00838         wsp =-(q(4)+p(4))/(v(4)+amv)
00839       else
00840         write(nout,*)' >>> boostv: wrong value of idir = ',idir
00841       endif
00842       q(1)=p(1)+wsp*v(1)
00843       q(2)=p(2)+wsp*v(2)
00844       q(3)=p(3)+wsp*v(3)
00845       end
00846         
00847 
00848 
00849 
00850 
00851 
00852 
00853 
00854 
00855