[ROOT] Hbook/PAW files now readable from ROOT

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Feb 20 2002 - 18:58:57 MET


Dear Rooters,

A set of classes allowing to read directly Hbook files in ROOT
are now available in the CVS development version. The classes are:
  -THbookFile:   an Hbook file object
  -THbookTree:   an Hbook Ntuple (Row or Column-Wise)
  -THbookBranch: an ntuple column
  -THbookKey:    service class to browse Hbook directories
The new classes are in a separate optional shared lib libHbook.so

With these classes, one can:
- import automatically any 1-d, 2-d or profile histograms. The Hbook types
are converted on the fly to Root types TH1F, TH2F and TProfile.

- import ntuple headers (Row or Column-Wise).
A new data type THbookTree (deriving from TTree) with functions like
hbookTree.Draw("x","selection") like for a normal TTree. The ntuple data
are read directly from the Hbook file.

- The Tree viewer can be used directly: hbookTree.StartViewer();

- Browse the THbookFile via TBrowser. Clicking on a Hbook ID in a file
draws the histogram.

- When in the browser, the context menu item "Convert2root" can be selected
to convert a THbookFile into a normal TFile (via h2root). The converted file
is by default connected to the browser.

Example:
  gSystem->Load("libHbook");
  THbookFile f("myfile.hbook");
  f.ls();
  TH1F *h1 = (TH1F*)f.Get(1);  //import histogram ID=1 in h1
  h1->Fit("gaus");
  THbookTree *T = (THbookTree*)f.Get(111); //import ntuple header
  T->Print();  //show the Hbook ntuple variables
  T->Draw("x","y<0"); // as in normal TTree::Draw
  T->StartViewer();

I have tested these classes on several Hbook files containing histograms
and ntuples of various complexity.

Note that a THbookFile is a read only file.

I would appreciate feedback on these classes.

Rene Brun



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:42 MET