boca::TwoBody< Multiplet_1_, Multiplet_2_ > Class Template Reference

Two body base class. More...

#include <TwoBody.hh>

Inheritance diagram for boca::TwoBody< Multiplet_1_, Multiplet_2_ >:
[legend]
Collaboration diagram for boca::TwoBody< Multiplet_1_, Multiplet_2_ >:
[legend]

Public Member Functions

void Set (Multiplet_1_ const &multiplet_1, Multiplet_2_ const &multiplet_2)
 Setter for two Multiplets. More...
 
double Rho () const
 Particle likeliness \(\rho = \frac{2 m}{p_T \Delta R}\). More...
 
int Charge () const
 Charge. More...
 
Constructors
 TwoBody ()
 Default constructor. More...
 
 TwoBody (Multiplet_1_ const &multiplet_1, Multiplet_2_ const &multiplet_2)
 Constructor accepting two different Multiplets. More...
 
Enforce Multiplet from other Objects

this ensures strong type safety

template<typename Multiplet_3_ , typename Multiplet_4_ >
void Enforce (TwoBody< Multiplet_3_, Multiplet_4_ > const &multiplet)
 Enforce Multiplet from a single other Multiplet. More...
 
void Enforce (boca::Jet const &jet)
 Enforce a Multiplet from a Jet. More...
 
void Enforce (std::vector< boca::Jet > const &jets)
 Enforce a Multiplet from a vector of jets. More...
 
void Enforce (boca::Jet const &jet, double bdt)
 Enforce a Multiplet from a jet and a seperate bdt. More...
 
void EnforceJet (boca::Jet jet, double bdt)
 Enforce a Multiplet from a jet and a seperate bdt. More...
 
Global accessors
boca::EventShapes EventShapes () const
 Accessor for event shapes. More...
 
std::vector< boca::JetJets () const override
 Accessor for jets. More...
 
std::vector< LorentzVector< Momentum > > LorentzVectors () const override
 Accessor for lorentz vectors. More...
 
Acessors to the Multiplets
Multiplet_1_ & Multiplet1 ()
 Accessor to the first multiplet. More...
 
Multiplet_1_ const & Multiplet1 () const
 Const accessor to the first multiplet. More...
 
Multiplet_2_ & Multiplet2 ()
 Accessor to the second multiplet. More...
 
Multiplet_2_ const & Multiplet2 () const
 Const accessor to the second multiplet. More...
 
Calculate overlap between multiplets
template<typename Multiplet_3_ >
bool Overlap (Multiplet_3_ const &multiplet) const
 Overlap with another multiplet. More...
 
bool Overlap (boca::Singlet const &singlet) const
 Overlap with a singlet. More...
 
bool Overlap (boca::Jet const &jet) const
 Overlap with a jet. More...
 
bool Overlap () const
 Overlap within a multiplet. More...
 
Energy related accessors
Momentum DeltaPt () const
 Transverse momentum \(\Delta p_T\). More...
 
Momentum Ht () const
 Scalar sum of transverse momenta \(H_T = \sum_i \left|p_{Ti}\right|\). More...
 
boca::Mass DeltaM () const
 Mass difference. More...
 
Momentum DeltaHt () const
 Difference in the scalar sum of transverse moenta. More...
 
boca::Mass MassDifferenceTo (Id id) const
 Mass difference to a particle with Id. More...
 
Angle related accessors
Angle DeltaRap () const
 Difference rapidity \(\Delta y\). More...
 
Angle DeltaPhi () const
 Difference in azimuth \(\Delta \phi\). More...
 
Angle DeltaR () const
 Difference in angular distance \(\Delta R = \sqrt{(\Delta y)^2 + (\Delta \phi)^2}\). More...
 
Line2< AngleAngleLine () const
 Line in agular space from the second component to the first. More...
 
Sub-structure
template<typename Multiplet_ >
Angle PullTo (Multiplet_ const &multiplet) const
 Pull towards another multiplet. More...
 
Angle Pull12 () const
 Pull from the first component to the second. More...
 
Angle Pull21 () const
 Pull from the second component to the first. More...
 
double Dipolarity () const
 Dipolarity according to \(\mathcal D = \frac{1}{R_{12}^2 p_{TJ}} \sum_{i\in J}p_{Ti}R_i^2\). More...
 
