Rivet API documentation

Rivet 4.1.3
FastJets.hh
1// -*- C++ -*-
2#ifndef RIVET_FastJets_HH
3#define RIVET_FastJets_HH
4
5#include "Rivet/Jet.hh"
6#include "Rivet/Particle.hh"
7#include "Rivet/Projection.hh"
8#include "Rivet/Projections/FinalState.hh"
9#include "Rivet/Projections/JetFinder.hh"
10#include "Rivet/Tools/RivetFastJet.hh"
11
12#include "fastjet/ATLASConePlugin.hh"
13#include "fastjet/CDFJetCluPlugin.hh"
14#include "fastjet/CDFMidPointPlugin.hh"
15#include "fastjet/CMSIterativeConePlugin.hh"
16#include "fastjet/D0RunIIConePlugin.hh"
17#include "fastjet/JadePlugin.hh"
18#include "fastjet/SISConePlugin.hh"
19#include "fastjet/TrackJetPlugin.hh"
20#include "fastjet/contrib/VariableRPlugin.hh"
21
22#include "Rivet/Projections/PxConePlugin.hh"
23#include "Rivet/Tools/TypeTraits.hh"
24
25namespace Rivet {
26
27 typedef std::shared_ptr<fastjet::JetDefinition::Plugin> FJPluginPtr;
28
30 class FastJets : public JetFinder {
31 public:
32
33 using JetFinder::operator=;
34
35
38
42 FastJets(const FinalState& fsp,
43 const fastjet::JetDefinition& jdef,
44 JetMuons usemuons = JetMuons::ALL,
45 JetInvisibles useinvis = JetInvisibles::NONE,
46 fastjet::AreaDefinition* adef = nullptr)
47 : JetFinder(fsp, usemuons, useinvis), _jdef(jdef), _adef(adef), _cuts(Cuts::OPEN) {
48 _initBase();
49 }
50
54 FastJets(const FinalState& fsp,
55 const fastjet::JetDefinition& jdef,
56 const Cut& c,
57 JetMuons usemuons = JetMuons::ALL,
58 JetInvisibles useinvis = JetInvisibles::NONE,
59 fastjet::AreaDefinition* adef = nullptr)
60 : JetFinder(fsp, usemuons, useinvis), _jdef(jdef), _adef(adef), _cuts(c) {
61 _initBase();
62 }
63
67 FastJets(const FinalState& fsp,
68 const fastjet::JetDefinition& jdef,
69 fastjet::AreaDefinition* adef,
70 JetMuons usemuons = JetMuons::ALL,
71 JetInvisibles useinvis = JetInvisibles::NONE)
72 : FastJets(fsp, jdef, usemuons, useinvis, adef) { }
73
78 FastJets(const FinalState& fsp,
79 const fastjet::JetDefinition& jdef,
80 fastjet::AreaDefinition* adef,
81 const Cut& c,
82 JetMuons usemuons = JetMuons::ALL,
83 JetInvisibles useinvis = JetInvisibles::NONE)
84 : FastJets(fsp, jdef, c, usemuons, useinvis, adef) { }
85
86
90 FastJets(const FinalState& fsp,
91 fastjet::JetAlgorithm type,
92 fastjet::RecombinationScheme recom,
93 double rparameter,
94 JetMuons usemuons = JetMuons::ALL,
95 JetInvisibles useinvis = JetInvisibles::NONE,
96 fastjet::AreaDefinition* adef = nullptr)
97 : FastJets(fsp, fastjet::JetDefinition(type, rparameter, recom), usemuons, useinvis, adef) { }
98
103 fastjet::JetAlgorithm type,
104 fastjet::RecombinationScheme recom,
105 double rparameter,
106 const Cut& c,
107 JetMuons usemuons = JetMuons::ALL,
108 JetInvisibles useinvis = JetInvisibles::NONE,
109 fastjet::AreaDefinition* adef = nullptr)
110 : FastJets(fsp, fastjet::JetDefinition(type, rparameter, recom), c, usemuons, useinvis, adef) { }
111
116 fastjet::JetAlgorithm type,
117 fastjet::RecombinationScheme recom,
118 double rparameter,
119 fastjet::AreaDefinition* adef,
120 JetMuons usemuons = JetMuons::ALL,
121 JetInvisibles useinvis = JetInvisibles::NONE)
122 : FastJets(fsp, type, recom, rparameter, usemuons, useinvis, adef) { }
123
128 fastjet::JetAlgorithm type,
129 fastjet::RecombinationScheme recom,
130 double rparameter,
131 fastjet::AreaDefinition* adef,
132 const Cut& c,
133 JetMuons usemuons = JetMuons::ALL,
134 JetInvisibles useinvis = JetInvisibles::NONE)
135 : FastJets(fsp, type, recom, rparameter, c, usemuons, useinvis, adef) { }
136
141 FJPluginPtr plugin,
142 JetMuons usemuons = JetMuons::ALL,
143 JetInvisibles useinvis = JetInvisibles::NONE,
144 fastjet::AreaDefinition* adef = nullptr)
145 : FastJets(fsp, fastjet::JetDefinition(plugin.get()), usemuons, useinvis, adef) {
146 _plugin = plugin;
147 }
148
153 FJPluginPtr plugin,
154 const Cut& c,
155 JetMuons usemuons = JetMuons::ALL,
156 JetInvisibles useinvis = JetInvisibles::NONE,
157 fastjet::AreaDefinition* adef = nullptr)
158 : FastJets(fsp, fastjet::JetDefinition(plugin.get()), c, usemuons, useinvis, adef) {
159 _plugin = plugin;
160 }
161
166 FJPluginPtr plugin,
167 fastjet::AreaDefinition* adef,
168 JetMuons usemuons = JetMuons::ALL,
169 JetInvisibles useinvis = JetInvisibles::NONE)
170 : FastJets(fsp, plugin, usemuons, useinvis, adef) { }
171
176 FJPluginPtr plugin,
177 fastjet::AreaDefinition* adef,
178 const Cut& c,
179 JetMuons usemuons = JetMuons::ALL,
180 JetInvisibles useinvis = JetInvisibles::NONE)
181 : FastJets(fsp, plugin, c, usemuons, useinvis, adef) { }
182
191 JetAlg alg,
192 double rparameter = -1,
193 JetMuons usemuons = JetMuons::ALL,
194 JetInvisibles useinvis = JetInvisibles::NONE,
195 fastjet::AreaDefinition* adef = nullptr)
196 : JetFinder(fsp, usemuons, useinvis), _adef(adef), _cuts(Cuts::OPEN) {
197 _initBase();
198 _initJdef(alg, rparameter);
199 }
200
209 JetAlg alg,
210 double rparameter,
211 const Cut& c,
212 JetMuons usemuons = JetMuons::ALL,
213 JetInvisibles useinvis = JetInvisibles::NONE,
214 fastjet::AreaDefinition* adef = nullptr)
215 : JetFinder(fsp, usemuons, useinvis), _adef(adef), _cuts(c) {
216 _initBase();
217 _initJdef(alg, rparameter);
218 }
219
220
223
225
226
228 using Projection::operator=;
229
230
233
235 static fastjet::JetDefinition mkJetDef(JetAlg alg, double rparameter);
236
239 template <JetAlg JETALG, typename... Args>
240 static FJPluginPtr mkPlugin(Args&&... args) {
241 return std::make_shared<mapJetAlg2Plugin_t<JETALG>>(std::forward<Args>(args)...);
242 }
243
245 static FJPluginPtr mkPlugin(JetAlg alg, double rparameter = -1);
246
248 static PseudoJets mkClusterInputs(const Particles& fsparticles,
249 const Particles& tagparticles = Particles());
251 static Jet mkJet(const PseudoJet& pj,
252 const Particles& fsparticles,
253 const Particles& tagparticles = Particles());
255 static Jets mkJets(const PseudoJets& pjs,
256 const Particles& fsparticles = Particles(),
257 const Particles& tagparticles = Particles());
258
260
261
264
265 typedef std::pair<PseudoJets, Particles> PJetsParts;
266
277 template <typename CONTAINER, typename = std::enable_if_t<is_citerable_v<CONTAINER>, Jet>>
278 static CONTAINER reclusterJets(const CONTAINER& jetsIn, const fastjet::JetDefinition& jDef) {
279 PJetsParts reclusteredConsts = reclusterJetsParts(jetsIn, jDef);
280 return mkTaggedJets(jetsIn, reclusteredConsts);
281 }
282
291 template <typename CONTAINER, typename = std::enable_if_t<is_citerable_v<CONTAINER>, Jet>>
292 static CONTAINER reclusterJets(const CONTAINER& jetsIn,
293 const fastjet::JetDefinition& jDef,
294 const fastjet::Filter& filter) {
295 PJetsParts reclusteredConsts = reclusterJetsParts(jetsIn, jDef);
296 ifilterPseudoJets(reclusteredConsts.first, filter);
297 return mkTaggedJets(jetsIn, reclusteredConsts);
298 }
299
303 template <typename CONTAINER, typename = std::enable_if_t<is_citerable_v<CONTAINER>, Jet>>
304 static CONTAINER reclusterJets(const CONTAINER& jetsIn, const FJPluginPtr& jetAlg) {
305 const fastjet::JetDefinition jDef(jetAlg.get());
306 return reclusterJets(jetsIn, jDef);
307 }
308
315 template <typename CONTAINER, typename = std::enable_if_t<is_citerable_v<CONTAINER>, Jet>>
316 static CONTAINER reclusterJets(const CONTAINER& jetsIn,
317 const FJPluginPtr& jetAlg,
318 const fastjet::Filter& filter) {
319 const fastjet::JetDefinition jDef(jetAlg.get());
320 return reclusterJets(jetsIn, jDef, filter);
321 }
322
329 template <JetAlg JETALG,
330 typename... Args,
331 typename CONTAINER,
332 typename = std::enable_if_t<is_citerable_v<CONTAINER>, Jet>>
333 static CONTAINER reclusterJets(const CONTAINER& jetsIn, Args&&... args) {
334 if constexpr (JETALG < JetAlg::SISCONE) { // JetDefinition
335 const fastjet::JetDefinition jDef = mkJetDef(JETALG, std::forward<Args>(args)...);
336 return reclusterJets(jetsIn, jDef);
337 }
338 else { // Plugin
339 const FJPluginPtr plugin = mkPlugin<JETALG>(std::forward<Args>(args)...);
340 return reclusterJets(jetsIn, plugin);
341 }
342 throw std::invalid_argument("Unknown jet algorithm: " + to_string(int(JETALG)));
343 }
344
354 template <JetAlg JETALG,
355 typename... Args,
356 typename CONTAINER,
357 typename = std::enable_if_t<is_citerable_v<CONTAINER>, Jet>>
358 static CONTAINER reclusterJets(const CONTAINER& jetsIn, const fastjet::Filter& filter, Args&&... args) {
359 if constexpr (JETALG < JetAlg::SISCONE) { // JetDefinition
360 const fastjet::JetDefinition jDef = mkJetDef(JETALG, std::forward<Args>(args)...);
361 return reclusterJets(jetsIn, jDef, filter);
362 }
363 else { // Plugin
364 const FJPluginPtr plugin = mkPlugin<JETALG>(std::forward<Args>(args)...);
365 return reclusterJets(jetsIn, plugin, filter);
366 }
367 throw std::invalid_argument("Unknown jet algorithm: " + to_string(int(JETALG)));
368 }
369
376 template <typename T, typename U, typename... Args>
377 static std::map<T, U> reclusterJets(const std::map<T, U>& jetsMap, Args&&... args) {
378 std::map<T, U> rtn;
379 for (const auto& [key, jetsIn] : jetsMap) rtn[key] = reclusterJets(jetsIn, std::forward<Args>(args)...);
380 return rtn;
381 }
382
389 template <JetAlg JETALG, typename T, typename U, typename... Args>
390 static std::map<T, U> reclusterJets(const std::map<T, U>& jetsMap, Args&&... args) {
391 std::map<T, U> rtn;
392 for (const auto& [key, jetsIn] : jetsMap)
393 rtn[key] = reclusterJets<JETALG>(jetsIn, std::forward<Args>(args)...);
394 return rtn;
395 }
396
398
399
401 void reset();
402
403
406
411 void useJetArea(fastjet::AreaDefinition* adef) {
412 _adef.reset(adef);
413 }
414
417 _adef.reset();
418 }
419
421
422
425
430 void addTrf(fastjet::Transformer* trf) {
431 _trfs.push_back(shared_ptr<fastjet::Transformer>(trf));
432 }
433
438 template <typename TRFS, typename TRF = typename TRFS::value_type>
439 typename std::enable_if<Derefable<TRF>::value, void>::type addTrfs(const TRFS& trfs) {
440 for (auto& trf : trfs) addTrf(trf);
441 }
442
446 void addFilter(fastjet::Filter* filter) {
447 addTrf(filter);
448 }
449
453 template <typename FILTERS, typename FILTER = typename FILTERS::value_type>
454 typename std::enable_if<Derefable<FILTER>::value, void>::type addFilters(const FILTERS& filters) {
455 addTrfs(filters);
456 }
457
459 void clearTrfs() {
460 _trfs.clear();
461 }
462
464
465
468
470 Jets _jets() const;
471
474 PseudoJets pseudojets(double ptmin = 0.0) const;
475
477 PseudoJets pseudojetsByPt(double ptmin = 0.0) const {
478 return sorted_by_pt(pseudojets(ptmin));
479 }
480
482 PseudoJets pseudojetsByE(double ptmin = 0.0) const {
483 return sorted_by_E(pseudojets(ptmin));
484 }
485
487 PseudoJets pseudojetsByRapidity(double ptmin = 0.0) const {
488 return sorted_by_rapidity(pseudojets(ptmin));
489 }
490
492
493
496
499 const shared_ptr<fastjet::ClusterSequence> clusterSeq() const {
500 return _cseq;
501 }
502
505 const shared_ptr<fastjet::ClusterSequenceArea> clusterSeqArea() const {
506 return areaDef() ? dynamic_pointer_cast<fastjet::ClusterSequenceArea>(_cseq) : nullptr;
507 }
508
510 const fastjet::JetDefinition& jetDef() const {
511 return _jdef;
512 }
513
518 const shared_ptr<fastjet::AreaDefinition> areaDef() const {
519 return _adef;
520 }
521
523
524
525 protected:
526
528 void _initBase();
529
530
531 void _initJdef(JetAlg alg, double rparameter) {
532 MSG_DEBUG("JetAlg = " << static_cast<int>(alg));
533 MSG_DEBUG("R parameter = " << rparameter);
534 if (alg < JetAlg::SISCONE) { // fastjet::JetDefinitions
535 _jdef = mkJetDef(alg, rparameter);
536 }
537 else { // fastjet::JetDefinition::Plugins
538 _plugin = mkPlugin(alg, rparameter);
539 _jdef = fastjet::JetDefinition(_plugin.get());
540 }
541 }
542
544 static Jets mkTaggedJets(const Jets& jetsIn, const PJetsParts& pJetsParts);
545
547 static PJetsParts reclusterJetsParts(const Jets& jetsIn, const fastjet::JetDefinition& jDef);
548
549 protected:
550
552 void project(const Event& e);
553
555 CmpState compare(const Projection& p) const;
556
557 public:
558
560 void calc(const Particles& fsparticles, const Particles& tagparticles = Particles());
561
562
563 protected:
564
566 fastjet::JetDefinition _jdef;
567
569 std::shared_ptr<fastjet::AreaDefinition> _adef;
570
572 std::shared_ptr<fastjet::ClusterSequence> _cseq;
573
575 Cut _cuts;
576
578 FJPluginPtr _plugin;
579
581 std::vector<std::shared_ptr<fastjet::Transformer>> _trfs;
582
584 static const std::map<JetAlg, std::pair<fastjet::JetAlgorithm, fastjet::RecombinationScheme>> jetAlgMap;
585
588 template <JetAlg, typename X>
590
592 template <typename X>
593 struct mapJetAlg2Plugin<JetAlg::SISCONE, X> {
594 using type = fastjet::SISConePlugin;
595 };
596 template <typename X>
597 struct mapJetAlg2Plugin<JetAlg::PXCONE, X> {
598 using type = Rivet::PxConePlugin;
599 };
600 template <typename X>
601 struct mapJetAlg2Plugin<JetAlg::CDFJETCLU, X> {
602 using type = fastjet::CDFJetCluPlugin;
603 };
604 template <typename X>
605 struct mapJetAlg2Plugin<JetAlg::CDFMIDPOINT, X> {
606 using type = fastjet::CDFMidPointPlugin;
607 };
608 template <typename X>
609 struct mapJetAlg2Plugin<JetAlg::D0ILCONE, X> {
610 using type = fastjet::D0RunIIConePlugin;
611 };
612 template <typename X>
613 struct mapJetAlg2Plugin<JetAlg::JADE, X> {
614 using type = fastjet::JadePlugin;
615 };
616 template <typename X>
617 struct mapJetAlg2Plugin<JetAlg::TRACKJET, X> {
618 using type = fastjet::TrackJetPlugin;
619 };
620 template <typename X>
621 struct mapJetAlg2Plugin<JetAlg::VARIABLER, X> {
622 using type = fastjet::contrib::VariableRPlugin;
623 };
624
626 template <JetAlg JETALG>
628
630 mutable std::map<int, vector<double>> _yscales;
631
633 Particles _fsparticles, _tagparticles;
634 };
635
636}
637
638#endif
Representation of a HepMC event, and enabler of Projection caching.
Definition Event.hh:22
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 tagpart...
CmpState compare(const Projection &p) const
Compare projections.
FastJets(const FinalState &fsp, FJPluginPtr plugin, fastjet::AreaDefinition *adef, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE)
Explicitly pass in an externally-constructed plugin, with reordered args for easier specification of ...
Definition FastJets.hh:165
static PJetsParts reclusterJetsParts(const Jets &jetsIn, const fastjet::JetDefinition &jDef)
Aux function for reclustering.
PseudoJets pseudojetsByE(double ptmin=0.0) const
Get the pseudo jets, ordered by .
Definition FastJets.hh:482
FastJets(const FinalState &fsp, JetAlg alg, double rparameter=-1, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE, fastjet::AreaDefinition *adef=nullptr)
Convenience constructor using Rivet enums for most common jet algs (including some plugins).
Definition FastJets.hh:190
void clearTrfs()
Don't apply any jet transformers.
Definition FastJets.hh:459
FastJets(const FinalState &fsp, const fastjet::JetDefinition &jdef, fastjet::AreaDefinition *adef, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE)
Definition FastJets.hh:67
std::enable_if< Derefable< FILTER >::value, void >::type addFilters(const FILTERS &filters)
Add a list of grooming filters.
Definition FastJets.hh:454
PseudoJets pseudojetsByRapidity(double ptmin=0.0) const
Get the pseudo jets, ordered by rapidity.
Definition FastJets.hh:487
FastJets(const FinalState &fsp, const fastjet::JetDefinition &jdef, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE, fastjet::AreaDefinition *adef=nullptr)
Definition FastJets.hh:42
FastJets(const FinalState &fsp, const fastjet::JetDefinition &jdef, const Cut &c, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE, fastjet::AreaDefinition *adef=nullptr)
Definition FastJets.hh:54
FastJets(const FinalState &fsp, fastjet::JetAlgorithm type, fastjet::RecombinationScheme recom, double rparameter, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE, fastjet::AreaDefinition *adef=nullptr)
Definition FastJets.hh:90
FastJets(const FinalState &fsp, fastjet::JetAlgorithm type, fastjet::RecombinationScheme recom, double rparameter, const Cut &c, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE, fastjet::AreaDefinition *adef=nullptr)
Definition FastJets.hh:102
std::enable_if< Derefable< TRF >::value, void >::type addTrfs(const TRFS &trfs)
Add a list of grooming transformers.
Definition FastJets.hh:439
FastJets(const FinalState &fsp, const fastjet::JetDefinition &jdef, fastjet::AreaDefinition *adef, const Cut &c, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE)
Definition FastJets.hh:78
void clearJetArea()
Don't calculate a jet area.
Definition FastJets.hh:416
const shared_ptr< fastjet::ClusterSequence > clusterSeq() const
Definition FastJets.hh:499
void addFilter(fastjet::Filter *filter)
Add a grooming filter.
Definition FastJets.hh:446
static FJPluginPtr mkPlugin(JetAlg alg, double rparameter=-1)
Non-templated version only allowing to set rparameter.
FastJets(const FinalState &fsp, FJPluginPtr plugin, const Cut &c, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE, fastjet::AreaDefinition *adef=nullptr)
Explicitly pass in an externally-constructed plugin.
Definition FastJets.hh:152
FastJets(const FinalState &fsp, FJPluginPtr plugin, fastjet::AreaDefinition *adef, const Cut &c, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE)
Explicitly pass in an externally-constructed plugin, with reordered args for easier specification of ...
Definition FastJets.hh:175
PseudoJets pseudojets(double ptmin=0.0) const
FastJets(const FinalState &fsp, JetAlg alg, double rparameter, const Cut &c, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE, fastjet::AreaDefinition *adef=nullptr)
Convenience constructor using Cut argument and Rivet enums for most common jet algs (including some p...
Definition FastJets.hh:208
FastJets(const FinalState &fsp, FJPluginPtr plugin, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE, fastjet::AreaDefinition *adef=nullptr)
Explicitly pass in an externally-constructed plugin.
Definition FastJets.hh:140
static fastjet::JetDefinition mkJetDef(JetAlg alg, double rparameter)
Make a FastJet JetDefinition according to enum JetAlg.
static Jets mkTaggedJets(const Jets &jetsIn, const PJetsParts &pJetsParts)
Aux function for reclustering.
void calc(const Particles &fsparticles, const Particles &tagparticles=Particles())
Do the calculation locally (no caching).
typename mapJetAlg2Plugin< JETALG, void >::type mapJetAlg2Plugin_t
Make usage of "map" a bit more convenient.
Definition FastJets.hh:627
static const std::map< JetAlg, std::pair< fastjet::JetAlgorithm, fastjet::RecombinationScheme > > jetAlgMap
Map of Rivet::JetAlg to targeted fastjet::JetAlgorithm and fastjet::RecombinationScheme.
Definition FastJets.hh:584
const shared_ptr< fastjet::ClusterSequenceArea > clusterSeqArea() const
Definition FastJets.hh:505
void project(const Event &e)
Perform the projection on the Event.
RIVET_DEFAULT_PROJ_CLONE(FastJets)
Clone on the heap.
static FJPluginPtr mkPlugin(Args &&... args)
Definition FastJets.hh:240
void useJetArea(fastjet::AreaDefinition *adef)
Use provided jet area definition.
Definition FastJets.hh:411
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-partic...
const fastjet::JetDefinition & jetDef() const
Return the jet definition.
Definition FastJets.hh:510
void addTrf(fastjet::Transformer *trf)
Add a grooming transformer (base class of fastjet::Filter, etc.).
Definition FastJets.hh:430
static Jets mkJets(const PseudoJets &pjs, const Particles &fsparticles=Particles(), const Particles &tagparticles=Particles())
Convert a whole list of PseudoJets to a list of Jets, with mkJet-style unpacking.
PseudoJets pseudojetsByPt(double ptmin=0.0) const
Get the pseudo jets, ordered by .
Definition FastJets.hh:477
FastJets(const FinalState &fsp, fastjet::JetAlgorithm type, fastjet::RecombinationScheme recom, double rparameter, fastjet::AreaDefinition *adef, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE)
Definition FastJets.hh:115
void reset()
Reset the projection. Jet def, etc. are unchanged.
const shared_ptr< fastjet::AreaDefinition > areaDef() const
Return the area definition.
Definition FastJets.hh:518
FastJets(const FinalState &fsp, fastjet::JetAlgorithm type, fastjet::RecombinationScheme recom, double rparameter, fastjet::AreaDefinition *adef, const Cut &c, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE)
Definition FastJets.hh:127
Project out all final-state particles in an event. Probably the most important projection in Rivet!
Definition FinalState.hh:12
JetFinder(const FinalState &fs, JetMuons usemuons=JetMuons::ALL, JetInvisibles useinvis=JetInvisibles::NONE)
Constructor.
Representation of a clustered jet of particles.
Definition Jet.hh:47
Specialised vector of Jet objects.
Definition Jet.hh:21
Specialised vector of Particle objects.
Definition Particle.hh:21
const PROJ & get(const std::string &name) const
Definition ProjectionApplier.hh:84
Base class for all Rivet projections.
Definition Projection.hh:29
PseudoJet & ifilterPseudoJets(PseudoJet &pj, const fastjet::Filter &filter)
Apply given FastJet::Filter filter to PseudoJet pj in-place.
static CONTAINER reclusterJets(const CONTAINER &jetsIn, const fastjet::JetDefinition &jDef, const fastjet::Filter &filter)
Recluster Rivet::Jets.
Definition FastJets.hh:292
static CONTAINER reclusterJets(const CONTAINER &jetsIn, Args &&... args)
Apply the JETALG (given as an template-enum JetAlg and arbitrary param args...) to the given jetsIn j...
Definition FastJets.hh:333
static CONTAINER reclusterJets(const CONTAINER &jetsIn, const fastjet::Filter &filter, Args &&... args)
Apply the JETALG (given as an template-enum JetAlg and arbitrary param args...) to the given jetsIn j...
Definition FastJets.hh:358
static CONTAINER reclusterJets(const CONTAINER &jetsIn, const fastjet::JetDefinition &jDef)
Recluster Rivet::Jets.
Definition FastJets.hh:278
static CONTAINER reclusterJets(const CONTAINER &jetsIn, const FJPluginPtr &jetAlg)
Apply the.
Definition FastJets.hh:304
static CONTAINER reclusterJets(const CONTAINER &jetsIn, const FJPluginPtr &jetAlg, const fastjet::Filter &filter)
Apply the.
Definition FastJets.hh:316
static std::map< T, U > reclusterJets(const std::map< T, U > &jetsMap, Args &&... args)
Apply the JETALG (given as an template-enum JetAlg and arbitrary param args...) to the given jetsMap ...
Definition FastJets.hh:390
static std::map< T, U > reclusterJets(const std::map< T, U > &jetsMap, Args &&... args)
Apply the args... to the given param jetsMap map of jets.
Definition FastJets.hh:377
#define MSG_DEBUG(x)
Debug messaging, not enabled by default, using MSG_LVL.
Definition Logging.hh:195
double p(const ParticleBase &p)
Unbound function access to p.
Definition ParticleBaseUtils.hh:819
Namespace used for ambiguous identifiers.
Definition Cuts.hh:58
Definition LHCbCommon.hh:9
JetInvisibles
Enum for the treatment of invisible particles: whether to include all, some, or none in jet-finding.
Definition JetFinder.hh:18
std::vector< PseudoJet > PseudoJets
Definition RivetFastJet.hh:30
JetMuons
Enum for the treatment of muons: whether to include all, some, or none in jet-finding.
Definition JetFinder.hh:15
Definition FastJets.hh:589