Skip to content

Ren hirayama/spectral function sampling - #66

Open
RenHirayama wants to merge 4 commits into
developfrom
RenHirayama/spectral-function-sampling
Open

Ren hirayama/spectral function sampling#66
RenHirayama wants to merge 4 commits into
developfrom
RenHirayama/spectral-function-sampling

Conversation

@RenHirayama

@RenHirayama RenHirayama commented Jun 9, 2026

Copy link
Copy Markdown
Member

This implements the modes to sample from a spectral function, based on what I derived here: CooperFrye_w_SF.pdf

The partial densities need to be integrated over mass, using the spectral function as a weight. Since calculating this "live" would be costly, I chose to tabulate it instead. The available new modes are accessible with the key spectral_function, which can have the values pole-mass, breit-wigner, and full-vacuum. The first one is the default, maintaining the original behavior, the second one uses a relativistic BW with constant width, and the last uses the full SMASH spectral functions that are based on the Manley formalism.

The tests have a relative tolerance of 1%, which I find acceptable. Also included is a test that only prints the individual densities, which might be handy. For $T=140 \mathrm{MeV}$, it results in (isospin symmetric since there is no $\mu_Q$)

Pole mass Breit Wigner Full vacuum
π 0.0323768 0.0323768 0.0323768
ρ 0.00474623 0.00611923 0.00425766
f₂ 0.000417747 0.00147522 0.000433483

I was a bit surprised with the Breit-Wigner density being much larger, but it makes sense when we consider that the spectral function is non-zero at the mass threshold:

spectral_functions

Since I branched off @LucasConstantin's viscous corrections branch, I will either wait for his merge to develop or merge directly to his branch, whatever is less messy.

@RenHirayama
RenHirayama force-pushed the RenHirayama/spectral-function-sampling branch from bb9a17a to b9ba0a2 Compare June 14, 2026 13:43
@yukarpenko

Copy link
Copy Markdown
Collaborator

Renan maybe we wait with this until Lucas does the changes I was talking about? Because I do not know if it would be a simple rebase etc. Function signatures should change. Please take a look at my comments in the channel.

@RenHirayama

Copy link
Copy Markdown
Member Author

Sure, i intend to wait for the reviews anyway

@nilssass

Copy link
Copy Markdown
Collaborator

@RenHirayama Please also update the CHANGELOG with these changes.

@yukarpenko

Copy link
Copy Markdown
Collaborator

Renan is this now on top (~rebased or something similar) of the branch "Analytical_deltaN_bulk" ?

@yukarpenko

Copy link
Copy Markdown
Collaborator

Another thing: do you intend to publish those results somehow? If you do, the best way to preserve the knowleedge would be to document the formulas along with their derivations in a publication. Otherwise, the understanding what you've implemented will likely be lost in time, also for potential users.

@RenHirayama

Copy link
Copy Markdown
Member Author

Renan is this now on top (~rebased or something similar) of the branch "Analytical_deltaN_bulk" ?

not yet, I will wait for the merge to avoid possible annoying conflicts

Another thing: do you intend to publish those results somehow? If you do, the best way to preserve the knowleedge would be to document the formulas along with their derivations in a publication. Otherwise, the understanding what you've implemented will likely be lost in time, also for potential users.

It will enter the dilepton calculations in the hybrid, and I think it should be (at least partially) in the paper. Nonetheless I already have the PDF there, we just need to figure out as a group where to put such things.

@RenHirayama
RenHirayama force-pushed the RenHirayama/spectral-function-sampling branch from b9ba0a2 to bf57979 Compare August 28, 2026 13:41
@RenHirayama
RenHirayama changed the base branch from constantin/multiplicity_viscous_corr to develop August 28, 2026 13:42
@RenHirayama

Copy link
Copy Markdown
Member Author

What is missing currently is including the spectral function integration to the bulk corrections in gen.cpp. @LucasConstantin and I agreed that the most straightforward way to do this is creating a second table when bulk corrections are active.

@yukarpenko

Copy link
Copy Markdown
Collaborator

Hi Renan - I went through your changes (as usual, I am not looking into the contents of the tests/ ).
One thing I am confused about: you've added the machinery to compute particle densities when there are spectral functions, but the particle 4-momenta are still sampled the old way according to their pole masses.
So currently, only the relative particle abundancies are changed (all sampled hadrons still have their pole masses), but in principle this is done at an expense of consistency with the underlying EoS. Because the underlying EoS is still good old non-interacting hadron resonance gas. As such it may change the energy conservation balance. I deliberately said "change" not improve or worsen the energy-momentum conservation. Might improve but then it will be by accident - because of the undelying inconsistency with the EoS.
I am not saying that you shouldn't do that until there's consistent description (it is not my modus operandi; and there isn't likely to be consistent description in the near future in this respect) but I feel I need to state the physics changes.
We can contiue the exchange on ... Matrix? I dropped my message here since I am not sure what platform to use to communicate in this update (PR) in particular.

@RenHirayama

Copy link
Copy Markdown
Member Author

but the particle 4-momenta are still sampled the old way according to their pole masses.

you're right, when getting the code from the old branch I forgot it. I am at the airport right now so I don't want to start changing the code, but line 365 of gen.cpp (I think, from looking in github) should be enough. Sampling from the unbounded spectral function then constructing the 4-momentum suffices because of the rejection algorithm, from what we discussed back in May/June.

I don't know how much it would change by constructing a more realistic EoS but I don't think we will pursue it (will think more)

@yukarpenko

Copy link
Copy Markdown
Collaborator

Once you are settled and start your work, we should discuss this. I am not trying to guess anything now, it won't make sense. So let me know once you will be ready for a discussion about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants