Rivet API documentation
![]() |
Rivet 4.1.3
|
Wrapper projection for smearing Jets with detector resolutions and efficiencies.
More...
#include <SmearedJets.hh>
Public Types | |
| typedef Jet | entity_type |
| typedef Jets | collection_type |
Public Member Functions | |
| CmpState | compare (const Projection &p) const |
| Compare to another SmearedJets. | |
| void | project (const Event &e) |
| Perform the jet finding & smearing calculation. | |
| const Jets | truthJets () const |
| Get the truth jets (sorted by pT). | |
| void | reset () |
| Reset the projection. Smearing functions will be unchanged. | |
| 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. | |
| SmearedJets (const JetFinder &ja, const JetSmearFn &smearFn, const JetEffFn &bTagEffFn=JET_BTAG_PERFECT, const JetEffFn &cTagEffFn=JET_CTAG_PERFECT) | |
| Constructor with a reco efficiency and optional tagging efficiencies. | |
| template<typename... Args, typename = std::enable_if_t< allArgumentsOf<JetEffSmearFn, Args...>::value >> | |
| SmearedJets (const JetFinder &ja, const JetEffFn &bTagEffFn, const JetEffFn &cTagEffFn, Args &&... effSmearFns) | |
| Constructor with a parameter pack of efficiency and smearing functions, plus optional tagging efficiencies. | |
| RIVET_DEFAULT_PROJ_CLONE (SmearedJets) | |
| Clone on the heap. | |
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 (JetMuons usemuons=JetMuons::ALL) |
| Include (some) muons in jet construction. | |
| void | useInvisibles (JetInvisibles useinvis=JetInvisibles::DECAY) |
| Include (some) invisible particles in jet construction. | |
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 |
Projection operation and comparison | |
| bool | before (const Projection &p) const |
Projection "getting" functions | |
| std::set< ConstProjectionPtr > | getProjections () const |
| Get the contained projections, including recursion. | |
| std::set< ConstProjectionPtr > | getImmediateChildProjections () const |
| Get the contained projections, excluding 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 |
| template<typename PROJ> | |
| const PROJ & | getProjectionFromDeclQueue (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 & > | apply (const Event &evt, const Projection &proj) const |
| Apply the supplied projection on event evt. | |
| 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). | |
Protected Member Functions | |
| 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. | |
| void | setProjectionHandler (ProjectionHandler &projectionHandler) const |
Projection registration functions | |
| template<typename PROJ> | |
| const PROJ & | declare (const PROJ &proj, const std::string &name) const |
| Register a contained projection (user-facing version). | |
| template<typename PROJ> | |
| const PROJ & | declare (const std::string &name, const PROJ &proj) const |
| Register a contained projection (user-facing, arg-reordered version). | |
Detailed Description
Wrapper projection for smearing Jets with detector resolutions and efficiencies.
- Todo
- Allow applying a pre-smearing cut so smearing doesn't need to be applied to below-threshold micro-jets
Constructor & Destructor Documentation
◆ SmearedJets() [1/2]
|
inline |
Constructor with a reco efficiency and optional tagging efficiencies.
- Todo
- Add a tau-tag slot
References Rivet::JetFinder::JetFinder(), SmearedJets(), Rivet::JET_BTAG_PERFECT(), and Rivet::JET_CTAG_PERFECT().
Referenced by SmearedJets(), compare(), and RIVET_DEFAULT_PROJ_CLONE().
◆ SmearedJets() [2/2]
|
inline |
Constructor with a parameter pack of efficiency and smearing functions, plus optional tagging efficiencies.
- Todo
- Add a tau-tag slot
References Rivet::JetFinder::JetFinder().
Member Function Documentation
◆ apply()
|
inlineinherited |
Apply the supplied projection on event evt.
Apply the supplied projection on event evt (user-facing alias).
Referenced by Rivet::SimpleAnalysis::electrons(), Rivet::SimpleAnalysis::jets(), Rivet::SimpleAnalysis::metSignf(), Rivet::SimpleAnalysis::muons(), Rivet::SimpleAnalysis::photons(), Rivet::ALICE::V0AndTrigger::project(), Rivet::ATLAS::MinBiasTrigger::project(), Rivet::ATLAS::SumET_PB_Centrality::project(), Rivet::ATLAS::SumET_PBPB_Centrality::project(), Rivet::BeamThrust::project(), Rivet::BRAHMSCentrality::project(), Rivet::CentralityEstimator::project(), Rivet::CentralityProjection::project(), Rivet::EventMixingBase::project(), Rivet::GeneratedCentrality::project(), Rivet::GeneratedPercentileProjection::project(), Rivet::ImpactParameterProjection::project(), Rivet::LossyFinalState< FILTER >::project(), Rivet::MC_pPbMinBiasTrigger::project(), Rivet::MC_SumETFwdPbCentrality::project(), Rivet::PercentileProjection::project(), Rivet::SmearedJets::project(), Rivet::SmearedMET::project(), Rivet::SmearedParticles::project(), Rivet::Spherocity::project(), Rivet::STAR_BES_Centrality::project(), Rivet::Thrust::project(), Rivet::UserCentEstimate::project(), Rivet::SimpleAnalysis::set(), Rivet::SimpleAnalysis::taus(), Rivet::SimpleAnalysis::tracks(), Rivet::SimpleAnalysis::tracks(), and Rivet::SimpleAnalysis::vmet().
◆ before()
|
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.
References Projection(), and Rivet::Kin::p().
◆ clone()
|
pure virtualinherited |
Clone on the heap.
Implements Rivet::Projection.
◆ compare()
|
inlinevirtual |
Compare to another SmearedJets.
Implements Rivet::JetFinder.
References SmearedJets(), Rivet::cmp(), std::get_address(), Rivet::Projection::mkPCmp(), Rivet::Kin::p(), and Rivet::JetFinder::size().
◆ declare() [1/2]
|
inlineprotectedinherited |
Register a contained projection (user-facing version).
- Todo
- Add SFINAE to require that PROJ inherit from Projection
Referenced by Rivet::CentralEtHCM::CentralEtHCM(), Rivet::CentralityEstimator::CentralityEstimator(), Rivet::ChargedLeptons::ChargedLeptons(), Rivet::ALICE::CLMultiplicity< true >::CLMultiplicity(), Rivet::DISDiffHadron::DISDiffHadron(), Rivet::DISFinalState::DISFinalState(), Rivet::DISKinematics::DISKinematics(), Rivet::DISLepton::DISLepton(), Rivet::EventMixingBase::EventMixingBase(), Rivet::GammaGammaKinematics::GammaGammaKinematics(), Rivet::GammaGammaLeptons::GammaGammaLeptons(), Rivet::GammaGammaLeptons::GammaGammaLeptons(), Rivet::GeneratedCentrality::GeneratedCentrality(), Rivet::HadronicFinalState::HadronicFinalState(), Rivet::HeavyHadrons::HeavyHadrons(), Rivet::Hemispheres::Hemispheres(), Rivet::InvisibleFinalState::InvisibleFinalState(), Rivet::LeadingParticlesFinalState::LeadingParticlesFinalState(), Rivet::LossyFinalState< FILTER >::LossyFinalState(), Rivet::LossyFinalState< FILTER >::LossyFinalState(), Rivet::MC_pPbMinBiasTrigger::MC_pPbMinBiasTrigger(), Rivet::MC_SumETFwdPbCentrality::MC_SumETFwdPbCentrality(), Rivet::ATLAS::MinBiasTrigger::MinBiasTrigger(), Rivet::MissingMomentum::MissingMomentum(), Rivet::NeutralFinalState::NeutralFinalState(), Rivet::NeutralFinalState::NeutralFinalState(), Rivet::NonHadronicFinalState::NonHadronicFinalState(), Rivet::ParisiTensor::ParisiTensor(), Rivet::PercentileProjection::PercentileProjection(), Rivet::PrimaryHadrons::PrimaryHadrons(), Rivet::PrimaryHadrons::PrimaryHadrons(), Rivet::SmearedMET::SmearedMET(), Rivet::SmearedMET::SmearedMET(), Rivet::SmearedMET::SmearedMET(), Rivet::Spherocity::Spherocity(), Rivet::ATLAS::SumET_PB_Centrality::SumET_PB_Centrality(), Rivet::ATLAS::SumET_PBPB_Centrality::SumET_PBPB_Centrality(), Rivet::TriggerCDFRun0Run1::TriggerCDFRun0Run1(), Rivet::TriggerCDFRun2::TriggerCDFRun2(), Rivet::UndressBeamLeptons::UndressBeamLeptons(), Rivet::ALICE::V0AndTrigger::V0AndTrigger(), Rivet::ALICE::V0Trigger<-1 >::V0Trigger(), Rivet::VetoedFinalState::VetoedFinalState(), Rivet::VisibleFinalState::VisibleFinalState(), Rivet::VisibleFinalState::VisibleFinalState(), Rivet::CentralityProjection::add(), Rivet::SimpleAnalysis::postInit(), Rivet::CentralityBinner< T, MDist >::setProjection(), and Rivet::VetoedFinalState::vetoFinalState().
◆ declare() [2/2]
|
inlineprotectedinherited |
Register a contained projection (user-facing, arg-reordered version).
- Todo
- Add SFINAE to require that PROJ inherit from Projection
◆ get()
|
inlineinherited |
Get the named projection, specifying return type via a template argument (user-facing alias).
- Todo
- Add SFINAE to require that PROJ inherit from Projection
References getProjection().
Referenced by Rivet::FastJets::FastJets(), and Rivet::FastJets::FastJets().
◆ getProjection() [1/2]
|
inlineinherited |
Get the named projection (non-templated, so returns as a reference to a Projection base class).
References Rivet::ProjectionHandler::getProjection(), and getProjHandler().
◆ getProjection() [2/2]
|
inlineinherited |
Get the named projection, specifying return type via a template argument.
- Todo
- Add SFINAE to require that PROJ inherit from Projection
References Rivet::ProjectionHandler::getProjection(), getProjectionFromDeclQueue(), getProjHandler(), and Rivet::Kin::p().
Referenced by Rivet::CentralityProjection::compare(), Rivet::SimpleAnalysis::electronsProj(), get(), Rivet::SimpleAnalysis::jetsProj(), Rivet::DISFinalState::kinematics(), Rivet::SimpleAnalysis::metProj(), Rivet::SimpleAnalysis::muonsProj(), Rivet::pcmp(), Rivet::pcmp(), Rivet::pcmp(), Rivet::pcmp(), Rivet::SimpleAnalysis::photonsProj(), Rivet::SimpleAnalysis::tausProj(), Rivet::SimpleAnalysis::tracksProj(), Rivet::SmearedJets::truthJets(), and Rivet::SmearedParticles::truthParticles().
◆ getProjectionFromDeclQueue()
|
inlineinherited |
Get a named projection from this projection appliers declqueue TODO for TP: Recursion?
References MSG_ERROR.
Referenced by getProjection().
◆ jets() [1/6]
Get the jets with a Cut applied, and ordered by supplied sorting functor
- Note
- Returns a copy rather than a reference, due to cuts and sorting
- Todo
- Will the vector be efficiently std::move'd by value through this function chain?
References jets(), and Rivet::sortBy().
◆ jets() [2/6]
|
inlinevirtualinherited |
Get jets in no guaranteed order, with an optional Cut
- Note
- Returns a copy rather than a reference, due to cuts
References Rivet::Cuts::open(), and Rivet::select().
Referenced by entities(), jets(), jets(), jets(), jets(), jetsByPt(), jetsByPt(), size(), size(), and size().
◆ jets() [3/6]
|
inlinevirtualinherited |
Get jets in no guaranteed order, with a selection functor
- Note
- Returns a copy rather than a reference, due to cuts
References Rivet::select().
◆ jets() [4/6]
|
inlineinherited |
Get the jets, ordered by supplied sorting function object, with optional cuts on \( p_\perp \) and rapidity.
- Note
- Returns a copy rather than a reference, due to cuts and sorting
- Todo
- Will the vector be efficiently std::move'd by value through this function chain?
References jets(), and Rivet::sortBy().
◆ jets() [5/6]
|
inlineinherited |
Get the jets, ordered by supplied sorting functor, with an optional Cut
- Note
- Returns a copy rather than a reference, due to cuts and sorting
- Todo
- Will the vector be efficiently std::move'd by value through this function chain?
References jets(), and Rivet::Cuts::open().
◆ jets() [6/6]
|
inlineinherited |
Get the jets, ordered by supplied sorting functor and with a selection functor applied
- Note
- Returns a copy rather than a reference, due to cuts and sorting
References jets().
◆ jetsByPt() [1/2]
|
inlineinherited |
Get the jets, ordered by \( p_T \), with optional cuts.
- Note
- Returns a copy rather than a reference, due to cuts and sorting
This is a very common use-case, so is available as syntatic sugar for jets(c, cmpMomByPt).
References Rivet::cmpMomByPt(), jets(), and Rivet::Cuts::open().
◆ jetsByPt() [2/2]
|
inlineinherited |
Get the jets, ordered by \( p_T \), with cuts via a selection functor.
- Note
- Returns a copy rather than a reference, due to cuts and sorting
This is a very common use-case, so is available as syntatic sugar for jets(c, cmpMomByPt).
References Rivet::cmpMomByPt(), and jets().
◆ mkNamedPCmp()
|
protectedinherited |
Shortcut to make a named Cmp<Projection> comparison with the *this object automatically passed as one of the parent projections.
References Projection().
Referenced by Rivet::ATLAS::MinBiasTrigger::compare(), Rivet::ATLAS::SumET_PB_Centrality::compare(), Rivet::ATLAS::SumET_PBPB_Centrality::compare(), Rivet::BeamThrust::compare(), Rivet::BRAHMSCentrality::compare(), Rivet::CentralEtHCM::compare(), Rivet::CentralityEstimator::compare(), Rivet::DISFinalState::compare(), Rivet::EventMixingBase::compare(), Rivet::FParameter::compare(), Rivet::GammaGammaFinalState::compare(), Rivet::GeneratedCentrality::compare(), Rivet::HeavyHadrons::compare(), Rivet::Hemispheres::compare(), Rivet::LossyFinalState< FILTER >::compare(), Rivet::MC_pPbMinBiasTrigger::compare(), Rivet::MC_SumETFwdPbCentrality::compare(), Rivet::PercentileProjection::compare(), Rivet::Spherocity::compare(), Rivet::STAR_BES_Centrality::compare(), and Rivet::Thrust::compare().
◆ mkPCmp()
|
protectedinherited |
Shortcut to make a named Cmp<Projection> comparison with the *this object automatically passed as one of the parent projections.
- Note
- Alias for mkNamedPCmp
References Projection().
Referenced by Rivet::ALICE::PrimaryParticles::compare(), Rivet::Correlators::compare(), Rivet::SmearedJets::compare(), and Rivet::SmearedParticles::compare().
◆ name()
|
inlinevirtualinherited |
Get the name of the projection.
Implements Rivet::ProjectionApplier.
Referenced by getLog(), setName(), and Rivet::VetoedFinalState::vetoFinalState().
◆ project()
|
inlinevirtual |
Perform the jet finding & smearing calculation.
<
- Todo
- Or could use the/an actual clustered b-quark momentum?
<
- Todo
- As above... ?
Implements Rivet::JetFinder.
References Rivet::ProjectionApplier::apply(), Rivet::ParticleBase::eta(), Rivet::ParticleBase::mom(), MSG_DEBUG, Rivet::Jet::particles(), Rivet::ParticleBase::pT(), Rivet::rand01(), and Rivet::Jet::tags().
◆ reset()
|
inlinevirtual |
Reset the projection. Smearing functions will be unchanged.
Implements Rivet::JetFinder.
◆ RIVET_DEFAULT_PROJ_CLONE()
| Rivet::SmearedJets::RIVET_DEFAULT_PROJ_CLONE | ( | SmearedJets | ) |
Clone on the heap.
- Todo
How to include tagging effs?
Variadic eff/smear fn list?
Add a trailing Cut arg cf. SmearedParticles? – wrap into an eff function
References SmearedJets().
◆ setProjectionHandler()
|
protectedinherited |
- Todo
- AB: Add Doxygen comment, follow surrounding coding style
◆ useInvisibles()
|
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.
◆ useMuons()
|
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.
The documentation for this class was generated from the following file:
- /builds/hepcedar/rivet/include/Rivet/Projections/SmearedJets.hh
Generated on for Rivet by
