48 if (aa > bb)
return 1;
49 if (aa < bb)
return -1;
140 for (j=0; j<=i; j++) {
144 v->SetPx( cZ*
x - sZ*
y );
145 v->SetPy( sZ*
x + cZ*
y );
148 v->SetPx( cY*
x - sY*z );
149 v->SetPz( sY*
x + cY*z );
152 if (i == (
fNt-1))
break;
154 Double_t beta = pd[i] / sqrt(pd[i]*pd[i] + invMas[i]*invMas[i]);
155 for (j=0; j<=i; j++)
fDecPro[j].Boost(0,beta,0);
197 if (fNt<2 || fNt>18)
return kFALSE;
215 if (strcasecmp(opt,
"fermi")==0) {
218 ,3.141592, 19.73921, 62.01255, 129.8788, 204.0131
219 ,256.3704, 268.4705, 240.9780, 189.2637
220 ,132.1308, 83.0202, 47.4210, 24.8295
221 ,12.0006, 5.3858, 2.2560, 0.8859 };
Int_t DoubleMax(const void *a, const void *b)
Special max function.
R__EXTERN TRandom * gRandom
Utility class to generate n-body event, with constant cross-section (default) or with Fermi energy de...
Double_t PDK(Double_t a, Double_t b, Double_t c)
The PDK function.
TLorentzVector fDecPro[18]
TGenPhaseSpace & operator=(const TGenPhaseSpace &gen)
Assignment operator.
Double_t Generate()
Generate a random final state.
TLorentzVector * GetDecay(Int_t n)
Return Lorentz vector corresponding to decay n.
Bool_t SetDecay(TLorentzVector &P, Int_t nt, const Double_t *mass, Option_t *opt="")
Input:
void SetPxPyPzE(Double_t px, Double_t py, Double_t pz, Double_t e)
Mother of all ROOT objects.
TObject & operator=(const TObject &rhs)
TObject assignment operator.
Double_t Rndm() override
Machine independent random number generator.
Double_t Sqrt(Double_t x)
Returns the square root of x.
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Returns x raised to the power y.
Double_t Cos(Double_t)
Returns the cosine of an angle of x radians.
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.
static uint64_t sum(uint64_t i)