9 #include "TLorentzVector.h" 15 #include "CLHEP/Random/RandomEngine.h" 16 #include "CLHEP/Random/RandFlat.h" 20 const double GeV = 1.;
23 const double w = 1.0 / 0.1973;
28 double st = TMath::Sqrt(1. - pZ * pZ) *
r;
38 double st = TMath::Sqrt(1. - pZ * pZ) *
r;
40 pos.SetX(st * TMath::Cos(phi));
41 pos.SetY(st * TMath::Sin(phi));
46 double antiMass,
double initialMass) {
47 double r = initialMass * initialMass - mass * mass - antiMass * antiMass;
48 if (r * r - 4 * mass * mass * antiMass * antiMass < 0.)
throw "MomAntiMom";
50 double pAbs = .5 * TMath::Sqrt(r * r - 4 * mass * mass * antiMass * antiMass) / initialMass;
53 mom.SetVectM(mom3, mass);
54 antiMom.SetVectM(- mom3, antiMass);
void MomAntiMom(TLorentzVector &mom, double mass, TLorentzVector &antiMom, double antiMass, double initialMass)
Sin< T >::type sin(const T &t)
const double hbarc_squared
CLHEP::HepRandomEngine * hjRandomEngine
T x() const
Cartesian x coordinate.
Cos< T >::type cos(const T &t)
void IsotropicR3(double r, double *x, double *y, double *z)