( 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. )
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 |
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. |
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.