HIJ Release Notes
This file contains a history of all modifications and developments
within package HIJ.
I use an electronic logbook to keep a very
detailed history of modifications/things learned, which you are free
to look at but you might find it too narrative to be informative.
Description of versioning
HIJ uses CVS tags to track versioning of the official HIJING sources. CVS
tags of the form HIJING_v{Mj}_{Mn}
are associated with the
three files hijing.F, hipyset.F
and
hiluset.F
, where
{Mj}
is the major version number and
{Mn}
is the minor version number.
The version number is the one supplied by XN Wang in the HIJING code.
It is currently hardwired into the Makefiles.
22 June 1995: Uses new EGZ (Matthew Bloomer)
Modifications of package to allow use of new EGZ (release 6/22/95).
New SLM package makefiles are now used throughout. The following
changes are:
- Remove files:
hjntog.F (replaced by hijing_to_geant.F in EGZ)
hijing_zout.F (becomes egzout_hijing.F in EGZ)
- hijevt.F: necessary changes for different EGZ routine names, return
status checking and include file names.
- hij_wrtxt.F: replace HJNTOG with hijing_to_geant (in EGZ).
- bin/Makefile: add geant321 to list of libraries (EGZ calls GOPEN) and
remove *_dummy routines from link.
- hij_test_routines.F: due to conflicting common block definitions of
routines in the same archive file (an xlf problem), size of pawc common
is made to agree with hijevt.F.
- hiluset.F: routine lugive crashing due to erroneous format
statement (only occurs on AIX and when using array bounds checking).
Slight mod of code to format statement.
- ref_spectra: new script hij/exa/ref_spectra which automatically
generates reference spectra using the EGZ binary
spectra
.
This replaces the use of hij_test to generate reference spectra.
NOTE: EGZ files generated with earlier versions of hijevt are no longer
compatible with newer ones. See EGZ release notes (6/22/95) for details.
4 April 1995: Reference spectra added (Matthew Bloomer)
New sources were added to allow test or reference spectra of
HIJING events to be generated and stored as part of the package.
This entailed some small changes to hijevt.F and hjntog.F.
Specifics:
- hij_test: A new executable
hij_test
is now
available in the standard sim/bin/$STAR_ARCH directory. The new
sources that were created are hij_test.F, hij_rdtxt.F, and
hij_test_routines.F which are described under the implementation page. hij_test reads
one text output format file generated by hijevt and generates
reference dN/dy and 1/pt dN/dpt spectra. It can use a fifo for the input
file.
- hij_rdtxt.F: Reads one event from a text format output file into
local arrays. This could be of general interest.
- reference spectra: hij/exa/hij_test is a script to run hijevt
and hij_test in fifo mode and generate an RZ file of HBOOK spectra in
hij/exa/$STAR_ARCH/hij_test.hbook. This RZ file is also managed by
CVS as part of version management. The generation of such spectra for
each new version of HIJING or associated code is anticipated.
- hijevt.F: now opens the text output file with status="UNKNOWN", to
allow writing to a fifo file.
- hjntog.F: extended the particle id codes that get mapped into
a GEANT id code. This meant allocating some GEANT ids not used
or recognized by the current mcg package.
27 March 1995: HIJING version 1.4 (Matthew Bloomer)
This release marks the debut of package HIJ for the HIJING event
generator. It represents (i) a new library structure for an event
generator, and (ii) a release of a version of
HIJING which will work on AIX and IRIX platforms.
Release of HP-UX and SUN4 binaries is expected to follow shortly,
pending resolution of apparent f77 incompatibility problems I am
encountering on sirius.
This release is also meant to be a much better documented version of
HIJING (let
me know what you think might be missing).
The name of the HIJING standalone executable is now hijevt_v14
.
The differences between this and the evz/hij
version are:
hijevt_v14
now supports both EGZ and GEANT text file
formats. The EGZ format is the unchanged STAR Library version Richard
Morse implemented. The filename for both the EGZ and text file
outputs is specified using the environment variable Z_TAPE
.
- The program now prompts the user only for the name
of the parameter file. Everything else
hijevt_v14
needs
to know is specified within the parameter file.
- The format of the parameter file has been changed. In particular,
the user must now specify the format for the output, as well as
certain other parameters in Yepes-like fashion, e.g. keeping
mothers/daughters in the particle list.
Changes to the main HIJING routines were also necessary (which have been
incorporated into XN Wang's distribution version):
- The statement
EXTERNAL HIDATA, PYDATA, LUDATA
was
added to subroutine HIJING so that the loader correctly loaded these
block data. This was the main problem with the AIX version of HIJING.
In fact, on UNIX systems one should always include block data
using an external statment, preferably in your main program.
- Removal of initialization statements within
BLOCK DATA HIDATA
which make the object code unnecessarily large.
- cosmetic formatting changes, e.g., printing out version number with HIJING title.
- changing 0.D0 to 0.0 in arguments lists of MAX intrinsic function.
A more detailed list of changes can be be found at the top of the source file
hijing.F.
These above changes were necessary mainly for the AIX version. For
IRIX, the problem was not HIJING but f77 and IRIX 5.2. Specific
examples were found of misexecution of valid Fortran statements on
rsgi00 and rsgi02, which run IRIX 5.2. This made the development of
HIJING under IRIX 5.2 nearly impossible. Instead, compilation and
linking of HIJING proceeded on rsgi03 which runs IRIX 5.3. The
resulting executable can be run any of the other rsgiXX machines.
Example scripts to generate HIJING events can be found in
hij/exa
, which include the new format of the parameter
file.
Implementation of a test program which generates reference histograms
for comparison to future versions of HIJING should follow shortly.
Andrea Schieman