root [0] TLorentzVector *v1 = new TLorentzVector(1,2,3,4);
root [1] printf("%f %f %f %f \n", v1->X(), v1->Y(), v1->Z(), v1->T() );
1.000000 2.000000 3.000000 4.000000
root [2] printf("%f %f %f %f \n", v1->Px(), v1->Py(), v1->Pz(), v1->E() );
1.000000 2.000000 3.000000 4.000000root [3] TVector3 v3 = v1->Vect();
root [4] printf("%f %f %f \n", v3.x(), v3.y(), v3.z() );
1.000000 2.000000 3.000000root [5] TVector3 v4 = v1->BoostVector();
root [6] printf("%f %f %f \n", v4.x(), v4.y(), v4.z() );
0.250000 0.500000 0.750000
ここでは、(px/E, py/E, pz/E)が計算された。root [0] TLorentzVector p1(1,0,0,3);
root [1] TLorentzVector p2(2,0,0,3);
root [2] TLorentzVector p12 = p1 + p2;
root [3] printf("%f %f %f %f \n", p12.Px(), p12.Py(), p12.Pz(), p12.E() );
3.000000 0.000000 0.000000 6.000000
TLorentzVector同士は + を使って足し合わせが可能。root [4] TVector3 b12 = p12.BoostVector();
root [5] printf("%f %f %f \n", b12.x(), b12.y(), b12.z() );
0.500000 0.000000 0.000000root [6] p1.Boost(-b12);
root [7] p2.Boost(-b12);
root [8] printf("%f %f %f %f \n", p1.Px(), p1.Py(), p1.Pz(), p1.E() );
-0.577350 0.000000 0.000000 2.886751
root [9] printf("%f %f %f %f \n", p2.Px(), p2.Py(), p2.Pz(), p2.E() );
0.577350 0.000000 0.000000 2.309401