#return (C*MicromotionSpectra(beta,det,gamma))*InverseDerivMicromotionSpectra(beta, det, gamma)
"""
Temperatura vs beta con un ajuste exponencial
"""
#Dos pruebas... ignorar
#popt_rho22_balance, pcov_rho22_balance = curve_fit(FinalTemp,list(Betas_vec[:9]), [t for t in Temp_vec[:9]],p0=(-11e6,0.8,4e-28)) #esto ajusta muy bien
#popt_rho22_balance, pcov_rho22_balance = curve_fit(FinalTemp,list(Betas_vec[:10]), [t for t in Temp_vec[:10]],sigma=ErrorTemp_vec[:10],absolute_sigma=False,p0=(-10e6,0.8,5e-20)) #esto ajusta muy bien
#Buen ajuste final:
popt_rho22_balance,pcov_rho22_balance=curve_fit(FinalTemp_withoutC,list(Betas_vec[:10]),[tfortinTemp_vec[:10]],sigma=ErrorTemp_vec[:10],absolute_sigma=False,p0=(-10e6,5e-20))#esto ajusta muy bien
popt_rho22_balance_noMM,pcov_rho22_balance_noMM=curve_fit(FinalTemp_withoutmicromotion,list(Betas_vec[:10]),[tfortinTemp_vec[:10]],sigma=ErrorTemp_vec[:10],absolute_sigma=False,p0=(-10e6))#esto ajusta muy bien
minimum_voltage=-(poptini[1]-poptfin[1])/(poptini[0]-poptfin[0])#voltaje donde se intersectan las rectas, es decir, donde deberia estar el minimo de micromocion
minimum_modulationfactor=lineal(minimum_voltage,*poptini)#es lo mismo si pongo *poptfin
forninlist(range(nmax+1))[(nmax+1)::-1][0:len(list(range(nmax+1))[(nmax+1)::-1])-1]:#jaja esto solo es para que vaya de nmax a 1 bajando. debe haber algo mas facil pero kcio