SUBROUTINE SUSARR( ierr ) C ---------------------------------------------------------------------- C Purpose: Integrate total cross-section. C DIVON4 integration package is used. C C Author: JMB C ---------------------------------------------------------------------- C IMPLICIT NONE C INCLUDE 'SUSANA.INC' INCLUDE 'PYTHIA57.INC' C DOUBLE PRECISION dfun, factor, xyh(2), xyl(2), xypeak(2) REAL xsd, step, errmax INTEGER IErr, maxnum REAL ulmass EXTERNAL ulmass C C C -- Set function type. Function_type = 1 C C -- Integration parameters. maxnum = 100000 C C -- Partition cross section. CALL PARTN( 2, low, high, 1.0, maxnum) CALL INTGRL( 2, 0, isustr(4), total_xsec, error_xsec) C C -- Reset function type. Function_type = 0 C C -- Convert the total cross-section (at present in GeV^-2) to picobarns. factor = (0.197**2) * 1.0E+10 total_xsec = total_xsec * factor error_xsec = error_xsec * factor WRITE( isustr(1),1000) total_xsec, error_xsec C C C -- Add beam particles to the LUND list. C Electron. k(1,1) = 21 k(1,2) = 11 p(1,1) = pl(1) p(1,2) = pl(2) p(1,3) = PL(3) p(1,4) = SQRT( PL(4)**2 + ULMASS(11)**2 ) p(1,5) = ULMASS(11) C Proton. k(2,1) = 21 k(2,2) = 2212 p(2,1) = pp(1) p(2,2) = pp(2) p(2,3) = pp(3) p(2,4) = SQRT( PP(4)**2 + ULMASS(2212)**2 ) p(2,5) = ULMASS(2212) C 8900 CONTINUE RETURN C 1000 FORMAT(//,18X,'Total Cross-section = ', E8.2, '+-' &, E8.2,' pb', /) END