, view all tags
-- NanditaRaha - 2010-07-23

Refer to this link for a general installation manual.

This documentation is to help install musun software from scratch at your NCSA account. There is an emphasis on neutron analysis also in the second part of this documentation.

Set the environment variables

Edit the ~/.soft file and set all environment variables here.

Softwares required to install:

The following softwares must either be installed (or you can set the environment variables to a path that points to the softwares already installed - this is more convinient than installing a software):

1. Root

2.Java 2 SDK

3. JavaCC (for mql compilation later)

4. CVS - mu and daq (this must be checkouted from the CVS repository)

Installing root:

  1. Downloaded source tar for root versions 5.08 from root.cern.ch
  2. tar -xzvf root_v5.08.00.source.tar.gz
  3. cd root
  4. > ./configure linux --enable-shared --enable-thread --disable-ssl
    > make
    > make install
  5. Set $ROOTSYS to your current working version of Root (e.g. ROOTSYS = /u/ac/bkiburg/root)
  6. Add the Root libraries to LD_LIBRARY_PATH: LD_LIBRARY_PATH += $ROOTSYS/lib in the ~/.soft file
  7. Add Root to your path: PATH += $ROOTSYS/bin in the ~/.soft file


In the ~/.soft file just append the following lines:

ROOTSYS = /u/ac/bkiburg/root



This is more convinient than installing root from scratch.

Installing Java 2 SDK:

  1. Copy j2sdk-1_4_2_09-linux-i586.bin to home dir from /u/ac/bkiburg/tungsten/installs/
  2. Run j2sdk-1_4_2_09-linux-i586.bin file in the directory where you would like j2sdk installed.
  3. Set JAVA_HOME = $HOME/j2sdk.4.2_09 and add the java executables to your path: PATH += $JAVA_HOME/bin


In the ~/.soft file just append the following lines:

JAVA_HOME = /usr/local/j2sdk1.4.2_14


This is again more convinient than installing it from scratch.

Installing JavaCC

  • Copy the javacc-4.0.tar.gz file from ~bkiburg/tungsten/installs/ or ~pwinter/installation.
  • Untar (tar -zxvf javacc-4.0.tar.gz) the file in the directory where you like to have JavaCC installed.
  • Set the JJTREE to where JavaCC is installed (e.g. JJTREE_HOME = $HOME/javacc-4.0) and add the binaries to your path: PATH += $JJTREE_HOME/bin


In the ~/.soft file just append the following lines:

JJTREE_HOME = /u/ac/bkiburg/javacc-4.0


This is again more convinient than installing it from scratch.

CVS software

For the MIDAS and analysis software installation, you will have to get access to the CVS to retrieve the source code. Please check the Instructions to get this access.

Once you have that you can browse the CVS repository to see what we have in CVS. Use your NPL username and password to login.

Use the command:

>cd -d

The default paths for installation put the directories daq/ mu/ and installation/ directly in your home directory. If you wish to create a separate directory to contain these, such as musun/daq/, musun/mu/, musun/installation/, you will need to pay attention to the environment variables and a few lines in the makefiles.
For example, you should use the env variable "export MU=$HOME/musun/mu/work", and the makefile for mu (mu/work/Makefile) has a few library paths like
"UNCOMPRESS_LIB = ../compress -L$(HOME)/installation/md5-lib/ -lmd5"
that you must change to
"UNCOMPRESS_LIB = ../compress -L$(HOME)/musun/installation/md5-lib/ -lmd5"

  • Java is already installed on NPL machines. But you need to install JavaCC. Create installation folder on your home directory and copy javacc-4.0 (( from NPL:home/kizilgul/installation/ )) into your installation directory. In this directory

> tar -zxvf javacc-4.0.tar.gz

  • Add/Change these in your .bashrc file.

export MTA=$HOME/mu/src/uiuc/macros/EventTree
export MU=$HOME/mu/work
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun
export JJTREE_HOME=$HOME/installation/javacc-4.0/bin

  • If you dont have CVS (( cvs checkout CVSROOT )). Then add these in your .bashrc file.

