Skip to content

A parton and hadron cascade model PACIAE 4 (Parton And-hadron China Institute of Atomic Energy).

License

Notifications You must be signed in to change notification settings

ArcsaberHep/PACIAE4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The parton and hadron cascade model PACIAE 4

PACIAE 4 (Parton And-hadron China Institute of Atomic Energy) is a multipurpose Monte Carlo event generator developed to describe a wide range of collisions, including lepton-lepton, lepton-hadron, lepton-nucleus, hadron-hadron, hadron-nucleus, and nucleus-nucleus collisions. It is built based on PYTHIA 6.4 & PYTHIA 8.3, and incorporates parton and hadron rescattering stages to address the nuclear medium effects. PACIAE 4 is the new generation of PACIAE model surpassing the version PACIAE 3. In PACIAE 4, the old fixed-format FORTRAN 77 code has been refactored and rewritten by the free-format modern Fortran mixed with C++ languages. The C++-based PYTHIA 8 is interfaced in. More physics and features are available.

Installation

Just download the file and decompress it. Then you can get the PACIAE 4 source code directly.

Prerequisites

  1. make tool, gfortran and g++ compilers are required.

  2. PYTHIA 8 library is indispensable. PYTHIA official website: https://pythia.org/ . Download then build PYTHIA 8 using the following command:

     ./configure
     make -j
    

    -j flag will compile PYTHIA 8 more quickly using multiple cores. After the compilation and build completed, copy the Makefile.inc file the PYTHIA 8 generated and paste it into the PACIAE 4 directory. If you have the installed PYTHIA 8 already, just copy the Makefile.inc from your own installed PYTHIA 8 directory and paste it into the PACIAE 4 directory. Makefile.inc file is very important for the running of PACIAE 4. It specifies the PYTHIA 8 distribution path.

Usage

We encourage users to run the program on LINUX.

Two ways to run the program are provided.

  1. Manual running. Use the make tool to compile the source code, link and build the PACIAE program. Then execute it by hand. GFortran and g++ compilers have been pre-specified inside Makefile:

    • Compile code, link and build the programs by the command:
          make
      
      One can choose make -j to compile in parallel. The executable program xPaciae.x and the input files usu.dat, pythia6_extra.cfg and pythia8_extra.cfg will be generated in the folder sim (simulation). Enter sim.
    • Modify the input files according to your wish. The basic PACIAE-related and few PYTHIA-related parameters and switches are included in the usu.dat file. Moreover, user can add extra settings for PYTHIA 6/8 in pythia6_extra.cfg and pythia6_extra.cfg files, which requires the knowledge of PYTHIA parameters. See PYTHIA 6.4 Physics and Manual, JHEP 05 (2006) 026 and PYTHIA 8 online manual for more details. Thanks to these two files, PACIAE 4 can use almost all PYTHIA 6/8 features.
    • Run the program by the command:
          ./xPaciae.x
      
      One can use the following command to run the program in the background and record the time and log information.
          nohup time ./xPaciae.x > paciae.log &
      
  2. Use the PACIAE.sh shell-script to compile, link and build the program, generate input files and run the program automatically.

    • Modify the PACIAE.sh file as needed. usu.dat, pythia6_extra.cfg and pythia6_extra.cfg have been integrated within PACIAE.sh file. User can modify them in PACIAE.sh directly. See USU_DAT_BLOCKTEXT, PY6_CFG_BLOCKTEXT and PY8_CFG_BLOCKTEXT parts inside it.
    • If executable permissions are missing, grant executable permissions to PACIAE.sh by command (only once):
          chmod +x PACIAE.sh
      
    • Run the PACIAE.sh script by the command:
          ./PACIAE.sh
      
    • rms_analysis.f90 is a stand-alone program used in conjunction with the PACIAE.sh script to average the internal analysis files rms.out generated by each PACIAE simulation.

    It is also worth mentioning that tasks can be submitted to computer clusters and supercomputers using the PACIAE.sh script (It is currently available for SLURM, LSF and PBS scheduling systems only.). More detailed information and usage can be found in the SCHEDULE_SYSTEM_BLOCKTEXT part of the PACIAE.sh.file.

