How to switch index categories in a RooSimultaneous PDF?


I’ve created a RooSimultaneous PDF and would like to do things with the individual component PDFs. I have two questions:

  1. Using the member function expectedEvents(const RooArgSet& nset) I should be able to find the expected number of events for a given combination of the component PDFs. However I haven’t been able to find/work out the correct form for the index category arguments in nset.

As an example, my simultaneous PDF is split by two categories “charge” and “mode”, how would I get the expected number of events for the PDF with charge = plus and mode = favoured ?

  1. How do I change the value of _indexCat.arg(), the currently selected (integer) index number of the simultaneous PDF? I would like to able to do this so that I can loop various operations that I would like to perform on each of the component PDFs.

In root scripts: modelsim->indexCat().setBin() seems to work, but is inherently dodgy (a const function calling a non-const function) and doesn’t compile in a standalone application, which I what I’m trying to create.

Many thanks for any help you could give me,