Dear all,
I am trying to calculate an upper limit using the ProfleLikelihoodCalculator class. Although fitting works quite fine, I get the error message ‘Error - invalid parameter signal_yield specified for finding the interval limits’. The only solution I could find suggested to explicitly set the parameter non-const, but that didn’t help either. Moreover, I get the exact same error message when I set a different parameter to be the parameter of interest.
Here is what I am doing:
RooArgSet paramOfInterest(m_sigYield);
RooStats::ModelConfig modelConfig(“modelConfig”, new RooWorkSpace());
modelConfig.SetPdf(m_combinedModel);
modelConfig.SetParametersOfInterest(paramOfInterest);
RooRealVar myPOI = (RooRealVar) modelConfig.GetParametersOfInterest()->first();
myPOI->setConstant(false);
RooStats::ProfileLikelihoodCalculator pl_calculator(data, modelConfig);
pl_calculator.SetTestSize(0.05);
RooStats::LikelihoodInterval pl_interval = pl_calculator.GetInterval();
Here, data is a RooDataSet, m_combinedModel is a RooAddPdf and m_sigYield a RooRealVar.
I am very thankful for any response.
regards,
Johannes