From 02a4042b33cb072e488763b155e62d1504af9cee Mon Sep 17 00:00:00 2001
From: gubaidulinvadim <gubaidulinvadim@gmail.com>
Date: Tue, 18 Jun 2024 16:03:46 +0200
Subject: [PATCH] - corrected cs_invariant calculation

---
 mbtrack2/tracking/particles.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/mbtrack2/tracking/particles.py b/mbtrack2/tracking/particles.py
index cc9e91e..a5b5276 100644
--- a/mbtrack2/tracking/particles.py
+++ b/mbtrack2/tracking/particles.py
@@ -318,12 +318,14 @@ class Bunch:
         """
         xb = self['x'] - self['delta'] * self.ring.optics.local_dispersion[0]
         yy = self['y'] - self['delta'] * self.ring.optics.local_dispersion[2]
+        xpb = self['xp'] - self['delta'] * self.ring.optics.local_dispersion[1]
+        ypb = self['yp'] - self['delta'] * self.ring.optics.local_dispersion[3]
         Jx = (self.ring.optics.local_gamma[0] * xb**2) + \
-              (2*self.ring.optics.local_alpha[0] *xb)*self['xp'] + \
-              (self.ring.optics.local_beta[0] * self['xp']**2)
+              (2*self.ring.optics.local_alpha[0] *xb*xpb) + \
+              (self.ring.optics.local_beta[0] * xpb**2)
         Jy = (self.ring.optics.local_gamma[1] * yb**2) + \
-              (2*self.ring.optics.local_alpha[1] * yb*self['yp']) + \
-              (self.ring.optics.local_beta[1] * self['yp']**2)
+              (2*self.ring.optics.local_alpha[1] * yb*ypb) + \
+              (self.ring.optics.local_beta[1] * ypb**2)
         Js = (self.ring.long_gamma * self['tau']**2) + \
               (2*self.ring.long_alpha * self['tau']*self['delta']) + \
               (self.ring.long_beta * self['delta']**2)
-- 
GitLab