Combine two expected upper limits

Dear Experts,

Is there any class available in root to combine two upper limits at certain confidence level.

Dear Niharika,

I add in the loop @jonas and @moneta in case he has a suggestion.



You cannot combine directly two upper limits, without knowing more about the measurements. For combination, you need the likelihood functions (i.e. the data and the model describing the data). Otherwise you can always assume the upper limit is the result of a specific model (e.g a Gaussian process) and then you perform the combination

Best regards



Thanks for your quick reply.
My measurement doesn’t have a model, we do it by counting method.
We use the TRolke method with known efficiency to provide the expected upper limit.

TRolke ulimit;

So I was wondering if there is a way in ROOT or RootStats to combine two upper limits.

Hello ,

TRolke is a class for computing the upper limit for the rate in a Poisson process. The best way to compute the combined limit is then use RooStats, where you create a combined model, each one with its Poisson process. The information you need to create the model is the number of observed events in each channel, efficiency, number of expected background and uncertainty in both cases.
Once you have a RooStats model (there are tutorials and example existing on how to do it, if you need I can provide you some example code on how to do it), you can run one of the RooStats asymptotic calculator to compute the limit. By using the asymptotic method based on the profile likelihood you would get the same results as TRolke.


Hi @moneta,

Thank you very much for the reply. Could you also provide me some example scripts?


One more question, can I use FeldmanCousins method to compute the upper limit if I have the known efficiency?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.