ThreeBody.hh
Go to the documentation of this file.
24 ThreeBody(Multiplet_1_ const& multiplet_1, Multiplet_2_ const& multiplet_2, Multiplet_3_ const& multiplet_3) {
28 void SetMultiplets(Multiplet_1_ const& multiplet_1, Multiplet_2_ const& multiplet_2, Multiplet_3_ const& multiplet_3) {
35 void SetMultiplets12(TwoBody<Multiplet_1_, Multiplet_2_> const& multiplet_12, Multiplet_3_ const& multiplet_3) {
39 void SetMultiplets23(TwoBody<Multiplet_2_, Multiplet_3_> const& multiplet_23, Multiplet_1_ const& multiplet_1) {
43 void SetMultiplets13(TwoBody<Multiplet_1_, Multiplet_3_> const& multiplet_13, Multiplet_2_ const& multiplet_2) {
61 return multiplet.Overlap(multiplet_1_) || multiplet.Overlap(multiplet_2_) || multiplet.Overlap(multiplet_3_);
65 return multiplet_1_.Overlap(singlet) || multiplet_2_.Overlap(singlet) || multiplet_3_.Overlap(singlet);
73 return multiplet_1_.Overlap(multiplet_2_) || multiplet_1_.Overlap(multiplet_3_) || multiplet_2_.Overlap(multiplet_3_);
107 return Combine(Multiplet1().LorentzVectors(), Multiplet2().LorentzVectors(), Multiplet3().LorentzVectors()) ;
155 Jet Join(Multiplet_1_ const& multiplet_1, Multiplet_2_ const& multiplet_2, Multiplet_3_ const& multiplet_3)
161 boca::Singlet JoinConstituents(Multiplet_1_ const& multiplet_1, Multiplet_2_ const& multiplet_2, Multiplet_3_ const& multiplet_3)
163 auto constituents = SortedByPt(Combine(multiplet_1.Constituents(), multiplet_2.Constituents(), multiplet_3.Constituents()));
void SetMultiplets23(TwoBody< Multiplet_2_, Multiplet_3_ > const &multiplet_23, Multiplet_1_ const &multiplet_1)
Definition: ThreeBody.hh:39
void SetMultiplet2(Multiplet_2_ const &multiplet_2)
Definition: ThreeBody.hh:122
Multiplet_2_ & Multiplet2()
Accessor to the second multiplet.
Definition: TwoBody.hh:183
boca::Singlet JoinConstituents(Multiplet_1_ const &multiplet_1, Multiplet_2_ const &multiplet_2, Multiplet_3_ const &multiplet_3)
Definition: ThreeBody.hh:161
std::vector< boca::LorentzVector< Momentum > > LorentzVectors() const override
Definition: ThreeBody.hh:106
TwoBody< Multiplet_1_, Multiplet_2_ > Multiplet12() const
Definition: ThreeBody.hh:88
Mutable< boca::EventShapes > event_shapes_
Definition: Multiplet.hh:153
Wrapper for a Jet in order to make it behave like a Multiplet.
Definition: Singlet.hh:19
void SetMultiplets(Multiplet_1_ const &multiplet_1, Multiplet_2_ const &multiplet_2, Multiplet_3_ const &multiplet_3)
Definition: ThreeBody.hh:28
std::vector< Element_ > Combine(std::vector< Element_ > const &vector_1, std::vector< Element_ > const &vector_2)
Combine two std::vector.
Definition: Vector.hh:101
void SetMultiplets13(TwoBody< Multiplet_1_, Multiplet_3_ > const &multiplet_13, Multiplet_2_ const &multiplet_2)
Definition: ThreeBody.hh:43
TwoBody< Multiplet_2_, Multiplet_3_ > Multiplet23() const
Definition: ThreeBody.hh:94
ThreeBody(Multiplet_1_ const &multiplet_1, Multiplet_2_ const &multiplet_2, Multiplet_3_ const &multiplet_3)
Definition: ThreeBody.hh:24
void SetMultiplet3(Multiplet_3_ const &multiplet_3)
Definition: ThreeBody.hh:126
bool Overlap(boca::Singlet const &singlet) const
Definition: ThreeBody.hh:64
void SetMultiplets12(TwoBody< Multiplet_1_, Multiplet_2_ > const &multiplet_12, Multiplet_3_ const &multiplet_3)
Definition: ThreeBody.hh:35
Energy Momentum
Momentum measured in electronvolt.
Definition: ElectronVolt.hh:68
TwoBody< Multiplet_1_, Multiplet_3_ > Multiplet13() const
Definition: ThreeBody.hh:100
bool Overlap(Multiplet_4_ const &multiplet) const
Definition: ThreeBody.hh:60
std::vector< Multiplet > SortedByPt(std::vector< Multiplet > multiplets)
Definition: Sort.hh:53
void SetMultiplet1(Multiplet_1_ const &multiplet_1)
Definition: ThreeBody.hh:118
Multiplet_1_ & Multiplet1()
Accessor to the first multiplet.
Definition: TwoBody.hh:167
Calculates the event shapes for a given collection of jets.
Definition: EventShapes.hh:25