CVSROOT=(your npl login name)@login.npl.uiuc.edu:/site/npl/musun/cvsroot/
export CVSROOT
export CVS_RSH=ssh;

  • Get midas software from CVS and add these lines to your .bashrc file

> cvs co daq

export MIDAS_ROOT=$HOME/daq/midas
export MIDAS_EXPTAB=$HOME/odb/exptab
export MIDAS_EXPT_NAME=musun

  • run make in daq/midas directory

> make

  • Get musun software from CVS,

> cvs co mu

  • copy master.odb from my directory (/home/kizilgul/mu_run2/odb/run2Master.odb) --has some little changes for musun-- go to mu/odb and enter odbedit than load run2Master.odb
> odbedit
odb > load run2Master.odb

  • Now go to mu/mql directory and

> mv JavaCharStream .java JavaCharStream .obsolete

> make clean

> make

  • Run make in mu/compress/. A common error is related to 64-bit vs 32-bit systems. If you are running 64-bit linux, change the lines simlar to the following in the mu/compress/Makefile. (may need to add 64 in front of linux folder name)

$(CXX) -o mucap_optimize mucap_optimize.o -L$(MIDAS_HOME)/linux 64/lib -lmidas -L. -lmucap_compress -lz -lpthread -lutil

  • Create a folder in installation/md5-lib and copy everything in /home/kizilgul/installation/md5-lib
  • Do these changes in mu makefile...add these lines, they are commented out in NCSA version.

CC = cc
CXX = gcc

  • Compile mu. Run make in mu/work/. Pay attention to the aformentioned directory structure issues if you get errors.
  • Compile mta in mu/src/uiuc/macros/EventTree. Check the makefile for the proper directory paths and run make.

Running mu Level Analysis

Input data files (run0XXXX.mid) are processed in miscellaneous modules and Musun Event trees are created (mutreerun0XXXX.root), some histograms (murun0XXXX.root) are also created along with trees. Tree output will be used in mta analysis.

Note: Data files are originally have no '0' (zero) at the numbering, so you should add '0' manually to your files, like

> mv run6147.mid run06147.mid

I have copied some files in /data/npluser2/kizilgul/ directory

./mu -i /data/npluser2/kizilgul/run02017.mid -o /data/npluser2/kizilgul/mu_processed/murun02017.root -T /data/npluser2/kizilgul/mu_processed/tree/mutreerun02017.root -n 20 50

-i [mid file] -o [output file] -T [tree file] -n [range,not necessary]

The musun event structure is described here.

TMusunEvent Structure

TMusunEvent object stores Muons, Electrons, TPC FADC Pulses, WFD Gondola Pulses, TPC WFD pulses and Neutron pulses. TMusunEvent objects are created, sorted by incoming Muons and then saved into root trees (see TEventTreeAnalysis.cpp).

FADC Analysis

Raw FADC data is collected and processed inMFadcProcessRaw.cpp file. This file also includes the pulse finder. FDCR arrays are filled with pulses found here(with all bank samples). These arrays are then saved into trees with TMusunFadcPulse object structure (see TEventTreeAnalysis.cpp.

WFD Analysis

text here

Neutron Analysis

text here

Running mta Level Analysis

MTA analysis uses output tree of mu analysis and processes. The output file is saved in mtarun0XXXX.root format.

./mta -i /data/npluser2/kizilgul/mu_processed/tree/mutreerun06143.root -o /data/npluser2/kizilgul/mu_processed/tree/mta/mtarun06143.root

-i [input tree] -o [output file] -n [range]

The musun mta event structure is described here.

TMusunMTAEven Structure

text here

TPC Tracks

text here


text here

MTA Event Display

To run the event display at mta level, including the track finder, you need to recompile mta. Throughout the code, there are precompiler-separated blocks specific to the event display, using #ifdef EVENTDISPLAY. In the mta makefile, mu/src/uiuc/macros/EventTree/Makefile, there are three lines that need to be uncommented.

# uncomment the next 3 lines ONLY if you are running the event display
SOURCES += EventDisplayTrigger.C
HEADERS += EventDisplayTrigger.h

This defines the EVENTDISPLAY token for the rest of the mta classes. Comment these three lines out to disable the event display.

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2010-07-23 - NanditaRaha
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback