C======================================================================= ======= SUBROUTINE EMASSQ (NTRKQ,QMASS, PXYZE,IERR) C======================================================================= ======= C EMASSQ calculates M**2, sigma(M**2), via a call th MCALC C This is furnished as a convenience for people who have calls to this C obsolescent routine. Note the more restrictive set of track pointers C as compared with MCALC. C----------------------------------------------------------------------- ------- IMPLICIT NONE #include INTEGER NTRKQ, IERR REAL QMASS(MAXTRK), PXYZE(6) INTEGER I,N, MTRACK(MAXTRK) REAL FMASS, DMASS DOUBLE PRECISION P4(4) C----------------------------------------------------------------------- ------- IERR = 0 DO I=1,4 P4(I) = 0.0D0 END DO CALL VZERO (PXYZE,6) N = MIN0(MaxTrk,NTRKQ) DO I=1,N MTRACK(I) = I TMASS(I) = QMASS(I) END DO CALL MCALC (NTRKQ,MTRACK,FMASS,DMASS, P4) IF (FMASS.LT.0.0) THEN IERR = FMASS GO TO 900 END IF DO I=1,4 PXYZE(I) = P4(I) END DO PXYZE(5) = FMASS**2 PXYZE(6) = 2.0 * FMASS * DMASS 900 CONTINUE RETURN END