An example to analyze the TMB-Tree in root: =========================================== Go to your work area where you keep updated tmb_tree code. For the moment the following assumes you have the tmb_tree code locally checked out. Once the CAF version is in the release, you can replace SRT_PRIVATE_CONTEXT with SRT_PUBLIC_CONTEXT % setup D0RunII t05.01.00 % setenv LINK_SHARED yes [ in bash: export LINK_SHARED=yes ] % d0setwa % make You can load all necessary libraries 'by hand': root [] .L $ROOTSYS/lib/libPhysics.so root [] .L $SRT_PUBLIC_CONTEXT/shlib/$SRT_SUBDIR/libmet_util.so root [] .L $SRT_PRIVATE_CONTEXT/shlib/$SRT_SUBDIR/libtmb_tree.so ========= Note: There is the possibility to 'autoload' these libraries, when you run % ./tmb_tree/scripts/autoroot.py tmb_tree This creates a .rootmap file which root uses in interactive mode to find all necessary libraries. However, the current version has problems with namespaces (metid::...) when compiling with ACliC, so for the moment the manual version is preferred. ============ Now you have a library which tells ROOT about all the methods available in the tmb_tree classes. You can open a tmb_tree file, and run macros like the template at tmb_tree/macros/TMBExample.C. You can change this file to analyze tmb_trees. ************************************************************ Now you are ready to start a session: # we have to see the include files, so add this to the path root[0] .include $SRT_PRIVATE_CONTEXT/include root[1] .L tmb_tree/macros/TMBTreeSelector.C+ root[2] .L tmb_tree/macros/TMBExample.C+ root[3] TFile f("my_tmb_file.root") root[4] TTree *tree = (TTree *)f.Get("TMBTree") root[5] tree->Process(new TMBExample()) Instead of loading the TMBExample.C shared library [2] and [5], you can also do the following: root[6] tree->Process("tmb_tree/macros/TMBExample.C+") Copy and modify TMBExample.C for your needs. =========== Note: 1. You don't need D0RunII - you can run your tmb_tree analysis on any computer that has root (use win32gcc for windows). On a computer with access to D0's cvs repository, do % cvs checkout tmb_tree % cvs checkout kinem_util % cvs checkout met_util or use a certain release (setup D0RunII) and addpkg those three. Then bundle the code and copy it to the machine you want to run on: % tar czf tmb_tree_code.tar.gz . % scp tmb_tree_code.tar.gz mymachine: On mymachine, unpack the code, make sure your ROOTSYS variable is set and compile it locally: % tar xzf tmb_tree_code.tar.gz % source tmb_tree/tools/setup-standalone.csh [ or setup-standalone.sh for bash ] % root root[] .L $ROOTSYS/lib/libPhysics.so root[] .L ./shlib/libmet_util.so root[] .L ./shlib/libtmb_tree.so root[] .include ./include ...rest as above...