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.