Selectors for subcomponents
boca::Jet HarderComponent () const
 Harder subcomponent. More...
 
boca::Jet SofterComponent () const
 Softer subcomponent. More...
 
boca::Jet ComponentWithBetterMass (Id id) const
 Subcomponent with the better mass of an object with Id. More...
 
boca::Jet ComponentWithWorseMass (Id id) const
 Harder subcomponent. More...
 
- Public Member Functions inherited from boca::Multiplet
void SetClosestLepton (std::vector< boca::Lepton > const &leptons)
 
ClosestLepton Lepton () const
 
boca::Jet Jet () const
 
boca::Mass Mass () const
 
Momentum Pt () const
 
void SetExtraInfo (double extra_info)
 
double ExtraInfo () const
 
Angle Rap () const
 Rapidity \(y\). More...
 
Angle Phi () const
 Azimuth \(\phi\). More...
 
template<typename Multiplet_ , typename = NotJet<Multiplet_>>
Angle DeltaPhiTo (Multiplet_ const &multiplet) const
 Difference \(\Delta \phi\) to a jet constrained to \([-\pi,\pi]\). More...
 
Angle DeltaPhiTo (PseudoJet const &jet) const
 Rapidity \(y\). More...
 
template<typename Multiplet_ , typename = NotJet<Multiplet_>>
Angle DeltaRapTo (Multiplet_ const &multiplet) const
 Difference \(\Delta y\) to a jet. More...
 
Angle DeltaRapTo (PseudoJet const &jet) const
 Rapidity \(y\). More...
 
template<typename Multiplet_ , typename = NotJet<Multiplet_>>
Angle DeltaRTo (Multiplet_ const &multiplet) const
 Distance \(\Delta R\) to a jet. More...
 
Angle DeltaRTo (PseudoJet const &jet) const
 Rapidity \(y\). More...
 
template<typename Multiplet_ , typename = NotJet<Multiplet_>>
Vector2< AngleDeltaTo (Multiplet_ const &multiplet) const
 Angular distance to a jet. More...
 
Vector2< AngleDeltaTo (PseudoJet const &jet) const
 Rapidity \(y\). More...
 
Vector2< AngleAngles (bool wrap_phi=false) const
 Vector of rapidity \(y\) and azimuth \(\phi\). More...
 
template<typename Multiplet_ >
Vector2< AngleAnglesMinTo (Multiplet_ const &multiplet) const
 Vector of rapidity \(y\) and azimuth \(\phi\) with minimal distance to jet. More...
 
Vector2< AngleAnglesMinTo (PseudoJet const &jet) const
 Rapidity \(y\). More...
 
boca::Singlet ConstituentJet () const
 Jet of all constituents. More...
 
bool HasConstituents () const
 Weather the jet as constituetns. More...
 
std::vector< boca::JetConstituents () const
 All constituents. More...
 
boca::SubJettiness SubJettiness () const
 Sub-jettiness. More...
 
- Public Member Functions inherited from boca::Identification
 Identification ()
 
virtual void SetBdt (double bdt)
 
void SetBdt (double bdt_1, double bdt_2)
 
virtual double Bdt () const
 
void SetTag (boca::Tag tag)
 
void SetTag (boca::Tag tag_1, boca::Tag tag_2)
 
boca::Tag Tag () const
 
bool operator< (Identification const &identification) const
 largest bdt in front More...
 
 Identification (Identification const &)=default
 
 Identification (Identification &&)=default
 
Identificationoperator= (Identification const &)&=default
 
Identificationoperator= (Identification &&)&=default
 

Protected Member Functions

std::string Name () const override
 
void SetMultiplet1 (Multiplet_1_ const &multiplet_1)
 
void SetMultiplet2 (Multiplet_2_ const &multiplet_2)
 
- Protected Member Functions inherited from boca::Identification
 ~Identification ()
 

Friends

std::ostream & operator<< (std::ostream &stream, TwoBody const &two_body)
 

Additional Inherited Members

- Static Public Member Functions inherited from boca::Identification
static double InitialValue ()
 
- Protected Attributes inherited from boca::Multiplet
Mutable< boca::EventShapesevent_shapes_
 

Detailed Description

template<typename Multiplet_1_, typename Multiplet_2_>
class boca::TwoBody< Multiplet_1_, Multiplet_2_ >

