I am using TEfficiency with weighted events, using FillWeighted in the event loop.
Everything looks fine except the points where the efficiency is 1. When the efficiency is 1, the low error is okay but the upper error is 1.
Any ideas about how to solve this or what the issue might be?
Do you have an example reproducing the problem ? I think it is due to the fact that with weights Efficiency by default uses the normal approximation of the errors and this gives symmetric errors also for efficiency value = 1.
You might try to use the Bayesian option for the error:
TEfficiency::SetStatisticOption(TEfficiency::kBUNiform);