Hello!
I am currently working on a decay of a moving particle and I want to transform the 4vector energy-momentum of the products, to the frame of reference of the mother particle. My TLorentzVector is defined with Set.PxPyPzE and I cannot use the boost function as it only applies to coordinates. Is there another way to do the transformation? Thank you!
What’s wrong with this (see the TLorentzVector class reference):
{
Double_t Px = 1., Py = 2., Pz = 3., E = 4.; // M = std::sqrt(2.)
TLorentzVector v;
v.SetPxPyPzE(Px, Py, Pz, E); v.Print(); // same as SetXYZT(Px, Py, Pz, E)
v.Boost(-Px / E, -Py / E, -Pz / E); v.Print(); // to the rest frame
v.Boost(Px / E, Py / E, Pz / E); v.Print(); // back to the original frame
v.Boost( 0.1, 0.2, 0.3); v.Print(); // beta = (+0.1, +0.2, +0.3)
v.Boost(-0.1, -0.2, -0.3); v.Print(); // beta = (-0.1, -0.2, -0.3)
}
BTW. See also: ROOT Reference Documentation → Functional Parts → Math → Physics Vectors