# 4. After hydrodynamics: Particlization with Cooper-Frye¶

In **MUSIC**, the energy-momentum tensor \(T^{\mu\nu}(X)\) is converted to hadrons using the Cooper-Frye formula:

where \(\int_{\Sigma} d\Sigma_\mu\) is an integral over the particlization hypersurface discussed at the end of the “Hydrodynamics” section and \(d\Sigma_\mu\) is a surface element of this hypersurface pointing in the orthogonal direction from the surface. Recall that in **MUSIC** the particlization surface is built by connecting all spacetime points at a fixed temperature or energy density (set by input parameters `T_freeze`

or `epsilon_freeze`

).

Note

Energy is conserved in this conversion from fluid to hadrons if all hadrons and resonances entering in the equation of state are produced through the Cooper-Frye formula.

Function \(f_s\left( P,\epsilon(X),u^\mu(X),\pi^{\mu\nu}(X),\Pi(X) \right)\) is the momentum distribution of species “s” of hadrons inside the fluid, and \(g_s\) is the degeneracy of this species of hadrons.

The simplest form that \(f_s\left( P,\epsilon(X),u^\mu(X),\pi^{\mu\nu}(X),\Pi(X) \right)\) can take is in the ideal hydrodynamics case.

## 4.1. Cooper-Frye with ideal hydrodynamics¶

Our assumption is that ideal hydrodynamics describes a fluid that is close to local thermal equilibrium. The local momentum distribution of hadrons in a fluid described by ideal hydrodynamics should thus be thermal distributions, either Fermi-Dirac or Bose-Einstein.

Of course, this fluid is in general not at rest, that is

This means that hadrons will generally have a boosted thermal distribution, rather than a thermal distribution.

We can thus write

The temperature \(T(X)\) is calculated from the energy density \(\epsilon(X)\) through the equation of state. Note that when the particlization hypersurface is
constructed at a uniform value of temperature, \(T(X)\) is constant across the entire hypersurface and is equal to input parameter `T_freeze`

.

\(f_{F/B}(p)\) is the Fermi-Dirac if hadron “s” is a fermion and the Bose-Einstein distribution is “s” is a boson

Note that aside from Bose-Einstein or Fermi-Dirac, the species only enters through \(P\) as the mass of the hadron.

The Cooper-Frye formula thus simplifies significantly:

## 4.2. Cooper-Frye with viscous hydrodynamics¶

The Cooper-Frye procedure in viscous hydrodynamics is more subtle. In viscous hydrodynamics, we assume the fluid is not exactly in equilibrium, but is nevertheless close to equilibrium.

Recall that \(\pi^{\mu\nu}\) and \(\Pi\) are the viscous (dissipative) parts of the energy-momentum tensor \(T^{\mu\nu}\).

If \(\pi^{\mu\nu}=0\) and \(\Pi=0\), the momentum distribution \(f_s\left( P,\epsilon,u^\mu,\pi^{\mu\nu},\Pi \right)\) should be the equilibrium one (Bose-Einstein/Fermi-Dirac).

If \(\pi^{\mu\nu}\) and \(\Pi\) are non-zero, the momentum distribution \(f_s\left( P,\epsilon,u^\mu,\pi^{\mu\nu},\Pi \right)\) deviates from the equilibrium distribution, with the deviation being related to \(\pi^{\mu\nu}\) and \(\Pi\).

The procedure adopted in **MUSIC** and in many other hydrodynamic simulation of heavy ion collisions is that the near-equilibrium distribution
\(f_s\left( P,\epsilon,u^\mu,\pi^{\mu\nu},\Pi \right)\) can be written as:

where \(\delta f_s\) should represent small modifications to the equilibrium momentum distribution \(f_{F/B}\).

The general assumption is that \(\delta f_s\) can be linearised in \(\pi^{\mu\nu}\) and \(\Pi\):

In **MUSIC**,

## 4.3. Cooper-Frye implementation in **MUSIC**¶

Cooper-Frye is calculated in **MUSIC** by using input parameter `mode 3`

. It is computed from the particlization hypersurface that is produced
by the hydrodynamic evolution, `mode 2`

.

The result of Cooper-Frye is the single hadron momentum distribution \(E d^3 N_s/d p^3\). Evaluating Cooper-Frye numerically
involves discretizing the momentum \(\vec{p}\) on a grid.
The momentum is written as a function of \(p_T\), \(\phi\) and \(\eta\).
The momentum grid in **MUSIC** is uniform in \(\phi\) and \(\eta\), and a quadratic sampling in \(p_T\):

```
double pt = (ptmin + (ptmax - ptmin)*(ipt*ipt)/((iptmax - 1)*(iptmax - 1))
```

The **MUSIC** input parameters that control the momentum grid on which the results of Cooper-Frye are discretized are:

```
max_pseudorapidity 5.0 # the range of pseudo-rapidity
# (-maximal_rapidity, maximal_rapidity)
pseudo_steps 51 # number of rapidity slices to compute
# particle spectra
min_pt 0.01 # the minimum pT value for particle spectra
max_pt 3.0 # the maximum pT value for particle spectra
pt_steps 15 # number of points in pT
phi_steps 40 # number of points in phi (0, 2pi)
```

The viscous corrections \(\delta f_s^{\textrm{shear}}\) and \(\delta f_s^{\textrm{bulk}}\) are hard-coded in **MUSIC**.
They can be turned on and off with the following two input parameters:

```
Include_deltaf 1 # flag to include shear delta f correction
# in Cooper-Frye formula
Include_deltaf_bulk 0 # flag to include bulk delta f correction
# in Cooper-Frye formula
```

Species in Cooper-Frye

Cooper-Frye is implemented in **MUSIC** in source file “freeze_pseudo.cpp”, with some helper functions in “freeze.cpp”.
As mentioned earlier, the list of hadrons produced should match the equation of state.
For most equations of states, the list of hadron species produced is read from the file “pdg05.dat” in the “EOS” directory.
The file is read in “freeze.cpp”:

```
void Freeze::ReadParticleData([...]) {
// read in particle and decay information from file:
partid = new int[MAXINTV];
music_message.info("reading particle data");
// open particle data file:
const char* EOSPATH = "HYDROPROGRAMPATH";
char * pre_envPath= getenv(EOSPATH);
std::string envPath;
if (pre_envPath == 0) {
envPath=".";
} else {
envPath=pre_envPath;
}
string p_name = envPath + "/EOS/pdg05.dat";
if (DATA->whichEOS == 7) {
p_name = envPath + "/EOS/pdg-urqmd_v3.3+.dat";
}
[...]
}
```

The above is not something that should be modified unless the equation of state is changed.

In theory, Cooper-Frye should be calculated for every species of hadrons included in the equation of state. In practice, the lighter hadrons carry most of the energy and momentum, and neglecting heavier hadrons can speed up the calculation without sacrificing too much the accuracy of the calculations. Consequently there are parameters to control how many hadrons are calculated in Cooper-Frye:

```
number_of_particles_to_include 40 # how many hadrons to include (counting from the lightest) when evaluating Cooper-Frye
# current maximum = 320
particle_spectrum_to_compute 0 # If equal to 0: Do all up to "number_of_particles_to_include"
# any natural number:
# Do the particle with this (internal) ID
```

The results of Cooper-Frye is saved in a file named “yptphiSpectra.dat”. It is saved for each species of hadrons and the discretized momentum grid discussed above.

The momentum distribution of particles predicted by Cooper-Frye should not be compared with measurements. Additional late stage hadronic physics must be added beforehand.