Part of the software depends on the run number, so basically needed programs for work with DST may be found in:
DISK$BECOFL:[BEC.RUN10...]
DISK$BECOFL:[BEC.RUN12...]
DISK$BECOFL:[BEC.RUN15...]
DISK$BECOFL:[BEC.RUN17...]
....................................................
Here one may find in [.DST] programs and in [.DAT] - data files needed for correct work with DST. (Original version of the programs also may be found in :
USER$BEC:[KOSTYUHIN.RUN10.DST10]
USER$BEC:[KOSTYUHIN.RUN12.DST12]
USER$BEC:[KOSTYUHIN.RUN15.DST15]..............).
Magnetic field description is run specific(POL,POLDX,FLDPOL,FLDDX)
and may be found in [.OBJ_AXP] subdirectory together with others object files.
As a working example of typical analysis program one may use file
EXAMPLE.FOR. It may be linked with LD.COM.
DSTREAD.FOR
-main program for DST reading . It reads multiple data files on disk (with wildcard *) or on mag.tapes (use logical name MT). Also it unpacks all information about particles,gammas etc. User must supply the following modules:
PrimSel(buf,iok) fast event selection without full unpacking UsPhys main subroutine for physical analysis Ushist histogram booking
RDDST_.... .FOR - collection of subroutines for work with RAW information on DST
CHKNOI.FOR - program to delete noisy channels in GAMS.
GMSSUB.FOR - collection of useful subroutines for GAMS users
XtoXYZ(x,y,lad) X,Y --> linear addr. ladrs(ix,iy,iz) ix,iy,iz --> linear addr. Xcoord(lad),Ycoord(lad) x,y of the sell Transl(lad,ix,iy,iz) linear addr. --> ix,iy,iz Lsize(lad) sell attributes
EGNEW_... .FOR - subroutine for the energy and coordinate dependent corrections for the gammas. They were calculated for different runs separatly
TAPE_NUMBER.FOR - subroutine for TAPE/SPILL/EVENT number determination. It uses BEC$TUSE file from production.
GAM_PI0.FOR - subroutine for making pi0,eta from arbitrary number of gammas based on corresponding chi2.
call ManyGam Uses gammas from /USERGM/ and put resulting particles into /USERPI0/. Current version produces up to 3 particles. Also it has a possibility to produce a predefined number of pi0 and eta ( say 2 pi0 and 1 eta).
eplim(1,1)=ampi0
eplim(2,1)=0.035
eplim(1,2)=ameta
eplim(2,2)=0.08
ndf=0
nfind(1)=2
nfind(2)=1
call SetSeaLim(ndf,nfind,eplim,ier1)
if(ier1.ne.0) return
call FndDefGam(ier2)
if(ier2.lt.0) return
Description of variables and further information may be found inside.
PLIB.FOR -Useful subroutine for physical analysis:
Beam1(wm2,t) -Calculate beam energy, mass and t for the event. Function DtMin in this file gives corresponding tmin ams6, ams5, ams4, ams3, ams2 -Invariant mass of 6, 5, 4, 3, 2 particles ams2g(p1,p2,error) -Invariant mass of 2 gammas with error. CfitG -Constraint fit 2g-->pi0(eta) TrackF -Gives tracks parameters after magnet DlrnB,DlrnF -Double precision Lorentz transformations