Skip to content

Commit e84d1e9

Browse files
committed
[RF] Make testRooMulti independent of clad.
When clad is off, the tests were failing. With the standard backend, they run fine, though.
1 parent ef1b534 commit e84d1e9

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

roofit/roofitcore/test/testRooMulti.cxx

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@ TEST(RooMultiPdfTest, FitConvergesAndReturnsReasonableResult)
5858

5959
{
6060
using namespace RooFit;
61+
#ifdef ROOFIT_CLAD
62+
const EvalBackend backend("codegen");
63+
#else
64+
const EvalBackend backend{EvalBackend::defaultValue()};
65+
#endif
6166

6267
RooRealVar x("x", "x", -10, 10);
6368

@@ -78,7 +83,7 @@ TEST(RooMultiPdfTest, FitConvergesAndReturnsReasonableResult)
7883

7984
// Fit 1 - RooMultiPdf fit
8085

81-
std::unique_ptr<RooAbsReal> nll{multipdf.createNLL(*data, EvalBackend("codegen"))};
86+
std::unique_ptr<RooAbsReal> nll{multipdf.createNLL(*data, backend)};
8287

8388
RooMinimizer minim{*nll};
8489
minim.setStrategy(0);
@@ -92,7 +97,7 @@ TEST(RooMultiPdfTest, FitConvergesAndReturnsReasonableResult)
9297
m1.setError(0.0);
9398
s1.setError(0.0);
9499
// Fit 2 - Reference fit
95-
std::unique_ptr<RooAbsReal> nll1{gaus1.createNLL(*data, EvalBackend("codegen"))};
100+
std::unique_ptr<RooAbsReal> nll1{gaus1.createNLL(*data, backend)};
96101

97102
RooMinimizer minim1{*nll1};
98103
minim1.setStrategy(0);
@@ -122,10 +127,10 @@ TEST(RooMultiPdfTest, FitConvergesAndReturnsReasonableResult)
122127

123128
indx.setIndex(i);
124129

125-
std::unique_ptr<RooAbsReal> nll_multi{multipdf.createNLL(*data, EvalBackend("codegen"))};
130+
std::unique_ptr<RooAbsReal> nll_multi{multipdf.createNLL(*data, backend)};
126131

127132
RooAbsPdf *selectedPdf = multipdf.getPdf(i);
128-
std::unique_ptr<RooAbsReal> nll_direct{selectedPdf->createNLL(*data, EvalBackend("codegen"))};
133+
std::unique_ptr<RooAbsReal> nll_direct{selectedPdf->createNLL(*data, backend)};
129134

130135
int n_param = countFloatingParametersIncludingObservable(*selectedPdf);
131136

@@ -142,6 +147,11 @@ TEST(RooMultiPdfTest, FitConvergesAndReturnsReasonableResult)
142147
TEST(RooMultiPdfTest, PenaltyTermIsAppliedCorrectly)
143148
{
144149
using namespace RooFit;
150+
#ifdef ROOFIT_CLAD
151+
const EvalBackend backend("codegen");
152+
#else
153+
const EvalBackend backend = EvalBackend::defaultValue();
154+
#endif
145155

146156
RooRealVar x("x", "x", -10, 10);
147157

@@ -162,9 +172,9 @@ TEST(RooMultiPdfTest, PenaltyTermIsAppliedCorrectly)
162172

163173
std::unique_ptr<RooDataSet> data{gauss1.generate(x, 100)};
164174

165-
std::unique_ptr<RooAbsReal> nll_gauss1{gauss1.createNLL(*data, EvalBackend("codegen"))};
175+
std::unique_ptr<RooAbsReal> nll_gauss1{gauss1.createNLL(*data, backend)};
166176

167-
std::unique_ptr<RooAbsReal> nll_multi{multiPdf.createNLL(*data, EvalBackend("codegen"))};
177+
std::unique_ptr<RooAbsReal> nll_multi{multiPdf.createNLL(*data, backend)};
168178

169179
double val_gauss1 = nll_gauss1->getVal();
170180
double val_multi = nll_multi->getVal();

0 commit comments

Comments
 (0)