diff --git a/analisis/plots/20231123_CPTconmicromocion3/CPT_plotter_20231123.py b/analisis/plots/20231123_CPTconmicromocion3/CPT_plotter_20231123.py
index ff76205c408f6a73577d18a3c5b6a693dc0ecfe1..7c9319d4bfc461a162ebaea714ea5431004a4acd 100644
--- a/analisis/plots/20231123_CPTconmicromocion3/CPT_plotter_20231123.py
+++ b/analisis/plots/20231123_CPTconmicromocion3/CPT_plotter_20231123.py
@@ -905,7 +905,7 @@ De la 1 a la 11 ajustan bien
 """
 
 
-#from EITfit.MM_eightLevel_2repumps_AnalysisFunctions import PerformExperiment_8levels
+from EITfit.lolo_modelo_full_8niveles import PerformExperiment_8levels_MM
 from scipy.optimize import curve_fit
 import time
 
@@ -1008,8 +1008,9 @@ for selectedcurve in SelectedCurveVec:
     
     do_fit = True
     if do_fit:
-        popt_3_SA, pcov_3_SA = curve_fit(FitEIT_MM_single, FreqsDR, CountsDR, p0=[430, -25, 0.9, 6.2, 3e4, 1.34e3, 2, (np.pi**2)*1e-3, 32e6], bounds=((0, -50, 0, 0, 0, 0, 0, 0, 25e6), (1000, 0, 2, 20, 5e4, 5e4, 10, (np.pi**2)*10e-3, 40e6)))
-        
+        print(1)
+        popt_3_SA, pcov_3_SA = curve_fit(FitEIT_MM_single, FreqsDR, CountsDR, p0=[430, -25, 0.9, 6.2, 3e4, 1.34e3, 2, (np.pi**2)*1e-3, 32e6], bounds=((0, -50, 0, 0, 0, 0, 0, 0, 31e6), (1000, 0, 2, 20, 5e4, 5e4, 10, (np.pi**2)*10e-3, 34e6)))
+        print(2)
         popt_SA_vec.append(popt_3_SA)
         pcov_SA_vec.append(pcov_3_SA)
     
@@ -1052,7 +1053,7 @@ Grafico distintas variables que salieron del SUper ajuste
 import seaborn as sns
 paleta = sns.color_palette("rocket")
 
-medfin = 12
+medfin = 11
 
 
 voltages_dcA = Voltages[0][1:medfin]
@@ -1066,9 +1067,9 @@ def hiperbola(x,a,b,c,x0):
 hiperbola_or_linear = True
 
 if hiperbola_or_linear:
-    popthip,pcovhip = curve_fit(hiperbola,voltages_dcA,Betas_vec[:medfin-1],p0=(100,0.1,1,-0.15))
+    popthip,pcovhip = curve_fit(hiperbola,voltages_dcA[0:9],Betas_vec[0:9],p0=(100,0.1,1,-0.15))
     
-    xhip = np.linspace(-0.23,0.005,200)
+    xhip = np.linspace(-0.23,0.055,200)
     
     plt.figure()
     plt.errorbar(voltages_dcA,Betas_vec[0:medfin-1],yerr=ErrorBetas_vec[:medfin-1],fmt='o',capsize=5,markersize=5,color=paleta[1])
@@ -1103,6 +1104,7 @@ plt.figure()
 plt.errorbar(voltages_dcA,[t*1e3 for t in Temp_vec[:medfin-1]],yerr=[t*1e3 for t in ErrorTemp_vec[:medfin-1]],fmt='o',capsize=5,markersize=5,color=paleta[3])
 #plt.axvline(minimum_voltage,linestyle='dashed',color='grey')
 plt.axhline(0.538)
+plt.yscale('log')
 plt.xlabel('Endcap voltage (V)')
 plt.ylabel('Temperature (mK)')
 plt.grid()
@@ -1117,15 +1119,20 @@ sino que esta a una distancia d
 def hiperbola(x,a,b,c,x0):
     return a*np.sqrt(((x-x0)**2+c**2))+b
 
-popthip,pcovhip = curve_fit(hiperbola,voltages_dcA,Betas_vec[:10],p0=(100,0.1,1,-0.15))
+medfin = 11
+voltages_dcA = Voltages[0][1:medfin]
 
-xhip = np.linspace(-0.23,0.005,200)
+
+popthip,pcovhip = curve_fit(hiperbola,voltages_dcA[:10],Betas_vec[:10],p0=(100,0.1,1,-0.15))
+
+xhip = np.linspace(-0.23,0.055,200)
 
 plt.figure()
-plt.errorbar(voltages_dcA,Betas_vec[:10],yerr=ErrorBetas_vec[:10],fmt='o',capsize=5,markersize=5,color=paleta[1])
+plt.errorbar(voltages_dcA,Betas_vec[:medfin-1],yerr=ErrorBetas_vec[:medfin-1],fmt='o',capsize=5,markersize=5,color=paleta[1])
 plt.plot(xhip,hiperbola(xhip,*popthip))
 plt.xlabel('Endcap voltage (V)')
 plt.ylabel('Modulation factor')
+#plt.yscale('log')
 plt.grid()
 
 
@@ -1155,49 +1162,100 @@ def InverseMicromotionSpectra(beta, A, det, x0, gamma, B):
     return 1/(A*P+B)
 
 
-def InverseMicromotionSpectra_raw(beta, A, det, B):
+def MicromotionSpectra(beta,det, gamma):
+    ftrap=22.1
+    #gamma=23
+    P = (jv(0, beta)**2)/(((det)**2)+(0.5*gamma)**2)
+    i = 1
+    #print(P)
+    while i <= 2:
+        P = P + ((jv(i, beta))**2)/((((det)+i*ftrap)**2)+(0.5*gamma)**2) + ((jv(-i, beta))**2)/((((det)-i*ftrap)**2)+(0.5*gamma)**2) 
+        i = i + 1
+        #print(P)
+    return P
+
+
+def InverseDerivMicromotionSpectra(beta, det, gamma):
     ftrap=22.1
-    gamma=21
+    #gamma=23
+    #det = -gamma/2
     P = ((jv(0, beta)**2)/((((det)**2)+(0.5*gamma)**2)**2))*(-2*(det))
     i = 1
     #print(P)
-    while i <= 3:
+    while i <= 2:
         P = P + (-2*(det))*((jv(i, beta))**2)/(((((det)+i*ftrap)**2)+(0.5*gamma)**2)**2) + (-2*(det))*(((jv(-i, beta))**2)/((((det)-i*ftrap)**2)+(0.5*gamma)**2)**2)
         i = i + 1
         #print(P)
-    return A/P+B
+    return 1/P
+
+
+def FinalTemp(beta,det, C,D):
+    gamma = 22
+    #det=-11
+    #D=-0.8
+    #C = 1.68656122e-03  
+    #D = 6.64227010e-02
+    #C=0
+    
+    #print(MicromotionSpectra(beta,det,gamma))
+    return (C*MicromotionSpectra(beta,det,gamma)+D*beta**2)*InverseDerivMicromotionSpectra(beta, det, gamma)
+    #return (C*MicromotionSpectra(beta,det,gamma))*InverseDerivMicromotionSpectra(beta, det, gamma)
 
 
-"""
-Temperatura vs beta con un ajuste exponencial 
-"""
 
-popt_exp, pcov_exp = curve_fit(expo,Betas_vec[:10],[t*1e3 for t in Temp_vec[:10]])
-popt_quad, pcov_quad = curve_fit(cuadratica,Betas_vec[:10],[t*1e3 for t in Temp_vec[:10]],p0=(1,10))
+popt_exp, pcov_exp = curve_fit(expo,Betas_vec[:9],[t*1e3 for t in Temp_vec[:9]])
+#popt_quad, pcov_quad = curve_fit(cuadratica,Betas_vec[:11],[t*1e3 for t in Temp_vec[:11]],p0=(1,10))
 #popt_rho22, pcov_rho22 = curve_fit(InverseMicromotionSpectra,Betas_vec,[t*1e3 for t in Temp_vec],p0=(10,10,-10,1,20)) #esto ajusta muy bien
 #popt_rho22, pcov_rho22 = curve_fit(InverseMicromotionSpectra,Betas_vec, [t*1e3 for t in Temp_vec],p0=(-10,-10,10,1,20)) #esto ajusta muy bien
-popt_rho22_raw, pcov_rho22_raw = curve_fit(InverseMicromotionSpectra_raw,Betas_vec[:10], [t*1e3 for t in Temp_vec[:10]],p0=(-10, -10, 1)) #esto ajusta muy bien
+#popt_rho22_raw, pcov_rho22_raw = curve_fit(InverseMicromotionSpectra_raw,Betas_vec[:7], [t*1e3 for t in Temp_vec[:7]],p0=(-0.1, -10, 1)) #esto ajusta muy bien
+popt_rho22_balance, pcov_rho22_balance = curve_fit(FinalTemp,Betas_vec[:9], [t*1e3 for t in Temp_vec[:9]],p0=(-10, 10,1)) #esto ajusta muy bien
 
+print(popt_rho22_balance)
 
-print(popt_rho22_raw)
+betaslong = np.arange(0,2.8,0.01)
 
-betaslong = np.arange(0,2*2.7,0.01)
+print(f'Min temp predicted: {FinalTemp(betaslong,*popt_rho22_balance)[0]}')
 
-print(f'Min temp predicted: {InverseMicromotionSpectra_raw(betaslong,*popt_rho22_raw)[100]}')
+print(f'Detuning: {popt_rho22_balance[0]} MHz')
+print(f'rho22 coeff: {popt_rho22_balance[1]}')
+print(f'betasquared coeff: {popt_rho22_balance[2]}')
+
+print(f'cociente de los coeff: {popt_rho22_balance[2]/popt_rho22_balance[1]}')
+
+k_plot = 9
 
 plt.figure()
-plt.errorbar(Betas_vec[:10],[t*1e3 for t in Temp_vec[:10]],xerr=ErrorBetas_vec[:10], yerr=[t*1e3 for t in ErrorTemp_vec[:10]],fmt='o',capsize=5,markersize=5,color=paleta[3])
+plt.errorbar(Betas_vec[:k_plot],[t*1e3 for t in Temp_vec[:k_plot]],xerr=ErrorBetas_vec[:k_plot], yerr=[t*1e3 for t in ErrorTemp_vec[:k_plot]],fmt='o',capsize=5,markersize=5,color=paleta[3])
 #plt.plot(betaslong,expo(betaslong,*popt_exp),label='Ajuste exponencial')
 #plt.plot(betaslong,cuadratica(betaslong,*popt_quad),label='Ajuste cuadratico')
 #plt.plot(betaslong,InverseMicromotionSpectra(betaslong,*popt_rho22),label='Ajuste cuadratico')
-plt.plot(betaslong,InverseMicromotionSpectra_raw(betaslong,*popt_rho22_raw),label='Ajuste cuadratico')
+plt.plot(betaslong,FinalTemp(betaslong,popt_rho22_balance[0],popt_rho22_balance[1],popt_rho22_balance[2]*1),label='Ajuste con espectro modulado')
+# plt.xlim(-0.1,1.1)
+#plt.ylim(0,1)
 
 #plt.axvline(minimum_voltage,linestyle='dashed',color='grey')
 #plt.axhline(0.538)
 plt.xlabel('Modulation factor')
 plt.ylabel('Temperature (mK)')
+plt.legend()
 plt.grid()
 
+#%%
+
+hbar=1.05e-34
+gammita = 22.1e6
+kx = 2*np.pi/(0.397e-6)
+kb = 1.38e-23
+masita = 6.6e-26
+
+coeff = gammita*hbar*hbar*kx*kx/(6*kb*masita)
+print(coeff)
+
+rfheatrate = coeff*popt_rho22_balance[2]/popt_rho22_balance[1]
+
+print(f'heating rate due to rf heating: {rfheatrate*1e3} mK/s')
+
+
 
 #%%
 """
