Hi,
I’m exploring use of the RooStat package to extract asymmetry for a pair of measured yields (the actual problem is extraction of the spin asymmetry, but this simplification captures the essence of the math).
The RooStats tutorials were very helpful and I got a woking test-bed code for my simplified task.
But I do not understand how the LikelihoodInterval class takes in to account the constrain on the domain of parameter of interest ?
I’m seeking advice how to overcome this issue.
Below is a short synopsis of my simplified problem, attached code works but produces result I question.
Definition of the problem:
I measure 2 independent yields n1, n2 in an experiment. Analytically I’d reconstruct the quantity: A= (n1-n2)/(n1+n2)
From independent source (physics interpretation of A) I know magnitude of A must be below some value Amax, lets say Amax=1.
In oder to apply the likelihood method using RooStats package this problem can be expressed as follows:
There are 2 parameters of the underlying model: N0,A, out of which
A is parameter of interest, N0 is the nuisance parameter.
Let variables mu1, mu2 are predictions of 2 yields based on the model:
mu1=N0(1+A)
mu2=N0(1-A)
The probability of measuring yield ‘n’ given model prediction ‘mu’ is given by the Poisson distribution f( n | mu).
The total likelihood of measuring a pair (n1,n2) is
Ltot(A,N0)=f(n1 | mu1) * f (n1 |mu2) * H( Amax - |A|)
where H(x) is the Heaviside step function.
The attached macro jan_2spinAsy_constrain.C does the computation and fig 1 shows the outcome for n1=2, n2=4 (yes, very low stats), Amax=1, and CL=0.6827 the output is: limit[-0.668, 0.072].
Now, I repeat extraction of A from the same pair of input yields (n1=2, n2=4 ) but under different assumption fabs(A)<0.6 (say a theorist called me and said if A >0.6 the World would never exist)
The result of ProfileLikelihoodCalculator using narrower domain for A=[-0.6,0.6] are different only on the lower limit, see Fig. 2. The upper limit of 0.072 stays unchanged.
Here is the issue:
According to CL definition, the fraction of the area below lambda(A) over confidence limit should be equal to CL. If I trim the domain of A it should be taken in to account and the upper confidence range for the same CL should move up.
Is there a way I can ask ProfileLikelihoodCalculator to include constrain |A|< Amax while returning :: GetInterval() given CL ?
Thanks
Jan
jan_2spinAsy_constrain.C (2.52 KB)