32 if (fFirstEval && ParamsAreEqual()) {
33 oocoutW(fNullParameters,InputArguments)
34 <<
"Same RooArgSet used for null and alternate, so you must explicitly SetNullParameters and SetAlternateParameters or the likelihood ratio will always be 1."
49 bool reuse = (fReuseNll || fgAlwaysReuseNll) ;
53 std::unique_ptr<RooArgSet>
allParams{fNullPdf->getParameters(
data)};
55 fNllNull = std::unique_ptr<RooAbsReal>{fNullPdf->createNLL(
data, CloneData(
false), Constrain(*
allParams), GlobalObservables(fGlobalObs), ConditionalObservables(fConditionalObs))};
59 fNllNull->setData(
data,
false) ;
63 std::unique_ptr<RooArgSet>
attachedSet{fNllNull->getVariables()};
66 double nullNLL = fNllNull->getVal();
78 std::unique_ptr<RooArgSet>
allParams{fAltPdf->getParameters(
data)};
80 fNllAlt = std::unique_ptr<RooAbsReal>{fAltPdf->createNLL(
data, CloneData(
false), Constrain(*
allParams), GlobalObservables(fGlobalObs), ConditionalObservables(fConditionalObs))};
84 fNllAlt->setData(
data,
false) ;
87 attachedSet = std::unique_ptr<RooArgSet>{fNllAlt->getVariables()};
89 double altNLL = fNllAlt->getVal();
105 if( fDetailedOutputEnabled ) {
106 if( !fDetailedOutput ) {
107 fDetailedOutput = std::make_unique<RooArgSet>( *(
new RooRealVar(
"nullNLL",
"null NLL",0)),
"detailedOut_SLRTS" );
108 fDetailedOutput->add( *(
new RooRealVar(
"altNLL",
"alternate NLL",0)) );
110 fDetailedOutput->setRealValue(
"nullNLL",
nullNLL );
111 fDetailedOutput->setRealValue(
"altNLL",
altNLL );