Protection against division by 0.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Feb 2004 22:38:41 +0000 (22:38 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Feb 2004 22:38:41 +0000 (22:38 +0000)
PYTHIA6/pythia6214.f

index e8e6c35..4d1eeff 100644 (file)
@@ -3979,32 +3979,37 @@ C...Find mass and evaluate width.
         MINT(51)=0
  
 C...Evaluate suppression factors due to non-simulated channels.
-        IF(KCHG(KC,3).EQ.0) THEN
-          WIDS(KC,1)=((WDTE(0,1)+WDTE(0,2))**2+
-     &    2D0*(WDTE(0,1)+WDTE(0,2))*(WDTE(0,4)+WDTE(0,5))+
-     &    2D0*WDTE(0,4)*WDTE(0,5))/WDTP(0)**2
-          WIDS(KC,2)=(WDTE(0,1)+WDTE(0,2)+WDTE(0,4))/WDTP(0)
-          WIDS(KC,3)=0D0
-          WIDS(KC,4)=0D0
-          WIDS(KC,5)=0D0
-        ELSE
-          IF(MWID(KC).EQ.3) MINT(63)=1
-          CALL PYWIDT(-KF,PMR**2,WDTPM,WDTEM)
-          MINT(51)=0
-          WIDS(KC,1)=((WDTE(0,1)+WDTE(0,2))*(WDTEM(0,1)+WDTEM(0,3))+
-     &    (WDTE(0,1)+WDTE(0,2))*(WDTEM(0,4)+WDTEM(0,5))+
-     &    (WDTE(0,4)+WDTE(0,5))*(WDTEM(0,1)+WDTEM(0,3))+
-     &    WDTE(0,4)*WDTEM(0,5)+WDTE(0,5)*WDTEM(0,4))/WDTP(0)**2
-          WIDS(KC,2)=(WDTE(0,1)+WDTE(0,2)+WDTE(0,4))/WDTP(0)
-          WIDS(KC,3)=(WDTEM(0,1)+WDTEM(0,3)+WDTEM(0,4))/WDTP(0)
-          WIDS(KC,4)=((WDTE(0,1)+WDTE(0,2))**2+
-     &    2D0*(WDTE(0,1)+WDTE(0,2))*(WDTE(0,4)+WDTE(0,5))+
-     &    2D0*WDTE(0,4)*WDTE(0,5))/WDTP(0)**2
-          WIDS(KC,5)=((WDTEM(0,1)+WDTEM(0,3))**2+
-     &    2D0*(WDTEM(0,1)+WDTEM(0,3))*(WDTEM(0,4)+WDTEM(0,5))+
-     &    2D0*WDTEM(0,4)*WDTEM(0,5))/WDTP(0)**2
+C...AM
+C...Protection against division by 0 since rho_21_tc is causing problem here
+        IF (WDTP(0) .GT. 0.) THEN
+           
+           IF(KCHG(KC,3).EQ.0) THEN
+              WIDS(KC,1)=((WDTE(0,1)+WDTE(0,2))**2+
+     &             2D0*(WDTE(0,1)+WDTE(0,2))*(WDTE(0,4)+WDTE(0,5))+
+     &             2D0*WDTE(0,4)*WDTE(0,5))/WDTP(0)**2
+              WIDS(KC,2)=(WDTE(0,1)+WDTE(0,2)+WDTE(0,4))/WDTP(0)
+              WIDS(KC,3)=0D0
+              WIDS(KC,4)=0D0
+              WIDS(KC,5)=0D0
+           ELSE
+              IF(MWID(KC).EQ.3) MINT(63)=1
+              CALL PYWIDT(-KF,PMR**2,WDTPM,WDTEM)
+              MINT(51)=0
+              WIDS(KC,1)=((WDTE(0,1)+WDTE(0,2))*(WDTEM(0,1)+WDTEM(0,3))+
+     &             (WDTE(0,1)+WDTE(0,2))*(WDTEM(0,4)+WDTEM(0,5))+
+     &             (WDTE(0,4)+WDTE(0,5))*(WDTEM(0,1)+WDTEM(0,3))+
+     &             WDTE(0,4)*WDTEM(0,5)+WDTE(0,5)*WDTEM(0,4))/WDTP(0)**2
+              WIDS(KC,2)=(WDTE(0,1)+WDTE(0,2)+WDTE(0,4))/WDTP(0)
+              WIDS(KC,3)=(WDTEM(0,1)+WDTEM(0,3)+WDTEM(0,4))/WDTP(0)
+              WIDS(KC,4)=((WDTE(0,1)+WDTE(0,2))**2+
+     &             2D0*(WDTE(0,1)+WDTE(0,2))*(WDTE(0,4)+WDTE(0,5))+
+     &             2D0*WDTE(0,4)*WDTE(0,5))/WDTP(0)**2
+              WIDS(KC,5)=((WDTEM(0,1)+WDTEM(0,3))**2+
+     &             2D0*(WDTEM(0,1)+WDTEM(0,3))*(WDTEM(0,4)+WDTEM(0,5))+
+     &             2D0*WDTEM(0,4)*WDTEM(0,5))/WDTP(0)**2
+           ENDIF
+           
         ENDIF
 C...Set resonance widths and branching ratios;
 C...also on/off switch for decays.
         IF(MWID(KC).EQ.1.OR.MWID(KC).EQ.3) THEN