Hi Matthieu, this is how I'm boosting LorentzVectors: { #include <TLorentzVector.h> gROOT->Reset(); Double_t E = 3.2; Double_t m = 0.94; // target rest frame TLorentzVector b( 0, 0, E, E ); TLorentzVector p( 0, 0, 0, m ); TLorentzVector cms = b + p; // boost cms to its rest frame cms.Boost( -cms.BoostVector() ); cout << cms.Px() << " " << cms.Py() << " " << cms.Pz() << " " << cms.E() << endl; // gives: // 0 0 -3.53016e-16 2.62671 } On Wednesday, February 21, 2001, at 05:53 AM, Matthieu Guillo wrote: > Hi Rooters, > > I am trying to use the TLorentzVector class along with the > TLorentzRotation. I have some trouble understanding how it works, and the > manual is not clear about it. > > 1) I want to perform a simple Lorentz Boost. I tried the following code: > > float fEnergy = 3.2; > const float c_fProtonMass = 0.93827; > > TLorentzVector v4Beam(0., 0., fEnergy, fEnergy); > TLorentzVector v4Target(0., 0., 0, c_fProtonMass); > > // Boost to the CM > > TLorentzRotation lzTransform; > lzTransform.Boost(-(v4Beam + v4Target).Beta()); > > v4Target.Transform(lzTransform); > v4Beam.Transform(lzTransform); > > cout << (v4Target+v4Beam).X() << " " << (v4Target+v4Beam).Y() << " " << > (v4Target+v4Beam).Z() << endl; > > The components are not 0! What am I doing wrong? > > 2) I would like to perform rotations of a 4-vector using the standard > Euler angles. The rotation can be written as R(alpha, beta, gamma). Until > now I was using the painful way: > > TLorentzVector v4Proton(fX, fY, fZ, fT); // whatever components > > TLorentzRotation lzRot1, lzRot2, lzRot3, lzTransform; > lzRot1.RotateZ(fGamma); > lzRot2.RotateY(fBeta); > lzRot3.RotateZ(fAlpha); > lzTransform = lzRot3 * lzRot2 * lzRot1; > > v4Proton.Transform(lzTransform); > > > Is this the correct way to do it? Isn't there a better method rather > than involving 3 rotations (I couldn't guess from the class definition). > > > Thanks for your help. > > Cheers > > Matthieu Guillo > University of South Carolina > Thomas Jefferson National Laboratory > Office 71 trailer 16 > Phone: 757-269-5551 > >
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:37 MET