from pyhs3.data import UnbinnedData
from pyhs3.axes import UnbinnedAxis

# Create weighted unbinned data
entries = [[0.5], [1.2], [1.8], [2.3], [0.9]]
weights = [1.0, 2.0, 1.5, 0.8, 1.2]  # Weight for each entry

data = UnbinnedData(
    name="weighted_events",
    type="unbinned",
    entries=entries,
    axes=[UnbinnedAxis(name="x", min=0.0, max=3.0)],
    weights=weights
)

# Convert to hist (weights are applied)
h = data.to_hist(nbins=6)
h.plot(histtype="step", linewidth=2, label="Weighted Events")
plt.xlabel("x")
plt.ylabel("Weighted Events")
plt.legend()
plt.title("Weighted Unbinned Data")