Difference between revisions of "Software"

From New IAC Wiki
Jump to navigation Jump to search
Line 84: Line 84:
  
 
   cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co packages/bosio
 
   cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co packages/bosio
 +
  cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co packages/include
 +
 +
You will need to tell the Makefile where to look for the bosio headers by setting the environmental below
 +
 +
setenv CLAS_PACK /home/tforest/src/CLAS/packages
  
 
go  the dstdump subdirectory and compile dstdump by typing "make"
 
go  the dstdump subdirectory and compile dstdump by typing "make"
cd eg1_dst/dstdump/
+
 
 +
cd eg1_dst/dstdump/
 +
 
 +
if you get teh erro message
 +
 
 +
/usr/bin/ld: cannot find -ldstlib
 +
 
 +
Then you need to edit the Makefile in eg1_dst/dstdump so the line
 +
 
 +
DSTLIB = -L$(CLAS_LIB) -L$(TOP_DIR)/lib/LinuxRH7 -ldstlib
 +
 
 +
points to the CLAS/lib/Linux subdirectory or whatever OS name you are using inder CLAS/lib
 +
I changed mine to
 +
 
 +
DSTLIB = -L$(CLAS_LIB) -L$(TOP_DIR)/lib/Linux -ldstlib
 +
 
 +
and set the CLAS_LIB environemental variable
 +
 
 +
setenv CLAS_LIB /home/tforest/src/CLAS/lib/Linux
 +
 
 +
now when you type "make" under the subdirectory eg1_dst/dstdump you should get and executable
 +
 
  
  

Revision as of 16:28, 20 July 2007

Getting the analysis software

Minimal CLAS software for EG1 analysis

download files from the JLAB CVS repository using the command

type the command below in order to tell CVS to use ssh

setenv CVS_RSH ssh

if you have an account on the JLAB computers you can do

cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co packages/fpack

where USERNAME is your JLab username

The above will download packages from JLAB's CVS repository

I only needed the following subdirectories under the "packages" subdirectory to compile the EG1 reader code.

cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co packages/fpack
cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co packages/cms
cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co packages/Makefile

unless the environmental variable OS_NAME is set the Makefile will default to Linux.

Then "cd" to the "packages" subdirectory and type "make"

If you get the error

cc1: error: unrecognized command line option "-fwritable-strings"

then you need to remove this depreceated switch from the file

flags.Linux.mk

near line 45 in the above file change

CFLAGS += $(CLEVEL) -fwritable-strings 

to

CFLAGS += $(CLEVEL) 

Re-type "make" within the "packages subdirectory if you got the above error.

otherwise look in the lib subdirectory and see if you have make the fpack library

packages >ls ../lib/Linux/
libfpack.a

now checkout the EG1 dst library after moving up a subdirectory back to the "CLAS" subdirectory.

cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co eg1_dst/dstlib


Before you can compile the EG1 software using "make" set environmental variable telling the makefile where to look for the Makefile scripts

setenv CLAS_CMS /home/tforest/src/CLAS/packages/cms

An also tell the dst make file where to put the libraries it is going to built

setenv TOP_DIR /home/tforest/src/CLAS

Now go to the dstlib subdirectory

cd eg1_dst/dstlib

and type

make lib

you should see the dst library in the CLAS/lib subdirectory

dstlib >ls ../../lib/Linux/
dst_read.o  libdstlib.a  libfpack.a

now lets compile a program to read the contents of an EG1 dst file called dstdump

return to the CLAS subdirectory

cd ../../

checkout dtsdump

 cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co eg1_dst/dstdump

you will also need header include files from packages/bosio to compile dstdump

 cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co packages/bosio
 cvs -td :ext:USERNAME@cvs.jlab.org:/group/clas/clas_cvs co packages/include

You will need to tell the Makefile where to look for the bosio headers by setting the environmental below

setenv CLAS_PACK /home/tforest/src/CLAS/packages

go the dstdump subdirectory and compile dstdump by typing "make"

cd eg1_dst/dstdump/

if you get teh erro message

/usr/bin/ld: cannot find -ldstlib

Then you need to edit the Makefile in eg1_dst/dstdump so the line

DSTLIB = -L$(CLAS_LIB) -L$(TOP_DIR)/lib/LinuxRH7 -ldstlib

