, view all tags

Installating Mu at NCSA

Refer to this link for a general installation of the Analysis Software.

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 be installed:

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.

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



Before using the cvs commands you have to execute


Now use the command:

>cvs co daq

Use your NPL username and password to checkout daq.

For run2 analysis checkout mu_run2 from CVS by the following cmd:

> cvs co mu_run2

Run make in daq/midas directory

> make

Set your MIDAS paths to point to a working versionin .soft file

  • MIDAS_ROOT has to link to the directory where you just compiled MIDAS (e.g. MIDAS_ROOT=/$HOME/daq/midas/)
  • LD_LIBRARY_PATH += $MIDAS_ROOT/linux/lib
  • PATH += $MIDAS_ROOT/linux/bin
  • MIDAS_DIR=$HOME/mu_run2/work

To check if midas is installed correctly or not you can run


If everything is fine it will run without any errors.

Compiling the tree generating analysis: ./mu

Now compile the mql part in the mu repository by:
> cd mu/mql
> 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: r3 - 2010-07-26 - NanditaRaha
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback