Rivet API documentation

Rivet 4.1.3
DISRapidityGap.hh
1// -*- C++ -*-
2#ifndef RIVET_DISRapidityGap_HH
3#define RIVET_DISRapidityGap_HH
4
5#include "Rivet/Event.hh"
6#include "Rivet/Particle.hh"
7#include "Rivet/Projections/DISFinalState.hh"
8#include "Rivet/Projections/DISKinematics.hh"
9
10namespace Rivet {
11
12
14 class DISRapidityGap : public Projection {
15
16 public:
17
18 DISRapidityGap() {
19 setName("DISRapidityGap");
20 declare(DISKinematics(), "DISKIN");
21 declare(DISFinalState(DISFrame::HCM), "DISFS");
22 }
23
24 RIVET_DEFAULT_PROJ_CLONE(DISRapidityGap);
25
27 using Projection::operator=;
28
30 double t() const {
31 return _t;
32 }
33
35 double gap() const {
36 return _gap;
37 }
38
40 double gapUpp() const {
41 return _gapUpp;
42 }
43
45 double gapLow() const {
46 return _gapLow;
47 }
48
50 double EpPzX(const DISFrame& f) const {
51 if (f == DISFrame::LAB)
52 return _ePpzX_LAB;
53 else if (f == DISFrame::XCM)
54 return _ePpzX_XCM;
55 else
56 return _ePpzX_HCM;
57 }
58
60 double emPzX(const DISFrame& f) const {
61 if (f == DISFrame::LAB)
62 return _eMpzX_LAB;
63 else if (f == DISFrame::XCM)
64 return _eMpzX_XCM;
65 else
66 return _eMpzX_HCM;
67 }
68
69
73 const Particles& systemX(const DISFrame& f) const {
74 if (f == DISFrame::LAB)
75 return _pX_LAB;
76 else if (f == DISFrame::XCM)
77 return _pX_XCM;
78 else
79 return _pX_HCM;
80 }
81
85 const Particles& systemY(const DISFrame& f) const {
86 if (f == DISFrame::LAB)
87 return _pY_LAB;
88 else if (f == DISFrame::XCM)
89 return _pY_XCM;
90 else
91 return _pY_HCM;
92 }
93
97 const FourMomentum pX(const DISFrame& f) const {
98 if (f == DISFrame::LAB)
99 return _momX_LAB;
100 else if (f == DISFrame::XCM)
101 return _momX_XCM;
102 else
103 return _momX_HCM;
104 }
105
109 const FourMomentum pY(const DISFrame& f) const {
110 if (f == DISFrame::LAB)
111 return _momY_LAB;
112 else if (f == DISFrame::XCM)
113 return _momY_XCM;
114 else
115 return _momY_HCM;
116 }
117
121 double m2X() const {
122 return _M2X;
123 }
124
128 double m2Y() const {
129 return _M2Y;
130 }
131
132
133 protected:
134
135 virtual CmpState compare(const Projection& p) const;
136
137 virtual void project(const Event& e);
138
139 void clear();
140
141 void findGap(const Particles& particles, const DISKinematics& diskin);
142
143
144 protected:
145
146 double _M2X, _M2Y, _t;
147 double _gap, _gapUpp, _gapLow;
148 double _ePpzX_LAB, _eMpzX_LAB;
149 double _ePpzX_HCM, _eMpzX_HCM;
150 double _ePpzX_XCM, _eMpzX_XCM;
151 FourMomentum _momX_HCM, _momY_HCM;
152 FourMomentum _momX_LAB, _momY_LAB;
153 FourMomentum _momX_XCM, _momY_XCM;
154 Particles _pX_HCM, _pY_HCM, _pX_LAB, _pY_LAB, _pX_XCM, _pY_XCM;
155 };
156
157
158}
159
160#endif
Final state particles boosted to the hadronic center of mass system.
Definition DISFinalState.hh:14
Get the DIS kinematic variables and relevant boosts for an event.
Definition DISKinematics.hh:19
double EpPzX(const DISFrame &f) const
Definition DISRapidityGap.hh:50
double gapUpp() const
The upper edge of the largest gap, relative to the DIS event orientation.
Definition DISRapidityGap.hh:40
const Particles & systemY(const DISFrame &f) const
Definition DISRapidityGap.hh:85
const FourMomentum pY(const DISFrame &f) const
Definition DISRapidityGap.hh:109
double emPzX(const DISFrame &f) const
Definition DISRapidityGap.hh:60
virtual void project(const Event &e)
virtual CmpState compare(const Projection &p) const
double gap() const
The absolute size of the largest rapidity gap.
Definition DISRapidityGap.hh:35
double m2X() const
Definition DISRapidityGap.hh:121
double gapLow() const
The lower edge of the largest gap, relative to the DIS event orientation.
Definition DISRapidityGap.hh:45
double m2Y() const
Definition DISRapidityGap.hh:128
const FourMomentum pX(const DISFrame &f) const
Definition DISRapidityGap.hh:97
const Particles & systemX(const DISFrame &f) const
Definition DISRapidityGap.hh:73
double t() const
Definition DISRapidityGap.hh:30
Specialized version of the FourVector with momentum/energy functionality.
Definition Vector4.hh:363
Specialised vector of Particle objects.
Definition Particle.hh:21
const PROJ & declare(const PROJ &proj, const std::string &name) const
Register a contained projection (user-facing version).
Definition ProjectionApplier.hh:205
Projection()
The default constructor.
friend class Event
Event is a friend.
Definition Projection.hh:33
void setName(const std::string &name)
Used by derived classes to set their name.
Definition Projection.hh:146
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