Two body base class.

Constructor & Destructor Documentation

template<typename Multiplet_1_, typename Multiplet_2_>
boca::TwoBody< Multiplet_1_, Multiplet_2_ >::TwoBody ( )
inline

Default constructor.

template<typename Multiplet_1_, typename Multiplet_2_>
boca::TwoBody< Multiplet_1_, Multiplet_2_ >::TwoBody ( Multiplet_1_ const &  multiplet_1,
Multiplet_2_ const &  multiplet_2 
)
inline

Constructor accepting two different Multiplets.

Member Function Documentation

template<typename Multiplet_1_, typename Multiplet_2_>
Line2<Angle> boca::TwoBody< Multiplet_1_, Multiplet_2_ >::AngleLine ( ) const
inline

Line in agular space from the second component to the first.

template<typename Multiplet_1_, typename Multiplet_2_>
int boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Charge ( ) const
inline

Charge.

template<typename Multiplet_1_, typename Multiplet_2_>
boca::Jet boca::TwoBody< Multiplet_1_, Multiplet_2_ >::ComponentWithBetterMass ( Id  id) const
inline

Subcomponent with the better mass of an object with Id.

template<typename Multiplet_1_, typename Multiplet_2_>
boca::Jet boca::TwoBody< Multiplet_1_, Multiplet_2_ >::ComponentWithWorseMass ( Id  id) const
inline

Harder subcomponent.

template<typename Multiplet_1_, typename Multiplet_2_>
Momentum boca::TwoBody< Multiplet_1_, Multiplet_2_ >::DeltaHt ( ) const
inline

Difference in the scalar sum of transverse moenta.

template<typename Multiplet_1_, typename Multiplet_2_>
boca::Mass boca::TwoBody< Multiplet_1_, Multiplet_2_ >::DeltaM ( ) const
inline

Mass difference.

template<typename Multiplet_1_, typename Multiplet_2_>
Angle boca::TwoBody< Multiplet_1_, Multiplet_2_ >::DeltaPhi ( ) const
inline

Difference in azimuth \(\Delta \phi\).

template<typename Multiplet_1_, typename Multiplet_2_>
Momentum boca::TwoBody< Multiplet_1_, Multiplet_2_ >::DeltaPt ( ) const
inline

Transverse momentum \(\Delta p_T\).

template<typename Multiplet_1_, typename Multiplet_2_>
Angle boca::TwoBody< Multiplet_1_, Multiplet_2_ >::DeltaR ( ) const
inline

Difference in angular distance \(\Delta R = \sqrt{(\Delta y)^2 + (\Delta \phi)^2}\).

template<typename Multiplet_1_, typename Multiplet_2_>
Angle boca::TwoBody< Multiplet_1_, Multiplet_2_ >::DeltaRap ( ) const
inline

Difference rapidity \(\Delta y\).

template<typename Multiplet_1_, typename Multiplet_2_>
double boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Dipolarity ( ) const
inline

Dipolarity according to \(\mathcal D = \frac{1}{R_{12}^2 p_{TJ}} \sum_{i\in J}p_{Ti}R_i^2\).

template<typename Multiplet_1_, typename Multiplet_2_>
template<typename Multiplet_3_ , typename Multiplet_4_ >
void boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Enforce ( TwoBody< Multiplet_3_, Multiplet_4_ > const &  multiplet)
inline

Enforce Multiplet from a single other Multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
void boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Enforce ( boca::Jet const &  jet)
inline

Enforce a Multiplet from a Jet.

template<typename Multiplet_1_, typename Multiplet_2_>
void boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Enforce ( std::vector< boca::Jet > const &  jets)
inline

Enforce a Multiplet from a vector of jets.

template<typename Multiplet_1_, typename Multiplet_2_>
void boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Enforce ( boca::Jet const &  jet,
double  bdt 
)
inline

Enforce a Multiplet from a jet and a seperate bdt.

template<typename Multiplet_1_, typename Multiplet_2_>
void boca::TwoBody< Multiplet_1_, Multiplet_2_ >::EnforceJet ( boca::Jet  jet,
double  bdt 
)
inline

Enforce a Multiplet from a jet and a seperate bdt.

