I attached two files. I am trying to get the pulls of a simple function using McStudy, however the pulls are biassed and I am not sure how to make them look like gaussians of width 1 and mean 0.
What the program is doing is basically producing pseudo data from the model and then fitting to the model to recover the parameters. It seems to me that this is a test of either the minimizer or the function, does this mean that the function has something wrong? I have been told that the parameters might be correlated and I should decorrelate them diagonalizing the covariance matrix. Do you have any idea how to fix this kind of pulls in general? I also have issues with other models pulls.
test.h (909 Bytes)
test.cxx (3.7 KB)
I think I found the answer and I leave it here so that no one has to spend too much time on this:
The constructor of the class can be called like:
RooMCStudy mc_study(pdf,x,Binned(true),Verbose(false),Extended(),Silence() );
where pdf is the rooabspdf, Binned(true/false) says how the data has to be generated binned or not and accordingly a binned likelihood fit or an unbined likelihood fit is performed. Extended() means that if you want to generate 1000 events for every histogram that you want to fit to get the pull you will be generating a number of entries coming from a poisson distribution with mean 1000, otherwise you get always 1000 and silence() gets rid of many of the comments.
The problem seems to be that Binned(true) gives the wrong answer (I guess its not accurate enough, its waaay to rough the approximation) however its kind of fast, so I changed it to Binned(false) which takes longer but gives the right result.