Hello,
I’m getting errors like this when trying to fit:
Error in TTree::Fill: Failed filling branch:datad0_signal.delMass, nbytes=-1
This error is symptomatic of a Tree created as a memory-resident Tree
Instead of doing:
TTree *T = new TTree(…)
TFile *f = new TFile(…)
you should do:
TFile *f = new TFile(…)
TTree *T = new TTree(…)
RooDataSet *datasignal = new RooDataSet(“datad0_signal”, "full signal dataset ", signal_tree, ntupleVarSet);
I’ve tried the suggestion, and TFile is defined first. I’ve tried declaring it as a pointer and as a non-pointer. This error seems innocuous, but it’s rather annoying. Any idea?
I ended up suppressing the error messages by modifying the source. I’m sure this is not the best idea, but if anyone knows of a way to get rid of these errors, please let me know.
[quote]I ended up suppressing the error messages by modifying the source. [/quote]Which source did you modify? How did you modify it?
[quote] This error is symptomatic of a Tree created as a memory-resident Tree [/quote]Actually, it is usually more indicative of a TTree being attached to a read only file (and/or a full partition).
This is somewhat strange . The TTree created by RooDataSet should be in memory (and hence if your input is large, you could actually be running out of memory) …
The method to look at (and eventually modify) is RooTreeData::createTree …
This might explain why I have had my script (I think) crash my computer on my home computer. But what exactly are you proposing I modify? I’ve removed the error message from the other file, and it gets rid of this repeated message.
[quote]This might explain why I have had my script (I think) crash my computer on my home computer. But what exactly are you proposing I modify? I’ve removed the error message from the other file, and it gets rid of this repeated message.
[/quote]You could modify to write to a temporary file of your choice instead of the memory …
I’ll look into it. But wouldn’t this be a common occurance? Shouldn’t this be changed in CVS anyways. At least maybe the error message should be rewriten?