Dear all,
I’m using a PDF created with RooClassFactory (named Acceptance) to perform a Fit.
The code compiles and runs.
The Acceptance.* files are created using the RooClassFactory methods and compiled: the shared libraries used to link the application.
The fit is ok and I save it in a file (using the ->Write() methods).
I save the likelihood and the dataset. Later I can access them in the save file without problems.
But When I try to save the PDF inside the file I fail to read it back. (I need the PDF because I want to reobtain the likelihood scans after the fit is finished).
When I load the file I see:
Warning in TClass::TClass: no dictionary for class Acceptance is available
The pdfs have been saved:
root [1] _file0->ls()
TFile** Sim_data_stri_FitRes.root
TFile* Sim_data_stri_FitRes.root
KEY: RooFitResult L;1 @0+@1+@2-@3
KEY: RooAddPdf pdf_fit_BS2KK;1 Total(B+S) BS -> K+ K- PDF
KEY: RooDataSet pdf_fit_BS2KKData;1 Generated From Total(B+S) BS -> K+ K- PDF
KEY: RooAddPdf pdf_fit_BS2Kpi;1 Total(B+S) BS -> K+ pi- PDF
KEY: RooDataSet pdf_fit_BS2KpiData;1 Generated From Total(B+S) BS -> K+ pi- PDF
KEY: RooAddPdf pdf_fit_BS2piK;1 Total(B+S) BS -> pi+ K- PDF
KEY: RooDataSet pdf_fit_BS2piKData;1 Generated From Total(B+S) BS -> pi+ K- PDF
But When I try to access them I have the bad crash appended below.
How can I add the class dictionary to ROOT?
I am doing:
#include </home/asarti/roofit/b2hh/B2hhFit/Acceptance.h>
and
gSystem->Load(“Acceptance_cxx.so”);
in my macro…
Am I missing something stupid?
Thanks,
alessio
Error: Can’t call Acceptance::Acceptance() in current scope macro/LikeScan.cc:15:
Possible candidates are…
(in Acceptance)
/home/asarti/roofit/b2hh/B2hhFit/Acceptance.h -1:0 0 public: Acceptance Acceptance::Acceptance(const char* name,const char* title,RooAbsReal& _tom,RooAbsReal& _alpha,RooAbsReal& _mass);
/home/asarti/roofit/b2hh/B2hhFit/Acceptance.h -1:0 0 public: Acceptance Acceptance::Acceptance(const Acceptance& other,const char* name=0);
/home/asarti/roofit/b2hh/B2hhFit/Acceptance.h -1:-1 0 public: Acceptance Acceptance::Acceptance(const char* name,const char* title,RooAbsReal& _tom,RooAbsReal& _alpha,RooAbsReal& _mass);
/home/asarti/roofit/b2hh/B2hhFit/Acceptance.h -1:-1 0 public: Acceptance Acceptance::Acceptance(const Acceptance& other,const char* name=0);
(in RooAbsReal)
(in RooAbsArg)
(in RooPrintable)
Error in TBufferFile::ReadVersion: Could not find the StreamerInfo with a checksum of 1073742729 for the class “RooRealProxy” in /home/asarti/roofit/b2hh/B2hhFit/Sim_data_stri_FitRes.root.
Error in TBufferFile::CheckByteCount: object of class TNamed read too few bytes: 18 instead of 868
Error in TBufferFile::ReadVersion: Could not find the StreamerInfo with a checksum of 0 for the class “RooAbsProxy” in /home/asarti/roofit/b2hh/B2hhFit/Sim_data_stri_FitRes.root.
Error in TBufferFile::CheckByteCount: object of class RooRealProxy read too few bytes: 898 instead of 911