I encounter a very strange error when trying to read an NTuple that I produced by skimming. The code to perform the skim is here:
I use CloneTree(0) to create a new tree, fill it with Fill() for selected events, and out_file.Write() to write the output. I can open the output file and make plots clicking through the TBrowser without any issues.
However, when I use another python script to read the skimmed output file:
I get the following error message:
Error in TDirectoryFile::WriteObject: File /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/bundocka/ZeroBias/zbMETe/L1Ntuple_Skim_PU50_0.root is not writable
Fatal in : Not yet implemented, require copy of objects.
The file mentioned is the input file, i.e. the skim file that I created. I’m not trying to write it, and I don’t know what this “Insert” function is. The odd thing is that this script runs just fine over the original files that were used to make the skimmed file.
I’m happy to provide more details or run tests: let me know if you have any ideas!
Thanks much,
Andrew
ROOT Version: 6.12/07 Platform: Python 2.7.14+ Compiler: Not Provided
Hi @Axel, thanks a bunch! I had spent a bit of time fruitlessly trying other methods to get valgrind to give proper output combined with python …
I’ve attached the valgrind output. Hopefully it means more to you than it does to me. I see a lot of “Conditional jump or move depends on uninitialised value(s)” which I suspect are irrelevant. Otherwise nothing I can make heads or tails of: I’ve included a “slim” version as well with just the errors immediately around the segfault.
WIth the new detailed, it looks like those errors are (very likely) false positive that we prevented valgrind to complain about only in v6.18. Could you try with the ‘master’ of ROOT (as v6.18 has not been released yet).