import numpy as np

from matplotlib import pyplot as plt

from stixpy.calibration.livetime import get_livetime_fraction

eta = 2.5e-6
tau = 12.5e-6
ph_in = np.logspace(3, 6, 50)
trig1 = ph_in / (1 + ph_in*(tau+eta) )
trig2 = trig1*np.exp(-1*ph_in*eta)

livetime_fraction1, livetime_fraction2, ph_out = get_livetime_fraction(trig1, eta=eta, tau=tau)

plt.plot(ph_in, ph_in,  label='Photons In')
plt.loglog()
plt.xlim(1e3, 1e6)
plt.ylim(1e3, 1e6)
plt.plot(ph_in, trig1, '-.', label='Triggers')
plt.plot(ph_in, trig2, ':',  label='Triggers (inc two photon)')
plt.plot(ph_in, trig2/livetime_fraction2, '+',
         label='Photons derived from Triggers (inc two photon)')
plt.xlabel('Incoming Photon Rate')
plt.ylabel('Trigger Rate')
plt.title(rf'$\tau =$ {tau} s, $\eta =$ {eta} s')
plt.legend()
plt.show()