[Rivet] b-tagging in Rivet 2.x.x

Christian Gütschow chris.g at cern.ch
Sun Feb 15 14:05:07 GMT 2015


Dear Rivet authors,

I'm just trying to implement a Rivet routine for a W+b ATLAS measurement
and was wondering what the preferred way of doing particle-level b-tagging
in Rivet is?

Naively, I would think that the easiest way to decide whether a jet is a
b-jet is to use the HeavyHadrons projection, e.g. like so

addProjection(HeavyHadrons(-2.5, 2.5, 5.0*GeV), "BHadrons");
> ...
> const Particles& bHadrons = applyProjection<HeavyHadrons>(event,
> "BHadrons").bHadrons();
> ...
> // for each jet "j":
> foreach(const Particle& b, bHadrons) {
>   if( (b.pT() > 5.0*GeV) && (deltaR(j, b) < 0.3) ) {
>     // jet matched to B hadron!
>     ...
>     break;
>   }
> }


Turns out, this doesn't do anything at all because bHadrons has always size
0 for some reason. Is this to be expected or likely to be some sort of bug
(on my side)?

On the other hand, if I use the approach that was used in the Z+b(b)
analysis (ATLAS_2014_I1306294), i.e. something like

bool hasB = false;

foreach(const GenParticle* b, particles(event.genEvent())) {
>   if(b->momentum().perp() < 5.0*GeV)  continue;
>   for(uint k=0; k < stableB.size(); ++k) {
>     if( fabs(b->pdg_id()) == stableB[k] ) {
>       if( deltaR(j.momentum().eta(), j.momentum().phi(),
> b->momentum().eta(), b->momentum().phi()) < 0.3 ) {
>         // jet matched to B hadron!
>         hasB = true;
>         break;
>       }
>     }
>   }
>   if(hasB)  break;
> }


where stableB is a custom-made vector of the B-hadron PDG IDs, then I do
find the B hadrons in the event and can successfully match my jets to them.

I think it's safe to say that while the latter option does the trick, it is
a bit of an awkward way to code this up. (Presumably that's the reason why
the Z+b(b) analysis is still dwelling in the contributions area...?) Is
there a better way of doing this?

Many thanks for your advice in advance!

Cheers,
Chris

-- 

 Dr. Christian Gütschow

 TU Dresden
 Institut für Kern- und Teilchenphysik
 Zellescher Weg 19
 01069 Dresden

 > E17, Andreas-Schubert-Bau
 > chris.g at cern.ch
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.hepforge.org/lists-archive/rivet/attachments/20150215/53462cf8/attachment.html>


More information about the Rivet mailing list