#include <stringprocess.h>
String excitation processes used in SMASH.
Only one instance of this class should be created.
This class implements string excitation processes based on the UrQMD model Bass:1998ca [8], Bleicher:1999xi [13] and subsequent fragmentation according to the LUND/PYTHIA fragmentation scheme Andersson:1983ia [5], Sjostrand:2014zea [60], Bierlich:2022pfr [11].
The class implements the following functionality:
Definition at line 46 of file stringprocess.h.
Public Types | |
| enum class | LeadingStatus : int { LeadingQuark = 202 , LeadingDiquark = 63 , NonLeadingParton = 23 , FromLeadingQuark = 203 , FromLeadingDiquark = 204 } |
| PYTHIA status codes used to track leading/valence ancestry. More... | |
Public Member Functions | |
| StringProcess (Configuration &config) | |
| Constructor, initializes PYTHIA. More... | |
| void | common_setup_pythia (Pythia8::Pythia *pythia_in, double strange_supp, double diquark_supp, double popcorn_rate, double stringz_a, double stringz_b, double string_sigma_T) |
| Common setup of PYTHIA objects for soft and hard string routines. More... | |
| void | init_pythia_hadron_rndm () |
| Set PYTHIA random seeds to be desired values. More... | |
| void | tag_leading_hadrons (Pythia8::Event &event) |
| Tag leading hadrons in a hadronized string. More... | |
| bool | next (ProcessType type) |
| Generate the next string process for a given process type. More... | |
| bool | string_above_threshold (const Pythia8::Event &event) |
| Check whether all strings in a PYTHIA event are above fragmentation threshold. More... | |
| double | estimate_string_threshold (int p_left, int p_right) |
| Estimate the minimum invariant mass required for a string to fragment. More... | |
| void | set_color_by_type (Pythia8::Particle &p, int color) |
| Set the color or anticolor index of a particle according to its type. More... | |
| std::optional< ParticleList > | hadronize (const Pythia8::Event &string_evt) |
| Hadronize a single partonic string configuration using Pythia8 and convert the produced hadrons into SMASH particles. More... | |
| std::array< double, 3 > | cross_sections_diffractive (int pdg_a, int pdg_b, double sqrt_s) |
| Interface to pythia_sigmatot_ to compute cross-sections of A+B-> different final states Schuler:1993wr [56]. More... | |
| void | set_pmin_gluon_lightcone (double p_light_cone_min) |
| set the minimum lightcone momentum scale carried by gluon. More... | |
| void | set_pow_fgluon (double betapow) |
| lightcone momentum fraction of gluon is sampled according to probability distribution P(x) = 1/x * (1 - x)^{1 + pow_fgluon_beta_} in double-diffractive processes. More... | |
| void | set_pow_fquark (double alphapow, double betapow) |
| lightcone momentum fraction of quark is sampled according to probability distribution \( P(x) = x^{pow_fquark_alpha_ - 1} * (1 - x)^{pow_fquark_beta_ - 1} \) in non-diffractive processes. More... | |
| void | set_sigma_qperp_ (double sigma_qperp) |
| set the average amount of transverse momentum transfer sigma_qperp_. More... | |
| void | set_tension_string (double kappa_string) |
| set the string tension, which is used in form_intermediate_particles. More... | |
| void | set_mpi_initialization_sqrts (double sqrts) |
| Set the center-of-mass energy used to initialize MPI-capable Pythia objects. More... | |
| void | init (const ParticleList &incoming, double tcoll) |
| initialization feed intial particles, time of collision and gamma factor of the center of mass. More... | |
| void | compute_incoming_lightcone_momenta () |
| compute the lightcone momenta of incoming particles where the longitudinal direction is set to be same as that of the three-momentum of particle A. More... | |
| void | replace_constituent (Pythia8::Particle &particle, std::array< int, 5 > &excess_constituent) |
| Convert a partonic PYTHIA particle into the desired species and update the excess of constituents. More... | |
| void | find_total_number_constituent (Pythia8::Event &event_intermediate, std::array< int, 5 > &nquark_total, std::array< int, 5 > &nantiq_total) |
| Compute how many quarks and antiquarks we have in the system, and update the correspoing arrays with size 5. More... | |
| bool | splitting_gluon_qqbar (Pythia8::Event &event_intermediate, std::array< int, 5 > &nquark_total, std::array< int, 5 > &nantiq_total, bool sign_constituent, std::array< std::array< int, 5 >, 2 > &excess_constituent) |
| Take total number of quarks and check if the system has enough constituents that need to be converted into other flavors. More... | |
| void | rearrange_excess (std::array< int, 5 > &nquark_total, std::array< std::array< int, 5 >, 2 > &excess_quark, std::array< std::array< int, 5 >, 2 > &excess_antiq) |
| Take total number of quarks and check if the system has enough constituents that need to be converted into other flavors. More... | |
| bool | restore_constituent (Pythia8::Event &event_intermediate, std::array< std::array< int, 5 >, 2 > &excess_quark, std::array< std::array< int, 5 >, 2 > &excess_antiq) |
| Take the intermediate partonic state from PYTHIA event with mapped hadrons and convert constituents into the desired ones according to the excess of quarks and anti-quarks. More... | |
| void | compose_string_parton (bool find_forward_string, Pythia8::Event &event_intermediate, Pythia8::Event &event_hadronize) |
| Identify a set of partons, which are connected to form a color-neutral string, from a given PYTHIA event record. More... | |
| void | compose_string_junction (bool &find_forward_string, Pythia8::Event &event_intermediate, Pythia8::Event &event_hadronize) |
| Identify a set of partons and junction(s), which are connected to form a color-neutral string, from a given PYTHIA event record. More... | |
| void | find_junction_leg (bool sign_color, std::vector< int > &col, Pythia8::Event &event_intermediate, Pythia8::Event &event_hadronize) |
| Identify partons, which are associated with junction legs, from a given PYTHIA event record. More... | |
| int | get_index_forward (bool find_forward, int np_end, Pythia8::Event &event) |
| Obtain index of the most forward or backward particle in a given PYTHIA event record. More... | |
| void | form_intermediate_particles (ParticleList &intermediate_particles, const FourVector &pString, const ThreeVector &evecLong, double additional_xsec_supp=1.0, bool find_and_scale_leading=true) |
| Set formation times and cross-section scaling factors for fragmented hadrons as described in Andersson:1983ia [5]. More... | |
| double | getPPosA () |
| double | getPNegA () |
| double | getPPosB () |
| double | getPnegB () |
| double | get_massA () |
| double | get_massB () |
| double | get_sqrts () |
| std::array< PdgCode, 2 > | get_PDGs () |
| std::array< FourVector, 2 > | get_plab () |
| std::array< FourVector, 2 > | get_pcom () |
| FourVector | get_ucom () |
| ThreeVector | get_vcom () |
| double | get_tcoll () |
| ParticleList | get_final_state () |
Static Public Member Functions | |
| static FourVector | make_smash_4vec (const Pythia8::Vec4 &p) |
| Convert a PYTHIA four-vector into a SMASH four-vector. More... | |
| static Pythia8::Vec4 | make_pythia_4vec (const FourVector &p) |
| Convert a SMASH four-vector into a PYTHIA four-vector. More... | |
| static void | make_orthonormal_basis (ThreeVector &evec_polar, std::array< ThreeVector, 3 > &evec_basis) |
| compute three orthonormal basis vectors from unit vector in the longitudinal direction More... | |
| static void | find_excess_constituent (PdgCode &pdg_actual, PdgCode &pdg_mapped, std::array< int, 5 > &excess_quark, std::array< int, 5 > &excess_antiq) |
| Compare the valence quark contents of the actual and mapped hadrons and evaluate how many more constituents the actual hadron has compared to the mapped one. More... | |
| static bool | append_intermediate_list (int pdgid, FourVector momentum, ParticleList &intermediate_particles) |
| append new particle from PYTHIA to a specific particle list More... | |
| static void | convert_KaonLS (int &pythia_id) |
| convert Kaon-L or Kaon-S into K0 or Anti-K0 More... | |
| static void | quarks_from_diquark (int diquark, int &q1, int &q2, int °_spin) |
| find two quarks from a diquark. More... | |
| static int | diquark_from_quarks (int q1, int q2) |
| Construct diquark from two quarks. More... | |
| static void | make_string_ends (const PdgCode &pdgcode_in, int &idq1, int &idq2, double xi) |
| make a random selection to determine partonic contents at the string ends. More... | |
| static void | assign_all_scaling_factors (int baryon_string, ParticleList &outgoing_particles, const ThreeVector &evecLong, double suppression_factor) |
| Assign a cross section scaling factor to all outgoing particles. More... | |
| static std::pair< int, int > | find_leading (int nq1, int nq2, ParticleList &list) |
| Find the leading string fragments. More... | |
| static void | assign_scaling_factor (int nquark, ParticleData &data, double suppression_factor) |
| Assign a cross section scaling factor to the given particle. More... | |
| static int | pdg_map_for_pythia (PdgCode &pdg) |
| Take pdg code and map onto particle specie which can be handled by PYTHIA. More... | |
Public Attributes | |
| Pythia8::RotBstMatrix | to_cm_ |
| Rotation/boost matrix to transform particles to the center-of-mass frame. More... | |
Private Types | |
| typedef std::map< std::pair< int, int >, std::unique_ptr< Pythia8::Pythia > > | pythia_map |
| Map containing PYTHIA objects for hard string routines. More... | |
Private Member Functions | |
| std::vector< bool > | compute_beam_valence_flags (Pythia8::Pythia &pythia) |
| Compute flags identifying beam valence partons (quarks or diquarks) that act as leading partons after the initial interaction. More... | |
| int | leading_hadron_status_from_endpoint (const Pythia8::Particle &end) |
| Determine the custom leading-hadron status code from a string endpoint. More... | |
| bool | is_leading_parton (const Pythia8::Particle &p) |
| Check whether a particle is tagged as a leading parton. More... | |
| bool | is_leading_from_quark (const Pythia8::Particle &p) |
| Check whether a particle is tagged as originating from a leading quark. More... | |
| bool | is_leading_from_diquark (const Pythia8::Particle &p) |
| Check whether a particle is tagged as originating from a leading diquark. More... | |
| bool | is_leading (const Pythia8::Particle &p) |
| Check whether a particle is tagged as originating from a leading endpoint. More... | |
| bool | append_string (const Pythia8::Vec4 &p_str, const std::array< int, 2 > &ends, int color_tag, bool use_projectile_axis, bool random_flip_of_endpoints=false) |
| Append a single two-endpoint string as an independent PYTHIA event. More... | |
| bool | next_SDiff (bool is_AB_to_AX) |
| Single-diffractive process is based on single pomeron exchange described in Ingelman:1984ns [32]. More... | |
| bool | next_DDiff () |
| Double-diffractive process ( A + B -> X + X ) is similar to the single-diffractive process, but lightcone momenta of gluons are sampled in the same was as the UrQMD model Bass:1998ca [8], Bleicher:1999xi [13]. More... | |
| bool | next_NDiffSoft () |
| Soft Non-diffractive process is modelled in accordance with dual-topological approach Capella:1978ig [18]. More... | |
| bool | next_Hard (ProcessType type) |
| Hard Non-diffractive process is based on PYTHIA 8 with partonic showers and interactions. More... | |
| bool | next_BBbarAnn () |
| Baryon-antibaryon annihilation process Based on what UrQMD Bass:1998ca [8], Bleicher:1999xi [13] does, it create two mesonic strings after annihilating one quark-antiquark pair. More... | |
Private Attributes | |
| double | PPosA_ |
| forward lightcone momentum p^{+} of incoming particle A in CM-frame [GeV] More... | |
| double | PPosB_ |
| forward lightcone momentum p^{+} of incoming particle B in CM-frame [GeV] More... | |
| double | PNegA_ |
| backward lightcone momentum p^{-} of incoming particle A in CM-frame [GeV] More... | |
| double | PNegB_ |
| backward lightcone momentum p^{-} of incoming particle B in CM-frame [GeV] More... | |
| double | massA_ |
| mass of incoming particle A [GeV] More... | |
| double | massB_ |
| mass of incoming particle B [GeV] More... | |
| double | sqrtsAB_ |
| sqrt of Mandelstam variable s of collision [GeV] More... | |
| std::array< PdgCode, 2 > | PDGcodes_ |
| PdgCodes of incoming particles. More... | |
| std::array< FourVector, 2 > | plab_ |
| momenta of incoming particles in the lab frame [GeV] More... | |
| std::array< FourVector, 2 > | pcom_ |
| momenta of incoming particles in the center of mass frame [GeV] More... | |
| FourVector | ucomAB_ |
| velocity four vector of the center of mass in the lab frame More... | |
| ThreeVector | vcomAB_ |
| velocity three vector of the center of mass in the lab frame More... | |
| std::array< ThreeVector, 3 > | evecBasisAB_ |
| Orthonormal basis vectors in the center of mass frame, where the 0th one is parallel to momentum of incoming particle A. More... | |
| double | pmin_gluon_lightcone_ |
| the minimum lightcone momentum scale carried by a gluon [GeV] More... | |
| double | pow_fgluon_beta_ |
| parameter \(\beta\) for the gluon distribution function \( P(x) = x^{-1} (1 - x)^{1 + \beta} \) More... | |
| double | pow_fquark_alpha_ |
| parameter \(\alpha\) for the quark distribution function \( P(x) = x^{\alpha - 1} (1 - x)^{\beta - 1} \) More... | |
| double | pow_fquark_beta_ |
| parameter \(\beta\) for the quark distribution function \( P(x) = x^{\alpha - 1} (1 - x)^{\beta - 1} \) More... | |
| double | sigma_qperp_ |
| Transverse momentum spread of the excited strings. More... | |
| double | stringz_a_leading_ |
| parameter (StringZ:aLund) for the fragmentation function of leading baryon in soft non-diffractive string processes More... | |
| double | stringz_b_leading_ |
| parameter (StringZ:bLund) for the fragmentation function of leading baryon in soft non-diffractive string processes More... | |
| double | stringz_a_produce_ |
| parameter (StringZ:aLund) for the fragmentation function of other (produced) hadrons in soft non-diffractive string processes More... | |
| double | stringz_b_produce_ |
| parameter (StringZ:bLund) for the fragmentation function of other (produced) hadrons in soft non-diffractive string processes More... | |
| double | strange_supp_ |
| strange quark suppression factor More... | |
| double | diquark_supp_ |
| diquark suppression factor More... | |
| double | popcorn_rate_ |
| popcorn rate More... | |
| double | damp_popcorn_ |
| damp popcorn meson from diquark remnant endpoint rate More... | |
| double | string_sigma_T_ |
| transverse momentum spread in string fragmentation More... | |
| double | kappa_tension_string_ |
| string tension [GeV/fm] More... | |
| double | time_formation_const_ |
| constant proper time in the case of constant formation time [fm] More... | |
| double | soft_t_form_ |
| factor to be multiplied to formation times in soft strings More... | |
| double | time_collision_ |
| time of collision in the computational frame [fm] More... | |
| bool | mass_dependent_formation_times_ |
| Whether the formation time should depend on the mass of the fragment according to Andersson:1983ia [5] eq. More... | |
| double | prob_proton_to_d_uu_ |
| Probability of splitting a nucleon into the quark flavour it has only once and a diquark it has twice. More... | |
| bool | separate_fragment_baryon_ |
| Whether to use a separate fragmentation function for leading baryons. More... | |
| bool | use_monash_tune_ |
| Whether to use the monash tune Skands:2014pea [61] for all string processes. More... | |
| double | additional_xsec_supp_ |
| additional cross-section suppression factor to take coherence effect into account. More... | |
| std::optional< double > | mpi_initialization_sqrts_ |
| Optional center-of-mass energy used to initialize MPI-capable Pythia objects. More... | |
| std::vector< std::string > | pythia_settings_ |
| Additional Pythia 8 settings passed to each internal Pythia instance. More... | |
| ParticleList | final_state_ |
| final state array which must be accessed after the collision More... | |
| pythia_map | hard_map_ |
| Map object to contain the different pythia objects. More... | |
| std::unique_ptr< Pythia8::Pythia > | pythia_hadron_ |
| PYTHIA object used in fragmentation. More... | |
| Pythia8::SigmaTotal | pythia_sigmatot_ |
| An object to compute cross-sections. More... | |
| Pythia8::StringFlav | pythia_stringflav_ |
| An object for the flavor selection in string fragmentation in the case of separate fragmentation function for leading baryon. More... | |
| Pythia8::Event | event_intermediate_ |
| event record for intermediate partonic state in the hard string routine More... | |
| std::vector< Pythia8::Event > | string_parton_events_ |
| PYTHIA event records containing string partons to be hadronized. More... | |
|
private |
Map containing PYTHIA objects for hard string routines.
Particle IDs are used as the keys to obtain the respective object. This was introduced to reduce the amount of Pythia init() calls.
Definition at line 288 of file stringprocess.h.
|
strong |
PYTHIA status codes used to track leading/valence ancestry.
PYTHIA uses integer status codes to classify particles in the event record. SMASH uses a combination of standard PYTHIA codes and custom internal codes to tag leading partons and hadrons originating from leading quark/diquark endpoints.
Custom values are chosen to avoid collisions with commonly used PYTHIA internal codes. Standard PYTHIA values are used deliberately where they activate specific hadronization machinery.
| Enumerator | |
|---|---|
| LeadingQuark | Custom status assigned to leading (valence) quarks. |
| LeadingDiquark | Standard PYTHIA beam-remnant status used for leading diquarks. Leading diquarks are assigned status 63 so that PYTHIA treats them as beam remnants during hadronization. This allows PYTHIA's beam remnant machinery to be used for leading baryon production, including popcorn suppression and the optional hard-remnant-baryon treatment. In particular, when BeamRemnants:hardRemnantBaryon is enabled, PYTHIA replaces the standard Lund symmetric fragmentation function for the leading baryon by a dedicated remnant-baryon fragmentation function controlled by BeamRemnants:aRemnantBaryon and BeamRemnants:bRemnantBaryon. This produces harder leading baryons than ordinary string fragmentation. Therefore status 63 is intentionally used here rather than a custom status code. |
| NonLeadingParton | Standard PYTHIA status for non-leading partons that should be hadronized. The PYTHIA manual recommends status 23 for particles provided as input to standalone hadronization. The precise value is not physically important here, but using the recommended status keeps the event record conventional. See: https://pythia.org/latest-manual/HadronLevelStandalone.html |
| FromLeadingQuark | Custom status assigned to hadrons containing a leading quark. |
| FromLeadingDiquark | Custom status assigned to hadrons containing a leading diquark. |
Definition at line 454 of file stringprocess.h.
|
explicit |
Constructor, initializes PYTHIA.
Should only be called once.
All parameters are taken from config via Configuration::take.
| [in,out] | config | SMASH configuration object (keys are consumed) |
Definition at line 29 of file stringprocess.cc.
|
private |
Compute flags identifying beam valence partons (quarks or diquarks) that act as leading partons after the initial interaction.
The returned vector is aligned with the current Pythia event record (pythia.event): each entry is true if the corresponding particle is a valence parton originating from one of the incoming beam particles, i.e. a quark or diquark that carries the beam quantum numbers and should be considered "leading".
This typically includes valence quarks extracted during the initial scattering, as well as surviving diquark remnants of the beam.
| [in,out] | pythia | Pythia instance containing the event to inspect. |
Definition at line 775 of file stringprocess.cc.
|
inlineprivate |
Determine the custom leading-hadron status code from a string endpoint.
For a string endpoint particle, return the appropriate SMASH leading status: diquark endpoints map to FROM_Leading_Diquark, otherwise FROM_Leading_Quark.
| [in] | end | String endpoint particle (quark or diquark). |
Definition at line 222 of file stringprocess.h.
|
inlineprivate |
Check whether a particle is tagged as a leading parton.
| [in] | p | Pythia particle. |
Definition at line 234 of file stringprocess.h.
|
inlineprivate |
Check whether a particle is tagged as originating from a leading quark.
| [in] | p | Pythia particle. |
Definition at line 246 of file stringprocess.h.
|
inlineprivate |
Check whether a particle is tagged as originating from a leading diquark.
| [in] | p | Pythia particle. |
Definition at line 257 of file stringprocess.h.
|
inlineprivate |
Check whether a particle is tagged as originating from a leading endpoint.
This is the union of is_leading_from_quark() and is_leading_from_diquark().
| [in] | p | Pythia particle. |
Definition at line 272 of file stringprocess.h.
|
private |
Append a single two-endpoint string as an independent PYTHIA event.
A minimal partonic event is constructed containing a string with the specified endpoint flavors and total four-momentum. The endpoint momenta are determined from two-body kinematics in the string rest frame and are aligned with either the projectile or target beam direction before being boosted back to the collision frame.
Strings whose invariant mass is below the estimated fragmentation threshold are rejected.
| [in] | p_str | Four-momentum of the string. |
| [in] | ends | PDG ids of the two string endpoints. |
| [in] | color_tag | Color tag used to connect the string endpoints. |
| [in] | use_projectile_axis | Whether to align the string with the projectile beam direction. If false, the target beam direction is used. |
| [in] | random_flip_of_endpoints | Whether to randomly reverse the order of the two string endpoints before assigning endpoint momenta. |
Definition at line 433 of file stringprocess.cc.
|
private |
Single-diffractive process is based on single pomeron exchange described in Ingelman:1984ns [32].
| [in] | is_AB_to_AX | specifies which hadron to excite into a string. true : A + B -> A + X, false : A + B -> X + B |
Definition at line 513 of file stringprocess.cc.
|
private |
Double-diffractive process ( A + B -> X + X ) is similar to the single-diffractive process, but lightcone momenta of gluons are sampled in the same was as the UrQMD model Bass:1998ca [8], Bleicher:1999xi [13].
String masses are computed after pomeron exchange aquiring transverse momentum transfer.
Definition at line 581 of file stringprocess.cc.
|
private |
Soft Non-diffractive process is modelled in accordance with dual-topological approach Capella:1978ig [18].
This involves a parton exchange in conjunction with momentum transfer. Probability distribution function of the lightcone momentum fraction carried by quark is based on the UrQMD model Bass:1998ca [8], Bleicher:1999xi [13].
| std::runtime_error | if incoming particles are neither mesonic nor baryonic |
Definition at line 715 of file stringprocess.cc.
|
private |
Hard Non-diffractive process is based on PYTHIA 8 with partonic showers and interactions.
Definition at line 993 of file stringprocess.cc.
|
private |
Baryon-antibaryon annihilation process Based on what UrQMD Bass:1998ca [8], Bleicher:1999xi [13] does, it create two mesonic strings after annihilating one quark-antiquark pair.
Each string has mass equal to half of sqrts.
| std::invalid_argument | if incoming particles are not baryon-antibaryon pair |
Definition at line 620 of file stringprocess.cc.
| void smash::StringProcess::common_setup_pythia | ( | Pythia8::Pythia * | pythia_in, |
| double | strange_supp, | ||
| double | diquark_supp, | ||
| double | popcorn_rate, | ||
| double | stringz_a, | ||
| double | stringz_b, | ||
| double | string_sigma_T | ||
| ) |
Common setup of PYTHIA objects for soft and hard string routines.
| [out] | pythia_in | pointer to the PYTHIA object |
| [in] | strange_supp | strangeness suppression factor (StringFlav:probStoUD) in fragmentation |
| [in] | diquark_supp | diquark suppression factor (StringFlav:probQQtoQ) in fragmentation |
| [in] | popcorn_rate | parameter (StringFlav:popcornRate) to determine the production rate of popcorn mesons from the diquark end of a string. |
| [in] | stringz_a | parameter (StringZ:aLund) for the fragmentation function |
| [in] | stringz_b | parameter (StringZ:bLund) for the fragmentation function |
| [in] | string_sigma_T | transverse momentum spread (StringPT:sigma) in fragmentation [GeV] |
Definition at line 102 of file stringprocess.cc.
|
inline |
Set PYTHIA random seeds to be desired values.
The value is recalculated such that it is allowed by PYTHIA.
Definition at line 435 of file stringprocess.h.
| void smash::StringProcess::tag_leading_hadrons | ( | Pythia8::Event & | event | ) |
Tag leading hadrons in a hadronized string.
After string fragmentation, this function identifies the hadrons that originate from the leading string endpoints and assigns them a custom status code (see LeadingStatus).
The procedure is:
Diquark endpoints are processed before quark endpoints to ensure that leading baryons are preferentially associated with beam-remnant diquarks. A hadron can only be tagged once.
For diquark endpoints, only baryons with matching baryon-number sign are considered. Quark endpoints may tag either mesons or baryons, but baryons must again have a compatible baryon-number sign.
The event is temporarily transformed into the string rest frame during the identification procedure and restored to its original frame before returning.
| [in,out] | event | Hadronized Pythia event. The event is modified in-place by assigning custom status codes to identified leading hadrons. |
Definition at line 865 of file stringprocess.cc.
|
inlinestatic |
|
inlinestatic |
| bool smash::StringProcess::next | ( | ProcessType | type | ) |
Generate the next string process for a given process type.
| [in] | type | Type of string process to generate. |
Definition at line 259 of file stringprocess.cc.
| bool smash::StringProcess::string_above_threshold | ( | const Pythia8::Event & | event | ) |
Check whether all strings in a PYTHIA event are above fragmentation threshold.
| [in] | event | PYTHIA event record containing the string partons. |
Definition at line 1350 of file stringprocess.cc.
| double smash::StringProcess::estimate_string_threshold | ( | int | p_left, |
| int | p_right | ||
| ) |
Estimate the minimum invariant mass required for a string to fragment.
| [in] | p_left | Index of the left string endpoint in the PYTHIA event. |
| [in] | p_right | Index of the right string endpoint in the PYTHIA event. |
Definition at line 1297 of file stringprocess.cc.
| void smash::StringProcess::set_color_by_type | ( | Pythia8::Particle & | p, |
| int | color | ||
| ) |
Set the color or anticolor index of a particle according to its type.
Quarks receive a color index, antiquarks receive an anticolor index, and diquarks are treated according to their PYTHIA color-flow convention.
| [out] | p | Particle whose color information is modified. |
| [in] | color | Color tag to assign. |
Definition at line 1331 of file stringprocess.cc.
| std::optional< ParticleList > smash::StringProcess::hadronize | ( | const Pythia8::Event & | string_evt | ) |
Hadronize a single partonic string configuration using Pythia8 and convert the produced hadrons into SMASH particles.
The input event is interpreted as a single color-singlet string system. Fragmentation is performed in the string rest frame. The produced hadrons are converted to SMASH ParticleData objects, assigned formation times and cross-section scaling factors, and finally boosted out of the string rest frame.
Leading hadrons originating from valence quark or diquark endpoints may be identified and assigned reduced cross sections according to the leading-hadron prescription.
| [in] | string_evt | Partonic string event to hadronize. |
Definition at line 310 of file stringprocess.cc.
|
inline |
Interface to pythia_sigmatot_ to compute cross-sections of A+B-> different final states Schuler:1993wr [56].
| [in] | pdg_a | pdg code of incoming particle A |
| [in] | pdg_b | pdg code of incoming particle B |
| [in] | sqrt_s | collision energy in the center of mass frame [GeV] |
Definition at line 618 of file stringprocess.h.
|
inline |
set the minimum lightcone momentum scale carried by gluon.
Must be cleaned up if necessary. This is relevant for the double-diffractive process. The minimum lightcone momentum fraction is set to be pmin_gluon_lightcone_/sqrtsAB.
| p_light_cone_min | a value that we want to use for pmin_gluon_lightcone_. |
Definition at line 654 of file stringprocess.h.
|
inline |
lightcone momentum fraction of gluon is sampled according to probability distribution P(x) = 1/x * (1 - x)^{1 + pow_fgluon_beta_} in double-diffractive processes.
| betapow | is a value that we want to use for pow_fgluon_beta_. |
Definition at line 664 of file stringprocess.h.
|
inline |
lightcone momentum fraction of quark is sampled according to probability distribution \( P(x) = x^{pow_fquark_alpha_ - 1} * (1 - x)^{pow_fquark_beta_ - 1} \) in non-diffractive processes.
| alphapow | is a value that we want to use for pow_fquark_alpha_. |
| betapow | is a value that we want to use for pow_fquark_beta_. |
Definition at line 673 of file stringprocess.h.
|
inline |
set the average amount of transverse momentum transfer sigma_qperp_.
| sigma_qperp | is a value that we want to use for sigma_qperp_. |
Definition at line 681 of file stringprocess.h.
|
inline |
set the string tension, which is used in form_intermediate_particles.
| kappa_string | is a value that we want to use for string tension. |
Definition at line 686 of file stringprocess.h.
|
inline |
Set the center-of-mass energy used to initialize MPI-capable Pythia objects.
If no value is set, the initialization energy is determined from the incoming hadrons.
| sqrts | Center-of-mass energy [GeV] used for MPI initialization. |
Definition at line 699 of file stringprocess.h.
| void smash::StringProcess::init | ( | const ParticleList & | incoming, |
| double | tcoll | ||
| ) |
initialization feed intial particles, time of collision and gamma factor of the center of mass.
| [in] | incoming | is the list of initial state particles. |
| [in] | tcoll | is time of collision. |
Definition at line 226 of file stringprocess.cc.
|
static |
compute three orthonormal basis vectors from unit vector in the longitudinal direction
| [in] | evec_polar | unit three-vector in the longitudinal direction |
| [out] | evec_basis | orthonormal basis vectors of which evec_basis[0] is in the longitudinal direction while evec_basis[1] and evec_basis[2] span the transverse plane. |
Definition at line 2169 of file stringprocess.cc.
| void smash::StringProcess::compute_incoming_lightcone_momenta | ( | ) |
compute the lightcone momenta of incoming particles where the longitudinal direction is set to be same as that of the three-momentum of particle A.
Definition at line 2218 of file stringprocess.cc.
|
static |
Compare the valence quark contents of the actual and mapped hadrons and evaluate how many more constituents the actual hadron has compared to the mapped one.
excess_quark[i - 1] is how many more quarks with flavor i (PDG id i) pdg_actual has compared to pdg_mapped. excess_antiq[i - 1] is how many more antiquarks with flavor i (PDG id -i) pdg_actual has compared to pdg_mapped.
| [in] | pdg_actual | PDG code of actual incoming particle. |
| [in] | pdg_mapped | PDG code of mapped particles used in PYTHIA event generation. |
| [out] | excess_quark | excess of quarks. |
| [out] | excess_antiq | excess of anti-quarks. |
Definition at line 1420 of file stringprocess.cc.
| void smash::StringProcess::replace_constituent | ( | Pythia8::Particle & | particle, |
| std::array< int, 5 > & | excess_constituent | ||
| ) |
Convert a partonic PYTHIA particle into the desired species and update the excess of constituents.
If the quark flavor i is converted into another flavor j, excess_constituent[i - 1] increases by 1 and excess_constituent[j - 1] decreases by 1. Note that this happens only if excess_constituent[i - 1] < 0 and excess_constituent[j - 1] > 0 (i.e., the incoming hadron has more constituents with flavor j and less constituents with flavor i, compared to the mapped hadron), so they get closer to 0 after the function call.
| [out] | particle | PYTHIA particle object to be converted. |
| [out] | excess_constituent | excess in the number of quark constituents. If the particle has positive (negative) quark number, excess of quarks (anti-quarks) should be used. |
Definition at line 1454 of file stringprocess.cc.
| void smash::StringProcess::find_total_number_constituent | ( | Pythia8::Event & | event_intermediate, |
| std::array< int, 5 > & | nquark_total, | ||
| std::array< int, 5 > & | nantiq_total | ||
| ) |
Compute how many quarks and antiquarks we have in the system, and update the correspoing arrays with size 5.
Note that elements of the array (0, 1, 2, 3, 4) correspond to d, u, s, c, b flavors.
| [in] | event_intermediate | PYTHIA partonic event record which contains output from PYTHIA (hard) event generation. |
| [out] | nquark_total | total number of quarks in the system. This is computed based on event_intermediate. |
| [out] | nantiq_total | total number of antiquarks in the system. This is computed based on event_intermediate. |
Definition at line 1539 of file stringprocess.cc.
| bool smash::StringProcess::splitting_gluon_qqbar | ( | Pythia8::Event & | event_intermediate, |
| std::array< int, 5 > & | nquark_total, | ||
| std::array< int, 5 > & | nantiq_total, | ||
| bool | sign_constituent, | ||
| std::array< std::array< int, 5 >, 2 > & | excess_constituent | ||
| ) |
Take total number of quarks and check if the system has enough constituents that need to be converted into other flavors.
If that is not the case, a gluon is splitted into a quark-antiquark pair with desired flavor, so that their flavor can be changed afterwards. For example, if there is no antiquark in the system and we have excess_antiq = (1, -1, 0, 0, 0) (i.e., one ubar has to be converted into dbar), a gluon will be splitted into u-ubar pair.
| [out] | event_intermediate | PYTHIA partonic event record to be updated when a gluon happens to split into a qqbar pair. |
| [out] | nquark_total | total number of quarks in the system. This is computed based on event_intermediate. |
| [out] | nantiq_total | total number of antiquarks in the system. This is computed based on event_intermediate. |
| [in] | sign_constituent | true (false) if want to check quarks (antiquarks) and their excesses. |
| [in] | excess_constituent | excess in the number of quark constituents. If sign_constituent is true (false), excess of quarks (anti-quarks) should be used. |
Definition at line 1568 of file stringprocess.cc.
| void smash::StringProcess::rearrange_excess | ( | std::array< int, 5 > & | nquark_total, |
| std::array< std::array< int, 5 >, 2 > & | excess_quark, | ||
| std::array< std::array< int, 5 >, 2 > & | excess_antiq | ||
| ) |
Take total number of quarks and check if the system has enough constituents that need to be converted into other flavors.
If that is not the case, excesses of quarks and antiquarks are modified such that the net quark number of each flavor is conserved. For example, if there is no antiquark in the system and we have excess_antiq = (1, -1, 0, 0, 0) (i.e., one ubar has to be converted into dbar), excess_antiq will be changed into (0, 0, 0, 0, 0) and (-1, 1, 0, 0, 0) will be added to excess_quark (i.e., one d quark has to be converted into u quark instead).
Number of quarks is checked if the first argument is the total number of quarks, and the second and third arguments are respectively excesses of quarks and antiquarks. Number of antiquarks is checked if the first argument is the total number of antiquarks, and the second and third arguments are respectively excesses of antiquarks and quarks.
| [in] | nquark_total | total number of quarks (antiquarks) in the system. |
| [out] | excess_quark | excess of quarks (antiquarks) in incoming particles, compared to the mapped ones. |
| [out] | excess_antiq | excess of anti-quarks (quarks) in incoming particles, compared to the mapped ones. |
Definition at line 1701 of file stringprocess.cc.
| bool smash::StringProcess::restore_constituent | ( | Pythia8::Event & | event_intermediate, |
| std::array< std::array< int, 5 >, 2 > & | excess_quark, | ||
| std::array< std::array< int, 5 >, 2 > & | excess_antiq | ||
| ) |
Take the intermediate partonic state from PYTHIA event with mapped hadrons and convert constituents into the desired ones according to the excess of quarks and anti-quarks.
Quark (antiquark) flavor is changed and excess of quark (antiquark) is also updated by calling StringProcess::replace_constituent. Beginning with the most forward (or backward) constituent, conversion is done until the total net quark number of each flavor is same with that of incoming hadrons. (i.e., excess_quark minus excess_antiq of incoming hadrons becomes zero.)
However, note that there are some circumstances where this procedure is not directly carried out. For example, a proton-kaon(+) collision mapped onto a proton-pion(+) might be an issue if it involves d + dbar -> g g partonic interaction, given that we anticipate to change dbar to sbar. If such case occurs, we first try to split gluon into quark-antiquark pair with desired flavor. If there are not enough gluons to split, we try to modify the excesses of constituents such that the net quark number is conserved.
| [out] | event_intermediate | PYTHIA partonic event record to be updated according to the valence quark contents of incoming hadrons. |
| [out] | excess_quark | excess of quarks in incoming particles, compared to the mapped ones. |
| [out] | excess_antiq | excess of anti-quarks in incoming particles, compared to the mapped ones. |
Definition at line 1758 of file stringprocess.cc.
| void smash::StringProcess::compose_string_parton | ( | bool | find_forward_string, |
| Pythia8::Event & | event_intermediate, | ||
| Pythia8::Event & | event_hadronize | ||
| ) |
Identify a set of partons, which are connected to form a color-neutral string, from a given PYTHIA event record.
All partons found are moved into a new event record for the further hadronization process. Note that col and acol of Pythia8::Particle contain information on the color flow. This function begins with the most forward (or backward) parton.
For example, quark (col = 1, acol = 0), gluon (col = 2, acol = 1) and antiquark (col = 0, acol = 2) correspond to a \( \bar{q} \, g \, q \) mesonic string. quark (col = 1, acol = 0) and diquark (col = 0, acol = 1) correspond to a \( qq \, q\) baryonic string.
| [in] | find_forward_string | If it is set to be true (false), it begins with forward (backward) parton. |
| [out] | event_intermediate | PYTHIA event record from which a string is identified. All partons found here are removed. |
| [out] | event_hadronize | PYTHIA event record to which partons in a string are added. |
Definition at line 1917 of file stringprocess.cc.
| void smash::StringProcess::compose_string_junction | ( | bool & | find_forward_string, |
| Pythia8::Event & | event_intermediate, | ||
| Pythia8::Event & | event_hadronize | ||
| ) |
Identify a set of partons and junction(s), which are connected to form a color-neutral string, from a given PYTHIA event record.
All partons found are moved into a new event record for the further hadronization process. Junction topology in PYTHIA combines three quarks (antiquarks) to make a color-neutral baryonic (anti-baryonic) configuration. A junction (anti-junction) carries three color (anti-color) indices which are connected with quarks (antiquarks). This function begins with the first junction.
For example, if there is a kind-1 junction with legs (col = 1, 2 and 3), it will first look for three partons with color indices col = 1, 2 and 3 and trace color indices until each leg is `‘closed’' with quark. If there is no quark in the end, there should be an anti-junction and its legs are connected to partons with corresponding anti-colors.
| [out] | find_forward_string | If it is set to be true (false), it is a string in the forward (backward) direction. |
| [out] | event_intermediate | PYTHIA event record from which a string is identified. All partons and junction(s) found here are removed. |
| [out] | event_hadronize | PYTHIA event record to which partons in a string are added. |
Definition at line 2005 of file stringprocess.cc.
| void smash::StringProcess::find_junction_leg | ( | bool | sign_color, |
| std::vector< int > & | col, | ||
| Pythia8::Event & | event_intermediate, | ||
| Pythia8::Event & | event_hadronize | ||
| ) |
Identify partons, which are associated with junction legs, from a given PYTHIA event record.
All partons found are moved into a new event record for the further hadronization process.
| [in] | sign_color | true (false) if the junction is associated with color (anti-color) indices, corresponding baryonic (anti-baryonic) string |
| [out] | col | set of color indices that need to be found. The value is set to be zero once the corresponding partons are found. |
| [out] | event_intermediate | PYTHIA event record from which a string is identified. All partons and junction(s) found here are removed. |
| [out] | event_hadronize | PYTHIA event record to which partons in a string are added. |
Definition at line 2108 of file stringprocess.cc.
|
inline |
Obtain index of the most forward or backward particle in a given PYTHIA event record.
| [in] | find_forward | if it looks for the most forward or backward particle. |
| [in] | np_end | number of the last particle entries to be excluded in lookup. In other words, it finds the most forward (or backward) particle among event[1, ... , event.size() - 1 - np_end]. |
| [in] | event | PYTHIA event record which contains particle entries. Note that event[0] is reserved for information on the entire system. |
Definition at line 991 of file stringprocess.h.
| void smash::StringProcess::form_intermediate_particles | ( | ParticleList & | intermediate_particles, |
| const FourVector & | pString, | ||
| const ThreeVector & | evecLong, | ||
| double | additional_xsec_supp = 1.0, |
||
| bool | find_and_scale_leading = true |
||
| ) |
Set formation times and cross-section scaling factors for fragmented hadrons as described in Andersson:1983ia [5].
The input particles are expected to be in the string rest frame. This function modifies them in place: particle momenta and production vertices are boosted out of the string rest frame, formation times are assigned, and optionally leading-hadron cross-section scaling factors are recomputed.
| [in,out] | intermediate_particles | Fragmented hadrons to process. |
| [in] | pString | Four-momentum of the string. |
| [in] | evecLong | Unit 3-vector along which the string is stretched. |
| [in] | additional_xsec_supp | Additional multiplicative factor applied to cross-section scaling, e.g. coherence or medium effects. |
| [in] | find_and_scale_leading | If true, identify leading hadrons from valence quark or diquark endpoints and assign their cross-section scaling factors according to the leading-hadron prescription. |
Definition at line 184 of file stringprocess.cc.
|
inlinestatic |
append new particle from PYTHIA to a specific particle list
| [in] | pdgid | PDG id of particle |
| [in] | momentum | four-momentum of particle |
| [out] | intermediate_particles | particle list to which the new particle is added. |
Definition at line 1039 of file stringprocess.h.
|
inlinestatic |
convert Kaon-L or Kaon-S into K0 or Anti-K0
| [out] | pythia_id | is PDG id to be converted. |
Definition at line 1059 of file stringprocess.h.
|
static |
find two quarks from a diquark.
Order does not matter.
| [in] | diquark | PDG id of diquark |
| [out] | q1 | PDG id of quark 1 |
| [out] | q2 | PDG id of quark 2 |
| [out] | deg_spin | spin degeneracy |
Definition at line 2225 of file stringprocess.cc.
|
static |
Construct diquark from two quarks.
Order does not matter.
| [in] | q1 | PDG code of quark 1 |
| [in] | q2 | PDG code of quark 2 |
Definition at line 2241 of file stringprocess.cc.
|
static |
make a random selection to determine partonic contents at the string ends.
| [in] | pdgcode_in | is PdgCode of hadron which transforms into a string. |
| [out] | idq1 | is PDG id of quark or anti-diquark. |
| [out] | idq2 | is PDG id of anti-quark or diquark. |
| [in] | xi | probability to split a nucleon into the quark it has only once and a diquark of another flavour. |
Definition at line 2254 of file stringprocess.cc.
|
static |
Assign a cross section scaling factor to all outgoing particles.
The factor is only non-zero, when the outgoing particle carries a valence quark from the excited hadron. The assigned cross section scaling factor is equal to the number of the valence quarks from the fragmented hadron contained in the fragment divided by the total number of valence quarks of that fragment multiplied by a coherence factor
| [in] | baryon_string | baryon number of the string |
| [out] | outgoing_particles | list of string fragments to which scaling factors are assigned |
| [in] | evecLong | direction in which the string is stretched |
| [in] | suppression_factor | additional coherence factor to be multiplied with scaling factor |
Definition at line 2334 of file stringprocess.cc.
|
static |
Find the leading string fragments.
Find the first particle, which can carry nq1, and the last particle, which can carry nq2 valence quarks and return their indices in the given list.
| [in] | nq1 | number of valence quarks from excited hadron at forward end of the string |
| [in] | nq2 | number of valence quarks from excited hadron at backward end of the string |
| [in] | list | list of string fragments |
list Definition at line 2317 of file stringprocess.cc.
|
static |
Assign a cross section scaling factor to the given particle.
The scaling factor is the number of quarks from the excited hadron, that the fragment carries devided by the total number of quarks in this fragment multiplied by coherence factor.
| [in] | nquark | number of valence quarks from the excited hadron contained in the given string fragment data |
| [out] | data | particle to assign a scaling factor to |
| [in] | suppression_factor | coherence factor to decrease scaling factor |
Definition at line 2302 of file stringprocess.cc.
|
static |
Take pdg code and map onto particle specie which can be handled by PYTHIA.
Positively charged baryons are mapped onto proton and other baryons are mapped onto neutrons. Same rule applies for anti-baryons. Positively (negatively) charged mesons are mapped onto pi+ (pi-). Negatively and positively charged leptons are mapped respectivly onto electron and positron. Currently, we do not have cross sections for leptons and photons with high energy, so such collisions should not happen.
| [in] | pdg | PdgCode that will be mapped |
| std::runtime_error | if the incoming particle is neither hadron nor lepton. |
Definition at line 2381 of file stringprocess.cc.
|
inline |
Definition at line 1167 of file stringprocess.h.
|
inline |
Definition at line 1173 of file stringprocess.h.
|
inline |
Definition at line 1179 of file stringprocess.h.
|
inline |
Definition at line 1185 of file stringprocess.h.
|
inline |
Definition at line 1191 of file stringprocess.h.
|
inline |
Definition at line 1197 of file stringprocess.h.
|
inline |
|
inline |
Definition at line 1209 of file stringprocess.h.
|
inline |
Definition at line 1215 of file stringprocess.h.
|
inline |
Definition at line 1221 of file stringprocess.h.
|
inline |
Definition at line 1227 of file stringprocess.h.
|
inline |
Definition at line 1233 of file stringprocess.h.
|
inline |
|
inline |
Definition at line 1245 of file stringprocess.h.
|
private |
forward lightcone momentum p^{+} of incoming particle A in CM-frame [GeV]
Definition at line 51 of file stringprocess.h.
|
private |
forward lightcone momentum p^{+} of incoming particle B in CM-frame [GeV]
Definition at line 54 of file stringprocess.h.
|
private |
backward lightcone momentum p^{-} of incoming particle A in CM-frame [GeV]
Definition at line 57 of file stringprocess.h.
|
private |
backward lightcone momentum p^{-} of incoming particle B in CM-frame [GeV]
Definition at line 60 of file stringprocess.h.
|
private |
mass of incoming particle A [GeV]
Definition at line 62 of file stringprocess.h.
|
private |
mass of incoming particle B [GeV]
Definition at line 64 of file stringprocess.h.
|
private |
sqrt of Mandelstam variable s of collision [GeV]
Definition at line 66 of file stringprocess.h.
|
private |
PdgCodes of incoming particles.
Definition at line 68 of file stringprocess.h.
|
private |
momenta of incoming particles in the lab frame [GeV]
Definition at line 70 of file stringprocess.h.
|
private |
momenta of incoming particles in the center of mass frame [GeV]
Definition at line 72 of file stringprocess.h.
|
private |
velocity four vector of the center of mass in the lab frame
Definition at line 74 of file stringprocess.h.
|
private |
velocity three vector of the center of mass in the lab frame
Definition at line 76 of file stringprocess.h.
|
private |
Orthonormal basis vectors in the center of mass frame, where the 0th one is parallel to momentum of incoming particle A.
Definition at line 81 of file stringprocess.h.
|
private |
the minimum lightcone momentum scale carried by a gluon [GeV]
Definition at line 83 of file stringprocess.h.
|
private |
parameter \(\beta\) for the gluon distribution function \( P(x) = x^{-1} (1 - x)^{1 + \beta} \)
Definition at line 88 of file stringprocess.h.
|
private |
parameter \(\alpha\) for the quark distribution function \( P(x) = x^{\alpha - 1} (1 - x)^{\beta - 1} \)
Definition at line 93 of file stringprocess.h.
|
private |
parameter \(\beta\) for the quark distribution function \( P(x) = x^{\alpha - 1} (1 - x)^{\beta - 1} \)
Definition at line 98 of file stringprocess.h.
|
private |
Transverse momentum spread of the excited strings.
[GeV] Transverse momenta of strings are sampled according to gaussian distribution with width sigma_qperp_
Definition at line 104 of file stringprocess.h.
|
private |
parameter (StringZ:aLund) for the fragmentation function of leading baryon in soft non-diffractive string processes
Definition at line 109 of file stringprocess.h.
|
private |
parameter (StringZ:bLund) for the fragmentation function of leading baryon in soft non-diffractive string processes
Definition at line 114 of file stringprocess.h.
|
private |
parameter (StringZ:aLund) for the fragmentation function of other (produced) hadrons in soft non-diffractive string processes
Definition at line 119 of file stringprocess.h.
|
private |
parameter (StringZ:bLund) for the fragmentation function of other (produced) hadrons in soft non-diffractive string processes
Definition at line 124 of file stringprocess.h.
|
private |
strange quark suppression factor
Definition at line 126 of file stringprocess.h.
|
private |
diquark suppression factor
Definition at line 128 of file stringprocess.h.
|
private |
popcorn rate
Definition at line 130 of file stringprocess.h.
|
private |
damp popcorn meson from diquark remnant endpoint rate
Definition at line 132 of file stringprocess.h.
|
private |
transverse momentum spread in string fragmentation
Definition at line 134 of file stringprocess.h.
|
private |
string tension [GeV/fm]
Definition at line 136 of file stringprocess.h.
|
private |
constant proper time in the case of constant formation time [fm]
Definition at line 138 of file stringprocess.h.
|
private |
factor to be multiplied to formation times in soft strings
Definition at line 140 of file stringprocess.h.
|
private |
time of collision in the computational frame [fm]
Definition at line 142 of file stringprocess.h.
|
private |
Whether the formation time should depend on the mass of the fragment according to Andersson:1983ia [5] eq.
2.45:
\( \tau = \sqrt{2}\frac{m}{\kappa} \)
The formation time and position is not calculated directly using the yoyo model because the spacetime rapidity where a string fragment forms is not equal to the fragment's momentum space rapidity. This cannot be easily combined with possible interactions before the formation time.
Definition at line 154 of file stringprocess.h.
|
private |
Probability of splitting a nucleon into the quark flavour it has only once and a diquark it has twice.
Definition at line 159 of file stringprocess.h.
|
private |
Whether to use a separate fragmentation function for leading baryons.
Definition at line 162 of file stringprocess.h.
|
private |
Whether to use the monash tune Skands:2014pea [61] for all string processes.
Definition at line 168 of file stringprocess.h.
|
private |
additional cross-section suppression factor to take coherence effect into account.
Definition at line 174 of file stringprocess.h.
|
private |
Optional center-of-mass energy used to initialize MPI-capable Pythia objects.
If unset, the initialization energy is determined from the incoming hadrons.
Definition at line 181 of file stringprocess.h.
|
private |
Additional Pythia 8 settings passed to each internal Pythia instance.
These settings are applied after the corresponding SMASH string parameters and therefore override them if both configure the same Pythia setting.
Definition at line 190 of file stringprocess.h.
|
private |
final state array which must be accessed after the collision
Definition at line 280 of file stringprocess.h.
|
private |
Map object to contain the different pythia objects.
Definition at line 291 of file stringprocess.h.
|
private |
PYTHIA object used in fragmentation.
Definition at line 294 of file stringprocess.h.
|
private |
An object to compute cross-sections.
Definition at line 297 of file stringprocess.h.
|
private |
An object for the flavor selection in string fragmentation in the case of separate fragmentation function for leading baryon.
Definition at line 303 of file stringprocess.h.
|
private |
event record for intermediate partonic state in the hard string routine
Definition at line 309 of file stringprocess.h.
|
private |
PYTHIA event records containing string partons to be hadronized.
Definition at line 340 of file stringprocess.h.
| Pythia8::RotBstMatrix smash::StringProcess::to_cm_ |
Rotation/boost matrix to transform particles to the center-of-mass frame.
Definition at line 558 of file stringprocess.h.