MultiParticlePtCorrelations
- class MultiParticlePtCorrelations.MultiParticlePtCorrelations(max_order: int)[source]
Compute multi-particle transverse momentum correlations and cumulants up to the 8th order. This class is based on the following paper:
For the computation of transverse momentum correlations and cumulants, the implementation closely follows the equations and methods described in Ref. [1].
- Parameters:
- max_orderint
Maximum order of correlations and cumulants to compute (must be between 1 and 8).
Examples
A demonstration of how to use the
MultiParticlePtCorrelations
class to calculate transverse momentum correlations and cumulants.1>>> from sparkx import * 2>>> 3>>> # Maximum order for correlations and cumulants 4>>> max_order = 8 5>>> # Create a MultiParticlePtCorrelations object 6>>> corr_obj = MultiParticlePtCorrelations(max_order=max_order) 7>>> 8>>> # List of events, where each event is a list of particle objects 9>>> particle_list = Jetscape("./particles.dat").particle_object_list() 10>>> 11>>> # Compute mean transverse momentum correlations 12>>> mean_pT_correlations = corr_obj.mean_pT_correlations(particle_list_all_events) 13>>> print(mean_pT_correlations) 14>>> 15>>> # Compute mean transverse momentum cumulants 16>>> mean_pT_cumulants = corr_obj.mean_pT_cumulants(particle_list_all_events) 17>>> print(mean_pT_cumulants)
- Attributes:
- mean_pT_correlationnp.ndarray, optional
Mean transverse momentum correlations for each order up to max_order.
- mean_pT_correlation_errornp.ndarray, optional
Error estimates (if computed) for mean transverse momentum correlations.
- kappanp.ndarray, optional
Mean transverse momentum cumulants for each order up to max_order.
- kappa_errornp.ndarray, optional
Error estimates (if computed) for mean transverse momentum cumulants.
- N_eventslist
List to store numerators (N) of correlations for each event.
- D_eventslist
List to store denominators (D) of correlations for each event.
Methods
mean_pT_correlations:
Computes the mean transverse momentum correlations for each order k across all events.
mean_pT_cumulants:
Computes the mean transverse momentum cumulants for each order k from the correlations.
- MultiParticlePtCorrelations.mean_pT_correlations(particle_list_all_events: List[List[Particle]], compute_error: bool = True, delete_fraction: float = 0.4, number_samples: int = 100, seed: int = 42) ndarray | Tuple[ndarray, ndarray] [source]
Computes mean transverse momentum correlations for each order up to max_order using Eq. [14] in Ref. [1]. The weight is chosen to be \(W^{\prime}_{m} = D\langle m\rangle_{p_{\mathrm{T}}}\).
- Parameters:
- particle_list_all_eventslist
List of events, where each event is a list of particle objects.
- compute_errorbool, optional
Whether to compute error estimates (default is True).
- delete_fractionfloat, optional
Fraction of data to delete for Jackknife method (default is 0.4).
- number_samplesint, optional
Number of Jackknife samples (default is 100).
- seedint, optional
Random seed for reproducibility (default is 42).
- Returns:
- np.ndarray or tuple
Mean transverse momentum correlations for each order. If compute_error is True, returns a tuple
(mean_pT_correlation, mean_pT_correlation_error)
.
- Raises:
- TypeError
If
delete_fraction
is not a float. Ifnumber_samples
is not an integer. Ifseed
is not an integer. Ifcompute_error
is not a boolean.- ValueError
If
delete_fraction
is not between 0 and 1. Ifnumber_samples
is not greater than 0.
- MultiParticlePtCorrelations.mean_pT_cumulants(particle_list_all_events: List[List[Particle]], compute_error: bool = True, delete_fraction: float = 0.4, number_samples: int = 100, seed: int = 42) ndarray | Tuple[ndarray, ndarray] [source]
Computes the mean transverse momentum cumulants for each order k from Eqs. B9-B16 in Ref. [1].
- Parameters:
- particle_list_all_eventslist
List of events, where each event is a list of particle objects.
- compute_errorbool, optional
Whether to compute error estimates (default is
True
).- delete_fractionfloat, optional
Fraction of data to delete for Jackknife method (default is 0.4).
- number_samplesint, optional
Number of Jackknife samples (default is 100).
- seedint, optional
Random seed for reproducibility (default is 42).
- Returns:
- np.ndarray or tuple
Mean transverse momentum cumulants for each order. If
compute_error
isTrue
, returns a tuple(kappa, kappa_error)
.
- Raises:
- TypeError
If
delete_fraction
is not a float. Ifnumber_samples
is not an integer. Ifseed
is not an integer. Ifcompute_error
is not a boolean.- ValueError
If
delete_fraction
is not between 0 and 1. Ifnumber_samples
is not greater than 0.