Rivet: /Users/chrisg/software/rivet/include/Rivet/Projections/MissingMomentum.hh Source File

| Rivet 3.1.9

MissingMomentum.hh
1// -*- C++ -*-
2#ifndef RIVET_MissingMomentum_HH
3#define RIVET_MissingMomentum_HH
4
5#include "Rivet/Config/RivetCommon.hh"
6#include "Rivet/Projection.hh"
7#include "Rivet/Projections/METFinder.hh"
8#include "Rivet/Projections/VisibleFinalState.hh"
9#include "Rivet/Particle.hh"
10#include "Rivet/Event.hh"
11
12namespace Rivet {
13
14
22 class MissingMomentum : public METFinder {
23 public:
24
26 MissingMomentum(const FinalState& fs) {
27 setName("MissingMomentum");
28 declare(fs, "FS");
29 declare(VisibleFinalState(fs), "VisibleFS");
30 }
31
33 MissingMomentum(const Cut& c=Cuts::open())
34 : MissingMomentum(FinalState(c))
35 { }
36
37
39 DEFAULT_RIVET_PROJ_CLONE(MissingMomentum);
40
42 using Projection::operator =;
43
44
47
57 const FourMomentum visibleMomentum(double mass=0*GeV) const;
59 const FourMomentum visibleMom(double mass=0*GeV) const { return visibleMomentum(mass); }
60
68 const FourMomentum missingMomentum(double mass=0*GeV) const { return visibleMomentum(mass).reverse(); }
70 const FourMomentum missingMom(double mass=0*GeV) const { return missingMomentum(mass); }
71
73
74
79
83 const ThreeMomentum& vectorPt() const { return _vpt; }
84
86 const ThreeMomentum vectorPtMiss() const { return -vectorPt(); }
87
89 double scalarPtMiss() const { return vectorPtMiss().pT(); }
90
92 double scalarPt() const { return _spt; }
93 // /// Alias for scalarPt
94 // double spt() const { return scalarPt(); }
95
97
98
103
107 const Vector3& vectorEt() const { return _vet; }
108
110 const Vector3 vectorEtMiss() const { return -vectorEt(); }
111
113 double scalarEtMiss() const { return vectorEtMiss().perp(); }
114
116 double scalarEt() const { return _set; }
119 double set() const { return scalarEt(); }
120
122
123
125 void clear();
126
127
128 protected:
129
131 void project(const Event& e);
132
134 CmpState compare(const Projection& p) const;
135
136
137 protected:
138
140 FourMomentum _momentum;
141
143 double _set, _spt;
144
146 Vector3 _vet;
147 ThreeMomentum _vpt;
148
149 };
150
151
152
154 using MissingMom = MissingMomentum;
155
156
157}
158
159#endif
Rivet::Event
Representation of a HepMC event, and enabler of Projection caching.
Definition Event.hh:22
Rivet::FinalState
Project out all final-state particles in an event. Probably the most important projection in Rivet!
Definition FinalState.hh:12
Rivet::FourMomentum
Specialized version of the FourVector with momentum/energy functionality.
Definition Vector4.hh:316
Rivet::METFinder
Interface for projections that find missing transverse energy/momentum.
Definition METFinder.hh:11
Rivet::MissingMomentum
Calculate missing , etc. as complements to the total visible momentum.
Definition MissingMomentum.hh:22
Rivet::MissingMomentum::scalarEt
double scalarEt() const
The scalar-summed visible transverse energy in the event.
Definition MissingMomentum.hh:116
Rivet::MissingMomentum::scalarEtMiss
double scalarEtMiss() const
The scalar value of missing transverse energy in the event.
Definition MissingMomentum.hh:113
Rivet::MissingMomentum::clear
void clear()
Clear the projection results.
Rivet::MissingMomentum::scalarPt
double scalarPt() const
The scalar-summed visible transverse momentum in the event.
Definition MissingMomentum.hh:92
Rivet::MissingMomentum::vectorPtMiss
const ThreeMomentum vectorPtMiss() const
The vector missing transverse momentum in the event, as a 3-vector with z=0.
Definition MissingMomentum.hh:86
Rivet::MissingMomentum::scalarPtMiss
double scalarPtMiss() const
The scalar value of missing transverse momentum in the event.
Definition MissingMomentum.hh:89
Rivet::MissingMomentum::compare
CmpState compare(const Projection &p) const
Compare projections.
Rivet::MissingMomentum::project
void project(const Event &e)
Apply the projection to the event.
Rivet::MissingMomentum::vectorEt
const Vector3 & vectorEt() const
The vector-summed visible transverse energy in the event, as a 3-vector with z=0.
Definition MissingMomentum.hh:107
Rivet::MissingMomentum::MissingMomentum
MissingMomentum(const FinalState &fs)
Canonical constructor taking a FinalState as argument.
Definition MissingMomentum.hh:26
Rivet::MissingMomentum::missingMomentum
const FourMomentum missingMomentum(double mass=0 *GeV) const
The missing four-momentum in the event, required to balance the final state.
Definition MissingMomentum.hh:68
Rivet::MissingMomentum::vectorPt
const ThreeMomentum & vectorPt() const
The vector-summed visible transverse momentum in the event, as a 3-vector with z=0.
Definition MissingMomentum.hh:83
Rivet::MissingMomentum::vectorEtMiss
const Vector3 vectorEtMiss() const
The vector missing transverse energy in the event, as a 3-vector with z=0.
Definition MissingMomentum.hh:110
Rivet::MissingMomentum::set
double set() const
Definition MissingMomentum.hh:119
Rivet::MissingMomentum::DEFAULT_RIVET_PROJ_CLONE
DEFAULT_RIVET_PROJ_CLONE(MissingMomentum)
Clone on the heap.
Rivet::MissingMomentum::missingMom
const FourMomentum missingMom(double mass=0 *GeV) const
Alias for missingMomentum.
Definition MissingMomentum.hh:70
Rivet::MissingMomentum::visibleMom
const FourMomentum visibleMom(double mass=0 *GeV) const
Alias for visibleMomentum.
Definition MissingMomentum.hh:59
Rivet::MissingMomentum::visibleMomentum
const FourMomentum visibleMomentum(double mass=0 *GeV) const
The vector-summed visible four-momentum in the event.
Rivet::MissingMomentum::MissingMomentum
MissingMomentum(const Cut &c=Cuts::open())
Default constructor with optional cut.
Definition MissingMomentum.hh:33
Rivet::ProjectionApplier::declare
const PROJ & declare(const PROJ &proj, const std::string &name)
Register a contained projection (user-facing version)
Definition ProjectionApplier.hh:170
Rivet::Projection
Base class for all Rivet projections.
Definition Projection.hh:29
Rivet::Projection::setName
void setName(const std::string &name)
Used by derived classes to set their name.
Definition Projection.hh:142
Rivet::ThreeMomentum
Specialized version of the ThreeVector with momentum functionality.
Definition Vector3.hh:339
Rivet::ThreeMomentum::pT
double pT() const
Calculate the transverse momentum .
Definition Vector3.hh:432
Rivet::Vector3
Three-dimensional specialisation of Vector.
Definition Vector3.hh:40
Rivet::Vector3::perp
double perp() const
Synonym for polarRadius.
Definition Vector3.hh:162
Rivet::VisibleFinalState
Final state modifier excluding particles which are not experimentally visible.
Definition VisibleFinalState.hh:16
Rivet::FourMomentum::reverse
FourMomentum reverse() const
Multiply space components only by -1.
Definition Vector4.hh:767
Rivet::Kin::mass
double mass(const ParticleBase &p)
Unbound function access to mass.
Definition ParticleBaseUtils.hh:705
Rivet::Kin::p
double p(const ParticleBase &p)
Unbound function access to p.
Definition ParticleBaseUtils.hh:684
Rivet::Cuts::open
const Cut & open()
Fully open cut singleton, accepts everything.
Rivet
Definition MC_Cent_pPb.hh:10