[2403] | 1 | *
|
---|
| 2 | * $Id: fcnk0.F,v 1.1.1.1 2003-06-11 14:18:31 cmv Exp $
|
---|
| 3 | *
|
---|
| 4 | * $Log: not supported by cvs2svn $
|
---|
| 5 | * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni
|
---|
| 6 | * Minuit
|
---|
| 7 | *
|
---|
| 8 | *
|
---|
| 9 | #include "minuit/pilot.h"
|
---|
| 10 | SUBROUTINE FCNK0(NPAR,GIN,F,X,IFLAG)
|
---|
| 11 | #include "minuit/d506dp.inc"
|
---|
| 12 | REAL THPLUI, THMINI
|
---|
| 13 | DIMENSION X(*),GIN(*)
|
---|
| 14 | PARAMETER (MXBIN=50)
|
---|
| 15 | DIMENSION THPLU(MXBIN),THMIN(MXBIN),T(MXBIN),
|
---|
| 16 | + EVTP(MXBIN),EVTM(MXBIN)
|
---|
| 17 | DATA NBINS,NEVTOT/ 30,250/
|
---|
| 18 | DATA (EVTP(IGOD),IGOD=1,30)
|
---|
| 19 | + /11., 9., 13., 13., 17., 9., 1., 7., 8., 9.,
|
---|
| 20 | + 6., 4., 6., 3., 7., 4., 7., 3., 8., 4.,
|
---|
| 21 | + 6., 5., 7., 2., 7., 1., 4., 1., 4., 5./
|
---|
| 22 | DATA (EVTM(IGOD),IGOD=1,30)
|
---|
| 23 | + / 0., 0., 0., 0., 0., 0., 0., 0., 1., 1.,
|
---|
| 24 | + 0., 2., 1., 4., 4., 2., 4., 2., 2., 0.,
|
---|
| 25 | + 2., 3., 7., 2., 3., 6., 2., 4., 1., 5./
|
---|
| 26 | C
|
---|
| 27 | XRE = X(1)
|
---|
| 28 | XIM = X(2)
|
---|
| 29 | DM = X(5)
|
---|
| 30 | GAMS = 1.0/X(10)
|
---|
| 31 | GAML = 1.0/X(11)
|
---|
| 32 | GAMLS = 0.5*(GAML+GAMS)
|
---|
| 33 | IF (IFLAG .NE. 1) GO TO 300
|
---|
| 34 | C generate random data
|
---|
| 35 | STHPLU = 0.
|
---|
| 36 | STHMIN = 0.
|
---|
| 37 | DO 200 I= 1, NBINS
|
---|
| 38 | T(I) = 0.1*REAL(I)
|
---|
| 39 | TI = T(I)
|
---|
| 40 | EHALF = EXP(-TI*GAMLS)
|
---|
| 41 | TH = ((1.0-XRE)**2 + XIM**2) * EXP(-TI*GAML)
|
---|
| 42 | TH = TH + ((1.0+XRE)**2 + XIM**2) * EXP(-TI*GAMS)
|
---|
| 43 | TH = TH - 4.0*XIM*SIN(DM*TI) * EHALF
|
---|
| 44 | STERM = 2.0*(1.0-XRE**2-XIM**2)*COS(DM*TI) * EHALF
|
---|
| 45 | THPLU(I) = TH + STERM
|
---|
| 46 | THMIN(I) = TH - STERM
|
---|
| 47 | STHPLU = STHPLU + THPLU(I)
|
---|
| 48 | STHMIN = STHMIN + THMIN(I)
|
---|
| 49 | 200 CONTINUE
|
---|
| 50 | NEVPLU = REAL(NEVTOT)*(STHPLU/(STHPLU+STHMIN))
|
---|
| 51 | NEVMIN = REAL(NEVTOT)*(STHMIN/(STHPLU+STHMIN))
|
---|
| 52 | WRITE (6,'(A)') ' LEPTONIC K ZERO DECAYS'
|
---|
| 53 | WRITE (6,'(A,3I10)') ' PLUS, MINUS, TOTAL=',NEVPLU,NEVMIN,NEVTOT
|
---|
| 54 | WRITE (6,'(A)')
|
---|
| 55 | + '0 TIME THEOR+ EXPTL+ THEOR- EXPTL-'
|
---|
| 56 | SEVTP = 0.
|
---|
| 57 | SEVTM = 0.
|
---|
| 58 | DO 250 I= 1, NBINS
|
---|
| 59 | THPLU(I) = THPLU(I)*REAL(NEVPLU) / STHPLU
|
---|
| 60 | THMIN(I) = THMIN(I)*REAL(NEVMIN) / STHMIN
|
---|
| 61 | THPLUI = THPLU(I)
|
---|
| 62 | CCC CALL POISSN(THPLUI,NP,IERROR)
|
---|
| 63 | CCC EVTP(I) = NP
|
---|
| 64 | SEVTP = SEVTP + EVTP(I)
|
---|
| 65 | THMINI = THMIN(I)
|
---|
| 66 | CCC CALL POISSN(THMINI,NM,IERROR)
|
---|
| 67 | CCC EVTM(I) = NM
|
---|
| 68 | SEVTM = SEVTM + EVTM(I)
|
---|
| 69 | IF (IFLAG .NE. 4)
|
---|
| 70 | + WRITE (6,'(1X,5G12.4)') T(I),THPLU(I),EVTP(I),THMIN(I),EVTM(I)
|
---|
| 71 | 250 CONTINUE
|
---|
| 72 | WRITE (6, '(A,2F10.2)') ' DATA EVTS PLUS, MINUS=', SEVTP,SEVTM
|
---|
| 73 | C calculate chisquared
|
---|
| 74 | 300 CONTINUE
|
---|
| 75 | CHISQ = 0.
|
---|
| 76 | STHPLU = 0.
|
---|
| 77 | STHMIN = 0.
|
---|
| 78 | DO 400 I= 1, NBINS
|
---|
| 79 | TI = T(I)
|
---|
| 80 | EHALF = EXP(-TI*GAMLS)
|
---|
| 81 | TH = ((1.0-XRE)**2 + XIM**2) * EXP(-TI*GAML)
|
---|
| 82 | TH = TH + ((1.0+XRE)**2 + XIM**2) * EXP(-TI*GAMS)
|
---|
| 83 | TH = TH - 4.0*XIM*SIN(DM*TI) * EHALF
|
---|
| 84 | STERM = 2.0*(1.0-XRE**2-XIM**2)*COS(DM*TI) * EHALF
|
---|
| 85 | THPLU(I) = TH + STERM
|
---|
| 86 | THMIN(I) = TH - STERM
|
---|
| 87 | STHPLU = STHPLU + THPLU(I)
|
---|
| 88 | STHMIN = STHMIN + THMIN(I)
|
---|
| 89 | 400 CONTINUE
|
---|
| 90 | THP = 0.
|
---|
| 91 | THM = 0.
|
---|
| 92 | EVP = 0.
|
---|
| 93 | EVM = 0.
|
---|
| 94 | IF (IFLAG .NE. 4) WRITE (6,'(1H0,10X,A,20X,A)')
|
---|
| 95 | + 'POSITIVE LEPTONS','NEGATIVE LEPTONS'
|
---|
| 96 | IF (IFLAG .NE. 4) WRITE (6,'(A,3X,A)')
|
---|
| 97 | + ' TIME THEOR EXPTL CHISQ',
|
---|
| 98 | + ' TIME THEOR EXPTL CHISQ'
|
---|
| 99 | C
|
---|
| 100 | DO 450 I= 1, NBINS
|
---|
| 101 | THPLU(I) = THPLU(I)*SEVTP / STHPLU
|
---|
| 102 | THMIN(I) = THMIN(I)*SEVTM / STHMIN
|
---|
| 103 | THP = THP + THPLU(I)
|
---|
| 104 | THM = THM + THMIN(I)
|
---|
| 105 | EVP = EVP + EVTP(I)
|
---|
| 106 | EVM = EVM + EVTM(I)
|
---|
| 107 | C Sum over bins until at least four events found
|
---|
| 108 | IF (EVP .GT. 3.) THEN
|
---|
| 109 | CHI1 = (EVP-THP)**2/EVP
|
---|
| 110 | CHISQ = CHISQ + CHI1
|
---|
| 111 | IF (IFLAG .NE. 4)
|
---|
| 112 | + WRITE (6,'(1X,4F9.3)') T(I),THP,EVP,CHI1
|
---|
| 113 | THP = 0.
|
---|
| 114 | EVP = 0.
|
---|
| 115 | ENDIF
|
---|
| 116 | IF (EVM .GT. 3) THEN
|
---|
| 117 | CHI2 = (EVM-THM)**2/EVM
|
---|
| 118 | CHISQ = CHISQ + CHI2
|
---|
| 119 | IF (IFLAG .NE. 4)
|
---|
| 120 | + WRITE (6,'(42X,4F9.3)') T(I),THM,EVM,CHI2
|
---|
| 121 | THM = 0.
|
---|
| 122 | EVM = 0.
|
---|
| 123 | ENDIF
|
---|
| 124 | 450 CONTINUE
|
---|
| 125 | F = CHISQ
|
---|
| 126 | RETURN
|
---|
| 127 | END
|
---|