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));
45 void MomAntiMom(TLorentzVector &mom,
double mass, TLorentzVector &antiMom,
double antiMass,
double initialMass) {
46 double r = initialMass * initialMass -
mass *
mass - antiMass * antiMass;
47 if (
r *
r - 4 *
mass *
mass * antiMass * antiMass < 0.)
50 double pAbs = .5 * TMath::Sqrt(
r *
r - 4 *
mass *
mass * antiMass * antiMass) / initialMass;
53 mom.SetVectM(mom3,
mass);
54 antiMom.SetVectM(-mom3, antiMass);