Number of matched events after detector simulation

Asked by Joshua Sayre

Hi,
  I'm trying to generate event samples for W+jets. I'd like to apply matching between showering and matrix elements, which seems
to be running properly in that I get a cross section after matching with pythia (equal to the fraction of events in the pythia row times the parton cross-section). However, I'd then like to run Delphes (or Pgs) on my sample events and apply some cuts, jet-energy corrections, etc. Delphes seems to run on all attempted events rather than on the fraction that are reported as passing the matching criteria. E.g., if I request 40k events I get 40000 in the parton crossx row and ~9000 in the pythia row corresponding to the cross-section after matching, but Delphes generates almost 40k, apparently working from the pythia log for all attempted events before matching vetoes.

It seems to me that I should want to run a detector simulation on only the Pythia events that passed the matching criteria, then apply cuts and reconstructions to those post-Delphes events to estimate the cross-section after all cuts based on the matched cross-section. Is there a good way to do this, or am I confused about how to properly assess matching/detector-simulation?

Thanks for any help you can provide, MG5 is very impressive regardless.
-Joshua Sayre

Question information

Language:
English Edit question
Status:
Solved
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Solved by:
Johan Alwall
Solved:
Last query:
Last reply:
Revision history for this message
Best Johan Alwall (johan-alwall) said :
#1

Hello Joshua,

Only the matched events are present in the Pythia .hep file, so there is obviously no way that any detector simulation could act on vetoed events. What is happening is that Delphes reads the event number for each event (which is the event number in the original parton-level .lhe file) and puts in empty events to replace those that are missing. This is in order to allow an easy event-by-event comparison between detector simulated events and events before matching. The empty events can be easily distinguished (e.g., by checking that the event has non-vanishing missing energy, which is true for all "real" events).

Note that in order to correctly normalize histograms with detector simulated events, you need to use the MadGraph *cross section before matching* if you divide by the total number of events in your Delphes file, while you need to use the *matched cross section* (given at the end of the Pythia log file) if you divide by the number of matched (non-zero) events.

All the best,
Johan

Revision history for this message
Joshua Sayre (sayre-8) said :
#2

Thanks Johan Alwall, that solved my question.

Revision history for this message
Joshua Sayre (sayre-8) said :
#3

Ah, so that's what is going on. I hadn't looked at individual events in the delphes file to see that so many were empty. Thanks for the clarification.

-Josh

Revision history for this message
Serhat Istin (istin) said :
#4

I just encountered the same issue . But using MET info in delphes tree did not give me the correct number of events after matching ( I put MET>=0.0 cut). I use number of tracks>0 instead.