Jet.hh
Go to the documentation of this file.
1 
4 #pragma once
5 
8 
9 namespace boca
10 {
11 
15 class Jet : public PseudoJet
16  , public boost::additive<Jet>
17  , public boost::additive<Jet, Particle>
18  , public boost::multiplicative<Jet, double>
19 {
20 
21 public:
22 
23  Jet();
24 
25  Jet(const boca::Momentum& x, const boca::Momentum& y, const boca::Momentum& z, const boca::Energy& e);
26 
27  Jet(PseudoJet const& jet);
28 
29  Jet(fastjet::PseudoJet const& jet);
30 
31  Jet(fastjet::PseudoJet const& jet, JetInfo const& info);
32 
36  Jet(boca::Vector3<boca::Momentum> const& spatial, const boca::Energy &e);
37 
41  Jet(Vector2<boca::Momentum> const& transverse, Momentum const& z, boca::Energy const& e);
42 
43  Jet(boca::LorentzVector<Momentum> const& lorentz_vector);
44 
45  Jet(TLorentzVector const& lorentz_vector);
46 
47  Jet(TLorentzVector const& lorentz_vector, ::delphes::Jet const& jet);
48 
49  Jet(TLorentzVector const& lorentz_vector, Constituent const& constituent);
50 
51  Jet(TLorentzVector const& lorentz_vector, std::vector<Constituent> const& constituents);
52 
53  Jet(TLorentzVector const& lorentz_vector, int charge);
54 
56 
57  Jet(exroot::GenJet const& gen_jet);
58 
59  Jet(exroot::Jet const& jet);
60 
61  Jet(exroot::Muon const& muon);
62 
63  Jet(exroot::Photon const& photon);
64 
65  Jet(exroot::Tau const& tau);
66 
67  JetInfo const& Info() const;
68 
69  JetInfo& Info();
70 
71  void SetDelphesTags(::delphes::Jet const& delphes_jet);
72 
73  bool HasConsitutents() const;
74 
75  std::vector<Jet> Constituents() const;
76 
77  double Bdt() const;
78 
79  void SetInfo(JetInfo const& info = JetInfo());
80 
89  Jet& operator+=(Jet const& jet);
90 
94  Jet& operator-=(Jet const& jet);
95 
99  Jet& operator*=(double scalar);
100 
104  Jet& operator/=(double scalar);
105 
109  Jet& operator+=(Particle const& particle);
110 
114  Jet& operator-=(Particle const& particle);
115 
117 
118  bool HasJetInfo() const;
119 
120 protected:
121 
122  void ResetInfo(JetInfo const& info);
123 
124 private:
125 
126 };
127 
128 using Lepton = Jet;
129 
130 using Photon = Jet;
131 
132 using MissingEt = Jet;
133 
134 std::vector<Jet> JetVector(std::vector<fastjet::PseudoJet> const& pseudo_jets);
135 
136 std::vector<fastjet::PseudoJet> PseudoJetVector(std::vector<Jet> const& jets);
137 
138 Jet Join(std::vector<Jet> const& jets);
139 
140 Jet Join(Jet const& jet_1, Jet const& jet_2);
141 
142 Jet Join(Jet const& jet_1, Jet const& jet_2, Jet const& jet_3);
143 
144 }
Jet.
Definition: Jet.hh:15
Definition: ExRootClasses.h:309
Jet()
Definition: Jet.cpp:18
Definition: ExRootClasses.h:216
bool HasConsitutents() const
Definition: Jet.cpp:220
void ResetInfo(JetInfo const &info)
Definition: Jet.cpp:178
Definition: Constituent.hh:21
::Jet Jet
Definition: TypeDef.hh:26
Definition: Particle.hh:12
Jet & operator/=(double scalar)
divide the jet&#39;s momentum by the coefficient
Definition: Jet.cpp:275
Wrapper for fastjet::PseudoJet adding BoCA related functions.
Definition: PseudoJet.hh:30
Definition: ExRootClasses.h:258
std::vector< Jet > Constituents() const
Definition: Jet.cpp:240
Definition: ExRootClasses.h:286
Momentum Lorentz vector.
Definition: LorentzVector.hh:28
bool HasJetInfo() const
Definition: Jet.cpp:227
void SetDelphesTags(::delphes::Jet const &delphes_jet)
Definition: Jet.cpp:234
JetInfo const & Info() const
Definition: Jet.cpp:151
void SetInfo(JetInfo const &info=JetInfo())
Definition: Jet.cpp:171
Boosted Collider Analysis.
Definition: Analysis.hh:15
Jet Join(std::vector< Jet > const &jets)
Definition: Jet.cpp:202
double Bdt() const
Definition: Jet.cpp:248
Jet & operator*=(double scalar)
multiply the jet&#39;s momentum by the coefficient
Definition: Jet.cpp:268
boost::units::quantity< electronvolt::Energy > Energy
Energy measured in electronvolt.
Definition: ElectronVolt.hh:56
Definition: ExRootClasses.h:235
Jet & operator-=(Jet const &jet)
subtract the other jet&#39;s momentum from this jet
Definition: Jet.cpp:261
Jet & operator+=(Jet const &jet)
add the other jet&#39;s momentum to this jet
Definition: Jet.cpp:254
std::vector< fastjet::PseudoJet > PseudoJetVector(std::vector< Jet > const &jets)
Definition: Jet.cpp:194
Jet infos subclassed from Fastjet.
Definition: JetInfo.hh:21
Energy Momentum
Momentum measured in electronvolt.
Definition: ElectronVolt.hh:68
Definition: ExRootClasses.h:168
std::vector< Jet > JetVector(std::vector< fastjet::PseudoJet > const &pseudo_jets)
Definition: Jet.cpp:186