Fork me on GitHub

Version 16 (modified by Michele Selvaggi, 12 years ago) ( diff )

--

Pile-up implementation in Delphes

Multiple particle interactions per bunch-crossing are now implemented in Delphes. The procedure is divided in two main parts:

  • mixing pile-up events with the main interaction
  • pile-up subtraction with the fast jet area method

Mixing pile-up

The mixing procedure is done via the PileUpMerger module. The user can specify 4 parameters: PileUpFile, MeanPileUp, ZVertexWidth, ZVertexResolution.

  • PileUpFile:

the event sample containing pile-up events in binary format. This format allows for faster random event access compared to root trees. Basic information about the event is contained (particle 4-momenta, vertex position, and Particle ID)

This sample has to be generated in advance with an event generator (typically Pythia6/8 or HERWIG) and then converted into binary format (see example below).

  • MeanPileUp:

the average amount of pile-up events per bunch-crossing. For each hard scattering, N pile-up events will be randomly chosen from the PileUpFile, where N is a random number following Poisson statistics with a mean MeanPileUp.

  • ZVertexSpread:

Pile-up events randomly populate the z-axis. The position of each pile-up event is generated from a gaussian distribution with a standard deviation ZVertexSpread.

  • ZVertexResolution

For |z|< ZVertexResolution the hard interaction vertex cannot be distinguished from pile-up vertices. For such pile-up events both charged and neutrals are then merged in the event (no charged particle subtraction). For |z|> ZVertexResolution the hard interaction vertex can be distinguished from pile-up vertices. For such pile-up events only neutrals are merged in the event (total charged particle subtraction), which assumes perfect vertex resolution and efficiency.

Pile-up contamination

For estimating pile-up contribution we use the well known fastjet area method, see for instance arXiv:0802.1188, arXiv:0707.1378. First, the user must specify whether to calculate the area while clustering the jets within the FastJetFinder module . Several methods for the area calculation can also be specified (active area, passive area, Voronoi …) via the parameter AreaAlgorithm. By default this parameter is set to 0 (no area calculation):

# area algorithm: 0 Do not compute area, 1 Active area explicit ghosts, 2 One ghost passive area, 3 Passive area, 4 Voronoi, 5 Active area
set AreaAlgorithm 5

Then the median density (in GeV/A) of pile-up contamination (rho) per event can computed by defining the following parameters are defined:

set ComputeRho true
set RhoOutputArray rho

Pile-up subtraction

Since charged particles have already been subtracted to some extent, pile-up contamination only affects the jet energy resolution and the lepton/photon isolation.

  • Jet pile-up subtraction is done via the JetPileUpSubtractor module that takes as input the jet collection and rho:
set JetInputArray FastJetFinder/jets
set RhoInputArray rho
  • Isolation subtraction is done inside the Isolation module itself just by adding the line in the delphes card:
set RhoInputArray rho

Running Delphes with Pile-Up

Convert your minimum bias sample into Delphes ROOT format:

./DelphesSTDHEP examples/converter_card.tcl MinBias.root MinBias.hep
./DelphesHepMC examples/converter_card.tcl MinBias.root MinBias.hepmc

Convert from Delphes ROOT format to binary

./root2pileup MinBias.pileup MinBias.root

Run Delphes on your sample X with pile-up:

./DelphesSTDHEP examples/delphes_card_CMS_PileUp.tcl X_PileUp.root X.hep
Note: See TracWiki for help on using the wiki.