template<typename Multiplet_1_, typename Multiplet_2_>
boca::EventShapes boca::TwoBody< Multiplet_1_, Multiplet_2_ >::EventShapes ( ) const
inline

Accessor for event shapes.

template<typename Multiplet_1_, typename Multiplet_2_>
boca::Jet boca::TwoBody< Multiplet_1_, Multiplet_2_ >::HarderComponent ( ) const
inline

Harder subcomponent.

template<typename Multiplet_1_, typename Multiplet_2_>
Momentum boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Ht ( ) const
inline

Scalar sum of transverse momenta \(H_T = \sum_i \left|p_{Ti}\right|\).

template<typename Multiplet_1_, typename Multiplet_2_>
std::vector<boca::Jet> boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Jets ( ) const
inlineoverridevirtual

Accessor for jets.

Implements boca::Multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
std::vector<LorentzVector<Momentum> > boca::TwoBody< Multiplet_1_, Multiplet_2_ >::LorentzVectors ( ) const
inlineoverridevirtual

Accessor for lorentz vectors.

Implements boca::Multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
boca::Mass boca::TwoBody< Multiplet_1_, Multiplet_2_ >::MassDifferenceTo ( Id  id) const
inline

Mass difference to a particle with Id.

template<typename Multiplet_1_, typename Multiplet_2_>
Multiplet_1_& boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Multiplet1 ( )
inline

Accessor to the first multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
Multiplet_1_ const& boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Multiplet1 ( ) const
inline

Const accessor to the first multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
Multiplet_2_& boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Multiplet2 ( )
inline

Accessor to the second multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
Multiplet_2_ const& boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Multiplet2 ( ) const
inline

Const accessor to the second multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
std::string boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Name ( ) const
inlineoverrideprotectedvirtual

Reimplemented from boca::Multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
template<typename Multiplet_3_ >
bool boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Overlap ( Multiplet_3_ const &  multiplet) const
inline

Overlap with another multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
bool boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Overlap ( boca::Singlet const &  singlet) const
inline

Overlap with a singlet.

template<typename Multiplet_1_, typename Multiplet_2_>
bool boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Overlap ( boca::Jet const &  jet) const
inline

Overlap with a jet.

template<typename Multiplet_1_, typename Multiplet_2_>
bool boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Overlap ( ) const
inline

Overlap within a multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
Angle boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Pull12 ( ) const
inline

Pull from the first component to the second.

template<typename Multiplet_1_, typename Multiplet_2_>
Angle boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Pull21 ( ) const
inline

Pull from the second component to the first.

template<typename Multiplet_1_, typename Multiplet_2_>
template<typename Multiplet_ >
Angle boca::TwoBody< Multiplet_1_, Multiplet_2_ >::PullTo ( Multiplet_ const &  multiplet) const
inline

Pull towards another multiplet.

template<typename Multiplet_1_, typename Multiplet_2_>
double boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Rho ( ) const
inline

Particle likeliness \(\rho = \frac{2 m}{p_T \Delta R}\).

\(\rho = 1\) for a particle

template<typename Multiplet_1_, typename Multiplet_2_>
void boca::TwoBody< Multiplet_1_, Multiplet_2_ >::Set ( Multiplet_1_ const &  multiplet_1,
Multiplet_2_ const &  multiplet_2 
)
inline

Setter for two Multiplets.

template<typename Multiplet_1_, typename Multiplet_2_>
void boca::TwoBody< Multiplet_1_, Multiplet_2_ >::SetMultiplet1 ( Multiplet_1_ const &  multiplet_1)
inlineprotected
template<typename Multiplet_1_, typename Multiplet_2_>
void boca::TwoBody< Multiplet_1_, Multiplet_2_ >::SetMultiplet2 ( Multiplet_2_ const &  multiplet_2)
inlineprotected
template<typename Multiplet_1_, typename Multiplet_2_>
boca::Jet boca::TwoBody< Multiplet_1_, Multiplet_2_ >::SofterComponent ( ) const
inline

Softer subcomponent.

Friends And Related Function Documentation

template<typename Multiplet_1_, typename Multiplet_2_>
std::ostream& operator<< ( std::ostream &  stream,
TwoBody< Multiplet_1_, Multiplet_2_ > const &  two_body 
)
friend

The documentation for this class was generated from the following file: