Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cumulant_generating Class Reference

#include <JETSCAPE/blob/main/external_packages/trento/src/rapidity_profile.h>

Public Member Functions

 cumulant_generating ()
 
void calculate_dsdy (double mean, double std, double skew)
 
double interp_dsdy (double y)
 

Private Attributes

size_t const N
 
doubledata
 
doubledsdy
 
double eta_max
 
double deta
 
double center
 

Detailed Description

A class for cumulant generating function inversion This class handles inverse fourier transform the cumulant generating function A direct transformation F^{-1} exp(i*m*k-(std*k)^2/2-skew*(std*k)^3/6) results in an ill-behaved function. Instead, skew is replaced by skew*exp(-(std*k)^2/2). In this way higher order cumulant are included to regulated the function. The reconstruction range is taken to be [-3.33, 3.33]*std, which does not seem to be very large, however, by trail and error, this range elimiates oscillations at large rapidity and leaves the details close to mid-rapidity unchanged. We used GSL FFT library (more specialized library would be FFTW, e.g.), with 256 points. The transformed results are stored and interpolated.

Definition at line 103 of file rapidity_profile.h.

View newest version in sPHENIX GitHub at line 103 of file rapidity_profile.h

Constructor & Destructor Documentation

cumulant_generating::cumulant_generating ( )
inline

Definition at line 112 of file rapidity_profile.h.

View newest version in sPHENIX GitHub at line 112 of file rapidity_profile.h

Member Function Documentation

void cumulant_generating::calculate_dsdy ( double  mean,
double  std,
double  skew 
)
inline

This function set the mean, std and skew of the profile and use FFT to transform cumulant generating function at zero mean.

Definition at line 116 of file rapidity_profile.h.

View newest version in sPHENIX GitHub at line 116 of file rapidity_profile.h

References center, data, deta, dsdy, eta_max, i, IMAG, mean(), N, and REAL.

Referenced by trento::Event::compute_reduced_thickness().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double cumulant_generating::interp_dsdy ( double  y)
inline

When interpolating the funtion, the mean is put back by simply shifting the function by y = y - mean + dy/2, the last term is correcting for interpolating bin edge instead of bin center

Definition at line 144 of file rapidity_profile.h.

View newest version in sPHENIX GitHub at line 144 of file rapidity_profile.h

References center, deta, dsdy, eta_max, and Acts::Svg::View::xy().

Referenced by trento::Event::compute_reduced_thickness().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

double cumulant_generating::center
private

Definition at line 109 of file rapidity_profile.h.

View newest version in sPHENIX GitHub at line 109 of file rapidity_profile.h

Referenced by calculate_dsdy(), and interp_dsdy().

double* cumulant_generating::data
private

Definition at line 106 of file rapidity_profile.h.

View newest version in sPHENIX GitHub at line 106 of file rapidity_profile.h

Referenced by calculate_dsdy().

double cumulant_generating::deta
private

Definition at line 108 of file rapidity_profile.h.

View newest version in sPHENIX GitHub at line 108 of file rapidity_profile.h

Referenced by calculate_dsdy(), and interp_dsdy().

double * cumulant_generating::dsdy
private

Definition at line 106 of file rapidity_profile.h.

View newest version in sPHENIX GitHub at line 106 of file rapidity_profile.h

Referenced by calculate_dsdy(), and interp_dsdy().

double cumulant_generating::eta_max
private

Definition at line 107 of file rapidity_profile.h.

View newest version in sPHENIX GitHub at line 107 of file rapidity_profile.h

Referenced by calculate_dsdy(), and interp_dsdy().

size_t const cumulant_generating::N
private

Definition at line 105 of file rapidity_profile.h.

View newest version in sPHENIX GitHub at line 105 of file rapidity_profile.h

Referenced by calculate_dsdy().


The documentation for this class was generated from the following file: