JetInfo.hh
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "fastjet/PseudoJet.hh"
7 
11 
12 namespace boca
13 {
14 class Jet;
15 class Singlet;
16 
21 class JetInfo: public Identification,
22  public fastjet::PseudoJet::UserInfoBase,
23  boost::additive<JetInfo>
24 {
25 
26 public:
27 
28  JetInfo();
29 
30  JetInfo(double bdt);
31 
32  JetInfo(::delphes::Jet const &jet);
33 
34  JetInfo(int charge);
35 
36  JetInfo(Constituent const &constituent);
37 
38  JetInfo(Constituent const &constituent, int charge);
39 
40  JetInfo(std::vector<Constituent> const &constituents);
41 
42  JetInfo &operator+=(JetInfo const &jet_info);
43 
44  void AddConstituent(Constituent const &constituent);
45 
46  void AddConstituents(std::vector<Constituent> const &constituents);
47 
48  Mass VertexMass() const;
49 
50  Length MaxDisplacement() const;
51 
52  Length MeanDisplacement() const;
53 
54  Length SumDisplacement() const;
55 
56  int VertexNumber() const;
57 
58  boca::Singlet VertexJet() const;
59 
60  Energy VertexEnergy() const;
61 
62  Angle ElectroMagneticRadius(boca::Jet const &jet) const;
63 
64  Angle TrackRadius(boca::Jet const &jet) const;
65 
66  double LeadingTrackMomentumFraction() const;
67 
68  double CoreEnergyFraction(boca::Jet const &jet) const;
69 
70  double ElectroMagneticFraction() const;
71 
72  Mass ClusterMass() const;
73 
74  Mass TrackMass() const;
75 
76  bool BTag() const;
77 
78  bool TauTag() const;
79 
80  int Charge() const;
81 
82  void SetDelphesTags(::delphes::Jet const &jet);
83 
84  void SetConstituents(std::vector<Constituent> const &constituents);
85 
86  bool SubStructure() const;
87 
88  void SetSubStructure(bool sub_structure);
89 
90  void SetBTag(bool b_tag);
91 
92  void SetCharge(int charge);
93 
94  std::vector<Family> Families() const;
95 
96  bool ContainsDetectorPart(DetectorPart detector_part) const;
97 
98  void SetMuBTag(double min_x, double fraction);
99 
100  double EnergyRatio() const;
101 
102  double MomentumRatio() const;
103 
104  bool InMuonChamber() const;
105 
106 // JetInfo(JetInfo const&) = default;
107 // JetInfo(JetInfo &&) = default;
108 // JetInfo &operator=(JetInfo const&) & = default;
109 // JetInfo &operator=(JetInfo &&) & = default;
110 //
111 // protected:
112 //
113 // ~JetInfo() {}
114 
115 private:
116 
117  JetInfo(std::vector<Constituent> const &constituents, std::vector<Constituent> const &dispalced_constituents);
118 
119  void SetConstituent(Constituent const &constituent);
120 
121  void SetTauTag(bool tau_tag);
122 
123  std::vector<Constituent> Constituents() const;
124 
125  std::vector<Constituent> DisplacedConstituents() const;
126 
127  void SecondayVertex() const;
128 
129  std::vector<Constituent> constituents_;
130 
131  Mutable<std::vector<Constituent>> displaced_constituents_;
132 
133  bool b_tag_ = 0;
134 
135  bool tau_tag_ = 0;
136 
137  int charge_ = 0;
138 
139  bool sub_structure_ = true;
140 
141  double min_x_ = 0;
142 
143  double fraction_ = 0;
144 
145 };
146 
147 }
boca::Singlet VertexJet() const
Definition: JetInfo.cpp:143
void AddConstituents(std::vector< Constituent > const &constituents)
Definition: JetInfo.cpp:107
Jet.
Definition: Jet.hh:15
Length MaxDisplacement() const
Definition: JetInfo.cpp:165
bool InMuonChamber() const
Definition: JetInfo.cpp:363
Angle TrackRadius(boca::Jet const &jet) const
Definition: JetInfo.cpp:203
void SetConstituents(std::vector< Constituent > const &constituents)
Definition: JetInfo.cpp:93
boost::units::quantity< boost::units::si::plane_angle > Angle
Angle measured in radian.
Definition: Si.hh:35
JetInfo & operator+=(JetInfo const &jet_info)
Definition: JetInfo.cpp:74
Mass VertexMass() const
Definition: JetInfo.cpp:173
Definition: Constituent.hh:21
bool SubStructure() const
Definition: JetInfo.cpp:324
::Jet Jet
Definition: TypeDef.hh:26
Lazy caching of variables.
Definition: Mutable.hh:19
JetInfo()
Definition: JetInfo.cpp:24
int Charge() const
Definition: JetInfo.cpp:271
boost::units::quantity< boost::units::si::length > Length
Length measured in meter.
Definition: Si.hh:24
Energy VertexEnergy() const
Definition: JetInfo.cpp:183
Mass TrackMass() const
Definition: JetInfo.cpp:263
double CoreEnergyFraction(boca::Jet const &jet) const
Definition: JetInfo.cpp:231
Wrapper for a Jet in order to make it behave like a Multiplet.
Definition: Singlet.hh:19
void AddConstituent(Constituent const &constituent)
Definition: JetInfo.cpp:100
void SetMuBTag(double min_x, double fraction)
Definition: JetInfo.cpp:347
std::vector< Family > Families() const
Definition: JetInfo.cpp:334
bool BTag() const
Definition: JetInfo.cpp:297
Mass ClusterMass() const
Definition: JetInfo.cpp:255
double LeadingTrackMomentumFraction() const
Definition: JetInfo.cpp:215
bool TauTag() const
Definition: JetInfo.cpp:285
void SetCharge(int charge)
Definition: JetInfo.cpp:279
Angle ElectroMagneticRadius(boca::Jet const &jet) const
Definition: JetInfo.cpp:191
Boosted Collider Analysis.
Definition: Analysis.hh:15
void SetDelphesTags(::delphes::Jet const &jet)
Definition: JetInfo.cpp:35
void SetSubStructure(bool sub_structure)
Definition: JetInfo.cpp:329
boost::units::quantity< electronvolt::Energy > Energy
Energy measured in electronvolt.
Definition: ElectronVolt.hh:56
Length SumDisplacement() const
Definition: JetInfo.cpp:151
double EnergyRatio() const
Definition: JetInfo.cpp:353
Definition: Identification.hh:10
void SetBTag(bool b_tag)
Definition: JetInfo.cpp:303
int VertexNumber() const
Definition: JetInfo.cpp:137
Jet infos subclassed from Fastjet.
Definition: JetInfo.hh:21
Energy Mass
Mass measured in electronvolt.
Definition: ElectronVolt.hh:62
Length MeanDisplacement() const
Definition: JetInfo.cpp:159
bool ContainsDetectorPart(DetectorPart detector_part) const
Definition: JetInfo.cpp:341
double MomentumRatio() const
Definition: JetInfo.cpp:358
Definition: DelphesClasses.h:336
DetectorPart
Definition: Constituent.hh:10
double ElectroMagneticFraction() const
Definition: JetInfo.cpp:243