Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warnings from the deserialization of RooCrystalBall #17163

Open
1 task done
VanyaBelyaev opened this issue Dec 2, 2024 · 3 comments
Open
1 task done

Warnings from the deserialization of RooCrystalBall #17163

VanyaBelyaev opened this issue Dec 2, 2024 · 3 comments

Comments

@VanyaBelyaev
Copy link

VanyaBelyaev commented Dec 2, 2024

Check duplicate issues.

  • Checked for duplicates

Description

From my colleague I have a ROOT file with RooWorkspace that contains the compound pdf that uses RooCrystalBall for some components.

I am trying to read this file using ROOT 6.23.02 and I get following warnings

TStreamerInfo::BuildCheck:0: RuntimeWarning: 
   The StreamerInfo of class RooCrystalBall read from file  <...> 
   has the same version (=1) as the active class but a different checksum.
   You should update the version to ClassDef(RooCrystalBall,2).
   Do not try to write objects with the current class definition,
   the files will not be readable.

TStreamerInfo::CompareContent:0: RuntimeWarning: The following data member of
the on-file layout version 1 of class 'RooCrystalBall' differs from 
the in-memory layout version 1:
   RooTemplateProxy<RooAbsReal> alphaR_; //
vs
   unique_ptr<RooTemplateProxy<RooAbsReal>,default_delete<RooTemplateProxy<RooAbsReal> > > alphaR_; //
TStreamerInfo::CompareContent:0: RuntimeWarning: The following data member of
the on-file layout version 1 of class 'RooCrystalBall' differs from 
the in-memory layout version 1:
   RooTemplateProxy<RooAbsReal> nR_; //
vs
   unique_ptr<RooTemplateProxy<RooAbsReal>,default_delete<RooTemplateProxy<RooAbsReal> > > nR_; //

Presumably the file has been create with some earlier version of ROOT.

I have some suspicion that the warning is not harmless:
while the resulting PDF looks OK when I use it for the fit&draw,
when I get the CDF from it, for some entries in the range CDF (slightly) exceeds 1.
Could it be a sequence of the problems wtih deserialization ?

Reproducer

I am using ROOT from LCG_106 build cvmfs
(I get the same problem, when using LCG dev3 nightly build)

ROOT version

I am using ROOT from LCG_106 build cvmfs
(I get the same problem, when using LCG dev3 nightly build)

Installation method

LCG cvmfs

Operating system

lxplus

Additional context

No response

@guitargeek
Copy link
Contributor

I am trying to read this file using ROOT 6.23.02 and I get following warnings

You mean 6.32.02, right?

That's strange. The RooCrystalBall was introduced in ROOT 6.24, and it's class layout has not changed since then:

Do you happen to know which version the workspace was written with? Or even better, can you provide a reproducer for the problem in the form of a script to write such a problematic workspace with an older ROOT version? Thanks!

@VanyaBelyaev
Copy link
Author

Hi @guitargeek

yes, I am trying to use 6.32.02, sorry.
My colleague, who created the file, says that 6.26/08 has been used.
And I do not have access to his code - only for resulting file with ws, and due to various
reasons I cannot share this file.

@guitargeek
Copy link
Contributor

That's ok, thanks. I hope to reproduce this by producing a simple workspace with the older ROOT version you named.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants