/HISTOGRAM
Manipulation of histograms, Ntuples. Interface to the HBOOK package.
- LUN
I ' Logical unit number ' R=0:128
- FNAME
C ' File name '
- LRECL
I ' Record length in words ' D=1024
- CHOPT
C ' Options ' D=' '
CHOPT:
- '' ''
-
Existing file is opened (read mode only).
- 'N'
-
A new file is opened.
- 'U'
-
Existing file is opened to be modified.
- 'D'
-
Reset lock.
Open an HBOOK direct access file. If LUN is 0 the next free logical unit
will be used. If LRECL is 0 the system will determine the correct record
length of an existing file.
- CHOPT
C ' Options ' D=' '
CHOPT:
- '' ''
-
List histograms and Ntuples in the current directory.
- 'I'
-
A verbose format is used (HINDEX), (only for //PAWC).
- 'S'
-
List with histograms sorted by increasing IDs.
List histograms and Ntuples in the current directory.
- ID
C ' Histogram Identifier ' Loop
Delete histogram/Ntuple ID in Current Directory (memory). If ID=0 delete
all histograms and Ntuples. To delete histograms in disk files use command
HIO/HSCRATCH.
- ID
C ' Histogram Identifier ' Loop Minus
- CHOPT
C ' Options ' D=' ' Minus
CHOPT:
- '' ''
-
Draw the histogram.
- 'C'
-
Draw a smooth curve.
- 'S'
-
Superimpose plot on top of existing picture.
- '+'
-
Add contents of ID to last plotted histogram. Use option K with previous
histogram if you have several zones.
- '-'
-
Substract contents of ID to last plotted histogram. Use option K with previous
histogram if you have several zones.
- '+-'
-
Draw the delta with the last plotted histogram. Use option K with previous
histogram if you have several zones.
- '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' or '+' is given later.
- 'U'
-
Update channels modified since last call.
- 'E'
-
Draw error bars and current marker.
- 'E0'
-
Draw error bars without symbols clipping.
- 'E1'
-
Draw small lines at the end of the error bars.
- 'E2'
-
Draw error rectangles.
- 'E3'
-
Draw a filled area through the end points of the vertical error bars.
- 'E4'
-
Draw a smoothed filled area through the end points of the vertical error bars.
- 'A'
-
Axis labels and tick marks are not drawn.
- 'BOX'
-
Draw 2-Dim with proportional boxes.
- 'COL'
-
Draw 2-Dim with a color table.
- 'Z'
-
Used with COL or SURF, it draws the color map.
- 'SURF'
-
Draw as a surface plot (angles are set via the command angle).
- 'SURF1'
-
Draw as a surface with color levels
- 'SURF2'
-
Same as SURF1 but without cell lines.
- 'SURF3'
-
Same as SURF but with the contour plot (in color) on top.
- 'SURF4'
-
Draw as a surface with Gouraud shading.
- 'LEGO'
-
Draw as a lego plot (angles are set via the command angle).
- 'LEGO1'
-
Draw lego plot with light simulation.
- 'LEGO2'
-
Draw lego plot with color levels.
- 'BB'
-
Suppress the Back Box on 3D plots.
- 'FB'
-
Suppress the Front Box on 3D plots.
- '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 (no errors or associated function).
- 'FUNC'
-
Draw only the associated function (not the histogram).
- 'CYL'
-
Cylindrical coordinates for 3D plots.
- 'POL'
-
Polar coordinates for 3D plots.
- 'SPH'
-
Spherical coordinates for 3D plots.
- 'PSD'
-
Pseudo-rapidity/phi coordinates for 3D plots.
Plot a single histogram or a 2-Dim projection. If ID=0 or ID=* all the
histograms in the current directory are plotted. Each plotted histogram
will start either a new picture or a new zone in the current picture.
Histogram subranges can be specified in 2 different ways:
1- h/pl id(ic1:ic2) with ic1 and ic2 integers means plot
from channel ic1 to channel ic2
2- h/pl id(x1:x2) with x1 and x2 reals (with a .) means plot
from channel corresponding to x1
Note that the mixed mode h/pl id(x1:ic2) is also accepted
This subrange works also for 2-DIM cases.
Ex: Histo/plot 10(25:1.) or Histo/plot 20(4:18,0.:0.5).
A specific histogram cycle can be accessed:
PAW > h/pl id;nc | cycle number nc is used (default is highest cycle)
1 Dim histograms could be plotted with option LEGO or SURF. In this case
the angles are THETA=1 and PHI=-1.
When option 'E' is used, the marker type can be changed with SET MTYP, the
marker size with SET KSIZ, the marker color with SET PMCI.
With Option E1, the size of the tick marks at the end of the error bars is
equal to the marker size and can be changed with SET KSIZ.
When the option E is used with the option SURF1, SURF2, SURF3 or LEGO1, the
colors are mapped on the errors not on the content of the histogram.
To plot projection X of ID type
PAW > HI/PLOT ID.PROX
To plot band 1 in Y of ID type
PAW > HI/PLOT ID.BANY.1
To plot slice 3 in Y of ID type
PAW > HI/PLOT ID.SLIY.3
In addition to the Cartesian coordinate systems, Polar, cylindrical,
spherical, pseudo-rapidity/phi coordinates are available for LEGO and
SURFACE plots, including stacked lego plots. For example:
PAW > Histo/plot 10+20+30 LEGO1,CYL | stacked cylindrical lego plot
PAW > Histo/plot 10+20+30 LEGO1,POL | polar
PAW > Histo/plot 10+20+30 LEGO1,SPH | spherical
PAW > Histo/plot 10+20+30 LEGO1,PSD | pseudo-rapidity/phi
Note that the viewing angles may be changed via the command ANGLES. The
axis, the front box, and the back box can be suppressed on 3D plots with
the options 'A', 'FB' and 'BB'.
- ID
C ' Histogram Identifier ' Loop Minus
- CHOPT
C ' Options ' D=' '
- ICMIN
I ' First channel ' D=1
- ICMAX
I ' Last channel ' D=9999
CHOPT:
- '' ''
-
Plot the zoomed 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.
Plot a single histogram between channels ICMIN and ICMAX. Each plotted
histogram will start either a new picture or a new zone in the current
picture. If no parameters are given to the command, then the system waits
for two points using the graphics cursor. To quit ZOOM, click the right
button of the mouse or CRTL/E.
- IDLIST
C ' List of histogram Identifiers ' Vararg
Plot one or several histograms into the same plot. Plotted histograms are
superimposed on the same zone of the picture.
- ID
C ' Histogram Identifier ' Loop
Fill all booked projections of a 2-Dim histogram. Filling is done using
the 2-D contents of ID.
- ID1
C ' First histogram Identifier '
- ID2
C ' Second histogram Identifier ' Loop
- TITLE
C ' New title ' D=' '
Copy a histogram onto another one. Bin definition, contents, errors, etc.
are preserved. If TITLE is not given, ID2 has the same title as ID1.
It is possible to copy a projection of a 2D histogram into a 1D histogram.
Ranges can be specify in the first histogram identifier to reduce or
enlarge the X or Y scale.
Example:
Fun2 2 x*y 40 0 1 40 0 1 ' ' | Create a 2D histogram
Slix 2 10 ; H/proj 2 | Slices on X
H/Copy 2.slix.3 3 | Copy the slice 3
H/Copy 2(0.:.5,-1.:2.) 4 | Copy with new X and Y scales
- ID
C ' Histogram Identifier '
- FUNC
C ' Function name ' D=' '
- CHOPT
C ' Options ' D=' '
- 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 '
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.
- '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). If the L option is given (Log
Likelihood), bins with errors=0 are excluded of the fit.
- 'M'
-
The interactive Minuit is invoked. (see Application HMINUIT below).
- 'E'
-
Performs a better Error evaluation (MIGRAD + HESSE + MINOS).
- 'U'
-
User function value is taken from /HCFITD/FITPAD(24),FITFUN. Allows to do
fitting in DOUBLE PRECISION.
- 'K'
-
Keep the settings of Application HMINUIT for a subsequent command.
Fit a user defined (and parameter dependent) function to a histogram ID
(1-Dim or 2-Dim) in the specified range. FUNC may be:
A- The name of a file which contains the user defined
function to be minimized. Function name and file name
must be the same. For example file 'func.f' 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
To do fitting in DOUBLE PRESICION option U should be used. In that case,
the file 'func.f' should look like:
FUNCTION FUNC(X) or FUNC(X,Y) for a 2-Dim histogram
DOUBLE PRECISION FITPAD(24),FITFUN
COMMON/HCFITD/FITPAD,FITFUN
FITFUN=FITPAD(1)*X +FITPAD(2)*EXP(-X)
FUNC=FITFUN
END
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
Ex: His/fit 10 g
C- A combination of the keywords in B with the 2 operators + or *.
Ex: His/Fit 10 p4+g ! 8 par
His/Fit 10 p2*g+g ! 9 par
Note that in this case, the order of parameters in PAR must
correspond to the order of the basic functions.
For example, in the first case above, par(1:5) apply to
the polynomial of degree 4 and par(6:8) to the gaussian while
in the second case par(1:3) apply to the polynomial of degree 2,
par(4:6) to the first gaussian and par(7:9) to the second gaussian.
Blanks are not allowed in the expression.
For cases A and C, before the execution of this command, the vector PAR
must be filled (via Vector/Input) with the initial values. For case B, if
NP is set to 0, then the initial values of PAR will be calculated
automatically. After the fit, the vector PAR contains the new values of
parameters. If the vector ERRPAR is given, it will contain the errors on
the fitted parameters. A bin range may be specified with ID.
Ex. Histo/Fit 10(25:56).
When the Histo/it command is used in a macro, it might be convenient to
specify MINUIT directives in the macro itself via the Application HMINUIT
as described in this example:
Macro fit
Application HMINUIT exit
name 1 par_name1
name 2 par_name2
migrad
improve
exit
Histo/fit id fitfun.f M
Return