Formula for computing MT_MET

Asked by Felix Wilsch

Hi,

I am using MadAnalysis 1.8.45 to cross check some other python analysis code for a LHCO file.

I am plotting the transverse mass of a di-tau system including the missing energy, i.e. MT_MET(ta[1] ta[2]). But the spectrum obtained this way disagrees with the one obtained in my other analysis code.

Therefore, I would like to ask how MT_MET is calculated in MadAnlysis. According to
https://bugs.launchpad.net/madanalysis5/+bug/1782140
the formula used to calculate MT_MET is

MT^2 = (sum ET^2) - (sum PT^2) [PDG2018, (47.50)].

However, from the definition of mt_met in the file
tools/SampleAnalyzer/Commons/DataFomat/ParticleBaseFormat.h
it appears to me that the quantity computed in this particular case is rather

MT^2 = (ET_ditau^2 + ET_miss^2) – (sum PT^2),

where

ET_ditau^2 = (P_tau1 + P_tau2)^2 + (PT_tau1 + PT_tau2)^2

and not

MT^2 = (ET_tau1^2 + ET_tau2^2 + ET_miss^2) – (sum PT^2).

Many thanks,

Felix

Question information

Language:
English Edit question
Status:
Solved
For:
MadAnalysis 5 Edit question
Assignee:
No assignee Edit question
Solved by:
Jack Y. Araz
Solved:
Last query:
Last reply:
Revision history for this message
Jack Y. Araz (jackaraz) said :
#1

Hi Felix

First of all, please use v1.9. When you set MT_MET(X Y); ma5 first calculates vector sum of the 4 momenta of X and Y this you can see in `ANALYSIS_X/Build/SampleAnalyzer/User/Analyzer/user.cpp` and then this "combined vector system" is fed into the function that you referred.

```
const MAfloat32 mt_met(const MALorentzVector& MET) const
{
  // Computing ET sum
  MAfloat64 ETsum = sqrt( momentum_.M()*momentum_.M() +
                       momentum_.Pt()*momentum_.Pt() ) + MET.Pt();

  // Computing PT sum
  MALorentzVector pt = momentum_ + MET;

  MAfloat64 value = ETsum*ETsum - pt.Pt()*pt.Pt();
  if (value<0) return 0;
  else return sqrt(value);
}
```

here `momentum_` is simply combined X+Y 4-vector.

Cheers


Jack Y. Araz

> On Apr 21, 2021, at 3:25 PM, Felix Wilsch <email address hidden> wrote:
>
> [EXTERNAL EMAIL]
>
> New question #696672 on MadAnalysis 5:
> https://answers.launchpad.net/madanalysis5/+question/696672
>
> Hi,
>
> I am using MadAnalysis 1.8.45 to cross check some other python analysis code for a LHCO file.
>
> I am plotting the transverse mass of a di-tau system including the missing energy, i.e. MT_MET(ta[1] ta[2]). But the spectrum obtained this way disagrees with the one obtained in my other analysis code.
>
> Therefore, I would like to ask how MT_MET is calculated in MadAnlysis. According to
> https://bugs.launchpad.net/madanalysis5/+bug/1782140
> the formula used to calculate MT_MET is
>
> MT^2 = (sum ET^2) - (sum PT^2) [PDG2018, (47.50)].
>
> However, from the definition of mt_met in the file
> tools/SampleAnalyzer/Commons/DataFomat/ParticleBaseFormat.h
> it appears to me that the quantity computed in this particular case is rather
>
> MT^2 = (ET_ditau^2 + ET_miss^2) – (sum PT^2),
>
> where
>
> ET_ditau^2 = (P_tau1 + P_tau2)^2 + (PT_tau1 + PT_tau2)^2
>
> and not
>
> MT^2 = (ET_tau1^2 + ET_tau2^2 + ET_miss^2) – (sum PT^2).
>
> Many thanks,
>
> Felix
>
>
> --
> You received this question notification because you are an answer
> contact for MadAnalysis 5.

Revision history for this message
Felix Wilsch (fwilsch) said :
#2

Hi Jack,

Thank you very much for your answer, but in this case the formula you are using seems not correct to me. If I understand correctly, the ETsum should be

ETsum = ET(X) + ET(Y) + MET.Pt()

where ET(X) stands for the ET calculated for the 4-momentum X. However, according to your answer, what is computed with

```
MAfloat64 ETsum = sqrt( momentum_.M()*momentum_.M() +
                       momentum_.Pt()*momentum_.Pt() ) + MET.Pt();
```

is instead the following:

ETsum = ET(X+Y) + MET.Pt()

which is not giving the same result as the first equation.

Do you agree?

Many thanks again.

Cheers,
Felix

Revision history for this message
Best Jack Y. Araz (jackaraz) said :
#3

Hi Felix

MadAnalysis is calculating the MT distribution for a "vector system”. I don't see anything wrong here. If you like to define it in your way you can write your function in expert mode. Of course, your result should not match with vectorially combined result; you are defining it differently.

cheers


Jack Y. Araz

> On Apr 21, 2021, at 5:45 PM, Felix Wilsch <email address hidden> wrote:
>
> [EXTERNAL EMAIL]
>
> Question #696672 on MadAnalysis 5 changed:
> https://answers.launchpad.net/madanalysis5/+question/696672
>
> Status: Answered => Open
>
> Felix Wilsch is still having a problem:
> Hi Jack,
>
> Thank you very much for your answer, but in this case the formula you
> are using seems not correct to me. If I understand correctly, the ETsum
> should be
>
> ETsum = ET(X) + ET(Y) + MET.Pt()
>
> where ET(X) stands for the ET calculated for the 4-momentum X. However,
> according to your answer, what is computed with
>
> ```
> MAfloat64 ETsum = sqrt( momentum_.M()*momentum_.M() +
> momentum_.Pt()*momentum_.Pt() ) + MET.Pt();
> ```
>
> is instead the following:
>
> ETsum = ET(X+Y) + MET.Pt()
>
> which is not giving the same result as the first equation.
>
> Do you agree?
>
> Many thanks again.
>
> Cheers,
> Felix
>
> --
> You received this question notification because you are an answer
> contact for MadAnalysis 5.

Revision history for this message
Felix Wilsch (fwilsch) said :
#4

Hi Jack,

Thanks again for your answer.
I understand now, that MadAnalysis does calculate the MT for a “vector system” which is of course fine and correct as it is just another way of defining the observable.

My confusion was due to the formula for MT

MT^2 = (sum ET^2) - (sum PT^2) [PDG2018, (47.50)]

given in this original post (https://bugs.launchpad.net/madanalysis5/+bug/1782140). Based on that I did not assume that MadAnalysis is actually looking at the “vector system”.
But now everything is clear.

Thanks again.

Cheers,
Felix

Revision history for this message
Felix Wilsch (fwilsch) said :
#5

Thanks Jack Y. Araz, that solved my question.