Hi Pasha,
Hum!! I understand the point.
Your solution is fine with me. If nobody else objects, I will introduce
your suggested algorithm.
Rene Brun
Pasha Murat (630)840-8237@169G wrote:
>
> Dear ROOTers,
>
> I'm using TParticle class and I'm storing in an array of TParticles output
> of various MC event generators. Output of some MC generators (HERWIG,
> for example) contains off-shell particles with E^2 < P^2.
>
> Several TParticle constructors which are trying to calculate particle
> mass as
>
> fCalcMass = TMath::Sqrt(fE*fE -fPx*fPx -fPy*fPy -fPz*fPz);
>
> are crashing in this case. I'd think of putting in a protection against
> sqrt of negative number and, in order not to lose information, of
> making fCalcMass negative for off-shell particles with Q^2<0:
>
> a2 = fE*fE -fPx*fPx -fPy*fPy -fPz*fPz;
> if (a2 >= 0) {
> fCalcMass = TMath::Sqrt(a2);
> }
> else {
> fCalcMass = -TMath::Sqrt(-a2);
> }
>
> Other suggestions? -best, Pasha
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:40 MET