RooMultiVarGaussian using RooFactoryWSTool

Hi all,

I was wandering the way in which the new RooFactoryWSTool could be explioited to create a RooMultiVarGaussian, especially to input the covariance matrix.
Has anyone some suggestion?

Cheers,
Danilo

Hi Danilo,

Not yet, but I am working on this (nominally for the next release) in two possible ways

One of the outstanding requests discussed in the roostats development meeting is to have RooMVGaussian constructor that is expressed solely
in terms of RooRealVar objects. To that end I am designing a lightweight native RooFit matrix container class that can be expressed in terms of RooRealVars. Once that form
exists, a RooMVGaussian can also be created through a factory expression.

In parallel I am working on extending the factory interface to also be able to pick up command line argument objects from the generic TObjects list stored in the workspace.
If you’d put a TMatrix in there, you’d be able to reference it on the command line. The
only catch with this is that TMatrix objects do not have a ‘set’-table name, so at most
one object can be usefully imported.

Wouter

Hi Wouter,

thanks for the fast reply.
It sounds like a big effort: looking forward to it!

Cheers,
Danilo

Hi Danilo,

I just committed some new code to the dev/roostats branch that allows you to import
and use TMatrix objects into the workspace. Here is an example

TMatrixDSym m(2) ;
m(0,0)=1 ; m(1,1)=1 ;
m(1,0)=0.5 ; m(0,1)=0.5

w->import(m,“cov”)
w->factory(“MultiVarGaussian::mvg({x[-10,10],y[-10,10]},{0,0},cov)”)

To make this work I have added 3 things

  • Option to set alias names in import of TObjects (you cannot give your own
    name to a TMatrixDSym, the’re always named “TMatrixTSym” which
    is not so convient in the context of a workspace)

  • Change the factory so that it can pick up named objects from the 'generic object store’
    of the workspace

  • Add support for typedef processing in the factory so that provided argument of
    type ‘TMatrixTSym is recognized to match expected argument of
    ’TMatrixDSym’ as specified by the ctor of RooMVGaussian.

The RooFit native matrix type will take a bit more time.

Wouter

Hey Wouter,

looks great!

cheers,
Danilo