[Rivet] Truth jets and Rivet

Christian Gutschow chris.g at cern.ch
Wed Jan 25 18:43:29 GMT 2017


Hi,

just to add:

Do you know if pile-up jets are included in the xAOD truth jet
collections, (AntiKt4TruthJets/TruthWZJets)?

I should know this, but my mind has gone fuzzy and I can't remember how much is retained. My suspicion is that they are not there, and that a dedicated collection for truth pile-up jets is used: pile-up is simulated in separate simulation jobs and combined at the digitization stage. Zach Marshall or John Chapman would know, I'm sure. Try asking on the PMG mailing list?

Also, the truth pile-up jet info is heavily thinned before xAOD, so at most you'd get the truth-jet filters but no particle constituent info. Note that truth-jet clustering is done independently for the signal event and each pile-up event, so it's perfectly possible for signal and pile-up jets to completely overlap without "taking bites" out of each other.

There is no pileup in the truth collections and no pileup jets in these truth jet collections either.


I’ve also had a look at Rivet (a really impressive work!), and do you
know what setup to use for the FastJet projection, to get jets
similar to the “AntiKtTruthWZJets”?

Good question. I think the W/Z jets can't be exactly replicated in Rivet because they explicitly look for a W or Z parent: we avoid that. But I think you would get a very similar answer if you configured normal akT jets with the correct radius and pT threshold, and also configure the DressedLeptons projection to find prompt electrons and muons: then veto any jets where they overlap. Maybe with a narrower veto radius than the jet radius.

Off the top of my head, something like this would work:

// Init
FinalState photons(Cuts::abspid == PID::PHOTON);
PromptFinalState leptons(Cuts::abspid == PID::ELECTRON || Cuts::abspid == PID::MUON);
declare(DressedLeptons(leptons, photons, Cuts::pT > 15*GeV), "Leptons");

// Analyze
const Particles leptons = apply<FinalState>(event, "Leptons").particles();
Jets jets = apply<FinalState>(event, "Jets").jets(Cuts::pT > 20*GeV);
for (const Particle& l : leptons)
 ifilter_reject(jets, deltaRLess(l, 0.3));

There are other ways that could also work, such as passing the FastJets projection a VetoedFinalState for clustering, where the veto is on anything selected by the DressedLeptons projection. Maybe that would be closer to the WZJets definition.

I think you have to be a little bit careful what version you’re comparing because the xAOD TruthWZJet collection used to exclude neutrinos (until about six months ago if I remember correctly).

I played around with this some time ago and remember the 2nd option with the VetoedFinalState being indeed closer to the TruthWZJets collection.

Cheers,
Chris


 —

 Dr. Christian Gütschow

 Department of Physics and Astronomy
 University College London
 Gower Street
 London WC1E 6BT

 > D10 Physics Building
 > +44 (0)20 7679 3775
 > chris.g at cern.ch<mailto:chris.g at cern.ch>




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.hepforge.org/lists-archive/rivet/attachments/20170125/c3352be8/attachment.html>


More information about the Rivet mailing list