Running HIJING
Topics in this page:
hijevt
Currently the only executable which runs HIJING is
hijevt_v14
, which is located (when correctly installed)
in $STAR_ROOT/dev/sim/bin/$STAR_ARCH/
(this directory
should already be in your path if you have run the standard
STAR login script). It is a standalone, non-TAS executable which
produces HIJING events in either EGZ or GEANT-compatible text format.
This page describes the program and how to run it.
Overview
hijevt prompts the user for two file names: the parameter file and the
output data file. The parameter file contains all the information
necessary to run HIJING correctly. Currently there is not the option
of specifying more than one parameter file per hijevt job. The output
data file contains HIJING data in a user-specified format. Some
assumptions about how hijevt is run are listed below:
- Output format options
- Can be either EGZ format or HIJ-specific text file format which
is compatible with GEANT text file format. The output format is
specified in the parameter file. The user must enter a valid
output file name or the program will terminate.
- EGZ format
- The newest version of the STAR EGZ package is used for the ZEBRA
formatting of event generator output. Hence, one no longer
needs to have the file
egzpar.par
in the directory in
which hijevt is started up.
- EGZ format on AIX
- The user must set the XFLRTEOPTS environment variable to run
hijevt on the ribmxx machines:
> setenv XFLRTEOPTS namelist=old
- Parton information
- If the user requests sample jets, then the hard-scattered partons
are now added to the end of the particle list, for both output
formats. The momentum of the partons after initial state radiation
but before final state radiation is used. Each parton is labelled as
an up quark regardless of its true identity. This is done so that in
the case of gamma-jet events, the gamma "parton" can be distinguished
from the gamma final state particle.
Text output format
The text output format is an extension of the one used by GEANT
for text file input. The routine HIJ_WRTXT which does this can be
found in hij/src/hij_wrtxt.F.
The only difference is that addition
of a fifth variable to the particle list which indicates the
index of the parent particle, if the current particle is the result
of a decay:
Write( outlun, 450, Err=920) geid, (patt(j_particle, k), k=1,3),
> katt(j_particle,3)
450 Format(18x,i2,2x,G12.5,1x,G12.5,1x,G12.5,1x,i7)
This information will be ignored by GEANT but could be useful
for other analyses.
The routine hijing_to_geant.F in
the EGZ package now takes care of the translation of HIJING particle
id codes to GEANT id codes. It is based on the older hjntog.F routine
which was previously a part of the HIJ package. A description of
hjntog.F below is relevant to understanding hijing_to_geant.F and
is retained below for documentation purposes:
The routine hjntog.F takes care of
the translation from HIJING (i.e. JETSET) particle id codes to GEANT
id codes. Below is a table which defines the list
of Geant IDs used by hjntog.F. Note that it is a superset of those Geant
IDs currently implemented in MCG. Also shown in the table are the
masses used by hij_test to calculate the rapidity:
Geant JETSET
ID ID Name Mass
----- ------ ---- ----
1-48 (Same as MCG and Standard GEANT particle list)
49 223 omega meson 0.78194 |
50 333 phi meson 1.019413 | Same as MCG,
51 113 rho0 meson 0.7699 | not in standard
52 213 rho+ meson " | GEANT particle
53 -213 rho- meson " | list
54 411 D+ meson 1.8694 |
55 421 D- meson 1.8646 |
56 1114 Delta- baryon 1.234 | Not in MCG or
57 2114 Delta0 baryon 1.233 | standard GEANT
58 2214 Delta+ baryon 1.232 | particle list
59 2224 Delta++ baryon 1.231 |
61 1 d quark 0.0 | Same as MCG
62 -1 anti-d quark 0.0 | but not in standard
63 2 u quark 0.0 | GEANT particle list
64 -2 anti-u quark 0.0 |
65 3 s quark 0.0 |
66 -3 anti-s quark 0.0 |
67 4 c quark 0.0 |
68 -4 anti-c quark 0.0 |
69 5 b quark 0.0 |
70 -5 anti-b quark 0.0 |
71 6 t quark 0.0 |
72 -6 anti-t quark 0.0 |
73 21 gluon 0.0 |
74 -21 anti-gluon 0.0 |
MCG can still accept a text file with this output format:
it simply will call those particles Geantinos whose Geant id it
doesn't understand (e.g., id=58). The standardization of Geant ids as
used in event generators and MCG is clearly a necessary step for the
near future.
(End of hjntog.F description)
Parameter file
The user specifies all the necessary input parameters (e.g. beam
energy, Z and A of colliding nuclei, etc.) in a file
which is read by hijevt. Optionally, the user may also modify
any of HIJING's internal parameters which are described in hijing.doc. The format of this parameter file will be
explained in detail now.
Here is the parameter file for the example described later on:
HIJING example file
Matthew Bloomer 3/20/95
Generate 10 central Au+Au events at sqrt(s(NN))=200 GeV
Default parameters except for:
*resonances are permitted to decay, and
*keep all parent history for later GEANT processing
*maximum error logging turned on
$$$$$$$$$$
200.0 ! nucleon-nucleon energy
'CMS' ! frame
'A','A' ! proj, targ (the quotation marks are important)
197, 79, 197, 79 ! A,Z projectile, A, Z target
10 ! number of events
0. .75 ! minimum, maximum impact parameter
1931278 ! seed
1 ! event message frequency
2 ! Output format (1=egz, 2=text)
1 ! quenching on (1) or off (0)
1 ! keep mothers (1) or only daughters (0)
0 0.0 ! turn on (1) or off (0) sample jets, pt of sample jet
'IHPR2' 12 0 ! permit resonance decays...
'IHPR2' 10 1 ! maximum error logging
The parameter file contains (i) a descriptive text header and
(ii) actual values of parameters. The order of the parameter
lines is important, and nearly all of them are mandatory.
I will now describe the parameter file format:
- Descriptive text (mandatory)
- This is a series of lines of ASCII text which are read by hijevt
and stored in a character variables, but otherwise have no other effect.
It is mainly as a convenient means for the user to document what is
intended by the following set of parameter values. Up to 100 lines of ASCII
text will be read, each line having no more than 80 characters. The
end of the descriptive text header is signalled by at least four '$'
in the first four characters of a given line. The text block can be
empty but must include this special character sequence.
- Energy of collision (mandatory)
- For the CMS system, this is the nucleon-nucleon center of mass
energy. For the target system, it is the per nucleon energy of the projectile.
- Frame of collision (mandatory)
- 'CMS' or 'LAB', as described in hijing.doc. The single quote marks
are essential.
- Colliding system (mandatory)
- Character*4 description of colliding system. 'A' means nucleus. See
hijing.doc for details. Again, the single quotes are essential.
- A and Z of colliding nuclei (mandatory)
- The mass number A and proton number Z of the projectile and target
nuclei, respectively. See hijing.doc.
- Number of events to generate(mandatory)
- Self-exaplanatory.
- Min, max impact parameter (mandatory)
- The range of impact parameters for which to generate collisions (in
fm). For pp collisions, these values are ignored. Se hijing.doc.
- Random number seed (mandatory)
- HIJING uses RAN to generate random numbers. This is a poor choice and
is not implemented on all architectures. Specifically, for AIX we define
a function RAN which calls rand. In addition, Pythia uses RLU for its
random number generator. The seed value here is used to start the RAN
(or rand) sequence (not RLU). Should be a large positive odd integer.
- Frequency of event processing message (mandatory)
- An integer which determines how many events are produced in between
event processing update messages.
- Output format (mandatory)
- Format of output file of HIJING events: 1=EGZ, 2=Text.
- Quenching (mandatory)
- Turn on (1) or off (0) quencing of jet partons in hadronic matter.
- Particle history (mandatory)
- Primary particles in HIJING, as in JETSET, come directly from
string fragmentation. These in turn often decay into secondary
particles which are considered "stable." Sometimes this decay history
is important to study. If set to 1, then both mothers and daughters
are present in the particle list of the output file. The user than
should exercise caution in analyzing this particle list, since there is
the danger of double counting. If set to 0, then only the daughters
are present in the particle list: the mothers have been removed. GEANT
will work with either type of particle list. However, for the text
file format, GEANT will use all particles in the particle list, regardless
of this parameter, i.e, it will NOT filter the particle list and keep
only the "highest" mothers known to it, as it does in the case of the EGZ
format.
- Sample jets (mandatory)
- Turn on (1) or off (0) sample jets. If yes, also specify
the jet Pt. For details, see hijing.doc concerning ihpr2(3) and
hipr1(10).
- Additional parameter specifications (optional)
- The rest of the parameter file can be an arbitrarily long
list of parameter specifications of the form
'{array name}' {index} {value}
where
- '{array name}' is one of the four HIJING parameter arrays:
'HIPR1',
'IHPR2', 'HINT1', 'IHNT2'
. The single quotes are necessary.
The array name must be in uppercase;
- {index} is the index of the parameter array referenced; and
- {value} is the value being assigned to this parameter.
This allows the user to change any parameter without recompiling.
As an example, in the example parameter file above,
IHPR2(12)
is set to 0. This turns on (sic) the
decay of certain hadronic resonances such as pi0s, K0s, etc. Note
that some parameter values are already set using the mandatory
parameter specifications listed above.
The end of the parameter file is assumed to occur when the EOF marker
is reached during a READ statement.
Examples
An example script can be found in
hij/exa/auau_cent
.
It should work for all architectures for which hijevt
exists. It also generates a parameter file
hij/exa/hij_auau_cent.dat
which exemplifies the new
parameter file format.
One should run this example (t/csh) script as follows:
> cd {some working directory}
> cp $STAR_ROOT/dev/sim/hij/exa/auau_cent .
> auau_cent >&! auau_cent.log &
After about 10 minutes you will have created an EGZ-format output file
$DST_ROOT/data/evg/hij_auau_cent_example_$STAR_ARCH.fzd
of 10 central Au+Au events. The log file auau_cent.log
contains the running history (always a good idea to keep log files of
jobs which produce data used later on for simulation).
hij_test
This executable is located in
$STAR_ROOT/dev/sim/bin/$STAR_ARCH/hij_text
(no version
number suffix), along with hijevt. It is a standalone, non-TAS
executable which reads one text format output file generated using
hijevt and sorts the HIJING data into dN/dy and 1/pt dN/dpt spectra.
These spectra are useful as a quality check of hijevt.
Specifics about the histograms generated and where they are stored
follow.
NOTE: the functionality of hij_test has been superceded by the more
general EGZ binary spectra (which is actually derived from
hij_test_routines.F). The binary spectra will work with all event
generators, whereas hij_test only works with Hijing. However, a
description of hij_test is retained here for documentation purposes.
For more on generating reference spectra, see below.
Definition of spectra
The spectra are defined in
hij_test_routines.F. Currently they are:
- Geant id distributions
- rapidity distributions (dN/dy)
- inclusive pt distributions (1/pt dN/dpt) within
a rapidity window of 1 centered at the
center-of-mass rapidity ycm.
for the following particles:
pi+, pi-, pi0, K+, K-, K0, quarks, gluons, stable charged
particles, p, pbar, Lambda, Lambda-bar, Sigma+, Sigma-, and
Sigma0.
The histogram titles are sufficiently clear. Some comments may be
in order:
- For stable charged particles (1 < Geant ID < 16 ), only
dN/deta is calculated.
- K0 means K0 short and long combined.
- When sorting on a given Geant ID, no distinction is made based on
whether a given particles is a parent or not.
Where to find HBOOK file
hij_test generates an HBOOK RZ file called hij_test.hbook which
contains the above histograms. This HBOOK file can be generated using
the script hij/exa/hij_test. This
script creates and uses the parameter file hij/exa/hij_test.dat, creates a fifo
file in /tmp/hijing.fifo, and starts up hijevt and hij_test
simultaneously, using /tmp/hijing.fifo as the output/input file. The
parameter file corresponds to 50 central Au+Au events with mostly
default settings. The full parent-daughter history is outputted to
the text format output file. A log file of the job which generated
the spectra file for each architecture is stored in
hij/exa/$STAR_ARCH/hij_test.log
.
reference spectra
A script file hij/exa/ref_spectra
automatically runs the EGZ binary spectra
to generate
reference spectra from 50 central Au+Au Hijing events. These spectra
should be regenerated for each new version of Hijing or after
significant changes to the package. The spectra are the same as
described above for hij_test. The histograms are stored in
hij/exa/$STAR_ARCH/ref_spectra.hbook, along with a log file
hij/exa/$STAR_ARCH/ref_spectra.log of the associated batch job. A
separate reference spectra HBOOK file is kept for each architecture
for which hijevt is implemented. These spectra files are part of the
package and are meant to document the performance of the event
generator.
To look at a spectrum file, just use PAW as you would on any
ordinary HBOOK RZ file.
Last modified: 22 June 1995
MAB