[PWGLF] Add finite-width resonance injection and particle definitions#2405
[PWGLF] Add finite-width resonance injection and particle definitions#2405mjkim525 wants to merge 3 commits into
Conversation
|
REQUEST FOR PRODUCTION RELEASES: This will add The following labels are available |
| } | ||
| }; | ||
|
|
||
| double sampleMass(const ConfigContainer& cfg) |
There was a problem hiding this comment.
Helper function for sampling the injected resonance mass
| const double phi = gRandom->Uniform(0, TMath::TwoPi()); | ||
| const double px{pt * std::cos(phi)}; | ||
| const double py{pt * std::sin(phi)}; | ||
| const double mass = sampleMass(cfg); |
There was a problem hiding this comment.
Use the sampled mass when constructing generator-decayed injected particles
| const double phi = gRandom->Uniform(0, TMath::TwoPi()); | ||
| const double px{pt * std::cos(phi)}; | ||
| const double py{pt * std::sin(phi)}; | ||
| const double mass = sampleMass(cfg); |
There was a problem hiding this comment.
Use the same mass-sampling prescription for transport-decayed injected particles
| { | ||
| mPythia.event = pythiaObjectMinimumBias.event; | ||
| // Event assignment adopts the source ParticleData pointer; use the import table for injected custom PDGs. | ||
| mPythia.event.init("Minimum-bias event with injected particles", &mPythia.particleData); |
There was a problem hiding this comment.
Rebind the copied event to mPythia’s particle-data table so that custom particle definitions remain accessible.
This PR adds finite-width support for injected resonances in pp at$\sqrt{s}=13.6$ and $5.36$ TeV with Pythia8.
It also introduces configuration files containing additional particle-data definitions and the resonance lists used for injection.
Additional particle-data definitions
generator_pythia8_LF_rapidity_width.C extends the existing LF resonance-injection implementation by loading the additional particle definitions into both:
This initialization is implemented at lines 155–170. The helper function that extracts the particle-data entries from the configuration and loads them into the Pythia objects is implemented at lines 586–629.
When a minimum-bias event is copied into the event used for resonance injection, its particle-data pointer is explicitly rebound to the particle-data table owned by mPythia. This is implemented at lines 578–584.
This rebinding is required for custom resonances that are not included in Pythia’s default particle database, such as$\Xi(1820)$ and $\Omega(2012)$ . Without it, copied particles may no longer be associated with valid particle definitions. Consequently, the injected particles can remain with status code 11 and may not be propagated correctly to the AO2D output.
Finite-width mass sampling
Previously, the masses of injected resonances were always taken as fixed values from the generator configuration. As a result, the generated invariant-mass distributions did not reflect the physical decay widths of the resonances.
The new sampleMass() implementation, located at lines 515–527, uses Pythia’s ParticleData::mSel() function whenever a nonzero particle width is defined.
The sampled mass is then used when constructing the injected particles at:
Consequently, the generated mass distributions now reflect the mass and width information stored either:
The following plot shows the results of the local tests performed with the updates introduced in this PR with pp 13.6 TeV.
Note that $\Omega(2012)$ PDG code is assumed 123334, following previous studies such as [the Run 2 result] (https://journals.aps.org/prd/abstract/10.1103/v4mh-3r8z)