 |
DAS
3.0
Das Analysis System
|
Go to the documentation of this file.
13 #include <Math/Vector4D.h>
26 class WeightedObject {
51 if (
w.i == v.Bit())
return w;
55 catch (std::out_of_range& e) {
58 << v.Group() <<
' ' << v.Name() <<
" is not available.";
59 throw std::out_of_range(s.str());
69 return this->weights == that.
weights;
73 using FourVector = ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<float>>;
108 std::vector<float>
scales = {1.};
118 size_t i = v.Group() ==
ScaleGroup() ? v.Index() : 0;
124 size_t i = v.Group() ==
ScaleGroup() ? v.Index() : 0;
130 p4.SetCoordinates(std::nan(
"pt"), std::nan(
"eta"), std::nan(
"phi"), std::nan(
"mass"));
136 return this->p4 == that.
p4 && this->scales == that.
scales;
152 class AnonymousFinalStateObject :
public AnonymousWeightableObject,
153 public AnonymousScalableObject {
178 return s <<
'(' << p4.Pt() <<
',' << p4.Eta() <<
',' << p4.Phi() <<
',' << p4.M() <<
')';
191 return s << obj.
p4 <<
' ';
192 for (
const auto&
f: obj.
scales)
Abstract class for any object that carries its own 4-momentum.
Definition: GenericObject.h:98
void Clear() override
Definition: GenericObject.h:160
virtual double Weight(const Variation &v) const
Definition: GenericObject.h:47
FourVector CorrP4(size_t i=0) const
corrected 4-vector
Definition: GenericObject.h:110
AnonymousFinalStateObject()=default
virtual ~AnonymousWeightableObject()=default
virtual float AbsRap(const Variation &=nominal) const =0
virtual ~AnonymousFinalStateObject()=default
virtual double Weight(const Variation &) const =0
Abstract class for any object that can be weighted.
Definition: GenericObject.h:26
f
Definition: Ntupliser_cfg.py:318
Generic class for jets, photons, muons, etc.
Definition: GenericObject.h:153
static const float w
Definition: common.h:53
std::vector< Weight > Weights
Definition: Weight.h:42
float CorrPt(size_t i=0) const
corrected transverse momentum
Definition: GenericObject.h:111
virtual ~AnonymousScalableObject()=default
virtual float CorrPt(const Variation &=nominal) const =0
Definition: Variation.h:26
std::vector< float > scales
energy scale corrections and variations
Definition: GenericObject.h:108
Abstract class for any object that carries its own weights. A std::vector is used to carry the scale ...
Definition: GenericObject.h:36
virtual FourVector CorrP4(const Variation &=nominal) const =0
bool operator<(const AnonymousScalableObject &that) const
Definition: GenericObject.h:139
virtual float Rapidity(const Variation &=nominal) const =0
virtual ~ScaledObject()=default
AnonymousWeightableObject()=default
bool operator==(const AnonymousScalableObject &that) const
Definition: GenericObject.h:134
virtual void Clear()
Definition: GenericObject.h:128
Abstract class for any object whose energy can be scaled.
Definition: GenericObject.h:80
Weights weights
e.g. cross section normalisation
Definition: GenericObject.h:45
float CorrPt(const Variation &v) const final
< corrected transverse momentum
Definition: GenericObject.h:122
const Variation nominal("", "nominal")
FourVector CorrP4(const Variation &v) const final
< corrected 4-vector
Definition: GenericObject.h:116
bool operator>(const AnonymousScalableObject &that) const
Definition: GenericObject.h:144
float AbsRap(const Variation &=nominal) const final
absolute rapidity
Definition: GenericObject.h:114
virtual bool operator==(const AnonymousFinalStateObject &that) const
Definition: GenericObject.h:166
virtual std::string_view WeightGroup() const =0
virtual void Clear()
Definition: GenericObject.h:62
virtual std::string_view ScaleGroup() const =0
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< float > > FourVector
Definition: GenericObject.h:73
float Rapidity(const Variation &=nominal) const final
Definition: GenericObject.h:113
std::ostream & operator<<(std::ostream &s, const Darwin::Physics::AnonymousWeightableObject &obj)
Definition: GenericObject.h:182
bool operator==(const AnonymousWeightableObject &that) const
Definition: GenericObject.h:67
Everything what concerns physics analysis directly.
Definition: darwin.h:24
AnonymousScalableObject()=default
virtual ~WeightedObject()=default
FourVector p4
raw four-momentum directly after reconstruction
Definition: GenericObject.h:107