5 #include "Rivet/Config/RivetCommon.hh" 6 #include "Rivet/Jet.fhh" 7 #include "Rivet/Particle.hh" 8 #include "Rivet/Tools/Cuts.hh" 9 #include "Rivet/Tools/Utils.hh" 10 #include "Rivet/Tools/RivetFastJet.hh" 11 #include "Rivet/Math/LorentzTrans.hh" 25 Jet(
const fastjet::PseudoJet& pj,
const Particles&
particles=Particles(),
const Particles&
tags=Particles()) {
44 size_t size()
const {
return _particles.size(); }
49 const Particles&
particles()
const {
return _particles; }
89 Particles&
tags() {
return _tags; }
91 const Particles&
tags()
const {
return _tags; }
99 Particles
tags(
const Cut& c)
const;
112 bool bTagged(
const ParticleSelector& f)
const {
return !
bTags(f).empty(); }
125 bool cTagged(
const ParticleSelector& f)
const {
return !
cTags(f).empty(); }
170 const fastjet::PseudoJet&
pseudojet()
const {
return _pseudojet; }
173 operator const fastjet::PseudoJet& ()
const {
return pseudojet(); }
185 Jet&
setState(
const fastjet::PseudoJet& pj,
const Particles&
particles=Particles(),
const Particles& tags=Particles());
194 Jet& setConstituents(
const Particles& particles) {
return setParticles(particles); }
205 fastjet::PseudoJet _pseudojet;
209 Particles _particles;
236 #include "Rivet/Tools/JetUtils.hh" Definition: MC_Cent_pPb.hh:10
size_t size() const
Number of particles in this jet.
Definition: Jet.hh:44
bool containsPID(PdgId pid) const
Nicer alias for containsParticleId.
Definition: Jet.hh:72
Particles tags(const ParticleSelector &f) const
Particles which have been tag-matched to this jet and pass a selector function.
Definition: Jet.hh:95
bool bTagged(const ParticleSelector &f) const
Does this jet have at least one b-tag (that passes the supplied selector function)?
Definition: Jet.hh:112
bool bTagged(const Cut &c=Cuts::open()) const
Does this jet have at least one b-tag (that passes an optional Cut)?
Definition: Jet.hh:110
const FourMomentum & mom() const
Get equivalent single momentum four-vector (const) (alias).
Definition: ParticleBase.hh:39
Jet & setParticles(const Particles &particles)
Set the particles collection with full particle information.
Jets filter_select(const Jets &jets, const Cut &c)
Filter a jet collection in-place to the subset that passes the supplied Cut.
Definition: JetUtils.hh:160
bool containsParticleId(PdgId pid) const
Check whether this jet contains a certain particle type.
double neutralEnergy() const
Get the energy carried in this jet by neutral particles.
Particles & particles()
Get the particles in this jet.
Definition: Jet.hh:47
const Cut & open()
Fully open cut singleton, accepts everything.
Particle representation, either from a HepMC::GenEvent or reconstructed.
Definition: Particle.hh:18
int pid(const Particle &p)
Unbound function access to PID code.
Definition: ParticleUtils.hh:23
Jet(const FourMomentum &pjet, const Particles &particles=Particles(), const Particles &tags=Particles())
Set the jet data, with optional full particle information.
Definition: Jet.hh:30
Jet & transformBy(const LorentzTransform <)
bool tauTagged(const Cut &c=Cuts::open()) const
Does this jet have at least one tau-tag (that passes an optional Cut)?
Definition: Jet.hh:136
const Particles constituents(const Cut &c) const
Get the particles in this jet which pass a cut (FastJet-like alias, const)
Definition: Jet.hh:60
bool containsPID(const vector< PdgId > &pids) const
Nicer alias for containsParticleId.
Definition: Jet.hh:77
const fastjet::PseudoJet & pseudojet() const
Access the internal FastJet3 PseudoJet (as a const reference)
Definition: Jet.hh:170
bool cTagged(const ParticleSelector &f) const
Does this jet have at least one c-tag (that passes the supplied selector function)?
Definition: Jet.hh:125
Particles bTags(const Cut &c=Cuts::open()) const
b particles which have been tag-matched to this jet (and pass an optional Cut)
bool tauTagged(const ParticleSelector &f) const
Does this jet have at least one tau-tag (that passes the supplied selector function)?
Definition: Jet.hh:138
Particles tauTags(const Cut &c=Cuts::open()) const
Tau particles which have been tag-matched to this jet (and pass an optional Cut)
Particles cTags(const Cut &c=Cuts::open()) const
c (and not b) particles which have been tag-matched to this jet (and pass an optional Cut) ...
const FourMomentum & momentum() const
Get equivalent single momentum four-vector.
Definition: Jet.hh:147
Particles tauTags(const ParticleSelector &f) const
Tau particles which have been tag-matched to this jet and pass a selector function.
Definition: Jet.hh:133
Particles cTags(const ParticleSelector &f) const
c (and not b) particles which have been tag-matched to this jet and pass a selector function ...
Definition: Jet.hh:120
bool containsParticle(const Particle &particle) const
Check whether this jet contains a particular particle.
PdgIdPair pids(const ParticlePair &pp)
Definition: ParticleUtils.hh:749
Jet & setState(const fastjet::PseudoJet &pj, const Particles &particles=Particles(), const Particles &tags=Particles())
Set the jet data from a FastJet PseudoJet, with optional particle constituents and tags lists...
Base class for particle-like things like Particle and Jet.
Definition: ParticleBase.hh:13
const Particles & constituents() const
Get the particles in this jet (FastJet-like alias, const version)
Definition: Jet.hh:58
double E() const
Get energy (time component of momentum).
Definition: Vector4.hh:538
Particles & tags()
Particles which have been tag-matched to this jet.
Definition: Jet.hh:89
const Particles particles(const Cut &c) const
Get the particles in this jet which pass a cut (const)
Definition: Jet.hh:51
const Particles particles(const ParticleSelector &s) const
Get the particles in this jet which pass a filtering functor (const)
Definition: Jet.hh:53
Representation of a clustered jet of particles.
Definition: Jet.hh:18
const Particles constituents(const ParticleSelector &s) const
Get the particles in this jet which pass a filtering functor (FastJet-like alias, const) ...
Definition: Jet.hh:62
Jet & clear()
Reset this jet as empty.
const Particles & tags() const
Particles which have been tag-matched to this jet (const version)
Definition: Jet.hh:91
std::ostream & operator<<(std::ostream &os, const AnalysisInfo &ai)
Stream an AnalysisInfo as a text description.
Definition: AnalysisInfo.hh:348
const Particles & particles() const
Get the particles in this jet (const version)
Definition: Jet.hh:49
Specialized version of the FourVector with momentum/energy functionality.
Definition: Vector4.hh:301
bool cTagged(const Cut &c=Cuts::open()) const
Does this jet have at least one c-tag (that passes an optional Cut)?
Definition: Jet.hh:123
double hadronicEnergy() const
Get the energy carried in this jet by hadrons.
double totalEnergy() const
Get the total energy of this jet.
Definition: Jet.hh:155
Jet()
Default constructor – only for STL storability.
Definition: Jet.hh:35
bool containsPID(const Particle &particle) const
Nicer alias for containsParticleId.
Definition: Jet.hh:67
Particles & constituents()
Get the particles in this jet (FastJet-like alias)
Definition: Jet.hh:56
Particles bTags(const ParticleSelector &f) const
b particles which have been tag-matched to this jet and pass a selector function
Definition: Jet.hh:107
Jet(const fastjet::PseudoJet &pj, const Particles &particles=Particles(), const Particles &tags=Particles())
Constructor from a FastJet PseudoJet, with optional full particle constituents information.
Definition: Jet.hh:25