00001 PROGRAM TAUDEM
00002
00003
00004
00005
00006
00007
00008
00009
00010 COMMON / / BLAN(10000)
00011 CHARACTER*7 DNAME
00012 COMMON / INOUT / INUT,IOUT
00013 DNAME='KKPI'
00014
00015
00016 INUT=5
00017 IOUT=6
00018 OPEN(IOUT,FILE="./tauola.output")
00019 OPEN(INUT,FILE="./dane.dat")
00020 KTORY=1
00021 CALL DECTES(KTORY)
00022 KTORY=2
00023 CALL DECTES(KTORY)
00024
00025 END
00026 SUBROUTINE DECTES(KTORY)
00027
00028 REAL POL(4)
00029 DOUBLE PRECISION HH(4)
00030
00031 COMMON / JAKI / JAK1,JAK2,JAKP,JAKM,KTOM
00032 COMMON / IDFC / IDFF
00033
00034 COMMON / INOUT / INUT,IOUT
00035
00036 COMMON / IDPART / IA1
00037
00038 COMMON /PTAU/ PTAU
00039 COMMON / TAURAD / XK0DEC,ITDKRC
00040 REAL*8 XK0DEC
00041 COMMON /TESTA1/ KEYA1
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055 NINP=INUT
00056 NOUT=IOUT
00057 3000 FORMAT(A80)
00058 3001 FORMAT(8I2)
00059 3002 FORMAT(I10)
00060 3003 FORMAT(F10.0)
00061 IF (KTORY.EQ.1) THEN
00062 READ( NINP,3000) TESTIT
00063 WRITE(NOUT,3000) TESTIT
00064 READ( NINP,3001) KAT1,KAT2,KAT3,KAT4,KAT5,KAT6
00065 READ( NINP,3002) NEVT,JAK1,JAK2,ITDKRC
00066 READ( NINP,3003) PTAU,XK0DEC
00067 ENDIF
00068
00069
00070 WRITE(NOUT,'(6A6/6I6)')
00071 $ 'KAT1','KAT2','KAT3','KAT4','KAT5','KAT6',
00072 $ KAT1 , KAT2 , KAT3 , KAT4 , KAT5 , KAT6
00073 WRITE(NOUT,'(4A12/4I12)')
00074 $ 'NEVT','JAK1','JAK2','ITDKRC',
00075 $ NEVT, JAK1 , JAK2 , ITDKRC
00076 WRITE(NOUT,'(2A12/2F12.6)')
00077 $ 'PTAU','XK0DEC',
00078 $ PTAU , XK0DEC
00079
00080 JAK=0
00081
00082
00083
00084 IF (KTORY.EQ.1) THEN
00085 IDFF=-15
00086 ELSE
00087 IDFF= 15
00088 ENDIF
00089
00090
00091 KTO=2
00092 IF (KTO.NE.2) THEN
00093 PRINT *, 'for the sake of these tests KTO has to be 2'
00094 PRINT *, 'to change tau- to tau+ change IDFF from -15 to 15'
00095 STOP
00096 ENDIF
00097
00098 POL(1)=0.
00099 POL(2)=0.
00100 POL(3)=.9
00101
00102
00103
00104 NEVTES=10
00105 NEVTES=NEVT
00106 PRINT *, 'NEVTES= ',NEVTES
00107 WRITE(IOUT,7011) KEYA1
00108
00109 IF (KTORY.EQ.1) THEN
00110 WRITE(IOUT,7001) JAK,IDFF,POL(3),PTAU
00111 ELSE
00112 WRITE(IOUT,7004) JAK,IDFF,POL(3),PTAU
00113 ENDIF
00114
00115
00116 CALL INIMAS
00117 CALL INITDK
00118
00119 CALL INIPHY(0.1D0)
00120 IF (KTORY.EQ.1) THEN
00121 CALL DEXAY(-1,POL)
00122 ELSE
00123 CALL DEKAY(-1,HH)
00124 ENDIF
00125
00126
00127
00128 NEV=0
00129 DO 300 IEV=1,NEVTES
00130 NEV=NEV+1
00131
00132
00133
00134 CALL TAUFIL
00135
00136 IF (KTORY.EQ.1) THEN
00137 CALL DEXAY(KTO,POL)
00138 ELSE
00139 CALL DEKAY(KTO,HH)
00140 CALL DEKAY(KTO+10,HH)
00141 ENDIF
00142 CALL LUHEPC(2)
00143 IF(IEV.LE.44) THEN
00144 WRITE(IOUT,7002) IEV
00145 IF (KTORY.NE.1) THEN
00146 WRITE(IOUT,7003) HH
00147 ENDIF
00148
00149 CALL LULIST(2)
00150 ENDIF
00151 IPRI=MOD(NEV,1000)
00152
00153 IF(IPRI.EQ.1) write(*,*) ' event no: ',NEV,' NEVTES: ',NEVTES
00154 300 CONTINUE
00155 301 CONTINUE
00156
00157
00158
00159 IF (KTORY.EQ.1) THEN
00160 CALL DEXAY(100,POL)
00161 ELSE
00162 CALL DEKAY(100,HH)
00163 ENDIF
00164 RETURN
00165 7001 FORMAT(//4(/1X,15(5H=====))
00166 $ /,' ', 19X,' NON INITIALIZED BBB-VERSION OF TAUOLA ',9X,1H ,
00167 $ /,' ', 19X,' TESTS OF TAU DECAY ROUTINES ',9X,1H ,
00168 $ /,' ', 19X,' INTERFACE OF THE KORAL-Z TYPE ',9X,1H ,
00169 $ 2(/,1X,15(5H=====)),
00170 $ /,5X ,'JAK =',I7 ,' KEY DEFINING DECAY TYPE ',9X,1H ,
00171 $ /,5X ,'IDFF =',I7 ,' LUND IDENTIFIER FOR FIRST TAU ',9X,1H ,
00172 $ /,5X ,'POL(3)=',F7.2,' THIRD COMPONENT OF TAU POLARIZ. ',9X,1H ,
00173 $ /,5X ,'PTAU =',F7.2,' THIRD COMPONENT OF TAU MOM. GEV ',9X,1H ,
00174 $ 2(/,1X,15(5H=====))/)
00175 7002 FORMAT(///1X, '===== EVENT NO.',I4,1X,5H=====)
00176 7003 FORMAT(5X,'POLARIMETRIC VECTOR: ',
00177 $ 7X,'HH(1)',7X,'HH(2)',7X,'HH(3)',7X,'HH(4)',
00178 $ /, 5X,' ', 4(1X,F11.8) )
00179 7004 FORMAT(//4(/1X,15(5H=====))
00180 $ /,' ', 19X,' NON INITIALIZED BBB-VERSION OF TAUOLA ',9X,1H ,
00181 $ /,' ', 19X,' TESTS OF TAU DECAY ROUTINES ',9X,1H ,
00182 $ /,' ', 19X,' INTERFACE OF THE KORAL-B TYPE ',9X,1H ,
00183 $ 2(/,1X,15(5H=====)),
00184 $ /,5X ,'JAK =',I7 ,' KEY DEFINING DECAY TYPE ',9X,1H ,
00185 $ /,5X ,'IDFF =',I7 ,' LUND IDENTIFIER FOR FIRST TAU ',9X,1H ,
00186 $ /,5X ,'POL(3)=',F7.2,' THIRD COMPONENT OF TAU POLARIZ. ',9X,1H ,
00187 $ /,5X ,'PTAU =',F7.2,' THIRD COMPONENT OF TAU MOM. GEV ',9X,1H ,
00188 $ 2(/,1X,15(5H=====))/)
00189 7011 FORMAT(///1X, '===== TYPE OF CURRENT',I4,1X,5H=====)
00190 END
00191 SUBROUTINE CHOICE(MNUM,RR,ICHAN,PROB1,PROB2,PROB3,
00192 $ AMRX,GAMRX,AMRA,GAMRA,AMRB,GAMRB)
00193 COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00194 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00195 * ,AMK,AMKZ,AMKST,GAMKST
00196
00197 REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00198 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00199 * ,AMK,AMKZ,AMKST,GAMKST
00200
00201 AMROP=1.1
00202 GAMROP=0.36
00203 AMOM=.782
00204 GAMOM=0.0084
00205
00206 IF(MNUM.EQ.0) THEN
00207 PROB1=0.5
00208 PROB2=0.5
00209 AMRX =AMA1
00210 GAMRX=GAMA1
00211 AMRA =AMRO
00212 GAMRA=GAMRO
00213 AMRB =AMRO
00214 GAMRB=GAMRO
00215 ELSEIF(MNUM.EQ.1) THEN
00216 PROB1=0.5
00217 PROB2=0.5
00218 AMRX =1.57
00219 GAMRX=0.9
00220 AMRB =AMKST
00221 GAMRB=GAMKST
00222 AMRA =AMRO
00223 GAMRA=GAMRO
00224 ELSEIF(MNUM.EQ.2) THEN
00225 PROB1=0.5
00226 PROB2=0.5
00227 AMRX =1.57
00228 GAMRX=0.9
00229 AMRB =AMKST
00230 GAMRB=GAMKST
00231 AMRA =AMRO
00232 GAMRA=GAMRO
00233 ELSEIF(MNUM.EQ.3) THEN
00234 PROB1=0.5
00235 PROB2=0.5
00236 AMRX =1.27
00237 GAMRX=0.3
00238 AMRA =AMKST
00239 GAMRA=GAMKST
00240 AMRB =AMKST
00241 GAMRB=GAMKST
00242 ELSEIF(MNUM.EQ.4) THEN
00243 PROB1=0.5
00244 PROB2=0.5
00245 AMRX =1.27
00246 GAMRX=0.3
00247 AMRA =AMKST
00248 GAMRA=GAMKST
00249 AMRB =AMKST
00250 GAMRB=GAMKST
00251 ELSEIF(MNUM.EQ.5) THEN
00252 PROB1=0.5
00253 PROB2=0.5
00254 AMRX =1.27
00255 GAMRX=0.3
00256 AMRA =AMKST
00257 GAMRA=GAMKST
00258 AMRB =AMRO
00259 GAMRB=GAMRO
00260 ELSEIF(MNUM.EQ.6) THEN
00261 PROB1=0.4
00262 PROB2=0.4
00263 AMRX =1.27
00264 GAMRX=0.3
00265 AMRA =AMRO
00266 GAMRA=GAMRO
00267 AMRB =AMKST
00268 GAMRB=GAMKST
00269 ELSEIF(MNUM.EQ.7) THEN
00270 PROB1=0.0
00271 PROB2=1.0
00272 AMRX =1.27
00273 GAMRX=0.9
00274 AMRA =AMRO
00275 GAMRA=GAMRO
00276 AMRB =AMRO
00277 GAMRB=GAMRO
00278 ELSEIF(MNUM.EQ.8) THEN
00279 PROB1=0.0
00280 PROB2=1.0
00281 AMRX =AMROP
00282 GAMRX=GAMROP
00283 AMRB =AMOM
00284 GAMRB=GAMOM
00285 AMRA =AMRO
00286 GAMRA=GAMRO
00287 ELSEIF(MNUM.EQ.9) THEN
00288 PROB1=0.5
00289 PROB2=0.5
00290 AMRX =AMA1
00291 GAMRX=GAMA1
00292 AMRA =AMRO
00293 GAMRA=GAMRO
00294 AMRB =AMRO
00295 GAMRB=GAMRO
00296 ELSEIF(MNUM.EQ.101) THEN
00297 PROB1=.35
00298 PROB2=.35
00299 AMRX =1.2
00300 GAMRX=.46
00301 AMRB =AMOM
00302 GAMRB=GAMOM
00303 AMRA =AMOM
00304 GAMRA=GAMOM
00305 ELSEIF(MNUM.EQ.102) THEN
00306 PROB1=0.0
00307 PROB2=0.0
00308 AMRX =1.4
00309 GAMRX=.6
00310 AMRB =AMOM
00311 GAMRB=GAMOM
00312 AMRA =AMOM
00313 GAMRA=GAMOM
00314 ELSEIF(MNUM.GE.103.AND.MNUM.LE.112) THEN
00315 PROB1=0.0
00316 PROB2=0.0
00317 AMRX =1.4
00318 GAMRX=.6
00319 AMRB =AMOM
00320 GAMRB=GAMOM
00321 AMRA =AMOM
00322 GAMRA=GAMOM
00323
00324
00325 ELSE
00326 PROB1=0.0
00327 PROB2=0.0
00328 AMRX =AMA1
00329 GAMRX=GAMA1
00330 AMRA =AMRO
00331 GAMRA=GAMRO
00332 AMRB =AMRO
00333 GAMRB=GAMRO
00334 ENDIF
00335
00336 IF (RR.LE.PROB1) THEN
00337 ICHAN=1
00338 ELSEIF(RR.LE.(PROB1+PROB2)) THEN
00339 ICHAN=2
00340 AX =AMRA
00341 GX =GAMRA
00342 AMRA =AMRB
00343 GAMRA=GAMRB
00344 AMRB =AX
00345 GAMRB=GX
00346 PX =PROB1
00347 PROB1=PROB2
00348 PROB2=PX
00349 ELSE
00350 ICHAN=3
00351 ENDIF
00352
00353 PROB3=1.0-PROB1-PROB2
00354 END
00355 SUBROUTINE INITDK
00356
00357
00358
00359
00360
00361
00362 COMMON / DECPAR / GFERMI,GV,GA,CCABIB,SCABIB,GAMEL
00363 REAL*4 GFERMI,GV,GA,CCABIB,SCABIB,GAMEL
00364 COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00365 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00366 * ,AMK,AMKZ,AMKST,GAMKST
00367
00368 REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00369 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00370 * ,AMK,AMKZ,AMKST,GAMKST
00371 COMMON / TAUBRA / GAMPRT(500),JLIST(500),NCHAN
00372 COMMON / TAUKLE / BRA1,BRK0,BRK0B,BRKS
00373 REAL*4 BRA1,BRK0,BRK0B,BRKS
00374
00375 PARAMETER (NMODE=86,NM1=0,NM2=11,NM3=19,NM4=22,NM5=21,NM6=13)
00376 COMMON / TAUDCD /IDFFIN(9,NMODE),MULPIK(NMODE)
00377 & ,NAMES
00378 CHARACTER NAMES(NMODE)*31
00379
00380 CHARACTER OLDNAMES(7)*31
00381 CHARACTER*80 bxINIT
00382 PARAMETER (
00383 $ bxINIT ='(1x,1h*,g17.8, 16x, a31,a4,a4, 1x,1h*)'
00384 $ )
00385 REAL*4 PI,POL1(4)
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407 DIMENSION NOPIK(9,NMODE),NPIK(NMODE)
00408
00409 DATA NPIK / 4, 4,
00410 a 4, 4,
00411 b 4, 4,
00412 c 4, 4,
00413 d 4, 4,
00414 e 4, 4,
00415 e 4, 4,
00416 e 4, 4,
00417 e 4, 4,
00418 e 4, 4,
00419 e 4, 4,
00420 1 5,
00421 a 5, 5,
00422 b 5, 5,
00423 c 5, 5,
00424 d 5, 5,
00425 e 5, 5,
00426 a 5, 5,
00427 b 5, 5,
00428 c 5, 5,
00429 d 5, 5,
00430 e 5, 5,
00431 x 5,
00432 2 6, 6,
00433 a 6, 6,
00434 b 6, 6,
00435 c 6, 6,
00436 d 6, 6,
00437 e 6, 6,
00438 3 3, 3,
00439 4 3, 3,
00440 5 3, 3,
00441 6 3, 3,
00442 7 3,
00443 a 3, 3,
00444 a 3, 3,
00445 a 3, 3,
00446 a 3, 3,
00447 a 3, 3,
00448 8 2,
00449 9 2, 2,
00450 9 2, 2,
00451 9 2, 2,
00452 9 2, 2,
00453 9 2, 2/
00454
00455 DATA NOPIK / -1,-1, 1, 2, 0, 0,3*0, 2, 2, 2,-1, 0, 0,3*0,
00456 a 4, 2, 2,-1, 0, 0,3*0, 4, 2, 2,-1, 0, 0,3*0,
00457 b 4, 2, 2,-1, 0, 0,3*0, 4, 2, 2,-1, 0, 0,3*0,
00458 c 4, 2, 2,-1, 0, 0,3*0, 4, 2, 2,-1, 0, 0,3*0,
00459 d 4, 2, 2,-1, 0, 0,3*0, 4, 2, 2,-1, 0, 0,3*0,
00460 e 4, 2, 2,-1, 0, 0,3*0, 4, 2, 2,-1, 0, 0,3*0,
00461 a 4, 2, 2,-1, 0, 0,3*0, 4, 2, 2,-1, 0, 0,3*0,
00462 b 4, 2, 2,-1, 0, 0,3*0, 4, 2, 2,-1, 0, 0,3*0,
00463 c 4, 2, 2,-1, 0, 0,3*0, 4, 2, 2,-1, 0, 0,3*0,
00464 d 4, 2, 2,-1, 0, 0,3*0, 4, 2, 2,-1, 0, 0,3*0,
00465 e 4, 2, 2,-1, 0, 0,3*0, 4, 2, 2,-1, 0, 0,3*0,
00466 1 -1,-1, 1, 2, 2, 0,3*0,
00467 a -1,-1, 1, 2, 2, 0,3*0, 2, 2, 2, 2, 2, 0,3*0,
00468 a 1,-1,-1, 2, 2, 0,3*0, -1, 2, 2, 2, 2, 0,3*0,
00469 a -1, 1, 1,-1,-1, 0,3*0, -1,-1, 1, 2, 4, 0,3*0,
00470 a -1,-1, 1, 2, 4, 0,3*0, -1,-1, 1, 2, 4, 0,3*0,
00471 a -1,-1, 1, 2, 4, 0,3*0, -1,-1, 1, 2, 4, 0,3*0,
00472 a -1,-1, 1, 2, 4, 0,3*0, -1,-1, 1, 2, 4, 0,3*0,
00473 a -1,-1, 1, 2, 4, 0,3*0, -1,-1, 1, 2, 4, 0,3*0,
00474 a -1,-1, 1, 2, 4, 0,3*0, -1,-1, 1, 2, 4, 0,3*0,
00475 a -1,-1, 1, 2, 4, 0,3*0, -1,-1, 1, 2, 4, 0,3*0,
00476 a -1,-1, 1, 2, 4, 0,3*0, -1,-1, 1, 2, 4, 0,3*0,
00477 x -1,-1,-1, 1, 1, 0,3*0,
00478 2 -1,-1,-1, 1, 1, 2,3*0, -1,-1, 1, 2, 2, 2,3*0,
00479 a -1,-1,-1, 1, 1, 1,3*0, -1,-1, 1, 2, 2, 1,3*0,
00480 b -1,-1,-1, 1, 1, 1,3*0, -1,-1, 1, 2, 2, 1,3*0,
00481 c -1,-1,-1, 1, 1, 1,3*0, -1,-1, 1, 2, 2, 1,3*0,
00482 d -1,-1,-1, 1, 1, 1,3*0, -1,-1, 1, 2, 2, 1,3*0,
00483 e -1,-1,-1, 1, 1, 1,3*0, -1,-1, 1, 2, 2, 1,3*0,
00484 3 -3,-1, 3, 0, 0, 0,3*0, -4,-1, 4, 0, 0, 0,3*0,
00485 4 -3, 2,-4, 0, 0, 0,3*0, 2, 2,-3, 0, 0, 0,3*0,
00486 5 -3,-1, 1, 0, 0, 0,3*0, -1, 4, 2, 0, 0, 0,3*0,
00487 6 9,-1, 2, 0, 0, 0,3*0, -1, 2, 8, 0, 0, 0,3*0,
00488
00489
00490
00491 7 2, 2,-1, 0, 0, 0,3*0,
00492 7 2, 2, 2, 0, 0, 0,3*0, 2, 2, 2, 0, 0, 0,3*0,
00493 7 2, 2, 2, 0, 0, 0,3*0, 2, 2, 2, 0, 0, 0,3*0,
00494 7 2, 2, 2, 0, 0, 0,3*0, 2, 2, 2, 0, 0, 0,3*0,
00495 7 2, 2, 2, 0, 0, 0,3*0, 2, 2, 2, 0, 0, 0,3*0,
00496 7 2, 2, 2, 0, 0, 0,3*0, 2, 2, 2, 0, 0, 0,3*0,
00497
00498 8 -3,-4, 0, 0, 0, 0,3*0,
00499 8 -3,-3, 0, 0, 0, 0,3*0, -3,-3, 0, 0, 0, 0,3*0,
00500 8 -3,-3, 0, 0, 0, 0,3*0, -3,-3, 0, 0, 0, 0,3*0,
00501 8 -3,-3, 0, 0, 0, 0,3*0, -3,-3, 0, 0, 0, 0,3*0,
00502 8 -3,-3, 0, 0, 0, 0,3*0, -3,-3, 0, 0, 0, 0,3*0,
00503 8 -3,-3, 0, 0, 0, 0,3*0, -3,-3, 0, 0, 0, 0,3*0 /
00504
00505
00506
00507 NCHAN = NMODE + 7
00508 DO 1 I = 1,500
00509 IF (I.LE.NCHAN) THEN
00510 JLIST(I) = I
00511
00512 IF(I.EQ. 1) GAMPRT(I) =0.1800
00513 IF(I.EQ. 2) GAMPRT(I) =0.1751
00514 IF(I.EQ. 3) GAMPRT(I) =0.1110
00515 IF(I.EQ. 4) GAMPRT(I) =0.2515
00516 IF(I.EQ. 5) GAMPRT(I) =0.1790 /2
00517 IF(I.EQ. 6) GAMPRT(I) =0.0071
00518 IF(I.EQ. 7) GAMPRT(I) =0.0134
00519 IF(I.EQ. 8) GAMPRT(I) =0.0450
00520 IF(I.EQ. 9) GAMPRT(I) =0.0100
00521
00522 IF(I.EQ.30) GAMPRT(I) =0.0009
00523 IF(I.EQ.33) GAMPRT(I) =0.004
00524 IF(I.EQ.34) GAMPRT(I) =0.002
00525 IF(I.EQ.35) GAMPRT(I) =0.001
00526
00527 IF(I.EQ.51) GAMPRT(I) =0.0004
00528 IF(I.EQ.52) GAMPRT(I) =0.0003
00529 IF(I.EQ.53) GAMPRT(I) =0.0005
00530
00531 IF(I.EQ.64) GAMPRT(I) =0.0015
00532 IF(I.EQ.65) GAMPRT(I) =0.0015
00533 IF(I.EQ.66) GAMPRT(I) =0.0015
00534 IF(I.EQ.67) GAMPRT(I) =0.0005
00535 IF(I.EQ.68) GAMPRT(I) =0.0050
00536 IF(I.EQ.69) GAMPRT(I) =0.0055
00537 IF(I.EQ.70) GAMPRT(I) =0.0017
00538 IF(I.EQ.71) GAMPRT(I) =0.0013
00539 IF(I.EQ.72) GAMPRT(I) =0.1790 /2
00540
00541 IF(I.EQ.83) GAMPRT(I) =0.0010
00542
00543 IF(I.EQ. 1) OLDNAMES(I)=' TAU- --> E- '
00544 IF(I.EQ. 2) OLDNAMES(I)=' TAU- --> MU- '
00545 IF(I.EQ. 3) OLDNAMES(I)=' TAU- --> PI- '
00546 IF(I.EQ. 4) OLDNAMES(I)=' TAU- --> PI-, PI0 '
00547 IF(I.EQ. 5) OLDNAMES(I)=' TAU- --> PI-, PI-, PI+ '
00548 IF(I.EQ. 6) OLDNAMES(I)=' TAU- --> K- '
00549 IF(I.EQ. 7) OLDNAMES(I)=' TAU- --> K*- (two subch) '
00550 IF(I.EQ. 8) NAMES(I-7)=' TAU- --> 2PI-, PI0, PI+ '
00551 IF(I.EQ. 9) NAMES(I-7)=' TAU- --> 3PI0, PI- '
00552
00553 IF(I.EQ.10) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00554 IF(I.EQ.11) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00555 IF(I.EQ.12) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00556 IF(I.EQ.13) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00557 IF(I.EQ.14) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00558 IF(I.EQ.15) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00559 IF(I.EQ.16) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00560 IF(I.EQ.17) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00561 IF(I.EQ.18) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00562 IF(I.EQ.19) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00563 IF(I.EQ.20) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00564 IF(I.EQ.21) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00565 IF(I.EQ.22) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00566 IF(I.EQ.23) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00567 IF(I.EQ.24) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00568 IF(I.EQ.25) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00569 IF(I.EQ.26) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00570 IF(I.EQ.27) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00571 IF(I.EQ.28) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00572 IF(I.EQ.29) NAMES(I-7)=' TAU- --> xxxxxxx4xxxxxxxx '
00573
00574
00575 IF(I.EQ.30) NAMES(I-7)=' TAU- --> 2PI-, PI+, 2PI0 old'
00576
00577 IF(I.EQ.31) NAMES(I-7)=' TAU- --> a1 --> rho omega '
00578 IF(I.EQ.32) NAMES(I-7)=' TAU- --> benchmark curr '
00579 IF(I.EQ.33) NAMES(I-7)=' TAU- --> 2PI0, 2PI-, PI+ '
00580 IF(I.EQ.34) NAMES(I-7)=' TAU- --> PI- 4PI0 '
00581 IF(I.EQ.35) NAMES(I-7)=' TAU- --> 3PI- 2PI+ '
00582 IF(I.EQ.36) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00583 IF(I.EQ.37) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00584 IF(I.EQ.38) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00585 IF(I.EQ.39) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00586 IF(I.EQ.40) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00587
00588 IF(I.EQ.41) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00589 IF(I.EQ.42) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00590 IF(I.EQ.43) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00591 IF(I.EQ.44) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00592 IF(I.EQ.45) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00593 IF(I.EQ.46) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00594 IF(I.EQ.47) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00595 IF(I.EQ.48) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00596 IF(I.EQ.49) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00597 IF(I.EQ.50) NAMES(I-7)=' TAU- --> xxxxxxxxx5xxxxxx '
00598
00599 IF(I.EQ.51) NAMES(I-7)=' TAU- --> 3PI-, 2PI+, '
00600 IF(I.EQ.52) NAMES(I-7)=' TAU- --> 3PI-, 2PI+, PI0 '
00601 IF(I.EQ.53) NAMES(I-7)=' TAU- --> 2PI-, PI+, 3PI0 '
00602 IF(I.EQ.54) NAMES(I-7)=' TAU- --> xxxxxxxxxnxxxxxx '
00603 IF(I.EQ.55) NAMES(I-7)=' TAU- --> xxxxxxxxxnxxxxxx '
00604 IF(I.EQ.56) NAMES(I-7)=' TAU- --> xxxxxxxxxnxxxxxx '
00605 IF(I.EQ.57) NAMES(I-7)=' TAU- --> xxxxxxxxxnxxxxxx '
00606 IF(I.EQ.58) NAMES(I-7)=' TAU- --> xxxxxxxxxnxxxxxx '
00607 IF(I.EQ.59) NAMES(I-7)=' TAU- --> xxxxxxxxxnxxxxxx '
00608 IF(I.EQ.60) NAMES(I-7)=' TAU- --> xxxxxxxxxnxxxxxx '
00609 IF(I.EQ.61) NAMES(I-7)=' TAU- --> xxxxxxxxxnxxxxxx '
00610 IF(I.EQ.62) NAMES(I-7)=' TAU- --> xxxxxxxxxnxxxxxx '
00611 IF(I.EQ.63) NAMES(I-7)=' TAU- --> xxxxxxxxxnxxxxxx '
00612
00613 IF(I.EQ.64) NAMES(I-7)=' TAU- --> K-, PI-, K+ '
00614 IF(I.EQ.65) NAMES(I-7)=' TAU- --> K0, PI-, K0B '
00615
00616 IF(I.EQ.66) NAMES(I-7)=' TAU- --> K-, K0, PI0 '
00617
00618 IF(I.EQ.67) NAMES(I-7)=' TAU- --> PI0 PI0 K- '
00619 IF(I.EQ.68) NAMES(I-7)=' TAU- --> K- PI- PI+ '
00620 IF(I.EQ.69) NAMES(I-7)=' TAU- --> PI- K0B PI0 '
00621 IF(I.EQ.70) NAMES(I-7)=' TAU- --> ETA PI- PI0 '
00622 IF(I.EQ.71) NAMES(I-7)=' TAU- --> PI- PI0 GAM '
00623 IF(I.EQ.72) NAMES(I-7)=' TAU- --> PI- PI0 PI0 '
00624 IF(I.EQ.73) NAMES(I-7)=' TAU- --> xxxxxxxxx3xxxxxx '
00625 IF(I.EQ.74) NAMES(I-7)=' TAU- --> xxxxxxxxx3xxxxxx '
00626 IF(I.EQ.75) NAMES(I-7)=' TAU- --> xxxxxxxxx3xxxxxx '
00627 IF(I.EQ.76) NAMES(I-7)=' TAU- --> xxxxxxxxx3xxxxxx '
00628 IF(I.EQ.77) NAMES(I-7)=' TAU- --> xxxxxxxxx3xxxxxx '
00629 IF(I.EQ.78) NAMES(I-7)=' TAU- --> xxxxxxxxx3xxxxxx '
00630 IF(I.EQ.79) NAMES(I-7)=' TAU- --> xxxxxxxxx3xxxxxx '
00631 IF(I.EQ.80) NAMES(I-7)=' TAU- --> xxxxxxxxx3xxxxxx '
00632 IF(I.EQ.81) NAMES(I-7)=' TAU- --> xxxxxxxxx3xxxxxx '
00633 IF(I.EQ.82) NAMES(I-7)=' TAU- --> xxxxxxxxx3xxxxxx '
00634
00635
00636 IF(I.EQ.83) NAMES(I-7)=' TAU- --> K- K0 '
00637 IF(I.EQ.84) NAMES(I-7)=' TAU- --> xxxxxxxxx2xxxxxx '
00638 IF(I.EQ.85) NAMES(I-7)=' TAU- --> xxxxxxxxx2xxxxxx '
00639 IF(I.EQ.86) NAMES(I-7)=' TAU- --> xxxxxxxxx2xxxxxx '
00640 IF(I.EQ.87) NAMES(I-7)=' TAU- --> xxxxxxxxx2xxxxxx '
00641 IF(I.EQ.88) NAMES(I-7)=' TAU- --> xxxxxxxxx2xxxxxx '
00642 IF(I.EQ.89) NAMES(I-7)=' TAU- --> xxxxxxxxx2xxxxxx '
00643 IF(I.EQ.90) NAMES(I-7)=' TAU- --> xxxxxxxxx2xxxxxx '
00644 IF(I.EQ.91) NAMES(I-7)=' TAU- --> xxxxxxxxx2xxxxxx '
00645 IF(I.EQ.92) NAMES(I-7)=' TAU- --> xxxxxxxxx2xxxxxx '
00646 IF(I.EQ.93) NAMES(I-7)=' TAU- --> xxxxxxxxx2xxxxxx '
00647
00648 ELSE
00649 JLIST(I) = 0
00650 GAMPRT(I) = 0.
00651 ENDIF
00652 1 CONTINUE
00653 DO I=1,NMODE
00654 MULPIK(I)=NPIK(I)
00655 DO J=1,MULPIK(I)
00656 IDFFIN(J,I)=NOPIK(J,I)
00657 ENDDO
00658 ENDDO
00659 DO I=1,NCHAN
00660 GAMPRT(I) = 1D0/NCHAN
00661 ENDDO
00662 gamprt(31)=gamprt(31)*0.001
00663 gamprt(32)=gamprt(32)*0.001
00664 do k=1,10
00665 gamprt(36+k)=gamprt(36+k)*0.001
00666 gamprt(30-k)=gamprt(30-k)*0.001
00667 gamprt(30+10+k)=gamprt(30+10+k)*0.001
00668 gamprt(30-10-k)=gamprt(30-10-k)*0.001
00669
00670 gamprt(53+k)=gamprt(53+k)*0.001
00671 gamprt(72+k)=gamprt(72+k)*0.001
00672 gamprt(83+k)=gamprt(83+k)*0.001
00673 enddo
00674 GAMPRT(72)=GAMPRT(72)/2
00675 GAMPRT(5)=GAMPRT(5)/2
00676
00677
00678
00679
00680
00681
00682
00683
00684
00685
00686
00687 BRA1=1D0
00688 BRK0=0.5
00689 BRK0B=0.5
00690 BRKS=0.6667
00691
00692
00693 GFERMI = 1.16637E-5
00694 CCABIB = 0.975
00695 GV = 1.0
00696 GA =-1.0
00697
00698
00699
00700
00701 SCABIB = SQRT(1.-CCABIB**2)
00702 PI =4.*ATAN(1.)
00703 GAMEL = GFERMI**2*AMTAU**5/(192*PI**3)
00704
00705
00706
00707 RETURN
00708 END
00709 FUNCTION DCDMAS(IDENT)
00710 COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00711 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00712 * ,AMK,AMKZ,AMKST,GAMKST
00713
00714 REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00715 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00716 * ,AMK,AMKZ,AMKST,GAMKST
00717 IF (IDENT.EQ. 1) THEN
00718 APKMAS=AMPI
00719 ELSEIF (IDENT.EQ.-1) THEN
00720 APKMAS=AMPI
00721 ELSEIF (IDENT.EQ. 2) THEN
00722 APKMAS=AMPIZ
00723 ELSEIF (IDENT.EQ.-2) THEN
00724 APKMAS=AMPIZ
00725 ELSEIF (IDENT.EQ. 3) THEN
00726 APKMAS=AMK
00727 ELSEIF (IDENT.EQ.-3) THEN
00728 APKMAS=AMK
00729 ELSEIF (IDENT.EQ. 4) THEN
00730 APKMAS=AMKZ
00731 ELSEIF (IDENT.EQ.-4) THEN
00732 APKMAS=AMKZ
00733 ELSEIF (IDENT.EQ. 8) THEN
00734 APKMAS=0.0001
00735 ELSEIF (IDENT.EQ.-8) THEN
00736 APKMAS=0.0001
00737 ELSEIF (IDENT.EQ. 9) THEN
00738 APKMAS=0.5488
00739 ELSEIF (IDENT.EQ.-9) THEN
00740 APKMAS=0.5488
00741 ELSE
00742 PRINT *, 'STOP IN APKMAS, WRONG IDENT=',IDENT
00743 STOP
00744 ENDIF
00745 DCDMAS=APKMAS
00746 END
00747 FUNCTION LUNPIK(ID,ISGN)
00748 COMMON / TAUKLE / BRA1,BRK0,BRK0B,BRKS
00749 REAL*4 BRA1,BRK0,BRK0B,BRKS
00750 REAL*4 XIO(1)
00751 IDENT=ID*ISGN
00752
00753 IF (IDENT.EQ. 1) THEN
00754 IPKDEF=-211
00755 ELSEIF (IDENT.EQ.-1) THEN
00756 IPKDEF= 211
00757 ELSEIF (IDENT.EQ. 2) THEN
00758 IPKDEF=111
00759 ELSEIF (IDENT.EQ.-2) THEN
00760 IPKDEF=111
00761 ELSEIF (IDENT.EQ. 3) THEN
00762 IPKDEF=-321
00763 ELSEIF (IDENT.EQ.-3) THEN
00764 IPKDEF= 321
00765
00766 ELSEIF (IDENT.EQ. 4) THEN
00767
00768
00769 CALL RANMAR(XIO,1)
00770 IF (XIO(1).GT.BRK0) THEN
00771 IPKDEF= 130
00772 ELSE
00773 IPKDEF= 310
00774 ENDIF
00775 ELSEIF (IDENT.EQ.-4) THEN
00776
00777
00778 CALL RANMAR(XIO,1)
00779 IF (XIO(1).GT.BRK0B) THEN
00780 IPKDEF= 130
00781 ELSE
00782 IPKDEF= 310
00783 ENDIF
00784 ELSEIF (IDENT.EQ. 8) THEN
00785 IPKDEF= 22
00786 ELSEIF (IDENT.EQ.-8) THEN
00787 IPKDEF= 22
00788 ELSEIF (IDENT.EQ. 9) THEN
00789 IPKDEF= 221
00790 ELSEIF (IDENT.EQ.-9) THEN
00791 IPKDEF= 221
00792 ELSE
00793 PRINT *, 'STOP IN IPKDEF, WRONG IDENT=',IDENT
00794 STOP
00795 ENDIF
00796 LUNPIK=IPKDEF
00797 END
00798
00799
00800
00801
00802 SUBROUTINE TAURDF(KTO)
00803
00804
00805
00806 COMMON / TAUKLE / BRA1,BRK0,BRK0B,BRKS
00807 REAL*4 BRA1,BRK0,BRK0B,BRKS
00808 COMMON / TAUBRA / GAMPRT(500),JLIST(500),NCHAN
00809 IF (KTO.EQ.1) THEN
00810
00811
00812 BRA1 = PKORB(4,1)
00813 BRKS = PKORB(4,3)
00814 BRK0 = PKORB(4,5)
00815 BRK0B = PKORB(4,6)
00816 ELSE
00817
00818
00819 BRA1 = PKORB(4,2)
00820 BRKS = PKORB(4,4)
00821 BRK0 = PKORB(4,5)
00822 BRK0B = PKORB(4,6)
00823 ENDIF
00824
00825 END
00826
00827
00828 SUBROUTINE INIPHY(XK00)
00829
00830
00831
00832
00833 COMMON / QEDPRM /ALFINV,ALFPI,XK0
00834 REAL*8 ALFINV,ALFPI,XK0
00835 REAL*8 PI8,XK00
00836
00837 PI8 = 4.D0*DATAN(1.D0)
00838 ALFINV = 137.03604D0
00839 ALFPI = 1D0/(ALFINV*PI8)
00840 XK0=XK00
00841 END
00842
00843 SUBROUTINE INIMAS
00844
00845
00846
00847
00848
00849 COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00850 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00851 * ,AMK,AMKZ,AMKST,GAMKST
00852
00853 REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00854 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00855 * ,AMK,AMKZ,AMKST,GAMKST
00856
00857
00858 AMTAU = 1.7842
00859
00860 AMTAU = 1.777
00861 AMNUTA = 0.010
00862 AMEL = 0.0005111
00863 AMNUE = 0.0
00864 AMMU = 0.105659
00865 AMNUMU = 0.0
00866
00867
00868
00869 AMPIZ = 0.134964
00870 AMPI = 0.139568
00871 AMRO = 0.773
00872 GAMRO = 0.145
00873
00874 AMA1 = 1.251
00875 GAMA1 = 0.599
00876 AMK = 0.493667
00877 AMKZ = 0.49772
00878 AMKST = 0.8921
00879 GAMKST = 0.0513
00880
00881
00882
00883
00884
00885
00886
00887
00888
00889
00890
00891
00892 AMA1 = 1.275
00893 GAMA1 = 0.615
00894
00895
00896
00897
00898
00899
00900
00901 RETURN
00902 END
00903 SUBROUTINE TAUFIL
00904
00905
00906
00907 COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00908 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00909 * ,AMK,AMKZ,AMKST,GAMKST
00910
00911 REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00912 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00913 * ,AMK,AMKZ,AMKST,GAMKST
00914 COMMON / IDFC / IDFF
00915
00916
00917 COMMON /TAUPOS / NPA,NPB
00918 DIMENSION XPB1(4),XPB2(4),AQF1(4),AQF2(4)
00919
00920
00921 DO 4 K=1,3
00922 XPB1(K)=0.0
00923 XPB2(K)=0.0
00924 AQF1(K)=0.0
00925 AQF2(K)=0.0
00926 4 CONTINUE
00927 AQF1(4)=AMTAU
00928 AQF2(4)=AMTAU
00929
00930 CALL TRALO4(1,AQF1,AQF1,AM)
00931 CALL TRALO4(2,AQF2,AQF2,AM)
00932
00933 KFB1= 11*IDFF/IABS(IDFF)
00934 KFB2=-11*IDFF/IABS(IDFF)
00935 XPB1(4)= AQF1(4)
00936 XPB1(3)= AQF1(4)
00937 IF(AQF1(3).NE.0.0)
00938 $ XPB1(3)= AQF1(4)*AQF1(3)/ABS(AQF1(3))
00939 XPB2(4)= AQF2(4)
00940 XPB2(3)=-AQF2(4)
00941 IF(AQF2(3).NE.0.0)
00942 $ XPB2(3)= AQF2(4)*AQF2(3)/ABS(AQF2(3))
00943
00944 NPA=3
00945 NPB=4
00946
00947 CALL FILHEP( 1,3, KFB1,0,0,0,0,XPB1, AMEL,.TRUE.)
00948 CALL FILHEP( 2,3, KFB2,0,0,0,0,XPB2, AMEL,.TRUE.)
00949 CALL FILHEP(NPA,1, IDFF,1,2,0,0,AQF1,AMTAU,.TRUE.)
00950 CALL FILHEP(NPB,1,-IDFF,1,2,0,0,AQF2,AMTAU,.TRUE.)
00951 END
00952 SUBROUTINE TRALO4(KTO,P,Q,AM)
00953
00954
00955 REAL P(4),Q(4)
00956
00957 COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00958 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00959 * ,AMK,AMKZ,AMKST,GAMKST
00960
00961 REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
00962 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
00963 * ,AMK,AMKZ,AMKST,GAMKST
00964 COMMON /PTAU/ PTAU
00965 AM=AMAS4(P)
00966 ETAU=SQRT(PTAU**2+AMTAU**2)
00967 EXE=(ETAU+PTAU)/AMTAU
00968 IF(KTO.EQ.2) EXE=(ETAU-PTAU)/AMTAU
00969 CALL BOSTR3(EXE,P,Q)
00970
00971
00972
00973 END
00974 SUBROUTINE FILHEP(N,IST,ID,JMO1,JMO2,JDA1,JDA2,P4,PINV,PHFLAG)
00975
00976
00977
00978
00979
00980
00981
00982
00983
00984
00985 INTEGER NMXHEP
00986 PARAMETER (NMXHEP=4000)
00987 REAL*8 phep, vhep
00988 INTEGER nevhep,nhep,isthep,idhep,jmohep,
00989 $ jdahep
00990 COMMON /hepevt/
00991 $ nevhep,
00992 $ nhep,
00993 $ isthep(nmxhep),
00994 $ idhep(nmxhep),
00995 $ jmohep(2,nmxhep),
00996 $ jdahep(2,nmxhep),
00997 $ phep(5,nmxhep),
00998 $ vhep(4,nmxhep)
00999
01000 LOGICAL qedrad
01001 COMMON /phoqed/
01002 $ qedrad(nmxhep)
01003
01004 SAVE hepevt,phoqed
01005
01006
01007
01008
01009
01010
01011
01012
01013
01014 LOGICAL PHFLAG
01015
01016 REAL*4 P4(4)
01017
01018
01019 IF (N.EQ.0) THEN
01020
01021
01022 IHEP=NHEP+1
01023 ELSE IF (N.GT.0) THEN
01024
01025
01026 IHEP=N
01027 ELSE
01028
01029
01030 IHEP=NHEP+N
01031 END IF
01032
01033
01034 IF ((IHEP.LE.0).OR.(IHEP.GT.NMXHEP)) RETURN
01035
01036
01037 NHEP=IHEP
01038 ISTHEP(IHEP)=IST
01039 IDHEP(IHEP)=ID
01040 JMOHEP(1,IHEP)=JMO1
01041 IF(JMO1.LT.0)JMOHEP(1,IHEP)=JMOHEP(1,IHEP)+IHEP
01042 JMOHEP(2,IHEP)=JMO2
01043 IF(JMO2.LT.0)JMOHEP(2,IHEP)=JMOHEP(2,IHEP)+IHEP
01044 JDAHEP(1,IHEP)=JDA1
01045 JDAHEP(2,IHEP)=JDA2
01046
01047 DO I=1,4
01048 PHEP(I,IHEP)=P4(I)
01049
01050
01051 VHEP(I,IHEP)=0.0
01052 END DO
01053 PHEP(5,IHEP)=PINV
01054
01055 QEDRAD(IHEP)=PHFLAG
01056
01057
01058 DO IP=JMOHEP(1,IHEP),JMOHEP(2,IHEP)
01059 IF(IP.GT.0)THEN
01060
01061
01062 IF(ISTHEP(IP).EQ.1)ISTHEP(IP)=2
01063
01064
01065 IF(JDAHEP(1,IP).EQ.0)THEN
01066 JDAHEP(1,IP)=IHEP
01067 JDAHEP(2,IP)=IHEP
01068 ELSE
01069 JDAHEP(2,IP)=MAX(IHEP,JDAHEP(2,IP))
01070 END IF
01071 END IF
01072 END DO
01073
01074 RETURN
01075 END