TRFIOFile and FileReadEvent()

Hi,

I created a class inheriting from TVirtualPerfStats which stores the number of bytes read and TTimeStamp using FileReadEvent.
For a local file FileReadEvent is called while for TRFIOFile is not. I thought ReadBuffer (which calls FileReadEvent) was used for any kind of TFile.

I define my file pointer like this:
TFile* f = TFile::Open(filelist[i].c_str(),“READ”);
I open the TRFIOFile with “rfio:/dpm/…” as name, I can get the TTree and process it.

What should I do to get the nb of bytes read and date for each read event?

ROOT/5.26.00d_python2.6/slc4_ia32_gcc34
Linux atlas015 2.6.18-194.8.1.el5 #1 SMP Fri Jul 2 10:04:28 CEST 2010 x86_64 x86_64 x86_64 GNU/Linux

Could you clarify why you do

[quote]TFile* f = TFile::Open(filelist[i].c_str(),“READ”);
I open the TRFIOFile with “rfio:/dpm/…” as name, I can get the TTree and process it.
[/quote]
You can do directly

TFile *f = TFile::Open("rfio:/dpm...");
Do you have a very short setup and test script showing what you are doing?

Rene

Actually, I have many files to read so I use a vector

As private mail, I send you the program needed for the scripts
files.tar.gz (3.54 KB)

FileReadEvent is not called by TRFIOfile. The call was implemented for all other T…Files but not for TRFIOFile.
Gerri will look into it as soon as he is back from vacations.

Rene

This issue is now fixed in the trunk.

Cheers, Fons.