Hi all,
I have the following question: Why does the .Mt() value from TLorentzVector give me a different result for the mass distribution of the W boson than the known short formula for 2 leptons? The formula gives me a peak at around 80 GeV which is correct, but the value from the TLorentzVector gives me a peak at around 130 GeV. This is the code I have:

TLorentzVector and the recomended to use ROOT::Math::LorentzVector returns as Mt the transverse mass of a particle defined as sqrt(M2 + Pt2), and it is always greater than M, while the other formula computes the transverse mass of a 2 -particle system, which is a different definition as shown in the linked Wikipedia article.

I see, thanks for the clarification. Since only the second formula gives me the “right” result (aka the right mass) I wonder; If I wanted to calculate the transverse mass where say a lepton, neutrino and a jet or so are involved, so in total 3 “particles”, I cant really analytically calculate a formula like in the 2 particle case. What do I do then?

The second formula is used when you have invisible decays (e.g. W decays) and you have then a quantity that is sensible to the mass of the original particle (W). I guess you can probably build a similar formula in case of a 3 body decays, but I don’t know the analytical form/

When I try to use LorentzVector instead of TLorentzVector I get a weird error in the header files that it cant find for example #include <Math/Vector4D.h> or Math/GenVector/PxPyPzE4D.h’. Are these outdated headers?

I am using ROOT 6.24/08 on a analysis facility for ATLAS so it should be setup correctly

Not sure if I understand the question. But I made a file with MakeSelector(). But doesnt matter if I add it in the .h or the .C file it doesnt seem to find it.

Nut how are you compiling the code made from MakeSelector() ? Or are you using the code directly from the ROOT prompt ? In this last case you don’t need to add any include files