For every analysis component one can construct a PDF, using RooFit package.
First step to do this is to fill Tree of data points, which represents desired desired distribution. It is assumed that important physical quantities in NEMO3 are
In uloop.C, after checking that an event complies with selection cuts, one should add it to the saved events tree:
Esum_ana10=E1+E2;// electrons enegry sum branch address Ediff_ana10=fabs(E1-E2); Cos_ana10=cos12; w_ana10 = GetEventWeight();// get event weight, for MC only events->Fill();
After the events tree is filled for every components one can construct PDF to fit points distribution. ConstructPdf(RooRealVar x,Bool_t key) is ana10 method to construct PDF. x is an observable (Esum) for 1D PDF. key - boolean flag to use spline fit or keys method to construct PDF. Spline is faster, but needs high statistics. If there are only few points, usage of keys method advised.
anaRooLLHLimit.C is the package implementing Likelihood method to set the limit on a component. Use RooLLHLimit function to do the work for 1D case (Esum variable only). It constructs all needed PDF for MC signal and background components. Sums up backgrounds according to the provided activities and perform CL search using likelihood ratio method. Result is upper limit on number of events in the specified energy region (xmin) at 90% CL.