June 18, 2001
PAW version 2.12/22
The PAW version 2.12/22 is part of the 2001 release of CERNLIB.
The source files, binaries and libraries are available, via anonymous ftp,
on the asis system:
ftp asisftp.cern.ch
The PAW support is done by:
The PAW related packages versions are:
| Package |
Version |
Date |
| PAW | 2.12/22 | 13/06/2001 |
| KUIP | 2.08/03 | 23/05/2001 |
| HBOOK | 4.26/01 | 19/12/2000 |
| COMIS | 1.22/03 | 07/02/2001 |
| HPLOT | 5.23/04 | 06/03/2001 |
| HIGZ | 1.27/03 | 31/05/2001 |
| SIGMA | 1.10/03 | 10/02/1994 |
The following subjects can be found in this page:
PAW
Improvements
- New routines callable via COMIS:
HF1N,
DIVDIF,
REXPIN,
RLUXGO,
DRTEQ3.
- New accessible COMMON block via COMIS:
HCFLAG.
-
The DOUBLE COMPLEX functions
DCMPLX,
CDSQRT,
CDLOG, and
CDEXP
are now loaded in the PAW executable module to make them available in
COMIS functions via dynamic linking.
-
' ' is allowed as separator in NT/PLOT options. This prevent to
have the
message "Unknown option ' '" when ntuple plot is used with BOX option
from the ntuple panel in Paw++.
- D is recognised as a valid option in NT/PLOT
(meanning "Default") because
it is used by Paw++. The query processor printed an error
message saying
it was not a valid option.
- New oprion B in /MLP/LEARN to
keep the weights from the smallest error on the test sample.
Help improvements
- New option 'A' in 3DNULL documented.
- contour plot help updated
- update FUN/PLOT help
- update HELP of the command CHAIN
- Nt/Dup help had a mistake
- ^ is replaced by ** on the MLP/LPAT/SET help. It was producing bad LaTex
reference manual
- update the help of MANY_PLOTS
- run ispell on the cdf files
- revise the keywords in pawcdf.cdf
Bugs fixed
-
Because of the long file names, the following macro produced
wrong results. When an HBOOK file was used, its name was stored in a
character strings array of 80 characters. The chain mechanism used this
array to check if a file was already attached. When the file names was too
long (like here) the comparison was done with a truncated name. If the file
names were very similar and vary only at the end (like here) the truncated
character string stored in the HBOOK common block were the same for
two different files and the chain mechanism thought that the file was already
attached whereas it was not. This ended up analysing twice the same file !
filecase keep
chain bpipimbJ Y01319_1-4.his Y01319_5-8.his
chain bpipimbJ -P /afs/rl.ac.uk/atlas/data/level2/ctrighis/011303p314/Bpipimb/
cd //bpipimbJ/t2gl
nt/plot 1202.nKin nKin<100
Extending the lenght of the character strings would just push the limit
but not solve the problem. To highlight the fact that a problem may occur,
a warning is now printed when the file names are too long.
A workaround is to create short symbolic links (UNIX) to the long directory
path common to all files.
- On LINUX platforms only .
Due to several bugs (some linked to Motif) the Paw++ fitting panel
didn't work on LINUX.
- The parameters used to describe colour and filling of the
FUN/PLOT appearance change if it was a first plot or a
superposition. The following macro shows the problem:
set HCOL 2
f/plot x 0 10
set FCOL 5
f/plot 10-x 0 10 S
A workaround is to use HCOL for the
first plot and
FCOL for the superposition.
- The command MASK/FILE
didn't work with mask names containing a full path name like:
MASK/FILE /a/b/c/m Ni
- The error message in case of old MASK format was wrong.
- If one used a 8-digit histogram identifier [hid1] and
used
h/op/div [hid1] [hid2] [hid3]
the result [hid3] was created but [hid1] was deleted
afterwards. The following macro demonstrates the problem.
If one uses a 7-digit
number for [hid1] instead of the 8 digits it
works properly.
h/del *
v/del *
hid1=16221810
hid2=4211888
hid3=16221820
zone 1 3
v/cre data(36) r 9*0.0 37.6516 22.0652 30.6946 26.6565 18.05 22*0.0
v/cre err(36) r 9*0.0 7.02594 5.42831 6.11107 6.00046 5.18477 22*0.0
v/cre one(36) r 36*1.0
v/cre eone(36) r 36*0.01
1d [hid1] momentum 36 0 1.8
1d [hid2] one 36 0 1.8
h/plo [hid1]
put_vec/cont [hid1] data
put_vec/err [hid1] err
put_vec/cont [hid2] one
put_vec/err [hid2] eone
h/plo [hid1]
h/li
mess **** divide histos ********
h/op/div [hid1] [hid2] [hid3] 1.0 1.0 e
h/li
mess **** plot histo *******
h/plo [hid1]
This bug fix had a side effect (now fixed) which prevented the following
macro to work as in the past:
h/file 45 behist_test.rz
h/copy 11 991
h/copy 12 992
opera/add 991 992 993
h/plot 991
The histogram 991 was not seen.
- Negative fonts identifiers were not properlly treated in the
Paw++ fonts panel.
- The Paw++ fitting panel works on LINUX.
- Call GDELS via cfortran.h to make it work on NT.
HBOOK
Bugs fixed
-
To be "Y2K" compliant routine HUWFUN has been changed
to use the new version of DATIME. The calling sequence used was
CALL DATIME(ID,IT). This is the one used is the manual. ID
and IT are not used because after the call to DATIME, the
time and date are taken in a common block. Unfortunately, the variable name
ID was used in the common block HCFLAG. So this variable
was corrupted by the call to DATIME and the ntuple identifier in the
routine generated by HUWFUN was wrong.
-
In some case the RMS calculation of 1d histograms was wrong, on
SGI, HPUX, DEC/OSF and Solaris.
1dh 1 'Peak HFILL' 50 0. 5.
idopt 1 STAT
appl comis quit
subroutine fillpeak
do i=1,3000
call hfill(1,4.35022,0.,1.)
enddo
end
quit
call fillpeak
h/pl 1
With this macro the RMS should be around 10E-6. On SGI, HPUX, DEC/OSF and
Solaris it gaves 10E-3.
HIGZ
Improvements
-
newpath has been added at the beginning of the PS and EPS file to close
some graphics path which may have been left opened by the application in
which the HIGZ PS or EPS file is included.
Bugs fixed
- With an external window as parent, the position of the window created by
ixopnwi was not correct if the external window was itself
attached to a parent window at a relative position different from
(0,0).
- In Pie Chart drawing the labels were truncated after 12 characters.
HPLOT
Improvements
-
New option 'A' in HPLFR3 to draw the axis only.
Bugs fixed
-
Sometimes on SGI machines, empty bins become big spikes
when opt LOGY is set. The optimisation level of the HPLOT
routine HPLH was too high. The following macro demonstrate the problem:
macro bummer
*
* Vectors trash1 and trash2 differ only in that -
* trash1 has 0.0 in bin 1 and something non-zero in bin 2
* but trash2 has something non-zero in bin 1 and 0.0 in bin 2
*
vec/del *
h/del *
vec/create trash1(30) r 0.0 2.0 3.0 0.0 5.0 0.0 7.0 0.0 9.0 0.0 _
11.0 0.0 13.0 0.0 15.0 0.0 17.0 0.0 19.0 0.0 _
21.0 0.0 23.0 0.0 25.0 0.0 0.0 0.0 0.0 0.0
*
vec/create trash2(30) r 1.0 0.0 3.0 0.0 5.0 0.0 7.0 0.0 9.0 0.0 _
11.0 0.0 13.0 0.0 15.0 0.0 17.0 0.0 19.0 0.0 _
21.0 0.0 23.0 0.0 25.0 0.0 0.0 0.0 0.0 0.0
zone 1 2
*
h/create/1d 98 'trash1' 30 0.0 30.0
h/put/cont 98 trash1
opt liny
h/plot 98
opt logy
h/plot 98
wait ! 0.0
*
h/create/1d 99 'trash2' 30 0.0 30.0
h/put/cont 99 trash2
opt liny
h/plot 99
opt logy
h/plot 99
*
return
- The axis titles after a 3DNULL where missplaced.
PAW > 3DNULL
PAW > ATITLE AAA BBB CCC
- There was some rounding problems on IEEE machines.The following
commands are enough to demonstrate the problem:
PAW > LABEL 2 5 a b c d e
PAW > SET NDVX 10.20
PAW > NULL 0 1
On RS6000, Linux and Windows the labels are not visible.
On these machine 10.20 becomes 10.1999999 and the label list used is 1
instead of 2. To fix that 0.001 is now added to the number of divisions.
KUIP
Improvements
-
The commands VECTOR/READ and VECTOR/WRITE
could not handle file names longer than 80 characters. This limit has been
extended to 160 characters.
-
The system function $FEXIST did not work on file names
containing ~. Even on an existing file, it returned 0:
PAW > message fexist('~/aaa')
0
- In some KUIP include files,
C++ keywords "template" and "delete" were used for variables names
in C prototypes. This prevent to use this include files with the
GNU C++ compiler g++.
- Modifications to suppress a warning at compile time on Solaris 2.7.
Bugs fixed
-
On LINUX: Mods to allow the closing of KUIP Motif panels. Closing
KUIP panels crashed previously on LINUX.
The following macro demonstrate the problem:
panel 0
panel 1.01 'hello'
panel 0 d 'first' 120x100+0+0
panel 0 c 'first'
COMIS
Bugs fixed
-
On NT the following macro did not work:
MACRO rl.kumac
APPLICATION COMIS QUIT
SUBROUTINE readhead
CHARACTER*80 TEXT
IFILE=15
OPEN(IFILE,FILE='aes0212a.lsb',STATUS='OLD',ERR=820)
READ(IFILE,789,ERR=822,END=821)TEXT
CLOSE(IFILE)
print*,TEXT
STOP
789 FORMAT(80A)
820 WRITE(*,*)' # ERROR OPENING FILE'
STOP
821 WRITE(*,*)' # END OF FILE DETECTED'
CLOSE(IFILE)
STOP
822 WRITE(*,*)' # ERROR READING FILE'
CLOSE(IFILE)
STOP
END
QUIT
CALL readhead
RETURN
The A format was not handled correctly.
- The SGI systems has a minor inconsistency
in dynamic loading.
Both f77 and cc
default options had -n32 but ld didn't.
As a result, attempts to build a
shared library file from a COMIS function failed.
-
On
SunOS platforms older than
SunOS 5.7
dynamic linking inside PAW didn't work properly. When one try to change
a COMIS program and relink, PAW didn't pick up the new version
of the code. If one changes the main COMIS routine, the new version
is used. However, if one changed a function called by the main COMIS
routine, the new version was not used.
-
In a DO loop, we expect a type conversion of the index limits
in integer if it is real. Eg. consider the following program compiled with a
GNU-Fortran:
r=3.5
do i = 1, r
print *, i
enddo
end
The output of this is:
1
2
3
But when this is done in a function handled by the COMIS interpreter
there was much more than three lines of output.
Paw.Support@cern.ch