diff --git a/mbtrack2/tracking/particles.py b/mbtrack2/tracking/particles.py index 87e393304e4f4d486634e50ef1d61688e4a37637..cc9e91eddb4f2e367e5ff269d91d10b8b9e766c9 100644 --- a/mbtrack2/tracking/particles.py +++ b/mbtrack2/tracking/particles.py @@ -288,7 +288,7 @@ class Bunch: cov_y = np.cov(self['y'], self['yp']) cov_z = np.cov(self['tau'], self['delta']) - if (self.ring.optics.local_dispersion[0, 1] != 0).all(): + if (self.ring.optics.local_dispersion[0:1] != 0): cov_xdelta = np.cov(self['x'], self['delta']) cov_xpdelta = np.cov(self['xp'], self['delta']) cov_ydelta = np.cov(self['y'], self['delta']) @@ -299,9 +299,9 @@ class Bunch: sig22 = cov_x[1, 1] - cov_xpdelta[0, 1] * cov_xpdelta[0, 1] / cov_z[1, 1] emitX = np.sqrt(sig11*sig22-sig12*sig12) - sig11 = cov_x[0, 0] - cov_xdelta[0, 1] * cov_xdelta[0, 1] / cov_z[1,1] - sig12 = cov_x[0, 1] - cov_xdelta[0, 1] * cov_xpdelta[0, 1] / cov_z[1, 1] - sig22 = cov_x[1, 1] - cov_xpdelta[0, 1] * cov_xpdelta[0, 1] / cov_z[1, 1] + sig11 = cov_y[0, 0] - cov_ydelta[0, 1] * cov_ydelta[0, 1] / cov_z[1,1] + sig12 = cov_y[0, 1] - cov_ydelta[0, 1] * cov_ypdelta[0, 1] / cov_z[1, 1] + sig22 = cov_y[1, 1] - cov_ypdelta[0, 1] * cov_ypdelta[0, 1] / cov_z[1, 1] emitY = np.sqrt(sig11*sig22-sig12*sig12) else: emitX = np.sqrt(np.linalg.det(cov_x))