Analysis Software
Documentation for sPHENIX simulation software
|
#include <JETSCAPE/blob/main/external_packages/trento/src/event.h>
Public Types | |
using | Grid = boost::multi_array< double, 2 > |
Alias for a 2-dimensional grid. | |
using | Grid3D = boost::multi_array< double, 3 > |
Alias for a 3-dimensional grid. | |
Public Member Functions | |
Event (const VarMap &var_map) | |
Instantiate from the configuration. | |
void | compute (const Nucleus &nucleusA, const Nucleus &nucleusB, NucleonProfile &profile) |
const int & | npart () const |
Number of nucleon participants. | |
const int & | ncoll () const |
WK: Number of binary collision. | |
const double & | multiplicity () const |
const std::map< int, double > & | eccentricity () const |
const Grid3D & | density_grid () const |
The entropy (particle) density grid as a three-dimensional array. | |
const double & | dxy () const |
returns grid steps | |
const double & | deta () const |
const std::map< int, double > & | participant_plane () const |
const Grid & | TAB_grid () const |
WK: The TAB grid for hard process vertex sampling. | |
void | clear_TAB (void) |
WK: clear and increase TAB. | |
void | accumulate_TAB (Nucleon &A, Nucleon &B, NucleonProfile &profile) |
const bool & | with_ncoll () const |
WK: | |
const std::pair< double, double > | mass_center_index () const |
Private Member Functions | |
void | compute_nuclear_thickness (const Nucleus &nucleus, NucleonProfile &profile, Grid &TX) |
template<typename GenMean > | |
void | compute_reduced_thickness (GenMean gen_mean) |
void | compute_observables () |
Compute observables that require a second pass over the reduced thickness grid. | |
bool | is3D () const |
Private Attributes | |
std::function< void()> | compute_reduced_thickness_ |
const double | norm_ |
Normalization factor. | |
const double | beam_energy_ |
Beam energy sqrt(s) and beam rapidity y. | |
const double | exp_ybeam_ |
const double | mean_coeff_ |
Rapidity distribution cumulant coefficients. | |
const double | std_coeff_ |
const double | skew_coeff_ |
const int | skew_type_ |
const double | dxy_ |
Grid step size. | |
const double | deta_ |
const int | nsteps_ |
Number of grid steps. | |
const int | neta_ |
const double | xymax_ |
Grid xy maximum (half width). | |
const double | etamax_ |
fast_eta2y | eta2y_ |
fast eta to y transformer. | |
cumulant_generating | cgf_ |
cumulant generating approach | |
Grid3D | TR_ |
Reduced thickness and entropy (particle) density grids. | |
Grid3D | density_ |
Grid | TA_ |
Nuclear thickness grids TA, TB and reduced thickness grid TR. | |
Grid | TB_ |
Grid | TAB_ |
double | ixcm_ |
Center of mass coordinates in "units" of grid index (not fm). | |
double | iycm_ |
int | npart_ |
Number of participants. | |
int | ncoll_ |
WK: Number of binary collisions. | |
double | multiplicity_ |
Multiplicity (total entropy). | |
std::map< int, double > | eccentricity_ |
Eccentricity harmonics. | |
std::map< int, double > | psi_ |
WK: Initial density event planes. | |
bool | with_ncoll_ |
WK: | |
The primary computation class, responsible for constructing nuclear thickness functions and calculating event observables. Designed to be created once and used many times by repeatedly calling compute()
. Stores its observables internally and provides inspector methods.
Example::
Event event{var_map}; for (int n = 0; n < nevents; ++n) { event.compute(nucleusA, nucleusB, nucleon_profile); do_something( event.npart(), event.multiplicity(), event.eccentricity(), event.reduced_thickness_grid() ); }
Definition at line 46 of file event.h.
View newest version in sPHENIX GitHub at line 46 of file event.h
using trento::Event::Grid = boost::multi_array<double, 2> |
using trento::Event::Grid3D = boost::multi_array<double, 3> |
|
explicit |
Instantiate from the configuration.
Definition at line 57 of file event.cxx.
View newest version in sPHENIX GitHub at line 57 of file event.cxx
References compute_reduced_thickness(), compute_reduced_thickness_, acts::error, merge_hashes::p, skew_coeff_, skew_type_, and TINY.
void Event::accumulate_TAB | ( | Nucleon & | A, |
Nucleon & | B, | ||
NucleonProfile & | profile | ||
) |
Definition at line 157 of file event.cxx.
View newest version in sPHENIX GitHub at line 157 of file event.cxx
References trento::NucleonProfile::deterministic_thickness(), dxy_, ncoll_, trento::NucleonProfile::norm_Tpp(), nsteps_, physmon_track_finding_ttbar::r, trento::NucleonProfile::radius(), TAB_, trento::Nucleon::x(), ambiguity_solver_full_chain::x, xymax_, y, and trento::Nucleon::y().
Referenced by trento::Collider::sample_impact_param().
void Event::clear_TAB | ( | void | ) |
void Event::compute | ( | const Nucleus & | nucleusA, |
const Nucleus & | nucleusB, | ||
NucleonProfile & | profile | ||
) |
Compute thickness functions and event observables for a pair of Nucleus
objects and a NucleonProfile
. The nuclei must have already sampled nucleon positions and participants before passing to this function.
Definition at line 117 of file event.cxx.
View newest version in sPHENIX GitHub at line 117 of file event.cxx
References compute_nuclear_thickness(), compute_observables(), compute_reduced_thickness_, npart_, TA_, and TB_.
Referenced by trento::Collider::run_events().
|
private |
Compute a nuclear thickness function (TA or TB) onto a grid for a given nucleus and nucleon profile. This destroys any data previously contained by the grid.
Definition at line 194 of file event.cxx.
View newest version in sPHENIX GitHub at line 194 of file event.cxx
References dxy_, trento::NucleonProfile::fluctuate(), npart_, nsteps_, physmon_track_finding_ttbar::r, trento::NucleonProfile::radius(), trento::NucleonProfile::thickness(), ambiguity_solver_full_chain::x, xymax_, and y.
Referenced by compute().
|
private |
Compute observables that require a second pass over the reduced thickness grid.
Definition at line 282 of file event.cxx.
View newest version in sPHENIX GitHub at line 282 of file event.cxx
References eccentricity_, ixcm_, iycm_, nsteps_, psi_, physmon_track_finding_ttbar::r, r2, t, TR_, ambiguity_solver_full_chain::x, Acts::Svg::View::xy(), and y.
Referenced by compute().
|
private |
Compute the reduced thickness function (TR) after computing TA and TB. Template parameter GenMean sets the actual function that returns TR(TA, TB). It is determined at runtime based on the configuration.
At midrapidity
If operating in the 3D mode, the 3D density_ array is filled with its value at eta=0 identical to TR_ array
Definition at line 240 of file event.cxx.
View newest version in sPHENIX GitHub at line 240 of file event.cxx
References cumulant_generating::calculate_dsdy(), cgf_, density_, deta_, dxy_, eta, eta2y_, etamax_, exp_ybeam_, cumulant_generating::interp_dsdy(), is3D(), ixcm_, iycm_, fast_eta2y::Jacobian(), mean(), mean_coeff_, mean_function(), multiplicity_, neta_, norm_, nsteps_, fast_eta2y::rapidity(), skew_coeff_, skew_function(), skew_type_, std_coeff_, std_function(), sum(), t, TA_, TB_, and TR_.
Referenced by Event().
|
inline |
|
inline |
|
inline |
|
inline |
Eccentricity harmonics \varepsilon_n
for n = 2–5. Returns a map of (n : \varepsilon_n)
pairs, so e.g.::
double e2 = event.eccentricity().at(2);
Definition at line 88 of file event.h.
View newest version in sPHENIX GitHub at line 88 of file event.h
References eccentricity_.
|
private |
Definition at line 127 of file event.cxx.
View newest version in sPHENIX GitHub at line 127 of file event.cxx
Referenced by compute_reduced_thickness(), and density_grid().
|
inline |
Multiplicity—or more specifically, total entropy. May be interpreted as dS/dy
or dS/d\eta
at midrapidity.
Definition at line 78 of file event.h.
View newest version in sPHENIX GitHub at line 78 of file event.h
References multiplicity_.
Referenced by trento::Collider::run_events().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
WK:
Definition at line 119 of file event.h.
View newest version in sPHENIX GitHub at line 119 of file event.h
References with_ncoll_.
|
private |
|
private |
cumulant generating approach
Definition at line 173 of file event.h.
View newest version in sPHENIX GitHub at line 173 of file event.h
Referenced by compute_reduced_thickness().
|
private |
An instantation of compute_reduced_thickness<GenMean> with a bound argument for GenMean. Created in the ctor. Implemented this way to allow the compiler to fully inline the GenMean function and only require a single "virtual" function call per event.
Definition at line 142 of file event.h.
View newest version in sPHENIX GitHub at line 142 of file event.h
|
private |
Definition at line 176 of file event.h.
View newest version in sPHENIX GitHub at line 176 of file event.h
Referenced by compute_reduced_thickness(), and density_grid().
|
private |
|
private |
Grid step size.
Definition at line 161 of file event.h.
View newest version in sPHENIX GitHub at line 161 of file event.h
Referenced by accumulate_TAB(), compute_nuclear_thickness(), compute_reduced_thickness(), and dxy().
|
private |
Eccentricity harmonics.
Definition at line 194 of file event.h.
View newest version in sPHENIX GitHub at line 194 of file event.h
Referenced by compute_observables(), and eccentricity().
|
private |
fast eta to y transformer.
Definition at line 170 of file event.h.
View newest version in sPHENIX GitHub at line 170 of file event.h
Referenced by compute_reduced_thickness().
|
private |
|
private |
Definition at line 154 of file event.h.
View newest version in sPHENIX GitHub at line 154 of file event.h
Referenced by compute_reduced_thickness().
|
private |
Center of mass coordinates in "units" of grid index (not fm).
Definition at line 182 of file event.h.
View newest version in sPHENIX GitHub at line 182 of file event.h
Referenced by compute_observables(), compute_reduced_thickness(), and mass_center_index().
|
private |
Definition at line 182 of file event.h.
View newest version in sPHENIX GitHub at line 182 of file event.h
Referenced by compute_observables(), compute_reduced_thickness(), and mass_center_index().
|
private |
Rapidity distribution cumulant coefficients.
Definition at line 157 of file event.h.
View newest version in sPHENIX GitHub at line 157 of file event.h
Referenced by compute_reduced_thickness().
|
private |
Multiplicity (total entropy).
Definition at line 191 of file event.h.
View newest version in sPHENIX GitHub at line 191 of file event.h
Referenced by compute_reduced_thickness(), and multiplicity().
|
private |
WK: Number of binary collisions.
Definition at line 188 of file event.h.
View newest version in sPHENIX GitHub at line 188 of file event.h
Referenced by accumulate_TAB(), clear_TAB(), and ncoll().
|
private |
Definition at line 164 of file event.h.
View newest version in sPHENIX GitHub at line 164 of file event.h
Referenced by compute_reduced_thickness().
|
private |
Normalization factor.
Definition at line 151 of file event.h.
View newest version in sPHENIX GitHub at line 151 of file event.h
Referenced by compute_reduced_thickness().
|
private |
|
private |
Number of grid steps.
Definition at line 164 of file event.h.
View newest version in sPHENIX GitHub at line 164 of file event.h
Referenced by accumulate_TAB(), clear_TAB(), compute_nuclear_thickness(), compute_observables(), and compute_reduced_thickness().
|
private |
WK: Initial density event planes.
Definition at line 197 of file event.h.
View newest version in sPHENIX GitHub at line 197 of file event.h
Referenced by compute_observables(), and participant_plane().
|
private |
|
private |
|
private |
Definition at line 157 of file event.h.
View newest version in sPHENIX GitHub at line 157 of file event.h
Referenced by compute_reduced_thickness().
|
private |
|
private |
Definition at line 179 of file event.h.
View newest version in sPHENIX GitHub at line 179 of file event.h
Referenced by accumulate_TAB(), clear_TAB(), and TAB_grid().
|
private |
|
private |
Reduced thickness and entropy (particle) density grids.
Definition at line 176 of file event.h.
View newest version in sPHENIX GitHub at line 176 of file event.h
Referenced by compute_observables(), compute_reduced_thickness(), and density_grid().
|
private |
WK:
Definition at line 200 of file event.h.
View newest version in sPHENIX GitHub at line 200 of file event.h
Referenced by with_ncoll().
|
private |
Grid xy maximum (half width).
Definition at line 167 of file event.h.
View newest version in sPHENIX GitHub at line 167 of file event.h
Referenced by accumulate_TAB(), and compute_nuclear_thickness().