Dear experts,
I am trying to create a RooWorkspace with my data and my model:
RooWorkspace* wspace = new RooWorkspace(“wspace”,“wspace”);
wspace->import(*data);
wspace->import(model);
std::string path_output = “blabla.root”
wspace->writeToFile(path_output.c_str());
Where data is a RooDataSet (this is fine, the workspace works fine if I just add data) and my model is:
TKDE *kde_photon = new TKDE(4000, array_mc_unweighted, xdown, xup,
“KernelType:Gaussian;Iteration:Adaptive;Mirror:noMirror;Binning:RelaxedBinning”,1.5);
TF1 *f_photon = kde_photon->GetFunction((xup-xdown)*100, xdown, xup);
f_photon->SetName(“f_photon”);
RooTFnPdfBinding pdf_photonMC_unweighted(“pdf_photonMC_unweighted”, “”, f_photon, topoIso);
RooGaussian gauss(“gauss”,"",topoIso,shift,res);
RooFFTConvPdf pdf_photon(“pdf_photon”,"",topoIso,pdf_photonMC_unweighted,gauss) ;
(pdf_jet is also defined and directly of type RooTFnPdfBinding)
RooExtendPdf extPdf_photon(“extPdf_photon”,"",pdf_photon,Ng);
RooExtendPdf extPdf_jet(“extPdf_jet” ,"",pdf_jet ,Nj);
RooAddPdf model(“model”,"",RooArgList(extPdf_photon,extPdf_jet));
Everything executes fine but when I try to Print() my workspace, I get a segfault (log attached) with ROOTDict::delete_TF1(void*) mentioned. I tried to import(*f_photon) and *f_jet into the workspace, write them as TF1 outside the workspace but in the same file but nothing works. I tried to build a workspace with a modified model without RooTFnPdfBinding and it works well.
Any ideas?
Here is the log during the execution of the script, the crash log when printing is attached:
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing dataset data
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooRealVar::topoIso
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooAddPdf::model
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooExtendPdf::extPdf_photon
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooFFTConvPdf::pdf_photon
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooTFnPdfBinding::pdf_photonMC_unweighted
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooGaussian::gauss
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooRealVar::shift
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooRealVar::res
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooRealVar::Ng
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooExtendPdf::extPdf_jet
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooTFnPdfBinding::pdf_jet
[#1] INFO:ObjectHandling – RooWorkspace::import(wspace) importing RooRealVar::Nj
Looking forward to hearing from you
Best wishes
Matthias
log.txt (38.5 KB)