Recovering TTree from a TFile

Dear all,

I am trying to recover data from an experimental run. The data should have been written to a TTree, with 5 branches (board, channel, timing, energy, flags) by the data acquisition system (DAQ) then saved in a ROOT file.
For the run in question, the TFile was created by the DAQ, and the file size is approximately as expected. (approx 8MB). However, when I try to access the data in the TFile, there is no TTree! I have tried using the IsZombie() method that confirms the file IS NOT a zombie. However, when I call 'GetNkeys(), 0 is returned, whereas I would expect 1.

I attach a “good” file for reference, where the file contains the correct TTree. “DataR_CH0@N6724C_24302_Ac_225_no_ladder_no_foil_3.root”

The bad file, “DataR_CH0@N6724C_24302_Ac_225_no_ladder_no_foil_8.root”, is the file for which I wish to recover the data.

Each file is slightly too large to upload here, but can be found at the following link:
https:/ /zenodo . org / record / 8406399

Any advice or suggestions or things to test would be greatly appreciated.

Best wishes
Jake

ROOT Version: 6.26/04
Platform: linuxx8664gcc
Compiler: c++ (SUSE Linux) 7.5.0


Welcome to the ROOT Forum! I’m sure @pcanal can help you with this

Thanks! I look forward to any help that can be offered!

Lets see if @pcanal can take a look

Unfortunately the file is corrupted in such a way that the TTree record is not present/seen (according to file->Map();, so I am afraid that this can not be done :frowning:

Hi @pcanal, thanks very much for trying. I will reply to CAEN and report the problem to them so they can look into it further if they feel like it!