Passing prototype data to RooSimultaneous and RooSimPdfBu

Hello,

    Hopefully I can get an answer to this. I have a bunch of knowns that I put in a RooDataSet, a proto set to use the terminology here. The RooArgList looks like

Parameters->add(RooArgSet(R1_B0, R1_B1, R1_B2, R1_B3, R1_B4, R1_U235FissionRate, R1_U238FissionRate, R1_Pu239FissionRate, R1_Pu241FissionRate)); Parameters->add(RooArgSet(R2_B0, R2_B1, R2_B2, R2_B3, R2_B4, R2_U235FissionRate, R2_U238FissionRate, R2_Pu239FissionRate, R2_Pu241FissionRate)); Parameters->add(RooArgSet(RunTime, Run));

and I add them to the data set via:

I then attempt to create a RooSimPdfBuilder/RooSimultaneous to split those values based on my RooCategory, Run since my PDFs which are different run by run use those values which are split by Run. My actual PDF creation code is this:

[code] RooSimPdfBuilder SimPdf(TwoReactorPdf);
SimPdf.addSpecializations(RooArgSet(*TotalU235XSec, *TotalU238XSec, *TotalPu239XSec, *TotalPu241XSec));
SimPdf.addSpecializations(RooArgSet(R1_Norm, R1_U235_Norm, R1_U238_Norm, R1_Pu239_Norm, R1_Pu241_Norm));
SimPdf.addSpecializations(RooArgSet(R2_Norm, R2_U235_Norm, R2_U238_Norm, R2_Pu239_Norm, R2_Pu241_Norm));

RooArgSet* Config = SimPdf.createProtoBuildConfig();
Config->setStringValue("physModels", "TwoReactorPdf");
Config->setStringValue("splitCats" , "Run");
Config->setStringValue("R1_U235", "Run : R1_Norm, R1_U235_Norm");
Config->setStringValue("R1_U238", "Run : R1_Norm, R1_U238_Norm");
Config->setStringValue("R1_Pu239", "Run : R1_Norm, R1_Pu239_Norm");
Config->setStringValue("R1_Pu241", "Run : R1_Norm, R1_Pu241_Norm");
Config->setStringValue("R2_U235", "Run : R2_Norm, R2_U235_Norm");
Config->setStringValue("R2_U238", "Run : R2_Norm, R2_U238_Norm");
Config->setStringValue("R2_Pu239", "Run : R2_Norm, R2_Pu239_Norm");
Config->setStringValue("R2_Pu241", "Run : R2_Norm, R2_Pu241_Norm");
							   													   													   													   													   												    		
RooSimultaneous* simSum  = SimPdf.buildPdf(*Config, ProtoData);
simSum->Print("v") ;
simSum->getParameters(ProtoData)->Print("v") ;

RooDataSet *A = simSum->generate(RooArgSet(NeutrinoEnergy, Run),  *ProtoData);[/code]

Where the Norms and Isotope_Norms are RooFormulaVars which depend on those values in the ProtoData. However when I try to generate my events, I get:

[code][#0] ERROR:Generation – R1_U235_Int[]_Norm[NeutrinoEnergy]::RooAbsNumGenerator: cannot generate values for “R1_U235FissionRate” with unbound range
[#0] ERROR:Generation – R1_U235_Int[]_Norm[NeutrinoEnergy]::RooAbsNumGenerator: cannot generate values for “R1_U238FissionRate” with unbound range
[#0] ERROR:Generation – R1_U235_Int[]_Norm[NeutrinoEnergy]::RooAbsNumGenerator: cannot generate values for “R1_Pu239FissionRate” with unbound range
[#0] ERROR:Generation – R1_U235_Int[]_Norm[NeutrinoEnergy]::RooAbsNumGenerator: cannot generate values for “R1_Pu241FissionRate” with unbound range
[#0] ERROR:Generation – R1_U235_Int[]_Norm[NeutrinoEnergy]::RooAbsNumGenerator: cannot generate values for “R1_B0” with unbound range
[#0] ERROR:Generation – R1_U235_Int[]_Norm[NeutrinoEnergy]::RooAbsNumGenerator: cannot generate values for “R1_B1” with unbound range
[#0] ERROR:Generation – R1_U235_Int[]_Norm[NeutrinoEnergy]::RooAbsNumGenerator: cannot generate values for “R1_B2” with unbound range
[#0] ERROR:Generation – R1_U235_Int[]_Norm[NeutrinoEnergy]::RooAbsNumGenerator: cannot generate values for “R1_B3” with unbound range
[#0] ERROR:Generation – R1_U235_Int[]_Norm[NeutrinoEnergy]::RooAbsNumGenerator: cannot generate values for “R1_B4” with unbound range
[#0] ERROR:Generation – R1_U235_Int[]_Norm[NeutrinoEnergy]::RooAbsNumGenerator: constructor failed with errors

[/code]

It’s like it is trying to assign values to those variables which I already specified in ProtoData. Thank you very much for you help and time