Tags:
, view all tags

Installing Musun on NPL machines.

Some installation material available online at: www.npl.illinois.edu/cgi-bin/twiki/bin/view/Main/AnalysisSoftwareInstructions

Here are some steps you should follow to install musun software from scratch to your NPL machine.

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
export PATH=$JJTREE_HOME:$PATH

  • 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_HOME=$MIDAS_ROOT
export MIDASSYS=$MIDAS_ROOT
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.
  • If you get an error concerning md5 checksum mismatch, with the analyzer skipping every block, I've solved it every time by running make clean and then recompiling in mu/, compress/, md5-lib/, and daq/midas/.

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

./mu Event Display

The mu event display consists of two frames. One frame shows fadc bank with pulses and other frame shows fadc pulses on the TPC pad plane (see elog:89). Mu Event Display structure is described in elog:86.

To run the mu event display on a midas file, you need to change some odb settings and set the event display trigger, also in the odb.

First, in the odb directory UIUC_Analyzer/Event Display/ set the keys UseDisplayTrigger and show_event_display to 'y'. Set ShowEventDisplay to '1'. For the TPC display, you also need to set Show_fadcDisplay to '1'.

Next, you need to set the trigger for which events to display. In the odb directory UIUC_Analyzer/Event Display/Triggers/ set the key FADC_trigger to 'y' to trigger on the tpc pads.

mmurray6@npl-grad2:/data/npluser2/mmurray/musun$ odbedit
[local:Default:R]/>cd "UIUC_Analyzer/Event Display/
[local:Default:R]Event Display>ls
UseDisplayTrigger               y
HistBinTriggers                 
Triggers                        
show_event_display              y
ShowEventDisplay                1
Show_wfdDisplay                 0
Show_eDisplay                   0
Show_eTrackDisplay              0
Show_epcDisplay                 0
Show_fadcDisplay                1
tlow                            -5000
thigh                           30000
[local:Default:R]Event Display>cd Triggers
[local:Default:R]Triggers>ls
muSC_PileupProtected            n
muSCmuPC1_PileupProtected       n
specialTime                     n
multiElectronTrack              n
largeCluster                    n
longCluster                     n
badMuonStop                     n
rawMuSC                         n
goodMuonStop                    n
alvarez                         n
tpcEVH                          n
goodmuANDtpcEVH                 n
skim                            n
tom_not_steve                   n
FADC_trigger                    y
pixel                           n
tpcEH                           n

Next you need to run ./mu with the -g option.

 ./mu -g -i run06153.mid -o test.root -T tree.root -n 20 50

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

Neutrons

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
UIUC_CFLAGS += -DEVENTDISPLAY
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: r11 < r10 < r9 < r8 < r7 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r10 - 2011-01-11 - MichaelMurray
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback