DAS  3.0
Das Analysis System
AnonymousScalableObjectabstract

Description

Abstract class for any object that carries its own 4-momentum.

The 4-vector is expected to contain the raw momentum. A std::vector is used to carry the scale factor and all its variations.

#include <GenericObject.h>

+ Inheritance diagram for AnonymousScalableObject:
+ Collaboration diagram for AnonymousScalableObject:

Public Member Functions

FourVector CorrP4 (size_t i=0) const
 
float CorrPt (size_t i=0) const
 
float Rapidity (const Variation &=nominal) const final
 
float AbsRap (const Variation &=nominal) const final
 
FourVector CorrP4 (const Variation &v) const final
 
float CorrPt (const Variation &v) const final
 
virtual void Clear ()
 
bool operator== (const AnonymousScalableObject &that) const
 
bool operator< (const AnonymousScalableObject &that) const
 
bool operator> (const AnonymousScalableObject &that) const
 
FourVector CorrP4 (size_t i=0) const
 
float CorrPt (size_t i=0) const
 
float Rapidity (const Variation &=nominal) const final
 
float AbsRap (const Variation &=nominal) const final
 
FourVector CorrP4 (const Variation &v) const final
 
float CorrPt (const Variation &v) const final
 
virtual void Clear ()
 
bool operator== (const AnonymousScalableObject &that) const
 
bool operator< (const AnonymousScalableObject &that) const
 
bool operator> (const AnonymousScalableObject &that) const
 

Public Attributes

FourVector p4 = FourVector(std::nan("pt"), std::nan("eta"), std::nan("phi"), std::nan("mass"))
 
std::vector< float > scales = {1.}
 

Protected Member Functions

virtual std::string_view ScaleGroup () const =0
 
 AnonymousScalableObject ()=default
 
virtual ~AnonymousScalableObject ()=default
 
virtual std::string_view ScaleGroup () const =0
 
 AnonymousScalableObject ()=default
 
virtual ~AnonymousScalableObject ()=default
 
- Protected Member Functions inherited from ScaledObject
virtual ~ScaledObject ()=default
 
virtual ~ScaledObject ()=default
 

Constructor & Destructor Documentation

◆ AnonymousScalableObject() [1/2]

AnonymousScalableObject ( )
protecteddefault

◆ ~AnonymousScalableObject() [1/2]

virtual ~AnonymousScalableObject ( )
protectedvirtualdefault

◆ AnonymousScalableObject() [2/2]

AnonymousScalableObject ( )
protecteddefault

◆ ~AnonymousScalableObject() [2/2]

virtual ~AnonymousScalableObject ( )
protectedvirtualdefault

Member Function Documentation

◆ AbsRap() [1/2]

float AbsRap ( const Variation = nominal) const
inlinefinalvirtual

absolute rapidity

Implements ScaledObject.

◆ AbsRap() [2/2]

float AbsRap ( const Variation = nominal) const
inlinefinalvirtual

absolute rapidity

Implements ScaledObject.

◆ Clear() [1/2]

virtual void Clear ( )
inlinevirtual

Reimplemented in AnonymousFinalStateObject, and AnonymousFinalStateObject.

129  {
130  p4.SetCoordinates(std::nan("pt"), std::nan("eta"), std::nan("phi"), std::nan("mass"));
131  scales = {1.};
132  }

◆ Clear() [2/2]

virtual void Clear ( )
inlinevirtual

Reimplemented in AnonymousFinalStateObject, and AnonymousFinalStateObject.

129  {
130  p4.SetCoordinates(std::nan("pt"), std::nan("eta"), std::nan("phi"), std::nan("mass"));
131  scales = {1.};
132  }

◆ CorrP4() [1/4]

FourVector CorrP4 ( const Variation v) const
inlinefinalvirtual

< corrected 4-vector

Implements ScaledObject.

117  {
118  size_t i = v.Group() == ScaleGroup() ? v.Index() : 0;
120  }

◆ CorrP4() [2/4]

FourVector CorrP4 ( const Variation v) const
inlinefinalvirtual

< corrected 4-vector

Implements ScaledObject.

117  {
118  size_t i = v.Group() == ScaleGroup() ? v.Index() : 0;
120  }

◆ CorrP4() [3/4]

FourVector CorrP4 ( size_t  i = 0) const
inline

corrected 4-vector

◆ CorrP4() [4/4]

FourVector CorrP4 ( size_t  i = 0) const
inline

corrected 4-vector

◆ CorrPt() [1/4]

float CorrPt ( const Variation v) const
inlinefinalvirtual

< corrected transverse momentum

Implements ScaledObject.

123  {
124  size_t i = v.Group() == ScaleGroup() ? v.Index() : 0;
126  }

◆ CorrPt() [2/4]

float CorrPt ( const Variation v) const
inlinefinalvirtual

< corrected transverse momentum

Implements ScaledObject.

123  {
124  size_t i = v.Group() == ScaleGroup() ? v.Index() : 0;
126  }

◆ CorrPt() [3/4]

float CorrPt ( size_t  i = 0) const
inline

corrected transverse momentum

◆ CorrPt() [4/4]

float CorrPt ( size_t  i = 0) const
inline

corrected transverse momentum

◆ operator<() [1/2]

bool operator< ( const AnonymousScalableObject that) const
inline
140  {
141  return this->CorrPt() < that.CorrPt();
142  }

◆ operator<() [2/2]

bool operator< ( const AnonymousScalableObject that) const
inline
140  {
141  return this->CorrPt() < that.CorrPt();
142  }

◆ operator==() [1/2]

bool operator== ( const AnonymousScalableObject that) const
inline
135  {
136  return this->p4 == that.p4 && this->scales == that.scales;
137  }

◆ operator==() [2/2]

bool operator== ( const AnonymousScalableObject that) const
inline
135  {
136  return this->p4 == that.p4 && this->scales == that.scales;
137  }

◆ operator>() [1/2]

bool operator> ( const AnonymousScalableObject that) const
inline
145  {
146  return this->CorrPt() > that.CorrPt();
147  }

◆ operator>() [2/2]

bool operator> ( const AnonymousScalableObject that) const
inline
145  {
146  return this->CorrPt() > that.CorrPt();
147  }

◆ Rapidity() [1/2]

float Rapidity ( const Variation = nominal) const
inlinefinalvirtual

Implements ScaledObject.

113 { return p4.Rapidity() ; }

◆ Rapidity() [2/2]

float Rapidity ( const Variation = nominal) const
inlinefinalvirtual

Implements ScaledObject.

113 { return p4.Rapidity() ; }

◆ ScaleGroup() [1/2]

virtual std::string_view ScaleGroup ( ) const
protectedpure virtual

◆ ScaleGroup() [2/2]

virtual std::string_view ScaleGroup ( ) const
protectedpure virtual

Member Data Documentation

◆ p4

FourVector p4 = FourVector(std::nan("pt"), std::nan("eta"), std::nan("phi"), std::nan("mass"))

raw four-momentum directly after reconstruction

◆ scales

std::vector< float > scales = {1.}

energy scale corrections and variations


The documentation for this class was generated from the following file:
Darwin::Physics::AnonymousScalableObject::CorrP4
FourVector CorrP4(size_t i=0) const
corrected 4-vector
Definition: GenericObject.h:110
Darwin::Physics::AnonymousScalableObject::CorrPt
float CorrPt(size_t i=0) const
corrected transverse momentum
Definition: GenericObject.h:111
Darwin::Physics::AnonymousScalableObject::scales
std::vector< float > scales
energy scale corrections and variations
Definition: GenericObject.h:108
Darwin::Physics::AnonymousScalableObject::ScaleGroup
virtual std::string_view ScaleGroup() const =0
Darwin::Physics::AnonymousScalableObject::p4
FourVector p4
raw four-momentum directly after reconstruction
Definition: GenericObject.h:107