Rivet API documentation

Rivet 4.1.3
DISFinalState.hh
1// -*- C++ -*-
2#ifndef RIVET_DISFinalState_HH
3#define RIVET_DISFinalState_HH
4
5#include "Rivet/Projections/DISKinematics.hh"
6#include "Rivet/Projections/FinalState.hh"
7
8namespace Rivet {
9
10
14 class DISFinalState : public FinalState {
15 public:
16
19
21 DISFinalState(const FinalState& fs, DISFrame boosttype)
22 : _boosttype(boosttype) {
23 setName("DISFinalState");
24 declare(fs, "FS");
25 declare(DISKinematics(), "Kinematics");
26 }
27
28
30 DISFinalState(DISFrame boosttype, const FinalState& fs = FinalState())
31 : DISFinalState(fs, boosttype) { }
32
33
39 DISFinalState(const Cut& c, DISFrame boosttype)
40 : DISFinalState(FinalState(c), boosttype) { }
41
42
50 DISFinalState(DISFrame boosttype, const Cut& c)
51 : DISFinalState(FinalState(c), boosttype) { }
52
53
54 // /// @brief Constructor with default FinalState
55 // DISFinalState(BoostFrame boosttype)
56 // : DISFinalState(FinalState(), boosttype)
57 // { }
58
59
62
64
65
67 using Projection::operator=;
68
69
71 const DISKinematics& kinematics() const {
72 return getProjection<DISKinematics>("Kinematics");
73 }
74
75
76 protected:
77
79 void project(const Event& e);
80
81
83 CmpState compare(const Projection& p) const {
84 const DISFinalState& other = dynamic_cast<const DISFinalState&>(p);
85 return mkNamedPCmp(p, "Kinematics") || mkNamedPCmp(p, "FS") || cmp(_boosttype, other._boosttype);
86 }
87
88
89 protected:
90
91 DISFrame _boosttype;
92 };
93
94
95}
96
97#endif
RIVET_DEFAULT_PROJ_CLONE(DISFinalState)
Clone on the heap.
void project(const Event &e)
Apply the projection on the supplied event.
DISFinalState(DISFrame boosttype, const FinalState &fs=FinalState())
Constructor with optional FinalState.
Definition DISFinalState.hh:30
DISFinalState(DISFrame boosttype, const Cut &c)
Constructor with explicit cuts to define final-state particles.
Definition DISFinalState.hh:50
CmpState compare(const Projection &p) const
Compare projections.
Definition DISFinalState.hh:83
DISFinalState(const Cut &c, DISFrame boosttype)
Constructor with explicit cuts to define final-state particles.
Definition DISFinalState.hh:39
const DISKinematics & kinematics() const
Get the associated DISKinematics (to avoid needing a separate projection).
Definition DISFinalState.hh:71
DISFinalState(const FinalState &fs, DISFrame boosttype)
Constructor with explicit FinalState.
Definition DISFinalState.hh:21
Get the DIS kinematic variables and relevant boosts for an event.
Definition DISKinematics.hh:19
Representation of a HepMC event, and enabler of Projection caching.
Definition Event.hh:22
FinalState(const Cut &c=Cuts::OPEN)
Construction using Cuts object.
const PROJ & getProjection(const std::string &name) const
Definition ProjectionApplier.hh:72
const PROJ & declare(const PROJ &proj, const std::string &name) const
Register a contained projection (user-facing version).
Definition ProjectionApplier.hh:205
Base class for all Rivet projections.
Definition Projection.hh:29
void setName(const std::string &name)
Used by derived classes to set their name.
Definition Projection.hh:146
Cmp< Projection > mkNamedPCmp(const Projection &otherparent, const std::string &pname) const
double p(const ParticleBase &p)
Unbound function access to p.
Definition ParticleBaseUtils.hh:819
Definition LHCbCommon.hh:9
DISFrame
Type of DIS boost to apply.
Definition DISKinematics.hh:15
Cmp< T > cmp(const T &t1, const T &t2)
Global helper function for easy creation of Cmp objects.
Definition Cmp.hh:253