![]() |
Thermal-FIST 1.5
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) | |
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. | |
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. | |
SimpleParticle | LorentzBoost (const SimpleParticle &part, double vx, double vy, double vz) |
Lorentz boost of the 4-momentum and 4-coordinate of a particle. | |
SimpleParticle | LorentzBoostMomentumOnly (const SimpleParticle &part, double vx, double vy, double vz) |
Lorentz boost of the 4-momentum of a particle. | |
SimpleParticle | LorentzBoostMomentaAndCoordinates (const SimpleParticle &part, double vx, double vy, double vz) |
Lorentz boost of the 4-coordinate and 4-momentum of a particle. | |
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. | |
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. | |
void | ShuffleDecayProducts (std::vector< double > &masses, std::vector< long long > &pdgs) |
Shuffles the decay products. | |
double | ParticleDistanceSquared (const SimpleParticle &part1, const SimpleParticle &part2) |
Return the square of the distance between particles at equal time. | |
double | ComputeDCA (const SimpleParticle &part) |
Computes the distance of closest approach (DCA) to the origin. | |
Variables | |
int | threebodysucc = 0 |
Used for debugging the succes rate in the rejection sampling of \(m_{12}\). | |
int | threebodytot = 0 |
Contains functions for Monte Carlo generation of decays.
double thermalfist::ParticleDecaysMC::ComputeDCA | ( | const SimpleParticle & | part | ) |
Computes the distance of closest approach (DCA) to the origin.
part | Particle |
Definition at line 269 of file ParticleDecaysMC.cpp.
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 and 4-coordinate 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 60 of file ParticleDecaysMC.cpp.
SimpleParticle thermalfist::ParticleDecaysMC::LorentzBoostMomentaAndCoordinates | ( | const SimpleParticle & | part, |
double | vx, | ||
double | vy, | ||
double | vz ) |
Lorentz boost of the 4-coordinate and 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 83 of file ParticleDecaysMC.cpp.
SimpleParticle thermalfist::ParticleDecaysMC::LorentzBoostMomentumOnly | ( | const SimpleParticle & | part, |
double | vx, | ||
double | vy, | ||
double | vz ) |
Lorentz boost of the 4-momentum of a particle.
Does *not* boost the coordinates!
[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 64 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 167 of file ParticleDecaysMC.cpp.
double thermalfist::ParticleDecaysMC::ParticleDistanceSquared | ( | const SimpleParticle & | part1, |
const SimpleParticle & | part2 ) |
Return the square of the distance between particles at equal time.
Makes Lorentz boost into the pair rest frame, then propagates the earlier particle to other particle's time, and computed the square of the distance between particles at that time.
part1 | First particle |
part2 | Second particle |
Definition at line 242 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 228 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 110 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 49 of file ParticleDecaysMC.h.