EventPlaneFlow

class EventPlaneFlow.EventPlaneFlow(n=2, weight='pt2', pseudorapidity_gap=0.0)[source]

This class implements a event plane flow analysis algorithm Poskanzer, Arthur M., and Sergei A. Voloshin. “Methods for analyzing anisotropic flow in relativistic nuclear collisions.” Physical Review C 58.3 (1998): 1671..

For this method, the flow is calculated by calculating the nth harmonic of the angle the event plane \(Q\), relative to the event plane angle determined from the flow itself. Since finite multiplicity limits the estimation of the angle of the reaction plane, the flow is corrected for the event plane resolution for each harmonic.

In summary, this class calculates the following:

\[v_n = \frac{v_{n}^{\mathrm{obs}}}{R_n}\]

with

\[v_{n}^{\mathrm{obs}} = \langle \cos(n (\phi_i -\Psi_n)) \rangle\]

where we average over all particles of all events. \(R_n\) is the resolution, which we calculate in an iterative method according to the mentioned reference. This is done by using two sub-events, which we assume to be of same size and which are determined by splitting the event into subsets of positive and negative pseudorapidity.

Parameters:
nint, optional

The value of the harmonic. Default is 2.

weightstr, optional

The weight used for calculating the flow. Default is “pt2”.

pseudorapidity_gapfloat, optional

The pseudorapidity gap used for dividing the particles into sub-events. Default is 0.0.

Examples

A demonstration how to calculate flow according to the event plane of a separate particle list. The same particle list can also be used to determine the event plane and the flow.

 1>>> from sparkx.Jetscape import Jetscape
 2>>> from sparkx.flow.EventPlaneFlow import EventPlaneFlow
 3>>>
 4>>> JETSCAPE_FILE_PATH_FLOW = [Jetscape_directory]/particle_lists_flow.dat
 5>>> JETSCAPE_FILE_PATH_EVENT_PLANE = [Jetscape_directory]/particle_lists_ep.dat
 6>>>
 7>>> # Jetscape object containing the particles on which we want to calculate flow
 8>>> jetscape_flow = Jetscape(JETSCAPE_FILE_PATH_FLOW).particle_objects_list()
 9>>>
10>>> # Jetscape object containing the particles which determine the event plane
11>>> jetscape_event = Jetscape(JETSCAPE_FILE_EVENT_PLANE).particle_objects_list()
12>>>
13>>> # Create flow objects for v2, weighted with pT**2 and v3 weighted with pT**2
14>>> flow2 = EventPlaneFlow(n=2, weight="pt2",pseudorapidity_gap=0.1)
15>>> flow3 = EventPlaneFlow(n=3, weight="pt2",pseudorapidity_gap=0.1)
16>>>
17>>> # Calculate the integrated flow with error
18>>> v2, v2_error = flow2.integrated_flow(jetscape_flow,jetscape_event)
19>>> v3, v3_error = flow3.integrated_flow(jetscape_flow,jetscape_event)

Methods

integrated_flow:

Computes the integrated flow.

differential_flow:

Computes the differential flow.

EventPlaneFlow.integrated_flow(particle_data, particle_data_event_plane, self_corr=True)[source]

Compute the integrated flow.

Parameters:
particle_datalist

List of particle data of which the flow is calculated.

particle_data_event_planelist

List of particle data for the event plane calculation.

self_corrbool, optional

Whether to consider self-correlation in the flow calculation. Default is True.

Returns:
tuple

A tuple containing the integrated flow value and the corresponding uncertainty. The third and fourth element are the event plane angle and the corresponding uncertainty.

EventPlaneFlow.differential_flow(particle_data, bins, flow_as_function_of, particle_data_event_plane, self_corr=True)[source]

Compute the differential flow.

Parameters:
particle_datalist

List of particle data of which the flow is calculated.

binslist or np.ndarray

Bins used for the differential flow calculation.

flow_as_function_ofstr

Variable on which the flow is calculated (“pt”, “rapidity”, or “pseudorapidity”).

particle_data_event_planelist

List of particle data for the event plane calculation.

self_corrbool, optional

Whether to consider self-correlation in the flow calculation. Default is True.

Returns:
list

A list of tuples containing the flow values and uncertainties for each bin. The third and fourth element are the event plane angle and the corresponding uncertainty.