_ROOT Version:6.28
_Platform:Windows 11
_Compiler:Cling or I think MS Visual c++
Weird problem with consent masses from virtually the same TLorentzVector. The problem occurs whether I compile or not.
Here are the two 4 vectors. They present different calculations of the same missing momentum vector. That should be a neutrino so that mass should be very small.
It is small for ‘p4AllTooMiss’ but the ‘p4Miss’ mass is absurdly large.
The three vectors and the energy are very close, how can the masses be different?
twoB::p4AllTooMiss: px:-611.468 py:43.8495 pz:-1227.02 E:1371.64 M:1.52588e-05
twoB::p4Miss: px:-611.468 py:43.8499 pz:-1227.02 E:1371.64 M:1.94998
It gets weirder. I decided to extract the components and calculate the masses myself
Here are the results. They agree with the result from TLorentzVector::M();
twoB: MMissSq3.75 MTooMissSq:0
twoB::MMiss:1.93649 MTooMiss:0
The extract 4-vector components are (px,py,pz,E);
twoB:: PMiss:-611.468, 43.8499, -1227.02, 1371.64
twoB:: PTooMiss:-611.468, 43.8495, -1227.02, 1371.64
Here’s the code:
float PxMiss=p4Miss[0];
float PyMiss=p4Miss[1];
float PzMiss=p4Miss[2];
float EMiss=p4Miss[3];
float EPMiss=p4Miss.T();
float PxTooMiss=p4AllTooMiss[0];
float PyTooMiss=p4AllTooMiss[1];
float PzTooMiss=p4AllTooMiss[2];
float ETooMiss=p4AllTooMiss[3];
float EPTooMiss=p4AllTooMiss.T();
float MMissSq=EMissEMiss-PxMissPxMiss-PyMissPyMiss-PzMissPzMiss;
float MMiss=sqrt(MMissSq);
float MTooMissSq
=ETooMissETooMiss-PxTooMissPxTooMiss-PyTooMissPyTooMiss-PzTooMissPzTooMiss