![]() |
Rivet
3.1.4
|
Project out jets found using the FastJet package jet algorithms. More...
#include <FastJets.hh>
Public Types | |
enum | Algo { KT =0, AKT =1, ANTIKT =1, CA =2, CAM =2, CAMBRIDGE =2, SISCONE, PXCONE, ATLASCONE, CMSCONE, CDFJETCLU, CDFMIDPOINT, D0ILCONE, JADE, DURHAM, TRACKJET, GENKTEE } |
enum | Muons { NONE, DECAY, ALL } |
Enum for the treatment of muons: whether to include all, some, or none in jet-finding. | |
enum | Invisibles { NONE, DECAY, ALL } |
Enum for the treatment of invisible particles: whether to include all, some, or none in jet-finding. | |
typedef Jet | entity_type |
typedef Jets | collection_type |
Public Member Functions | |
void | reset () |
Reset the projection. Jet def, etc. are unchanged. | |
void | calc (const Particles &fsparticles, const Particles &tagparticles=Particles()) |
Do the calculation locally (no caching). | |
virtual unique_ptr< Projection > | clone () const =0 |
Clone on the heap. | |
size_t | size () const |
Count the jets. | |
size_t | size (const Cut &c) const |
Count the jets after a Cut is applied. | |
size_t | size (const JetSelector &s) const |
Count the jets after a selection functor is applied. | |
bool | empty () const |
Is this jet finder empty? | |
bool | empty (const Cut &c) const |
Is this jet finder empty after a Cut is applied? | |
bool | empty (const JetSelector &s) const |
Is this jet finder empty after a selection functor is applied? | |
collection_type | entities () const |
Template-usable interface common to FinalState. | |
virtual std::string | name () const |
Get the name of the projection. | |
bool | valid () const |
Get the state of the projetion. | |
bool | failed () const |
Get the state of the projetion. | |
void | markAsOwned () const |
Mark this object as owned by a proj-handler. | |
Constructors etc. | |
FastJets (const FinalState &fsp, const fastjet::JetDefinition &jdef, JetAlg::Muons usemuons=JetAlg::Muons::ALL, JetAlg::Invisibles useinvis=JetAlg::Invisibles::NONE, fastjet::AreaDefinition *adef=nullptr) | |
FastJets (const FinalState &fsp, const fastjet::JetDefinition &jdef, fastjet::AreaDefinition *adef, JetAlg::Muons usemuons=JetAlg::Muons::ALL, JetAlg::Invisibles useinvis=JetAlg::Invisibles::NONE) | |
FastJets (const FinalState &fsp, fastjet::JetAlgorithm type, fastjet::RecombinationScheme recom, double rparameter, JetAlg::Muons usemuons=JetAlg::Muons::ALL, JetAlg::Invisibles useinvis=JetAlg::Invisibles::NONE, fastjet::AreaDefinition *adef=nullptr) | |
FastJets (const FinalState &fsp, fastjet::JetAlgorithm type, fastjet::RecombinationScheme recom, double rparameter, fastjet::AreaDefinition *adef, JetAlg::Muons usemuons=JetAlg::Muons::ALL, JetAlg::Invisibles useinvis=JetAlg::Invisibles::NONE) | |
FastJets (const FinalState &fsp, fastjet::JetDefinition::Plugin *plugin, JetAlg::Muons usemuons=JetAlg::Muons::ALL, JetAlg::Invisibles useinvis=JetAlg::Invisibles::NONE, fastjet::AreaDefinition *adef=nullptr) | |
Explicitly pass in an externally-constructed plugin. More... | |
FastJets (const FinalState &fsp, fastjet::JetDefinition::Plugin *plugin, fastjet::AreaDefinition *adef, JetAlg::Muons usemuons=JetAlg::Muons::ALL, JetAlg::Invisibles useinvis=JetAlg::Invisibles::NONE) | |
Explicitly pass in an externally-constructed plugin, with reordered args for easier specification of jet area definition. More... | |
FastJets (const FinalState &fsp, Algo alg, double rparameter, JetAlg::Muons usemuons=JetAlg::Muons::ALL, JetAlg::Invisibles useinvis=JetAlg::Invisibles::NONE, fastjet::AreaDefinition *adef=nullptr, double seed_threshold=1.0) | |
Convenience constructor using Rivet enums for most common jet algs (including some plugins). More... | |
DEFAULT_RIVET_PROJ_CLONE (FastJets) | |
Clone on the heap. | |
Jet-area calculations | |
void | useJetArea (fastjet::AreaDefinition *adef) |
Use provided jet area definition. More... | |
void | clearJetArea () |
Don't calculate a jet area. | |
Jet grooming | |
void | addTrf (fastjet::Transformer *trf) |
Add a grooming transformer (base class of fastjet::Filter, etc.) More... | |
template<typename TRFS , typename TRF = typename TRFS::value_type> | |
std::enable_if< Derefable< TRF >::value, void >::type | addTrfs (const TRFS &trfs) |
Add a list of grooming transformers. More... | |
void | clearTrfs () |
Don't apply any jet transformers. | |
Jet | trimJet (const Jet &input, const fastjet::Filter &trimmer) const |
Trim (filter) a jet, keeping tag and constituent info in the resulting jet. More... | |
Access to the jets | |
PseudoJets | pseudoJets (double ptmin=0.0) const |
Get the pseudo jets (unordered). | |
PseudoJets | pseudojets (double ptmin=0.0) const |
Alias. | |
PseudoJets | pseudoJetsByPt (double ptmin=0.0) const |
Get the pseudo jets, ordered by \( p_T \). | |
PseudoJets | pseudojetsByPt (double ptmin=0.0) const |
Alias. | |
PseudoJets | pseudoJetsByE (double ptmin=0.0) const |
Get the pseudo jets, ordered by \( E \). | |
PseudoJets | pseudojetsByE (double ptmin=0.0) const |
Alias. | |
PseudoJets | pseudoJetsByRapidity (double ptmin=0.0) const |
Get the pseudo jets, ordered by rapidity. | |
PseudoJets | pseudojetsByRapidity (double ptmin=0.0) const |
Alias. | |
Access to the FastJet clustering objects such as jet def, area def, and cluster | |
const shared_ptr< fastjet::ClusterSequence > | clusterSeq () const |
const shared_ptr< fastjet::ClusterSequenceArea > | clusterSeqArea () const |
const fastjet::JetDefinition & | jetDef () const |
Return the jet definition. | |
const shared_ptr< fastjet::AreaDefinition > | areaDef () const |
Return the area definition. More... | |
Control the treatment of muons and invisible particles | |
Since MC-based jet calibration (and/or particle flow) can add back in particles that weren't seen in calorimeters/trackers. | |
void | useMuons (Muons usemuons=Muons::ALL) |
Include (some) muons in jet construction. More... | |
void | useInvisibles (Invisibles useinvis=Invisibles::DECAY) |
Include (some) invisible particles in jet construction. More... | |
void | useInvisibles (bool useinvis) |
obsolete chooser | |
Access to jet objects | |
virtual Jets | jets (const Cut &c=Cuts::open()) const |
virtual Jets | jets (const JetSelector &selector) const |
Jets | jets (const Cut &c, const JetSorter &sorter) const |
Jets | jets (const JetSorter &sorter, const Cut &c=Cuts::open()) const |
Jets | jets (const JetSelector &selector, const JetSorter &sorter) const |
Jets | jets (const JetSorter &sorter, const JetSelector selector) const |
Jets | jetsByPt (const Cut &c=Cuts::open()) const |
Jets | jetsByPt (const JetSelector &selector) const |
Jets | jetsByPt (double ptmin) const |
Projection operation and comparison | |
bool | before (const Projection &p) const |
Beam configuration | |
| |
virtual const std::set< PdgIdPair > | beamPairs () const |
Projection & | addPdgIdPair (PdgId beam1, PdgId beam2) |
Projection "getting" functions | |
std::set< ConstProjectionPtr > | getProjections () const |
Get the contained projections, including recursion. | |
bool | hasProjection (const std::string &name) const |
Does this applier have a projection registered under the name name? | |
template<typename PROJ > | |
const PROJ & | getProjection (const std::string &name) const |
const Projection & | getProjection (const std::string &name) const |
template<typename PROJ > | |
const PROJ & | get (const std::string &name) const |
Projection applying functions | |
template<typename PROJ = Projection> | |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection (const Event &evt, const Projection &proj) const |
template<typename PROJ = Projection> | |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection (const Event &evt, const PROJ &proj) const |
template<typename PROJ = Projection> | |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection (const Event &evt, const std::string &name) const |
template<typename PROJ = Projection> | |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply (const Event &evt, const Projection &proj) const |
Apply the supplied projection on event evt (user-facing alias). | |
template<typename PROJ = Projection> | |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply (const Event &evt, const PROJ &proj) const |
Apply the supplied projection on event evt (user-facing alias). | |
template<typename PROJ = Projection> | |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply (const Event &evt, const std::string &name) const |
Apply the supplied projection on event evt (user-facing alias). | |
template<typename PROJ = Projection> | |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply (const std::string &name, const Event &evt) const |
Apply the supplied projection on event evt (convenience arg-reordering alias). | |
Static Public Member Functions | |
Static helper functions for FastJet interaction, with tagging | |
static PseudoJets | mkClusterInputs (const Particles &fsparticles, const Particles &tagparticles=Particles()) |
Make PseudoJets for input to a ClusterSequence, with user_index codes for constituent- and tag-particle linking. | |
static Jet | mkJet (const PseudoJet &pj, const Particles &fsparticles, const Particles &tagparticles=Particles()) |
Make a Rivet Jet from a PseudoJet holding a user_index code for lookup of Rivet fsparticle or tagparticle links. | |
static Jets | mkJets (const PseudoJets &pjs, const Particles &fsparticles, const Particles &tagparticles=Particles()) |
Convert a whole list of PseudoJets to a list of Jets, with mkJet-style unpacking. | |
Protected Member Functions | |
void | project (const Event &e) |
Perform the projection on the Event. | |
CmpState | compare (const Projection &p) const |
Compare projections. | |
Log & | getLog () const |
Get a Log object based on the getName() property of the calling projection object. | |
void | setName (const std::string &name) |
Used by derived classes to set their name. | |
void | fail () |
Set the projection in an unvalid state. | |
Cmp< Projection > | mkNamedPCmp (const Projection &otherparent, const std::string &pname) const |
Cmp< Projection > | mkPCmp (const Projection &otherparent, const std::string &pname) const |
ProjectionHandler & | getProjHandler () const |
Get a reference to the ProjectionHandler for this thread. | |
Projection registration functions | |
template<typename PROJ > | |
const PROJ & | declareProjection (const PROJ &proj, const std::string &name) |
Register a contained projection. More... | |
template<typename PROJ > | |
const PROJ & | declare (const PROJ &proj, const std::string &name) |
Register a contained projection (user-facing version) More... | |
template<typename PROJ > | |
const PROJ & | declare (const std::string &name, const PROJ &proj) |
Register a contained projection (user-facing, arg-reordered version) More... | |
Project out jets found using the FastJet package jet algorithms.
Wrapper enum for selected FastJet jet algorithms.
|
inline |
Constructor from a FastJet JetDefinition
|
inline |
JetDefinition-based constructor with reordered args for easier specification of jet area definition
|
inline |
Native argument constructor, using FastJet alg/scheme enums.
|
inline |
Native argument constructor with reordered args for easier specification of jet area definition
|
inline |
|
inline |
Explicitly pass in an externally-constructed plugin, with reordered args for easier specification of jet area definition.
|
inline |
Convenience constructor using Rivet enums for most common jet algs (including some plugins).
For the built-in algs, E-scheme recombination is used. For full control of FastJet built-in jet algs, use the constructors from native-args or a plugin pointer.
References DEFAULT_RIVET_PROJ_CLONE(), mkClusterInputs(), mkJet(), mkJets(), and reset().
|
inlineinherited |
Add a colliding beam pair.
|
inline |
Add a grooming transformer (base class of fastjet::Filter, etc.)
Referenced by addTrfs().
|
inline |
Add a list of grooming transformers.
References addTrf().
|
inlineinherited |
Apply the supplied projection on event evt.
|
inlineinherited |
Apply the supplied projection on event evt.
|
inlineinherited |
Apply the named projection on event evt.
|
inline |
Return the area definition.
References calc(), compare(), and project().
Referenced by clusterSeqArea().
|
virtualinherited |
Return the allowed beam pairs on which this projection can operate, not including recursion. Derived classes should ensure that all contained projections are registered in the _projections set for the beam constraint chaining to work.
Referenced by Rivet::Projection::failed().
|
inherited |
Determine whether this object should be ordered before the object p given as argument. If p is of a different class than this, the before() function of the corresponding type_info objects is used. Otherwise, if the objects are of the same class, the virtual compare(const Projection &) will be returned.
Referenced by Rivet::Projection::fail(), and Rivet::Projection::failed().
|
inline |
Return the cluster sequence.
|
inline |
|
inlineprotectedinherited |
Register a contained projection (user-facing version)
References Rivet::ProjectionApplier::declareProjection().
Referenced by Rivet::CentralityProjection::add(), Rivet::VetoedFinalState::addVetoOnThisFinalState(), Rivet::BeamThrust::BeamThrust(), Rivet::CentralEtHCM::CentralEtHCM(), Rivet::CentralityEstimator::CentralityEstimator(), Rivet::ChargedLeptons::ChargedLeptons(), Rivet::ALICE::CLMultiplicity< INNER >::CLMultiplicity(), Rivet::DISDiffHadron::DISDiffHadron(), Rivet::DISFinalState::DISFinalState(), Rivet::DISKinematics::DISKinematics(), Rivet::DISLepton::DISLepton(), Rivet::GammaGammaKinematics::GammaGammaKinematics(), Rivet::GammaGammaLeptons::GammaGammaLeptons(), Rivet::GeneratedCentrality::GeneratedCentrality(), Rivet::HadronicFinalState::HadronicFinalState(), Rivet::HeavyHadrons::HeavyHadrons(), Rivet::Hemispheres::Hemispheres(), Rivet::InvisibleFinalState::InvisibleFinalState(), Rivet::LeadingParticlesFinalState::LeadingParticlesFinalState(), Rivet::LossyFinalState< ConstRandomFilter >::LossyFinalState(), Rivet::MC_pPbMinBiasTrigger::MC_pPbMinBiasTrigger(), Rivet::MC_SumETFwdPbCentrality::MC_SumETFwdPbCentrality(), Rivet::ATLAS::MinBiasTrigger::MinBiasTrigger(), Rivet::MissingMomentum::MissingMomentum(), Rivet::NeutralFinalState::NeutralFinalState(), Rivet::NonHadronicFinalState::NonHadronicFinalState(), Rivet::ParisiTensor::ParisiTensor(), Rivet::PercentileProjection::PercentileProjection(), Rivet::PrimaryHadrons::PrimaryHadrons(), Rivet::CentralityBinner< T, MDist >::setProjection(), Rivet::SmearedJets::SmearedJets(), Rivet::SmearedMET::SmearedMET(), Rivet::SmearedParticles::SmearedParticles(), Rivet::Spherocity::Spherocity(), Rivet::ATLAS::SumET_PB_Centrality::SumET_PB_Centrality(), Rivet::ATLAS::SumET_PBPB_Centrality::SumET_PBPB_Centrality(), Rivet::TauFinder::TauFinder(), Rivet::Thrust::Thrust(), Rivet::TriggerCDFRun0Run1::TriggerCDFRun0Run1(), Rivet::TriggerCDFRun2::TriggerCDFRun2(), Rivet::UndressBeamLeptons::UndressBeamLeptons(), Rivet::ALICE::V0AndTrigger::V0AndTrigger(), Rivet::ALICE::V0Trigger< MODE >::V0Trigger(), Rivet::VetoedFinalState::VetoedFinalState(), and Rivet::VisibleFinalState::VisibleFinalState().
|
inlineprotectedinherited |
Register a contained projection (user-facing, arg-reordered version)
References Rivet::ProjectionApplier::declareProjection(), and Rivet::ProjectionApplier::name().
|
inlineprotectedinherited |
Register a contained projection.
The type of the argument is used to instantiate a new projection internally: this new object is applied to events rather than the argument object. Hence you are advised to only use locally-scoped Projection objects in your Projection and Analysis constructors, and to avoid polymorphism (e.g. handling ConcreteProjection
via a pointer or reference to type Projection
) since this will screw up the internal type management.
Referenced by Rivet::ProjectionApplier::declare().
|
inlineinherited |
Get the named projection, specifying return type via a template argument (user-facing alias).
References Rivet::ProjectionApplier::name().
|
inlineinherited |
Get the named projection, specifying return type via a template argument.
References Rivet::ProjectionHandler::getProjection(), and Rivet::ProjectionApplier::getProjHandler().
Referenced by Rivet::CentralityProjection::compare(), and Rivet::pcmp().
|
inlineinherited |
Get the named projection (non-templated, so returns as a reference to a Projection base class).
References Rivet::ProjectionHandler::getProjection(), and Rivet::ProjectionApplier::getProjHandler().
|
inlinevirtualinherited |
Get jets in no guaranteed order, with an optional Cut
References Rivet::filter_select().
Referenced by Rivet::JetFinder::entities(), Rivet::JetFinder::jets(), Rivet::JetFinder::jetsByPt(), and Rivet::JetFinder::size().
|
inlinevirtualinherited |
Get jets in no guaranteed order, with a selection functor
References Rivet::filter_select().
|
inlineinherited |
Get the jets with a Cut applied, and ordered by supplied sorting functor
References Rivet::JetFinder::jets(), and Rivet::sortBy().
|
inlineinherited |
Get the jets, ordered by supplied sorting functor, with an optional Cut
References Rivet::JetFinder::jets().
|
inlineinherited |
Get the jets, ordered by supplied sorting function object, with optional cuts on \( p_\perp \) and rapidity.
References Rivet::JetFinder::jets(), and Rivet::sortBy().
|
inlineinherited |
Get the jets, ordered by supplied sorting functor and with a selection functor applied
References Rivet::JetFinder::jets().
|
inlineinherited |
Get the jets, ordered by \( p_T \), with optional cuts.
This is a very common use-case, so is available as syntatic sugar for jets(c, cmpMomByPt).
References Rivet::cmpMomByPt(), and Rivet::JetFinder::jets().
Referenced by Rivet::SmearedJets::project(), and Rivet::SmearedJets::truthJets().
|
inlineinherited |
Get the jets, ordered by \( p_T \), with cuts via a selection functor.
This is a very common use-case, so is available as syntatic sugar for jets(c, cmpMomByPt).
References Rivet::cmpMomByPt(), and Rivet::JetFinder::jets().
|
inlineinherited |
Get the jets, ordered by \( p_T \), with a cut on \( p_\perp \).
This is a very common use-case, so is available as syntatic sugar for jets(Cuts::pT >= ptmin, cmpMomByPt).
References Rivet::cmpMomByPt(), and Rivet::JetFinder::jets().
|
protectedinherited |
Shortcut to make a named Cmp<Projection> comparison with the *this
object automatically passed as one of the parent projections.
Referenced by Rivet::FParameter::compare(), Rivet::STAR_BES_Centrality::compare(), Rivet::CentralEtHCM::compare(), Rivet::BeamThrust::compare(), Rivet::MC_SumETFwdPbCentrality::compare(), Rivet::ATLAS::SumET_PB_Centrality::compare(), Rivet::CentralityEstimator::compare(), Rivet::Spherocity::compare(), Rivet::GammaGammaFinalState::compare(), Rivet::LossyFinalState< ConstRandomFilter >::compare(), Rivet::BRAHMSCentrality::compare(), Rivet::Thrust::compare(), Rivet::DISFinalState::compare(), Rivet::MC_pPbMinBiasTrigger::compare(), Rivet::ATLAS::SumET_PBPB_Centrality::compare(), Rivet::Hemispheres::compare(), Rivet::HeavyHadrons::compare(), Rivet::ATLAS::MinBiasTrigger::compare(), Rivet::PercentileProjection::compare(), Rivet::EventMixingBase::compare(), Rivet::GeneratedCentrality::compare(), and Rivet::Projection::fail().
|
protectedinherited |
Shortcut to make a named Cmp<Projection> comparison with the *this
object automatically passed as one of the parent projections.
Referenced by Rivet::SmearedMET::compare(), Rivet::SmearedParticles::compare(), Rivet::SmearedJets::compare(), Rivet::Correlators::compare(), Rivet::ALICE::PrimaryParticles::compare(), and Rivet::Projection::fail().
Trim (filter) a jet, keeping tag and constituent info in the resulting jet.
Referenced by clearTrfs().
|
inlineinherited |
Include (some) invisible particles in jet construction.
The default behaviour is that jets are only constructed from visible particles. Some jet studies, including those from ATLAS, use a definition in which neutrinos from hadron decays are included via MC-based calibrations. Setting this flag to true avoids the automatic restriction to a VisibleFinalState.
|
inline |
Use provided jet area definition.
|
inlineinherited |
Include (some) muons in jet construction.
The default behaviour is that jets are only constructed from visible particles. Some jet studies, including those from ATLAS, use a definition in which neutrinos from hadron decays are included via MC-based calibrations. Setting this flag to true avoids the automatic restriction to a VisibleFinalState.