rivet is hosted by Hepforge, IPPP Durham
ParticleUtils.hh File Reference
Include dependency graph for ParticleUtils.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  BoolParticleFunctor
 Base type for Particle -> bool functors. More...
struct  HasPID
 PID matching functor. More...
struct  HasAbsPID
 |PID| matching functor More...

Namespaces

namespace  Rivet

Defines

#define PARTICLE_TO_PID_BOOLFN(fname)   inline bool fname (const Particle& p) { return PID:: fname (p.pid()); }
#define PARTICLE_TO_PID_INTFN(fname)   inline int fname (const Particle& p) { return PID:: fname (p.pid()); }
#define PARTICLE_TO_PID_DBLFN(fname)   inline double fname (const Particle& p) { return PID:: fname (p.pid()); }

Functions

Particle charge/sign comparison functions

Is this particle species charged?

Is this particle species neutral? Is this a neutrino? Determine if the PID is that of a charged lepton Determine if the PID is that of a photon Determine if the PID is that of an electron or positron Determine if the PID is that of an muon or antimuon Determine if the PID is that of an tau or antitau Determine if the PID is that of a hadron Determine if the PID is that of a meson Determine if the PID is that of a baryon Determine if the PID is that of a quark Determine if the PID is that of a parton (quark or gluon) Determine if the PID is that of a W+ Determine if the PID is that of a W- Determine if the PID is that of a W+- Determine if the PID is that of a Z0 Determine if the PID is that of an SM/lightest SUSY Higgs Determine if the PID is that of a t/tbar Determine if the particle is a heavy flavour hadron or parton Determine if the PID is that of a heavy parton (c,b,t) Determine if the PID is that of a light parton (u,d,s) Determine if the PID is that of a heavy flavour (b or c) meson Determine if the PID is that of a heavy flavour (b or c) baryon Determine if the PID is that of a heavy flavour (b or c) hadron Determine if the PID is that of a light flavour (not b or c) meson Determine if the PID is that of a light flavour (not b or c) baryon Determine if the PID is that of a light flavour (not b or c) hadron Determine if the PID is that of a b-meson. Determine if the PID is that of a b-baryon. Determine if the PID is that of a b-hadron. Determine if the PID is that of a c-meson.

Specifically, the _heaviest_ quark is a c: a B_c is a b-meson and NOT a c-meson. Charmonia (closed charm) are counted as c-mesons here. Determine if the PID is that of a c-baryon.

Specifically, the _heaviest_ quark is a c: a baryon containing a b & c is a b-baryon and NOT a c-baryon. To test for the simpler case, just use a combination of hasCharm() and isBaryon(). Determine if the PID is that of a c-hadron. Is this a pomeron, odderon, or generic reggeon? Determine if the PID is that of a diquark (used in hadronization models) Determine if the PID is that of a pentaquark (hypothetical hadron) Is this a fundamental SUSY particle? Is this an R-hadron? Is this a technicolor particle? Is this an excited (composite) quark or lepton? Is this a Kaluza-Klein excitation? Is this a graviton? Is this a BSM particle (including graviton)? Determine if the PID is in the generator-specific range Determine if the PID is that of an EW scale resonance Check the PID for usability in transport codes like Geant4 Does this particle contain an up quark? Does this particle contain a down quark? Does this particle contain a strange quark? Does this particle contain a charm quark? Does this particle contain a bottom quark? Does this particle contain a top quark? jSpin returns 2J+1, where J is the total spin sSpin returns 2S+1, where S is the spin lSpin returns 2L+1, where L is the orbital angular momentum Return 3 times the charge (3 x quark charge is an int) Return the charge

bool oppSign (const Particle &a, const Particle &b)
 Return true if Particles a and b have the opposite charge sign.
bool sameSign (const Particle &a, const Particle &b)
bool oppCharge (const Particle &a, const Particle &b)
bool sameCharge (const Particle &a, const Particle &b)
bool diffCharge (const Particle &a, const Particle &b)
 Return true if Particles a and b have a different (not necessarily opposite) charge.

Define Documentation

#define PARTICLE_TO_PID_BOOLFN (   fname)    inline bool fname (const Particle& p) { return PID:: fname (p.pid()); }
Todo:
Can leave return type out of the macro and put that on each line where it's used?

Definition at line 9 of file ParticleUtils.hh.

#define PARTICLE_TO_PID_DBLFN (   fname)    inline double fname (const Particle& p) { return PID:: fname (p.pid()); }

Definition at line 11 of file ParticleUtils.hh.

#define PARTICLE_TO_PID_INTFN (   fname)    inline int fname (const Particle& p) { return PID:: fname (p.pid()); }

Definition at line 10 of file ParticleUtils.hh.