  We propose a new method for pileup mitigation by implementing "pileup per
particle identification" (PUPPI). For each particle we first define a local
shape $\alpha$ which probes the collinear versus soft diffuse structure in the
neighborhood of the particle. The former is indicative of particles originating
from the hard scatter and the latter of particles originating from pileup
interactions. The distribution of $\alpha$ for charged pileup, assumed as a
proxy for all pileup, is used on an event-by-event basis to calculate a weight
for each particle. The weights describe the degree to which particles are
pileup-like and are used to rescale their four-momenta, superseding the need
for jet-based corrections. Furthermore, the algorithm flexibly allows
combination with other, possibly experimental, probabilistic information
associated with particles such as vertexing and timing performance. We
demonstrate the algorithm improves over existing methods by looking at jet
$p_T$ and jet mass. We also find an improvement on non-jet quantities like
missing transverse energy.