points to the CLAS/lib/Linux subdirectory or whatever OS name you are using inder CLAS/lib I changed mine to

DSTLIB = -L$(CLAS_LIB) -L$(TOP_DIR)/lib/Linux -ldstlib

and set the CLAS_LIB environemental variable

setenv CLAS_LIB /home/tforest/src/CLAS/lib/Linux

now when you type "make" under the subdirectory eg1_dst/dstdump you should get and executable


the files under bosbank depend on ROOT so you need to install ROOT.

EG1 DST reader

The EG1 dsts reader is used to uncompress the EG1 DST data files for analysis. The DST library has at least 3 version now so you must use the correct DST library with your data file.

UNIX software

apt-get install paw apt-get install paw++ apt-get install xemacs

Getting Data files from JLAB

downloading to offsite place

running on JLAB farm

Contents of EG1 DST files

Name BOS bank Description
p_id EVNT.ID Particle ID 1= electron ...
1= electron
2= proton
3= neutron
4= [math]\pi^+[/math]
5= [math]\pi^-[/math]
6= [math]K^+[/math]
7= [math]K^-[/math]
8= deuteron
9= Helium 3
10= Helium 4
11= photon
12= positron
p_x EVNT.P*EVNT.dir_cos[o] Momentum in X direction
p_y EVNT.P*EVNT.dir_cos[1] Momentum in Y direction
p_z EVNT.P*EVNT.dir_cos[2] Momentum along beam pipe
v_x EVNT.vertex[0] position of vertex in X
v_y EVNT.vertex[1] in Y
v_z EVNT.vertex[2] in Z
q EVNT.Charge Particle's Charge
beta EVNT.Beta Beta particle
sector DCPB.SCTR or ECPB.ScHT or LCPB.ScHT or SCPB.ScPdHT sector
chi_sqr DCPB.Chi2 track goodness of fit
cc_pe CCPB.Nphe/10 number of photoelectrons in Cerenkov detector
cc_chi_sqr CCPB.Chi2CC geometrical matching angle between CC hit and nearest SC hit(in rad)
trl1_theta TRL1.DC1 angle on tracking layer one
trl1_phi TRL1.DC1 angle
trl1_x TRL1.DC1_pos[0] position at first DC layer in X
trl1_y TRL1.DC1_pos[1] position at first DC layer in Y
trl1_z TRL1.DC1_pos[2] position at first DC layer in Z
sc_e SCPB.Edep energy deposited in the scintillator
ec_in ECPB.Ein energy deposited into inner part of electron calorimeter
ec_out ECPB.Eout into outer part of electron calorimeter
ec_tot ECPB.Etot total energy deposited into calorimeter
ec_pos_x ECPB.Position[0] the position in electron calorimeter in X
ec_pos_y ECPB.Position[1] the position in electron calorimeter in Y
ec_pos_z ECPB.Position[2] the position in electron calorimeter in Z
ec_m2hit ECPB.M2_hit second moment hit pattern in the calorimeter
sc_paddle SCPB.ScPdHt SC paddle number
tdc_time SCPB.Time flight time
track_length SCPB.Path track length
flag based on EVNT.Status and TRL1.hits If value is > 10 then 6 superlayer were used in track fit
sc_x DCPB.SCplane[0] intersection with SC plane in X
sc_y DCPB.SCplane[1] intersection with SC plane in Y
sc_z DCPB.SCplane[2] intersection with SC plane in Z
sc_cx DCPB.SCdir_cos[0] direction cosine in X at SC plane
sc_cy DCPB.SCdir_cos[1] direction cosine in Y at SC plane
sc_cz DCPB.SCdir_cos[2] direction in Z

FAQ

fwriteable-strings error

cclose.c -o /home/didbtama/src/CLAS/obj/Linux/fpack/cclose.o
cc1: error: unrecognized command line option "-fwritable-strings" 

To get rid of this error we copied flags.LinuxRH.mk to flags.Ubuntu.mk and changed line

     CFLAGS += $(CLEVEL) -mcpu=pentium -fwritable-strings

to be

CFLAGS += $(CLEVEL) -mcpu=pentium

we also needed to copy the file
link.LinuxRH.mk to link.Ubuntu.mk