/VECTOR |
---|
Vector Processor commands. Vectors are equivalent to FORTRAN 77 arrays and
they use the same notation except when omitting indexes (see last line
below). Up to 3 dimensions are supported. Examples:
may be addressed by:
may be addressed by:
The latest line shows the special (and non-standard with FORTRAN 77) notation such that missing indexes are substituted to the right.
An 'invisible' vector called '?', mono-dimensional and of length 100, is always present. Is is used for communicating between user arrays and KUIP vectors, being equivalenced with the real array VECTOR(100) in the labeled common block /KCWORK/.
/VECTOR/CREATE vname [ type values ] |
---|
VNAME | C | Vector name(length) |
TYPE | C | Vector type D='R' |
VALUES | C | Value list D=' ' Separate Vararg |
TYPE:
'R' | |
'I' |
Create a vector named VNAME (elements are set to zero). The dimensions are
taken from the name, for example VEC(20), VEC(3,100), VEC(2,2,10). Up to 3
dimensions are supported. Dimensions which are not specified are taken to
1, for example VEC(10) ---> VEC(10,1,1) and VEC ---> VEC(1,1,1).
The vector may be of type Real or Integer. A vector is filled at the same
time if parameters are given after the TYPE:
In the last example only the first three elements are filled. Vector elements may be changed later with the command VECTOR/INPUT.
If many equal values have to be entered consecutively, one can specify just
one value and precede it by a repetition factor and an asterisk. Example:
Enter HELP VECTOR for more information on vector addressing.
/VECTOR/LIST |
---|
List all vectors (name, dimensions, type).
/VECTOR/DELETE vlist |
---|
VLIST | C | Vector list D=' ' Loop |
Delete from memory all vectors in the list VLIST. The vectors are
separated in the list by a comma and embedded blanks are not allowed. An
asterisk at the end of VLIST acts as wild-card:
/VECTOR/COPY vnam1 vnam2 |
---|
VNAM1 | C | Source vector name |
VNAM2 | C | Destination vector name |
Copy a vector into another one. Mixed vector type copy is supported (e.g. Integer ---> Real and viceversa). If VNAM2 does not exist it is created with the required dimensions, not necessarily the same as the source vector if a sub-range was specified. For example, if A is a 3 x 100 vector and B does not exist, COPY A(2,11:60) B will create B as a 50 elements mono-dimensional vector; a special (and non-standard with FORTRAN 77) notation is used such that, still using the above vectors, COPY A(2,1:100) B and COPY A(2) B have the same effect.
Note that VECTOR/COPY does not allow a range for the destination vector not
specifying consecutive elements (i.e. along the first dimension):
Enter HELP VECTOR for more information on vector addressing.
/VECTOR/INPUT vname [ values ] |
---|
VNAME | C | Vector name |
VALUES | C | Value list D=' ' Separate Vararg |
Enter values into a vector from the terminal. Example:
If many equal values have to be entered consecutively, one can specify just
one value and precede it by a repetition factor and an asterisk. Example:
Enter HELP VECTOR for more information on vector addressing.
/VECTOR/PRINT vname [ dense ] |
---|
VNAME | C | Vector name |
DENSE | I | Output density D=1 R=0,1,2 |
Write to the terminal the content of a vector. Enter HELP VECTOR for more information on vector addressing.
If DENSE.EQ.0 the output is one vector element per line. If DENSE.EQ.1 the output for a sequence of identical vector elements is compressed to two lines stating the start and end indices. If DENSE.EQ.2 the output for a sequence of identical vector elements is compressed to a single line.
/VECTOR/READ vlist fname [ format opt match ] |
---|
VLIST | C | Vector list |
FNAME | C | File name D=' ' |
FORMAT | C | Format D=' ' |
OPT | C | Options D='OC' |
MATCH | C | Matching pattern D=' ' |
OPT:
'OC' | |
'O' | |
'' '' | |
'C' |
Enter values into vector(s) from a file. A format can be specified, e.g. FORMAT='F10.5,2X,F10.5', or the free format is used if FORMAT is not supplied.
If vector(s) are not existing they will be created of the size as read from the file.
Vectors in the list VLIST (maximum 30) are separated by a comma and embedded blanks are not allowed. If subscripts are present in vector names, the smallest one is taken.
OPT is used to select between the following options:
If the character 'Z' is present in OPT, the vector elements equal to zero after reading are set to the latest non-zero element value (for example reading 1 2 3 0 0 4 0 5 will give 1 2 3 3 3 4 4 5).
MATCH is used to specify a pattern string, restricting the vector filling
only to the records in the file which verify the pattern. Example of
patterns:
Enter HELP VECTOR for more information on vector addressing.
/VECTOR/WRITE vlist [ fname format chopt ] |
---|
VLIST | C | Vector list |
FNAME | C | File name D=' ' |
FORMAT | C | Format D='(1X,G13.7)' |
CHOPT | C | Options D='OC' |
CHOPT:
'OC' | |
'O' | |
'' '' | |
'C' |
Write to a file the content of vector(s). If FNAME=' ' the content is written to the terminal. A format can be specified, e.g. FORMAT='F10.5,2X,F10.5', or the default one is used if FORMAT is not supplied.
Vectors in the list VLIST (maximum 30) are separated by a comma and embedded blanks are not allowed. If subscripts are present in vector names, the smallest one is taken.
CHOPT is used to select between the following options:
Enter HELP VECTOR for more information on vector addressing.
/VECTOR/DRAW vname [ id chopt ] |
---|
VNAME | C | Vector name |
ID | C | Histogram Identifier D='12345' |
CHOPT | C | Options D=' ' |
CHOPT:
'' '' | Draw an histogram. |
'C' | Draw a smooth curve. |
'S' | Superimpose plot on top of existing picture. |
'+' | 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. |
'*' | Draw a * at each channel. |
Draw vector VNAME (real) interpreting it as a histogram. Optionally save the contents in histogram ID.
/VECTOR/HFILL vname id |
---|
VNAME | C | Vector name |
ID | C | Histogram Identifier |
Fill the existing histogram ID with vector VNAME (real) . Note that the command VECTOR/PLOT can automatically book, fill and plot the contents of a vector.
/VECTOR/PLOT vname [ id chopt ] |
---|
VNAME | C | Vector name |
ID | C | Histogram Identifier D='12345' |
CHOPT | C | Options D=' ' |
CHOPT:
'' '' | Draw an histogram. |
'C' | Draw a smooth curve. |
'S' | Superimpose plot on top of existing picture. |
'+' | 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. |
'*' | Draw a * at each channel. |
Each element of VNAME (real) is used to fill an histogram which is automatically booked with 100 channels and then plotted. If VNAME has the form VNAME1%VNAME2 then a scatter-plot of vector VNAME1 versus VNAME2 is plotted. If ID is given different of 12345, then a 2-Dim histogram is created with 40 bins by 40 bins and filled. One can use the command VECTOR/HFILL to fill an already existing histogram. When option 'S' is used, the limits of the current plot are used to create the 1D histogram.
/VECTOR/FIT x y ey func [ chopt np par step pmin pmax errpar ] |
---|
X | C | Vector of X coordinates |
Y | C | Vector of Y coordinates |
EY | C | Vector of errors on Y D='?' |
FUNC | C | Function name |
CHOPT | C | Character options D=' ' |
NP | I | Number of parameters D=0 R=0:20 |
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 |
CHOPT:
'' '' | Do the fit, plot the result and print the parameters. |
'0' | Do not plot the result of the fit. By default the fitted function is drawn unless the option 'N' below is specified. |
'S' | Superimpose plot on top of existing picture. |
'N' | Do not store the result of the fit bin by bin with the histogram. By default the function is calculated at the middle of each bin and the fit results stored with the histogram data structure. |
'Q' | Quiet mode. No print |
'V' | Verbose mode. Results after each iteration are printed By default only final results are printed. |
'B' | Some or all parameters are bounded. The vectors STEP,PMIN,PMAX must be specified. Default is: All parameters vary freely. |
'L' | Use Log Likelihood. Default is chisquare method. |
'D' | The user is assumed to compute derivatives analytically using the routine HDERIV. By default, derivatives are computed numerically. |
'W' | Sets weights equal to 1. Default weights taken from the square root of the contents or from HPAKE/HBARX (PUT/ERRORS). |
'M' | The interactive Minuit is invoked. |
'E' | Performs a better Error evaluation (MIGRAD + HESSE + MINOS). |
'Z' | FUNC is the user fitting model |
Fit a user defined function to the points defined by the two vectors X and Y and the vector of associated errors EY. See command HISTOGRAM/FIT for explanation of parameters. Note that if option 'W' is specified or EY='?' (default), the array EY is ignored. Option 'L' is not available.
When option 'Z' is given, FUNC is the user fitting model. FUNC is a
subroutine with the calling sequence:
where
The user must declare the
in FUNC
Some plotting options available in the command HISTOGRAM/PLOT can be also used.