Linear combination of RooRealVar as a pdf parameter

Dear experts,

Is it possible to define a linear combination of RooRealVar and pass that as the parameter of a pdf? To be more specific, I was thinking about a log-likelihood miminization like the following:

// These are the parameters to be minimized.
RooRealVar param1(“param1”,“param1”,0,-1000,1000)
RooRealVar param2(“param2”,“param2”,0,-1000,1000)
RooRealVar param3(“param3”,“param3”,0,-1000,1000)
RooRealVar param4(“param4”,“param4”,0,-1000,1000)

// Combine these in a linear combination.
RooRealVar lin_comb = aparam1 + bparam2 + cparam3 + dparam4;

RooRealVar x(“obs”,“obs”,0,100);

// Pass that linear combination as the mean of the Poisson PDF
RooPoisson model(“poisPdf”,“poisPdf”,x, lin_comb);

RooDataSet* data = some data.

RooAbsReal* nll = model.createNLL(*data, NumCPU(2));
RooMinuit roomin(*nll);
roomin.migrad();

Thank you very much.

Kind regards,

Pim

Hi Pim,

there are multiple ways, but a simple one is RooFormulaVar

RooFormulaVar formula("formula",
    "0.1 * param1 + 0.2 * param2 + ...",
    RooArgSet(param1, param2, ...));

will do. Variables in the formula are identified by the name you give as first argument.

Thanks!