This page documents code that can compute kinematic variables for certain types of resonance decay

( N.B.: The code here is not to be confused with the separate Oxbridge Stransverse Mass Library for caclulating MT2, MTGEN, M2C, and other related variables. )

The variables you can calculate with this code:

mTBound mTStar mTTrue imlementation code
mTLower (a.k.a. mTBound) and mTUpper: arXiv:1110.2452 in the context of a 'heavy' Higgs→WW
mTBound (a.k.a. mTLower) : arXiv:1106.2322 in the context of a 'light' Higgs→ττ
mTStar: arXiv:1108.3468 in the context of a 'medium' Higgs→WW
mTTrue (a.k.a. M1T and MT): arXiv:0902.4864 (mTTrue) in the context of 'any sizes' Higgs→WW and arXiv:1105.2977 (M1T) in a general context

Download C++ code to compute the above variables

If you wish to compute any of the above variables, you will need to download the appropriate header file(s). The library consists of header files only, and does not need to be built prior to use. It is sufficient top copy the relevant header file into your code. There are no external dependencies but you will have to make one simple change to FlatRandom.h before you can compute mTBound or mTStar! See instructions below!

The files you will need for each variable are as follows:

mTUpper: mTLowerAndUpperBound.h and FlatRandom.h
mTBound (a.k.a. mTLower): [ either mTBound.h or mTLowerAndUpperBound.h] and FlatRandom.h
mTStar: mTStar.h and FlatRandom.h
mTTrue (a.k.a. M1T and MT): mTTrue.h only.

The change you will need to make to make to FlatRandom.h

You must replace the implementation of the function double FlatRandom() with one that uses your preferred source of high quality random numbers distributed uniformly between 0 and 1. Our reference implementation uses CLHEP::RandFlat::shoot(), but you could use many other possibilities, for example TRandom::Uniform() from ROOT's math core. We factored out our random number dependency in this way as different users have different requirements regarding reproducability.


Documentation explaining how to use the implementations may be found in large C++ comments at the top of each header. Please klick on the links to the headers above to read this documentation.


The page was created by Christopher Lester. Please contact Christopher Lester and Alan Barr if you have questions or bug reports.


Background info
Some background remarks about these variables