Difference between revisions of "Software"
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= | ||
5= | ||
6= | ||
7= | ||
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