hej is hosted by Hepforge, IPPP Durham
HEJ 2  2.0
High energy resummation for hadron colliders
JetSplitter.hh
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include <functional>
13 #include <vector>
14 
15 #include "fastjet/JetDefinition.hh"
16 
17 #include "HEJ/RNG.hh"
18 
19 namespace fastjet {
20  class PseudoJet;
21 }
22 
23 namespace HEJ {
25  class JetSplitter {
26 
27  public:
28  struct SplitResult {
29  std::vector<fastjet::PseudoJet> constituents;
30  double weight;
31  };
32 
34 
40  fastjet::JetDefinition jet_def, double min_pt,
41  HEJ::RNG & ran
42  ):
43  R_{jet_def.R()},
44  min_jet_pt_{min_pt},
45  jet_def_{jet_def},
46  ran_{ran}
47  {}
48 
50 
56  SplitResult split(fastjet::PseudoJet const & j2split, int ncons) const;
57 
59  static constexpr double R_factor = 5./3.;
60  private:
61  SplitResult Split2(fastjet::PseudoJet const & j2split) const;
62  double sample_distance_2p(double & wt) const;
63 
64  double R_;
65  double min_jet_pt_;
66  fastjet::JetDefinition jet_def_;
67  std::reference_wrapper<HEJ::RNG> ran_;
68  };
69 }
Interface for pseudorandom number generators.
Class to split jets into their constituents.
Definition: JetSplitter.hh:25
static constexpr double R_factor
Maximum distance of constituents to jet axis.
Definition: JetSplitter.hh:59
JetSplitter(fastjet::JetDefinition jet_def, double min_pt, HEJ::RNG &ran)
Constructor.
Definition: JetSplitter.hh:39
SplitResult split(fastjet::PseudoJet const &j2split, int ncons) const
Split a get into constituents.
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
Definition: Event.hh:27
Definition: JetSplitter.hh:28
std::vector< fastjet::PseudoJet > constituents
Definition: JetSplitter.hh:29
double weight
Definition: JetSplitter.hh:30
Interface for random number generator.
Definition: RNG.hh:19