Running HIJING

Topics in this page:


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.


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)

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}


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.


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).


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:

  1. Geant id distributions
  2. rapidity distributions (dN/dy)
  3. 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:

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