October 10, 1989

PAW version 1.07/01

 
  1-    PAW improvements
        ================
 
  **  Plotting metafiles on 3812 laser printers
 
       With the new version of XPRINT recently introduced, it is now
  possible to plot PostScript metafiles directly from PAW on a 3812 printer.
  Two possibilities are indicated below.
 
  METHOD 1: Plotting one single picture (the picture on your screen)
  ==================================================================
 
  In your PAWLOGON KUMAC file add the two statements
      option ZFL1
      Alias/create xplot 'EXEC POST'
 
  where POST KUMAC is a macro (see example on the PAW disk)
   (replace your user name and favourite printer name)
 
      macro POST 1=-111
      Fortran/file 66 PAW.PS
      Metafile -66 [1]
      Picture/plot ' '
      Close 66
      SHELL CP SMSG PRINTSRV XPRINT [BRUN.191]PAW.PS (PR DD513A
      return
 
  Your PAW session could be:
 
   PAW > Histo/file 1 myfile.dat
   PAW > Histo/plot 10            | a copy of the picture on the screen
   PAW > xplot                    | kept in memory (option ZFL1) is plotted
   PAW > Histo/plot 20
   PAW > Histo/plot 30 S
   PAW > xplot                    | plot the second picture
   PAW > size 24 20
   PAW > Histo/plot 100
   PAW > xplot -112               | plot 3rd picture in landscape mode
 
    The parameter which may be given when calling the macro is the
    metafile type:
 
         -111  HIGZ/PostScript portrait mode
         -112  HIGZ/PostScript landscape mode
         12201 GKS/PostScript portrait mode
 
 
 
  METHOD 2: Plotting a metafile with several pictures
  ===================================================
 
  In your PAWLOGON KUMAC file add the statement
 
      Alias/create xmeta 'SHELL CP SMSG PRINTSRV XPRINT [BRUN.191]PAW.PS (PR DD513A'
 
  Your PAW session could be:
 
   PAW > Histo/file 1 myfile.dat
   PAW > Fortran/file 45 PAW.PS   | open file PAW.PS
   PAW > Metafile 45 -111         | open HIGZ/PostScript metafile
   PAW > Histo/plot 10            | plot on screen and metafile
   PAW > Histo/plot 20            |  "   "
   PAW > Histo/plot 30 S
   PAW > Close 45                 | close metafile (next output on screen only)
   PAW > xmeta                    | plot the metafile
 
 
     We strongly recommend to use the HIGZ/PostScript metafiles (-111 or -112).
  These metafiles are independent of the basic graphics package used (they
  work with DECGKS for example). A rich set of PostScript fonts is available
  and text is correctly centred.
 
     It should be noted that in both cases, a message is sent to a service
  machine to plot the file PAW PS and one may have to wait a few seconds
  before overwriting PAW PS again.
 
 
 
** Note about directories and changing directory.
 
     One must pay attention to the fact that newly created histograms
     go to memory in the //PAWC directory (i.e. the /PAWC/ common).
     As an example suppose that the current directory is //LUN1,
     and an operation is performed on two histograms. These histograms are
     first copied to memory //PAWC, the operation is performed
     and the result is only available in //PAWC.
 
     Similarly when histograms or Ntuples are plotted
     (e.g. by the HISTO/PLOT command), they are copied to memory
     possibly replacing an old copy of the same ID.
     As long as the copy in memory is not changed, each time the ID is read
     from the external file. This is because in a real time
     environment, e.g. using global sections on VMS or
     modules with OS9, the data base on the external medium can be
     changed by concurrent processes.
     However if the HBOOK data structure, associated with the
     histogram or Ntuple in memory is altered (e.g. by a MAX, IDOPT, FIT command),
     then it becomes the default for subsequent operations.
     If one wants the original copy one first must delete the
     copy from memory or explicitly use the pathname for the external file.
 
     PAW > Histo/file 1 his.dat  | The file contains ID=10
     PAW > Histo/Plot 10         | ID=10 read from file and plotted
     PAW > H/plot 10             | ID=10 read again from file and plotted
     PAW > H/fit 10 ! G          | read from file, make a Gaussian fit on //PAWC/10
     PAW > H/plot 10             | ID=10 read from memory since it changed
     PAW > H/del 10              | delete the histogram from memory
     PAW > H/plot 10             | ID=10 read again from file and plotted
 
 
 ** The command Histo/plot accepts additional parameters.
 
  * /HISTOGRAM/PLOT  [ ID CHOPT ]
 
    ID         C 'Histogram Identifier'
    CHOPT      C 'Options' D=' ' R=' ,S,C,+,B,L,P,*,K,U,E,A,BOX,COL,SURF,
                   LEGO,CONT,TEXT,CHAR,HIST,FUNC'
 
    Plot a single histogram or a 2-Dim projection.
    Each plotted histogram will start
    either a new picture or a new zone in the current picture.
    A channel range may be specified for 1-Dim and 2-Dim histograms.
 
         PAW > HIST/PLOT 10(nch1:nch2)   | plot only channels between channels
                                         | number 'nch1' and 'nch2'
                                         | for a 1Dim histogram.
 
         PAW > HIST/PLOT 10(nch1x:nch2x,nch1y:nch2y)
 
    The subrange facility may also be used in other PAW commands such as:
      LEGO, SURFACE, CONTOUR, Histo/Fit
 
    CHOPT may be EITHER a combination of the following characters:
 
     'S' Superimpose plot on top of existing picture.
 
     'C' Draw a smooth curve.
     '+' Add contents of ID to last plotted histogram.
     'B' Select Bar chart format.
     'L' Connect channels contents by a line.
     'P' Draw the current polymarker at each channel or cell.
     '*' Draw a * at each channel.
     'K' must be given if option 'U' is given later.
     'U' Update channels modified since last call.
     'E' Draw error bars and current marker.
     'A' Axis labels and tick marks are not drawn.
 
      OR:
 
 
     'BOX'  draw 2-Dim with proportional boxes.
     'COL'  draw 2-Dim with a color table.
     'SURF' draw 2-Dim as a surface plot (angles are 30,30).
     'LEGO' draw 2-Dim as a lego plot (angles are 30,30).
     'CONT' draw 2-Dim as a contour plot (15 levels).
     'TEXT' draw 2-Dim as a table.
     'CHAR' draw 2-Dim with characters (a la HBOOK).
 
     'HIST' draw only histogram (not the associated function or errors).
     'FUNC' draw only the associated function (not the histogram).
 
       Note: All the single-character options can be combined.
             All the multiple-characters new options (LEGO, BOX, ...,HIST, FUNC)
             are mutually exclusive, but they can be combined
             with (and only with) the option  'S' (SAME):
 
         PAW > HIST/PLOT 20 CONT    | PLot the 2Dim histo 20 as a CONTOUR PLOT
         PAW > HIST/PLOT 20 SBOX    | PLot histo 20 with BOX option on the same picture
 
    When option 'E' is used, the marker type can be changed with SMK,
    the marker size with SET KSIZ, the marker color with SPMCI.
    To plot projection X of ID type
 
       HI/PLOT ID.PROX
 
    To plot band 1 in Y of ID type
 
       HI/PLOT ID.BANY.1
 
    To plot slice 3 in Y of ID type
 
       HI/PLOT ID.SLIY.3
 
 
 
 ** New commands Histo/Fit and Vector/Fit
 
  * /HISTOGRAM/FIT  ID FUNC [ CHOPT NP PAR STEP PMIN PMAX ERRPAR ]
 
    ID         C 'Histogram Identifier'
    FUNC       C 'Function name' D=' '
    CHOPT      C 'Options' D=' ' R=' ,0,N,Q,V,B,L,D,W,M'
    NP         I 'Number of parameters' D=0 R=0:34
    PAR        C 'Vector of parameters'
    STEP       C 'Vector of steps size'
    PMIN       C 'Vector of lower bounds'
    PMAX       C 'Vector of upper bounds'
    ERRPAR     C 'Vector of errors on parameters'
 
    Fit a user defined (and parameter dependent) function
    to a histogram ID (1-Dim or 2-Dim) in the specified range.
    Note that, unless otherwise requested (option 'N'), the fit results
    are stored with the histogram data structure, and therefore the histogram
    is considered changed.
 
    FUNC may be:
 
     A- The name of a file which contains the user defined
        function to be minimised. Function name and file name
        must be the same. For example file FUNC.FOR is:
          FUNCTION FUNC(X)   or FUNC(X,Y) for a 2-Dim histogram
          COMMON/PAWPAR/PAR(2)
          FUNC=PAR(1)*X +PAR(2)*EXP(-X)
          END
         Ex: His/fit 10 func.for ! 5 par
 
     B- One of the following keywords (1-Dim only):
        G : to fit Func=par(1)*exp(-0.5*((x-par(2))/par(3))**2)
        E : to fit Func=exp(par(1)+par(2)*x)
        Pn: to fit Func=par(1)+par(2)*x+par(3)*x**2......+par(n+1)*x**n
            where 0   V/CR AA(10)
     BB                     =>   V/CR BB(10)
     V/LIST                 =>   V/LIST
 
     COMMAND 'VECTOR/PLOT $1 555 $2'
     AA E                   =>   VECTOR/PLOT AA 555 E
     BB                     =>   VECTOR/PLOT BB 555    | $2 is undefined, and
                                                       | therefore ignored.
     COMMAND                =>   shows its current value
     COMMAND *              =>   reset (equivalent to COMMAND $*)
 
    Note that COMMAND and subsequent command lines can be used inside macros,
    except when producing macro statements (like EXEC, IF, GOTO, etc.).
    For example, the above examples would work also inside macros, while
    COMMAND 'EXEC $*' or COMMAND 'GOTO $1' will not.
 
    The same remark applies also to the command DEFAULT -Auto,
    which is in fact equivalent to COMMAND 'EXEC $*'
 
    The COMMAND logic is superseded by the DEFAULT -A (or -AR) logic.
 
 
 
 **  New functionality for command MACRO/DEFAULTS:
 
 
  * /MACRO/DEFAULTS  [ CHPATH ]
 
    CHPATH     C 'Path name for macro files' D=' '
 
    Set or show various MACRO attributes.
 
    Entered without parameters, it shows the current "extra path"
    to the 'default working directory',
    as well as all macro parameters (name, default value)
    relative to the latest EXEC command entered.
 
    If CHPATH is supplied, set its value representing the "extra path".
    The "extra path" is a string (e.g. the name of a disk directory) which
    is added in front of the macro file names, whenever they are used in
    the commands EDIT, EXEC and MACRO/LIST.
    The extra path is ignored if a dash sign '-' is put in front of
    the file name.
    If CHPATH='*', the extra path is reset and the host computer's
    current working directory is used.
    Example:
 
         DEFAULT 'DISK$DL:[PAW]'
         MACRO/LIST              | list macros in DISK$DL:[PAW]
         EXEC FUNCTION           | executes DISK$DL:[PAW]FUNCTION.KUMAC
         EXEC -MYMACRO           | executes MYMACRO.KUMAC
         EXEC PALETTE            | executes DISK$DL:[PAW]PALETTE.KUMAC
         DEFAULT *
         EXEC PALETTE            | executes PALETTE.KUMAC
 
    In addition to what described above, the command DEFAULTS may be used to
    control whether commands and/or macros are searched (and in which order):
 
         DEFAULT -Command
         CMD                     | CMD is executed (error if not found)
         DEFAULT -Auto
         CMD                     | try CMD first; if not found, try EXEC CMD
         DEFAULT -AutoReverse
         CMD                     | try EXEC CMD first; if not found, try CMD
 
    Note that -Auto can by abbreviated to -A, and -AutoReverse can be
    abbreviated to -AR.
 
    The startup value (also re-set by DEFAULT *) is DEFAULT -C
 
    The DEFAULT -A (or -AR) logic supersedes the COMMAND logic.
 
    Important note:
 
    Inside macros the DEFAULT -A (or -AR) logic is not active:
    DEFAULT -C is always assumed.
 
 
 **  Command APPLication is now working also inside macros. Example:
 
        MACRO DEMO1
        APPLication SIGMA  EXIT
           x=array(10,1#10)
           y=sqrt(x)
        EXIT
        Graph 10 x y
        RETURN
 
        MACRO DEMO2
        APPLication COMIS QUIT
            do 10 i=1,10
               x=sqrt(i)*10.
               print *,i,x
        10  continue
            end
        QUIT
        RETURN
 
 **  Enhancements on the 'history file' mechanism:
 
   The history file is updated automatically every 25 commands (but the rate
   can be changed with the command RECORDING) and at the end of a PAW session,
   either by EXIT or by QUIT.
 
   At the beginning of another PAW session the old history file LAST.KUMAC
   is renamed into LAST.KUMACOLD and a new LAST.KUMAC is opened.
   In this way the user keeps always a track of all the commands entered in
   the previous and in the current PAW sessions.
   The history file also contains  heading and trailing comment lines,
   showing the date and time at which the PAW session was started/stopped.
 
   The command LAST 0 MYFILE may be put in the user's
   PAWLOGON.KUMAC to define the name of the history files
   as MYFILE.KUMAC and MYFILE.KUMACOLD.
   This is useful to avoid the sharing the same LAST.KUMAC file
   by several KUIP-based applications running on the same disk directory.
 
 **  Simple wild-card (* at the end) in VECTOR/DELETE, for example: VEC/DEL RAW*
 
 **  VECTOR/CREATE is now handling the repetition factor '*'
    (Lee Roberts/FERMILAB)
 
 **  Command WAIT is now full working also on IBM/VM-CMS
    (Lee Roberts/FERMILAB)
 
 **  The default mode for HELP is -EDIT  on IBM/VM-CMS
 
 **  On the Apollo files are opened in READ mode if no privilege for READ/WRITE
 
 **  Additional logic prevents the  expansion of "[xxx]" strings
     inside a macro if "xxx" is not used as an identifier. Examples:
 
    MACRO A
      .....
      DIREC=123
      .....
      HISTO/FILE 1 [DIREC]JUNK.DAT  ---> Opens file 123JUNK.DAT
      .....                              because variable DIREC is defined
    RETURN
 
    MACRO B
      .....
      HISTO/FILE 1 [DIREC]JUNK.DAT  ---> Opens file [DIREC]JUNK.DAT
      .....                              because variable DIREC is not defined
    RETURN
 
 
    =====> Some bugs fixed
 
 
 
 
 
  3-    HPLOT/HIGZ improvements
        =======================
     In addition to the new options in the Histo/Plot command
      described above:
 
 
  * The HIGZ picture files have been compressed in case of 2-Dim plots.
    Typical gains between 10 and 50 compared to the GKS metafiles.
 
  * Detail changes in the appearance of contour plots.
 
  * The Z-axis is drawn on LEGO and SURFACE plots.
 
  * Option LOGZ on Z-axis is available in LEGO and SURFACE.
 
  * New fill area styles available (> 100) with the following convention:
    The fill area style index is coded on three digits 'ijk'.
    The new styles are independent of the basic graphics package used.
 
    i  : Distance between lines in the hatch in mm
    j  : Angle between 90 and 180 degrees
    k  : Angle between  0 and  90 degrees
 
    ++-----------------------------------------------------------------------++
    ||        Codes for the HIGZ portable fill area interior styles          ||
    ++-----------+------------++-----------+---------++------------+---------++
    ||  Digit i  |  Distance  ||  Digit j  |  Angle  ||   Digit k  |  Angle  ||
    ++-----------+------------++-----------+---------++------------+---------++
    ||           |            ||     0     | 180 deg ||     0      |   0 deg ||
    ||    1      |   0.75 mm  ||     1     | 170 deg ||     1      |  10 deg ||
    ||    2      |   1.50 mm  ||     2     | 160 deg ||     2      |  20 deg ||
    ||    3      |   2.25 mm  ||     3     | 150 deg ||     3      |  30 deg ||
    ||    4      |   3.00 mm  ||     4     | 135 deg ||     4      |  45 deg ||
    ||    5      |   3.75 mm  ||     5     |not drawn||     5      |not drawn||
    ||    6      |   4.50 mm  ||     6     | 120 deg ||     6      |  60 deg ||
    ||    7      |   5.25 mm  ||     7     | 110 deg ||     7      |  70 deg ||
    ||    8      |   6.00 mm  ||     8     | 100 deg ||     8      |  80 deg ||
    ||    9      |   6.75 mm  ||     9     |  90 deg ||     9      |  90 deg ||
    ++-----------+------------++-----------+---------++------------+---------++
 
    For example:
 
         PAW > SET HTYP 190        | Set the interior of histogram to be hatched
                                   | with lines at 0 and 90 degrees (0.75 mm spacing)
         PAW > SET HTYP 444        | Set the interior of histogram to be hatched
                                   | with lines at +45 and -45 degrees (3 mm spacing)
 
 
 
  4-    HBOOK improvements
        =================
 
     *  Maximum number of variables in a Ntuple changed to 512
 
     *  New improvements in the fitting routines.
 
     *  New fitting routines HFITH and HFITV introduced
        (will be described in the HBOOK manual to come soon)
 
     *  Fit parameters now stored with histogram data structure.
        This means that if the histogram is saved into a file
        the fitted parameters will be accessible to the next
        PAW session.
 
 
 
  5-    COMIS improvements
        ==================
 
      The following improvements have recently being implemented
      in COMIS by Vladimir Berezhnoi (IHEP, Serpukhov).
 
 **  some bugs have been removed
 
 **  The  Symbol _ can be used in names.
 
 **  More correct treatments of tabs for VAX version
 
 **  Lower case characters in  'constant' are not changed to uppercase
 
 **  A nearly complete Fortran77 Input/Output is now available.
 
       1) Formatted sequential input/output
       2) Unformatted sequential input/output
       3) Unformatted direct access input/output
       4) Formatted  direct access input/output
 
       There are restrictions on unformatted i/o list:
          a) read(lun) n,(buf(i),i=1,n) is wrong and not detected.
          b) read(lun) string(2:i)   will cause wrong result
 
       read ([unit=]lun, [fmt=]fmt [ [,err=lab] [,end=lab] [,iostat=iv] )ilist
       write([unit=]lun, [fmt=]fmt [ [,err=lab] [,iostat=iv] )olist
         fmt can be character constant: i.e. '(A)'
         new descriptors are added to format: Tn,TLn,TRn,n(....),On,Zn
        example: format(T2,4(O8,TR4,Z8,TL8,I8),:,I6//)
       Note however that COMIS does not support nP,S,SS,SP,BN,BZ format_descriptors.
 
 **   On IBM file names may be given as:   file.ext or file ext
 
 **   The INQUIRE statement has been added.
         INQUIRE(FILE=file,slist)
       or
         INQUIRE(UNIT=lun,slist)
 
 **   A interface with KUIP vectors has been added.
         A statement:       VECTOR A(25,12,4),B(16),C(*),D
         can be used in COMIS routines to declare KUIP vectors,
         If the KUIP vector does not exist, it is created.
 
 
 
 
  6-    New PAW documentation
        =====================
 
        Our new PAW manual is now finished. It will be available
        at the CERN Library office on October 20.
 

Release NotesKnown bugsFAQsContributionsTutorialReference manualDown loadMiscellaneous

Paw.Support@cern.ch