You are here

How to Convert HBOOK/PAW Files to ROOT Files?

The ROOT distribution kit includes a program called h2root that you can use to convert your HBOOK/PAW histograms or ntuples files into ROOT files. To use this program, you type the shell script command: h2root

If you do not specify the second parameter, a file name is automatically generated for you. If hbookfile is of the form file.hbook, then the ROOT file will be called file.root.

This program converts HBOOK histograms into ROOT objects of the class TH1F. HBOOK profile histograms are converted into ROOT profile histograms (see class TProfile). HBOOK row-wise and column-wise ntuples are automatically converted to ROOT Trees(see TTree). Some HBOOK column-wise ntuples may not be fully converted in case one of the columns is an array with fix dimensions(eg. var[6]) or is a multi-dimensional array.

HBOOK integer identifiers are converted into ROOT named objects by prefixing the integer identifier with the letter "h" if the identifier is a positive integer and by "h_" if it is a negative integer identifier.

In case of row-wise or column-wise ntuples, each column is converted to a branch of a Tree.

Note that h2root is able to convert HBOOK files containing several levels of sub-directories.

Once you have converted your file, you can look at it and draw histograms or process ntuples using the ROOT interactive module. An example of session is shown below:

   TFile f("hbookconverted.root"); // this connects the file hbookconverted.root
   h10.Draw(); //display histogram named h10 (was HBOOK id 10)
   h30.Draw("var"); //display column "var" from ntuple h30

You can also use the ROOT browser (see TBrowser) to inspect this file.