8#ifndef PARTICLEDECAYS_H
9#define PARTICLEDECAYS_H
32 double ThreeBodym12F2(
double m12,
double M,
double m1,
double m2,
double m3);
109 std::vector<SimpleParticle>
TwoBodyDecay(
const SimpleParticle & Mother,
double m1,
long long pdg1,
double m2,
long long pdg2);
Contains functions for Monte Carlo generation of decays.
SimpleParticle LorentzBoostMomentaAndCoordinates(const SimpleParticle &part, double vx, double vy, double vz)
Lorentz boost of the 4-coordinate and 4-momentum of a particle.
double ComputeDCA(const SimpleParticle &part)
Computes the distance of closest approach (DCA) to the origin.
double ThreeBodym12F2(double m12, double M, double m1, double m2, double m3)
Square of the probability density function used in a three-body decay (unnormalized)
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.
double ParticleDistanceSquared(const SimpleParticle &part1, const SimpleParticle &part2)
Return the square of the distance between particles at equal time.
void ShuffleDecayProducts(std::vector< double > &masses, std::vector< long long > &pdgs)
Shuffles the decay products.
SimpleParticle LorentzBoostMomentumOnly(const SimpleParticle &part, double vx, double vy, double vz)
Lorentz boost of the 4-momentum of a particle.
double GetRandomThreeBodym12(double M, double m1, double m2, double m3, double fm12max)
Sample the invariant mass of the leading two daughter particles in a three-body decay.
double TernaryThreeBodym12Maximum(double M, double m1, double m2, double m3)
Determines the maximum of the probability density function used 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.
int threebodysucc
Used for debugging the succes rate in the rejection sampling of .
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.
The main namespace where all classes and functions of the Thermal-FIST library reside.
Structure holding information about a single particle in the event generator.