Fork me on GitHub

Opened 7 years ago

Last modified 7 years ago

#193 new How to

MET correspondent at gen level

Reported by: dimatteo Owned by:
Priority: minor Milestone:
Component: Delphes code Version: Delphes 3
Keywords: Cc:


Dear developers,

we would like to study the MET resolution as a function of the pileup, and therefore we need to compare the MET with the one obtained from gen level objects.
To do so, we need to know how the MET is built, and this is not straightforward to understand.

When Delphes produces the MET object, does it actually cycle on all electrons/photons/muons/jets and sum their transverse energies? Or on other collections?
We tried to loop on leptons,photons and jets to reproduce the MET computed by Delphes but did not get a comparable quantity.


Change History (3)

comment:1 Changed 7 years ago by mselvaggi

Dear Leonardo,

if you are using the default configuration card, MET is computed as the from so-called particle-flow candidates, not from final objects.
These are the same objects that are fed to FastJet? to produce jets. As a first approximation, in a low pile-up scenario, they are:

  • tracks for charged and calo towers for neutrals if |eta|<2.5
  • calo towers if |eta|>2.5

The equivalent of these at gen level would be, I suppose, all long-lived visible particles (pythia status 1) within the detector acceptance.
I am not surprised you don't get quite the same result by computing MET with Delphes final objects, as these are mostly isolated, pu-subtracted , etc.., i.e they have gone through some corrections.

Does this answer your question?



Last edited 7 years ago by mselvaggi (previous) (diff)

comment:2 Changed 7 years ago by dimatteo

Dear Michele,

thank you for the answer.
One final question on
"MET is computed as the from so-called particle-flow candidates"
you mean we need just to loop on this to reproduce the Delphes calculation?


comment:3 Changed 7 years ago by mselvaggi


You can see in the config card that the module that takes care of the loop you mention is called "Merger".
You can find it modules/

If you specify "MomentumOutputArray?" in the config file (as it is the case for MET) it returns a 4-momentum vector computed as the vectorial sum of the momenta of members of the "InputArray?" collection.

Then it is the TreeWriter? module that will extract the PT and Phi and values, and store them as members of the MissingET class in the Delphes output (you can check that in modules/


Note: See TracTickets for help on using tickets.