2#ifndef RIVET_DISRapidityGap_HH
3#define RIVET_DISRapidityGap_HH
5#include "Rivet/Projections/DISKinematics.hh"
6#include "Rivet/Projections/DISFinalState.hh"
7#include "Rivet/Particle.hh"
8#include "Rivet/Event.hh"
26 DEFAULT_RIVET_PROJ_CLONE(DISRapidityGap);
28 const double M2X()
const {
return _M2X;}
29 const double M2Y()
const {
return _M2Y;}
30 const double t()
const {
return _t;}
31 const double gap()
const {
return _gap;}
32 const double gapUpp()
const {
return _gapUpp;}
33 const double gapLow()
const {
return _gapLow;}
34 const double EpPzX(
Frame f)
const {
35 if (f == LAB)
return _ePpzX_LAB;
36 else if (f == XCM)
return _ePpzX_XCM;
37 else return _ePpzX_HCM;
39 const double EmPzX(
Frame f)
const {
40 if (f == LAB)
return _eMpzX_LAB;
41 else if (f == XCM)
return _eMpzX_XCM;
42 else return _eMpzX_HCM;
44 const FourMomentum pX(
Frame f)
const {
45 if (f == LAB)
return _momX_LAB;
46 else if (f == XCM)
return _momX_XCM;
47 else return _momX_HCM;
49 const FourMomentum pY(
Frame f)
const {
50 if (f == LAB)
return _momY_LAB;
51 else if (f == XCM)
return _momY_XCM;
52 else return _momY_HCM;
54 const Particles& systemX(
Frame f)
const {
55 if (f == LAB)
return _pX_LAB;
56 else if (f == XCM)
return _pX_XCM;
59 const Particles& systemY(
Frame f)
const {
60 if (f == LAB)
return _pY_LAB;
61 else if (f == XCM)
return _pY_XCM;
77 double _M2X, _M2Y, _t;
78 double _gap, _gapUpp, _gapLow;
79 double _ePpzX_LAB, _eMpzX_LAB;
80 double _ePpzX_HCM, _eMpzX_HCM;
81 double _ePpzX_XCM, _eMpzX_XCM;
85 Particles _pX_HCM, _pY_HCM, _pX_LAB, _pY_LAB, _pX_XCM, _pY_XCM;
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:15
Get the incoming and outgoing hadron in a diffractive ep event.
Definition: DISRapidityGap.hh:14
virtual void project(const Event &e)
Frame
Type of DIS boost to apply.
Definition: DISRapidityGap.hh:18
virtual CmpState compare(const Projection &p) const
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
Specialized version of the FourVector with momentum/energy functionality.
Definition: Vector4.hh:306
Specialised vector of Particle objects.
Definition: Particle.hh:25
const PROJ & declare(const PROJ &proj, const std::string &name)
Register a contained projection (user-facing version)
Definition: ProjectionApplier.hh:170
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:142
double p(const ParticleBase &p)
Unbound function access to p.
Definition: ParticleBaseUtils.hh:653
Definition: MC_Cent_pPb.hh:10