This project is read-only.

ROOT is a kitchen-sink utility used to analyze large datasets (terabytes). It's I/O format is the TTree. Despite advanced compression features in ROOT, it is often a puzzle why TTree's are the size they are. The TTree::Print method dumps a list of all the Branches of a tree, however they are in branch order and not easy to sort by size-on-disk or similar attributes. The ROOT File Size Analyzer parses the output of this and turns it into a grid that can be sorted by the various columns:


Using this is done in two steps.

Getting the output of TTree::Print()

Open ROOT and load the file that contains the TTree you wish to analyze. There run the following:

{ vtuple->Print(); } > junk.txt

where vtuple is the TTree object. When this is done junk.txt will contain the output of the Print method.

Analyzing the TTree Print Output

There are two approaches – one is to move junk.txt to a file accessible via web server, and the other is to just use your cut/paste buffer.

  1. Load the control from the website.
  2. Click the Load Size Info button at the upper right hand corner of the window. A small dialog box will appear.
  3. Cut/Paste the contents of junk.txt into the buffer and click OK, or paste in the URL that will point to junk.txt (see warning below!!).
  4. Click on the column headers to sort by whatever quantity is most important to you.

If you are going to load the junk.txt data from a file you’ll need to install this application on your computer. The reason is that Silverlight locks down anything that the user has not given it explicit permission to roam free with. One of those things is access another website. In the process of installing it you will be asked if you trust this application. If yes, then the Silverlight runtime will allow it to access arbitrary websites. Installation is easy: just right-click (control-click on the Mac) anywhere on the control and select “Install…” Once installed this will be available from the Start-Menu on Windows or the standard app folder on the Mac (or by typing “ROOT” into the Windows Start menu or Spotlight (on the Mac) you should be able to find it fast).

Supported Platforms

This is based on Silverlight 4.0, which means it is supported only on Windows and the Mac. Linux, which depends on Moonlight, is not yet up to speed with Silverlight 4.0 (sorry, using some features from 4.0!).

Suggestions or Requests

Feel free to add something to the forms, if you have a bug feel free to add an issue, or just contact me directly at gwatts @ uw . edu.

Last edited Nov 20, 2010 at 2:07 PM by gwatts, version 3


No comments yet.