Oscar format output

  • The ASCII (text) human-readable output file oscar.out of the final particles following the OSCAR1997A standard can be generated via the switch nosc=1. A file snippet is as follows:
1  | OSC1997A
2  | final_id_p_x
3  | PACIAE   program_version   projectile+target   frame   energy   1
4  | Event_1 number_of_events number_of_particles b_parameter b_angle event_weight
5  |   Particle_No_1  id1  px1  py1  pz1  E1  m1  x1  y1  z1  t1  (GeV & fm)
6  |   Particle_No_2  id2  px2  py2  pz2  E2  m2  x2  y2  z2  t2
7  |   ...
8  | Event_2 number_of_events number_of_particles b_parameter b_angle event_weight
9  |   Particle_No_1  id1  px1  py1  pz1  E1  m1  x1  y1  z1  t1
10 |   ...
  • The full event history following the OSCAR199A standard including (STAGE_0) the initial state,(STAGE_1) the initial partonic state,(STAGE_2) the final partonic state,(STAGE_3) the initial hadronic state from the hadronization, and (STAGE_4) the final hadronic state, can be generated via nosc=2. A file snippet is as follows:
1  | # OSC1999A
2  | # full_event_history
3  | # PACIAE  program_version
4  | # projectile+target   frame   energy   1
5  | Event_1  N_events  N_particles  b_parameter  b_angle  STAGE_0  event_weight
6  |   Particle_No_1  id1  px1  py1  pz1  E1  m1  x1  y1  z1  t1  (GeV & fm)
7  |   Particle_No_2  id2  px2  py2  pz2  E2  m2  x2  y2  z2  t2
8  |   ...
9  | Event_1  N_events  N_particles  b_parameter  b_angle  STAGE_1  event_weight
10 |   Particle_No_1  id1  px1  py1  pz1  E1  m1  x1  y1  z1  t1
11 |   ...
12 | Event_1  N_events  N_particles  b_parameter  b_angle  STAGE_2  event_weight
13 |   Particle_No_1  id1  px1  py1  pz1  E1  m1  x1  y1  z1  t1
14 |   ...
15 | Event_1  N_events  N_particles  b_parameter  b_angle  STAGE_3  event_weight
16 |   Particle_No_1  id1  px1  py1  pz1  E1  m1  x1  y1  z1  t1
17 |   ...
18 | Event_1  N_events  N_particles  b_parameter  b_angle  STAGE_4  event_weight
19 |   Particle_No_1  id1  px1  py1  pz1  E1  m1  x1  y1  z1  t1
20 |   ...
21 | Event_2  N_events  N_particles  b_parameter  b_angle  STAGE_9  event_weight
22 |   Particle_No_1  id1  px1  py1  pz1  E1  m1  x1  y1  z1  t1
23 |   ...

Maintainers

@ArcsaberHep (An-Ke Lei) @ArcsaberkxL

Contributing

Feel free to dive in! Any bug reports, comments and suggestions are welcome. Please do not hesitate to contact us.

Contributors

License

GPL v2.0 and any later version.

Released programs

PACIAE 4.0 code are hosted on https://github.com/ArcsaberHep/PACIAE4 and https://gitee.com/arcsaberhep/PACIAE4.

The released code are available on https://github.com/ArcsaberHep/PACIAE4/releases and https://gitee.com/arcsaberhep/PACIAE4/releases.

Released papers





Relevant papers

External links

Update notes:

11/2024: In version PACIAE 4.0.02

  • In "analy_40.f90" and "Rms_analysis.f90", fixed analysis code of mean pT < pT >. Analysis code of anisotropic flows were added.

11/2024 PACIAE 4.0 is now released!

  • The released version if 4.0.02.
  • The code have been refactored and rewrite by the free-format modern Fortran + C++ from the fixed-format FORTRAN77.
  • PYTHIA 8 can be interfaced in now.
  • The gluon splitting and quark deexcitation mechanisms, along with the coalescence hadronization model have been improved.
  • The partonic and hadronic cascades have been improved.
  • Some other aspects.

01/2024 PACIAE 4 project launched!

12/2023 PACIAE 3.0 is now released!