<<back

How to correct jets for pileup

Pileup events change jet transverse momenta, increase jet resolution, and lead to fake jets. The pT offset and extra smearing can be seen on this plot using pT(top)>650 GeV samples with mu=0,50,140 pileup events:

One can apply a simple correction factor which corrects jet pT on event by event bases. In Delphes3, this can be done using the “ScalarHT” variable (scalar sum of transverse momenta ). Events with large pileup (large mu) typically have large values of ScalarHT.

The plot below shows the dependence of the reconstructed jet ET on the variable “ScalarHT-ET(jet)”.

Jimmy's

We subtracted the jet ET from HT to increase the sensitivity to pileup and reduce the sensitivity to hard scatter thanks to Jimmy Proudfoot pointing out the idea of subtracting jet ET from HT (this is not still ideal, since there are others jets!).

For this figure we used ttbar pT>650 GeV Monte Carlo samples with mu=0,50,140 posted on the main page. This plot suggests how to do the pileup jet correction: Simply put this code into your Delphes3 analysis:

double correctJet (Jet *jet, double HT ) {
  double oldPT=jet->PT;
  double C=1.0-0.999670*pow(oldPT,5.18488e-05);
  return oldPT/(1.0+C*(HT-oldPT));
}

In the event loop, do this:

ScalarHT* ht;
TClonesArray *branchScalarHT = treeReader->UseBranch("ScalarHT");
 
// inside the event loop
      for(Int_t m= 0; m < branchJet->GetEntries(); ++m) {
      // Take first particle 
      Jet *jet = (Jet*) branchJet->At(m);
      float pt=jet->PT;
      ht = (ScalarHT*) branchScalarHT->At(0);
      double dHT= ht->HT;
      double ptnew=correctJet(jet,dHT);
}

Note that the above correction does not guarantee to change jet energy resolution, which is strongly affected by pileup. This plot shows the jet resolution (before using the pileup correction shown above).

Sergei Chekanov 2013/03/19 21:06