All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
The N3AnaBase package



The N3AnaBase package



Presentation


Package with all basic tools for NEMO3 data analysis. It is under construction as long as we are working on it. Don't hesitate to participate and to commit new original analysing methods !!


Requirements


The N3AnaBase package relies on several software components, in the following order and with software dependencies documented within each package:
https://nemo.lpc-caen.in2p3.fr/wiki/boost_help
https://nemo.lpc-caen.in2p3.fr/wiki/datatools
https://nemo.lpc-caen.in2p3.fr/wiki/geomtools
https://nemo.lpc-caen.in2p3.fr/wiki/NEMO3_NAT++

You must ensure all these libraries are properly installed and setup in order to build and use N3AnaBase.

So you need to source the following startup scripts (here from the bash shell):


Installation


Installation steps:

  1. Download from the trunk:
         shell> mkdir N3AnaBase
         shell> cd N3AnaBase
         shell> svn co --username nemo https://nemo.lpc-caen.in2p3.fr/svn/N3AnaBase/trunk n3anabase_trunk
         shell> ln -s $(pwd)/n3anabase_trunk pro
         shell> cd pro
    
  2. Configure:
    shell> ./pkgtools.d/pkgtool configure
    
    or without the Python wrapper (recommended for it is experimental):
    shell> ./pkgtools.d/pkgtool configure --without-python
    
  3. Build:
    shell> ./pkgtools.d/pkgtool build
    shell> ./pkgtools.d/pkgtool build bin
    shell> ./pkgtools.d/pkgtool install
    
    Sample programs may be built too:
    shell> ./pkgtools.d/pkgtool build bin_test
    
  4. Setup:
    shell> source n3anabase.(c)sh
    
  5. Check:
    shell> n3anabase-config --help
    

Special material for CCIN2P3


The cclyon subdirectory contains sample scripts to setup the whole software chain at CC IN2P3 (ccali).
Please read the ${GROUP_DIR}/data_simul/sw/README file for setup instructions.

Miscellaneous


Notes for FM


How I created this new package using '''pkgtools'''


  1. Creation of N3AnaBase skeleton:
    shell>$ mkskelpack --dummy -CXX -D NemoCuts -D N3Event -D N3Db -D N3IORoot N3AnaBase nemo3
    
    Check the package tree:
    $ tree N3AnaBase/
    N3AnaBase/
    |-- ChangeLog
    |-- README
    |-- VERSION
    |-- doc
    |-- gmk
    |   `-- GNUmakefile
    |-- include
    |   `-- N3AnaBase
    |       `-- dummy_n3anabase.h
    |-- pkgtools.d
    |   |-- mkuniqueflags.py
    |   |-- n3anabase-config
    |   |-- package.csh.skel
    |   |-- package.info
    |   |-- package.sh.skel
    |   `-- pkgtool
    |-- programs
    |   `-- test_dummy_n3anabase.cxx
    |-- resources
    |-- scripts
    `-- src
        `-- dummy_n3anabase.cc
    
  2. Test build/install:
    shell>$ cd N3AnaBase
    shell>$ ./pkgtools.d/pkgtool build
    shell>$ ./pkgtools.d/pkgtool build bin
    shell>$ ./pkgtools.d/pkgtool install
    shell>$ ls -l n3anabase.*sh
    -rw-r--r-- 1 mauger mauger 952 2008-10-28 17:32 n3anabase.csh
    -rw-r--r-- 1 mauger mauger 956 2008-10-28 17:32 n3anabase.sh
    
  3. Setup:
    shell>$ source n3anabase.sh
    
    Test the config script:
    shell>$ n3anabase-config  --help
    Usage: n3anabase-config [OPTION]
    
    Known values for OPTION are:
    
      --prefix              show N3AnaBase installation prefix
      --incdir              print include directory
      --libdir              print library directory
      --bindir              print binary directory
      --include             print include path pre-processor flags without dependencies
      --cflags              print include path pre-processor flags with dependencies
      --libs                print library linking information, without dependencies
      --ldflags
      --libs-depends        print library linking information, with dependencies
      --help                print this help then exit
      --version             print version information
      --system              print system
    
  4. Run test program:
    shell>$ ./Linux-i686/bin/test_dummy_n3anabase
    Hello, this is a sample program for class 'dummy_n3anabase'!
    
  5. Import in the svn server:
    to be done...