Distributions

  • Source
  • Documentation
  • CDF Note (documentation is in this)


    Build Details

    To build the rootINpaw (RIP), you need the above source download and the source for the 2003 version of paw (the current development version). From cern you need to download all the .tar.gz files. Cern also provides a build script that we'll make use of in the build process.

    You also need a version of LAPACK, which can be obtained from netlib. As of this writing, the current version is 3.0.

    After obtaining the sources, the following should build them:

    1. Decompress the lapack source tarball with your favorite tool
    2. Change into the resulting directory (LAPACK) and run make (see further directions here).
    3. Decompress all the src_*.tar.gz you downloaded from cern
    4. Symlink lapack_LINUX.a and blas_LINUX.a into the resulting 2003/lib directory from the LAPACK build as liblapack3.a and libblas.a.
    5. Decompress the RIP tarball over the paw source directories (run the decompression from the base, one level above 2003)
    6. Edit start_cern so it doesn't decompress the archives when you run it and add the following lines to the end:
      cd $CERN_ROOT/
      gmake root
      
      # uncomment if you need the packlib bins
      # cd $CERN_ROOT/build/packlib
      # gmake install.bin
      
      cd $CERN_ROOT/build/pawlib
      gmake install.bin
      
    7. Run the following commands at your shell (subsitute the cdf2.cshrc if your using tcsh or the equiv). You don't have to use gcc 3.3.1, though the later 3 series generates better C++ code:
      > source ~cdfsoft/cdf2.shrc
      > setup gcc v3_3_1
      > ups list -a root | grep -B 1 3_3_1
      	Product=root	Version=v4_00_03a	Flavor=Linux+2
      		Qualifiers="GCC_3_3_1"	Chain=""
      > setup root -q GCC_3_3_1 v4_00_03a
      
    8. Run start_cern. If it fails, run it again. make and g77 don't always seem to work well together. Make sure before giving up that pawlib and packlib are built (2003/lib/lib{paw|pack}lib.a).

    You should have a version of PAW that can load Root files now. Currently, it only works with UCNtuples. If you want to support another form of ntuple you'll need to do the following minimum modifications in 2003/Root/interface.C:

    The code assumes that the ntuple has a structure like the UCNtuple, that is, branches that are blocks with data stored in the leaves. A sample UCNtuple definition file is provided in the src directory.

    If you find any bugs, add support for a new ntuple, clean up some of the messy code, please send patches back. At some point, I want to add support for multiple ntuples into the base release (specifically the top and ucn, but others are more than welcome). If anyone can make this work with the stntuple (I think all you might really need is custom streamers), that would also be helpful.


    jrlilly AT hep DOT uchicago DOT edu