Thermal-FIST
1.3
Package for hadron resonance gas model applications
|
Contains functions for Monte Carlo generation of decays. More...
Functions | |
double | ThreeBodym12F2 (double m12, double M, double m1, double m2, double m3) |
Square of the \(m_{12}\) probability density function used in a three-body decay (unnormalized) More... | |
double | TernaryThreeBodym12Maximum (double M, double m1, double m2, double m3) |
Determines the maximum of the \(m_{12}\) probability density function used in a three-body decay. More... | |
double | GetRandomThreeBodym12 (double M, double m1, double m2, double m3, double fm12max) |
Sample the invariant mass \(m_{12}\) of the leading two daughter particles in a three-body decay. More... | |
SimpleParticle | LorentzBoost (const SimpleParticle &part, double vx, double vy, double vz) |
Lorentz boost of the 4-momentum of a particle. More... | |
std::vector< SimpleParticle > | TwoBodyDecay (const SimpleParticle &Mother, double m1, long long pdg1, double m2, long long pdg2) |
Samples the decay products of a two-body decay. More... | |
std::vector< SimpleParticle > | ManyBodyDecay (const SimpleParticle &Mother, std::vector< double > masses, std::vector< long long > pdgs) |
Samples the decay products of a many-body decay. More... | |
void | ShuffleDecayProducts (std::vector< double > &masses, std::vector< long long > &pdgs) |
Shuffles the decay products. More... | |
Variables | |
int | threebodysucc = 0 |
Used for debugging the succes rate in the rejection sampling of \(m_{12}\). More... | |
int | threebodytot = 0 |
Contains functions for Monte Carlo generation of decays.
double thermalfist::ParticleDecaysMC::GetRandomThreeBodym12 | ( | double | M, |
double | m1, | ||
double | m2, | ||
double | m3, | ||
double | fm12max | ||
) |
Sample the invariant mass \(m_{12}\) of the leading two daughter particles in a three-body decay.
M | Mass of the decaying particle |
m1 | Mass of the first daughter particle |
m2 | Mass of the first daughter particle |
m3 | Mass of the first daughter particle |
fm12max | The maximum of the \(m_{12}\) probability density (precomputed with TernaryThreeBodym12Maximum()) |
Definition at line 47 of file ParticleDecaysMC.cpp.
SimpleParticle thermalfist::ParticleDecaysMC::LorentzBoost | ( | const SimpleParticle & | part, |
double | vx, | ||
double | vy, | ||
double | vz | ||
) |
Lorentz boost of the 4-momentum of a particle.
[in] | part | Input particle with a 4-momentum |
[in] | vx | Lorentz boost velocity x component |
[in] | vy | Lorentz boost velocity y component |
[in] | vz | Lorentz boost velocity z component |
Definition at line 63 of file ParticleDecaysMC.cpp.
std::vector< SimpleParticle > thermalfist::ParticleDecaysMC::ManyBodyDecay | ( | const SimpleParticle & | Mother, |
std::vector< double > | masses, | ||
std::vector< long long > | pdgs | ||
) |
Samples the decay products of a many-body decay.
NOTE
While the decay kinematics of a three-body decay here are exact, decay kinematics for (4+)-body decays are approximate and should be taken into consideration.
Mother | The decaying particle |
masses | Masses of the decay products (in GeV) |
pdgs | Pdg codes of the decay products |
Definition at line 121 of file ParticleDecaysMC.cpp.
void thermalfist::ParticleDecaysMC::ShuffleDecayProducts | ( | std::vector< double > & | masses, |
std::vector< long long > & | pdgs | ||
) |
Shuffles the decay products.
Currently used for four+ body decays to avoid having asymmetry in momentum distributions of decay products due to non-exact current implementation of these decays.
masses | Masses of the decay products (in GeV) |
pdgs | Pdg codes of the decay products |
Definition at line 175 of file ParticleDecaysMC.cpp.
double thermalfist::ParticleDecaysMC::TernaryThreeBodym12Maximum | ( | double | M, |
double | m1, | ||
double | m2, | ||
double | m3 | ||
) |
Determines the maximum of the \(m_{12}\) probability density function used in a three-body decay.
Uses ternary search.
M | Mass of the decaying particle |
m1 | Mass of the first daughter particle |
m2 | Mass of the first daughter particle |
m3 | Mass of the first daughter particle |
Definition at line 24 of file ParticleDecaysMC.cpp.
double thermalfist::ParticleDecaysMC::ThreeBodym12F2 | ( | double | m12, |
double | M, | ||
double | m1, | ||
double | m2, | ||
double | m3 | ||
) |
Square of the \(m_{12}\) probability density function used in a three-body decay (unnormalized)
m12 | Invariant mass of the leading two daughter particles in a three-body decay |
M | Mass of the decaying particle |
m1 | Mass of the first daughter particle |
m2 | Mass of the first daughter particle |
m3 | Mass of the first daughter particle |
Definition at line 18 of file ParticleDecaysMC.cpp.
std::vector< SimpleParticle > thermalfist::ParticleDecaysMC::TwoBodyDecay | ( | const SimpleParticle & | Mother, |
double | m1, | ||
long long | pdg1, | ||
double | m2, | ||
long long | pdg2 | ||
) |
Samples the decay products of a two-body decay.
Mother | The decaying particle |
m1 | Mass of the first daughter (in GeV) |
pdg1 | Pdg code of the first daughter |
m2 | Mass of the second daughter (in GeV) |
pdg2 | Pdg code of the second daughter |
Definition at line 77 of file ParticleDecaysMC.cpp.
int thermalfist::ParticleDecaysMC::threebodysucc = 0 |
Used for debugging the succes rate in the rejection sampling of \(m_{12}\).
Definition at line 44 of file ParticleDecaysMC.cpp.
int thermalfist::ParticleDecaysMC::threebodytot = 0 |
Definition at line 44 of file ParticleDecaysMC.cpp.