From ecf337f55a1c800e6c981d113674ac64b35948ad Mon Sep 17 00:00:00 2001 From: gubaidulinvadim <gubaidulinvadim@gmail.com> Date: Mon, 15 Jul 2024 15:47:16 +0200 Subject: [PATCH] -applying formatters --- mbtrack2/tracking/particles.py | 36 ++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/mbtrack2/tracking/particles.py b/mbtrack2/tracking/particles.py index db333b3..74ef09c 100644 --- a/mbtrack2/tracking/particles.py +++ b/mbtrack2/tracking/particles.py @@ -283,26 +283,32 @@ class Bunch: Return the bunch emittance for each plane. """ cor = np.squeeze([[self[name] - self[name].mean()] for name in self]) - + cov_x = np.cov(self['x'], self['xp']) - cov_y = np.cov(self['y'], self['yp']) + cov_y = np.cov(self['y'], self['yp']) cov_z = np.cov(self['tau'], self['delta']) - + if (self.ring.optics.local_dispersion != [0, 0, 0, 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']) - cov_ypdelta = np.cov(self['yp'], self['delta']) - - 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] - emitX = np.sqrt(sig11*sig22-sig12*sig12) - - 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) + cov_ydelta = np.cov(self['y'], self['delta']) + cov_ypdelta = np.cov(self['yp'], self['delta']) + + 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] + emitX = np.sqrt(sig11*sig22 - sig12*sig12) + + 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)) emitY = np.sqrt(np.linalg.det(cov_y)) -- GitLab