diff --git a/analisis/plots/20231123_CPTconmicromocion3/Data/EITfit/lolo_modelo_full_8niveles.py b/analisis/plots/20231123_CPTconmicromocion3/Data/EITfit/lolo_modelo_full_8niveles.py
index bc6a446bbd1ac5ec994dae9e5f844a25cedfa3a7..9d233b5f7c9d665b3a867971a5f90dffb94138e3 100644
--- a/analisis/plots/20231123_CPTconmicromocion3/Data/EITfit/lolo_modelo_full_8niveles.py
+++ b/analisis/plots/20231123_CPTconmicromocion3/Data/EITfit/lolo_modelo_full_8niveles.py
@@ -355,7 +355,7 @@ def dopplerBroadening(wlg, wlp, alpha, T, mcalcio = 6.655e-23*1e-3):
 
     kboltzmann = 1.38e-23 #J/K
 
-    gammaD = (2*np.pi)*np.sqrt((1/(wlg*wlg)) + (1/(wlp*wlp)) - 2*(1/(wlg*wlp))*np.cos(alpha))*np.sqrt(kboltzmann*T/(2*mcalcio))
+    gammaD = (2*np.pi)*np.sqrt((1/(wlg*wlg)) + (1/(wlp*wlp)) - 2*(1/(wlg*wlp))*np.cos(alpha))*np.sqrt(kboltzmann*T/(1*mcalcio))
 
     return gammaD
 
@@ -372,8 +372,8 @@ def FullL_MM(rabG, rabP, gPS = 0, gPD = 0, Detg = 0, Detp = 0, u = 0, lwg = 0, l
 
     db = dopplerBroadening(0.397e-6, 0.866e-6, alpha, T)
 
-    lwg = np.sqrt(lwg**2 + db**2)
-    lwp = np.sqrt(lwp**2 + db**2)
+    lwg = np.sqrt(lwg**2 + (0.83*db)**2)
+    lwp = np.sqrt(lwp**2 + (0.17*db)**2)
 
     CC = EffectiveL(gPS, gPD, lwg, lwp)