* * $Id$ * * $Log$ * Revision 1.1 2000/06/19 20:00:30 eugenio * Initial revision * * Revision 1.1.1.1 1994/11/22 16:57:02 zfiles * first version of korb in CVS * * #include "sys/CLEO_machine.h" #include "pilot.h" *CMZ : 2.00/00 21/01/93 15.42.30 by Alan Weinstein *-- Author : SUBROUTINE DADMEL(MODE,ISGN,HHV,PNU,PWB,Q1,Q2,PHX) C ---------------------------------------------------------------------- C C called by : DEXEL,(DEKAY,DEKAY1) C ---------------------------------------------------------------------- COMMON / DECPAR / GFERMI,GV,GA,CCABIB,SCABIB,GAMEL REAL*4 GFERMI,GV,GA,CCABIB,SCABIB,GAMEL COMMON / PARMAS / AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1 * ,AMK,AMKZ,AMKST,GAMKST C REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1 * ,AMK,AMKZ,AMKST,GAMKST COMMON / TAUBMC / GAMPMC(30),GAMPER(30),NEVDEC(30) REAL*4 GAMPMC ,GAMPER REAL*4 PHX(4) COMMON / INOUT / INUT,IOUT REAL HHV(4),HV(4),PWB(4),PNU(4),Q1(4),Q2(4) REAL PDUM1(4),PDUM2(4),PDUM3(4),PDUM4(4),PDUM5(4) REAL*4 RRR(3) REAL*8 SWT, SSWT DATA PI /3.141592653589793238462643/ DATA IWARM/0/ C IF(MODE.EQ.-1) THEN C =================== IWARM=1 NEVRAW=0 NEVACC=0 NEVOVR=0 SWT=0 SSWT=0 WTMAX=1E-20 DO 15 I=1,500 CALL DPHSEL(WT,HV,PDUM1,PDUM2,PDUM3,PDUM4,PDUM5) IF(WT.GT.WTMAX/1.2) WTMAX=WT*1.2 15 CONTINUE CC CALL HBOOK1(803,'WEIGHT DISTRIBUTION DADMEL $',100,0,2) C ELSEIF(MODE.EQ. 0) THEN C ======================= 300 CONTINUE IF(IWARM.EQ.0) GOTO 902 NEVRAW=NEVRAW+1 CALL DPHSEL(WT,HV,PNU,PWB,Q1,Q2,PHX) CC CALL HFILL(803,WT/WTMAX) SWT=SWT+WT SSWT=SSWT+WT**2 CALL RANMAR(RRR,3) RN=RRR(1) IF(WT.GT.WTMAX) NEVOVR=NEVOVR+1 IF(RN*WTMAX.GT.WT) GOTO 300 C ROTATIONS TO BASIC TAU REST FRAME RR2=RRR(2) COSTHE=-1.+2.*RR2 THET=ACOS(COSTHE) RR3=RRR(3) PHI =2*PI*RR3 CALL ROTOR2(THET,PNU,PNU) CALL ROTOR3( PHI,PNU,PNU) CALL ROTOR2(THET,PWB,PWB) CALL ROTOR3( PHI,PWB,PWB) CALL ROTOR2(THET,Q1,Q1) CALL ROTOR3( PHI,Q1,Q1) CALL ROTOR2(THET,Q2,Q2) CALL ROTOR3( PHI,Q2,Q2) CALL ROTOR2(THET,HV,HV) CALL ROTOR3( PHI,HV,HV) CALL ROTOR2(THET,PHX,PHX) CALL ROTOR3( PHI,PHX,PHX) DO 44,I=1,3 44 HHV(I)=-ISGN*HV(I) NEVACC=NEVACC+1 C ELSEIF(MODE.EQ. 1) THEN C ======================= IF(NEVRAW.EQ.0) RETURN PARGAM=SWT/FLOAT(NEVRAW+1) ERROR=0 IF(NEVRAW.NE.0) ERROR=SQRT(SSWT/SWT**2-1./FLOAT(NEVRAW)) RAT=PARGAM/GAMEL WRITE(IOUT, 7010) NEVRAW,NEVACC,NEVOVR,PARGAM,RAT,ERROR CC CALL HPRINT(803) GAMPMC(1)=RAT GAMPER(1)=ERROR CAM NEVDEC(1)=NEVACC ENDIF C ===== RETURN 7010 FORMAT(///1X,15(5H*****) $ /,' *', 25X,'******** DADMEL FINAL REPORT ******** ',9X,1H* $ /,' *',I20 ,5X,'NEVRAW = NO. OF EL DECAYS TOTAL ',9X,1H* $ /,' *',I20 ,5X,'NEVACC = NO. OF EL DECS. ACCEPTED ',9X,1H* $ /,' *',I20 ,5X,'NEVOVR = NO. OF OVERWEIGHTED EVENTS ',9X,1H* $ /,' *',E20.5,5X,'PARTIAL WTDTH ( ELECTRON) IN GEV UNITS ',9X,1H* $ /,' *',F20.9,5X,'IN UNITS GFERMI**2*MASS**5/192/PI**3 ',9X,1H* $ /,' *',F20.9,5X,'RELATIVE ERROR OF PARTIAL WIDTH ',9X,1H* $ /,' *',25X, 'COMPLETE QED CORRECTIONS INCLUDED ',9X,1H* $ /,' *',25X, 'BUT ONLY V-A CUPLINGS ',9X,1H* $ /,1X,15(5H*****)/) 902 WRITE(IOUT, 9020) 9020 FORMAT(' ----- DADMEL: LACK OF INITIALISATION') STOP END