DISKinematics.hh
// -*- C++ -*-
#ifndef RIVET_DISKinematics_HH
#define RIVET_DISKinematics_HH
#include "Rivet/Particle.hh"
#include "Rivet/Event.hh"
#include "Rivet/Projection.hh"
#include "Rivet/Projections/DISLepton.hh"
#include "Rivet/Projections/Beam.hh"
namespace Rivet {
class DISKinematics : public Projection {
public:
DISKinematics()
: _theQ2(-1.0), _theW2(-1.0), _theX(-1.0), _theY(-1.0), _theS(-1.0)
{
setName("DISKinematics");
//addPdgIdPair(ANY, hadid);
addProjection(Beam(), "Beam");
addProjection(DISLepton(), "Lepton");
}
virtual const Projection* clone() const {
return new DISKinematics(*this);
}
protected:
virtual void project(const Event& e);
virtual int compare(const Projection& p) const;
public:
double Q2() const { return _theQ2; }
double W2() const { return _theW2; }
double x() const { return _theX; }
double y() const { return _theY; }
double s() const { return _theS; }
const LorentzTransform& boostHCM() const {
return _hcm;
}
const LorentzTransform& boostBreit() const {
return _breit;
}
const Particle& beamHadron() const {
return _inHadron;
}
private:
double _theQ2;
double _theW2;
double _theX;
double _theY;
double _theS;
Particle _inHadron;
LorentzTransform _hcm;
LorentzTransform _breit;
};
}
#endif
Rivet::Projection::setName
void setName(const std::string &name)
Used by derived classes to set their name.
Definition: Projection.hh:120
Rivet
Definition: MC_JetAnalysis.hh:9
Rivet::DISKinematics::Q2
double Q2() const
The .
Definition: DISKinematics.hh:47
Rivet::DISKinematics
Get the DIS kinematic variables and relevant boosts for an event.
Definition: DISKinematics.hh:15
Rivet::DISKinematics::clone
virtual const Projection * clone() const
Clone on the heap.
Definition: DISKinematics.hh:30
Rivet::DISKinematics::W2
double W2() const
The .
Definition: DISKinematics.hh:50
Rivet::Particle
Representation of particles from a HepMC::GenEvent.
Definition: Particle.hh:16
Rivet::DISKinematics::DISKinematics
DISKinematics()
The default constructor.
Definition: DISKinematics.hh:20
Rivet::DISKinematics::boostBreit
const LorentzTransform & boostBreit() const
The LorentzRotation needed to boost a particle to the hadronic Breit frame.
Definition: DISKinematics.hh:69
Rivet::Event
Definition: Event.hh:22
Rivet::DISKinematics::compare
virtual int compare(const Projection &p) const
Compare with other projections.
Definition: DISKinematics.cc:73
Rivet::DISKinematics::beamHadron
const Particle & beamHadron() const
The incoming Hadron beam particle.
Definition: DISKinematics.hh:74
Rivet::LorentzTransform
Object implementing Lorentz transform calculations and boosts.
Definition: LorentzTrans.hh:21
Rivet::DISKinematics::boostHCM
const LorentzTransform & boostHCM() const
The LorentzRotation needed to boost a particle to the hadronic CM frame.
Definition: DISKinematics.hh:64
Rivet::DISKinematics::project
virtual void project(const Event &e)
Perform the projection operation on the supplied event.
Definition: DISKinematics.cc:12
Rivet::ProjectionApplier::addProjection
const PROJ & addProjection(const PROJ &proj, const std::string &name)
Definition: ProjectionApplier.hh:113
Rivet::Beam
Project out the incoming beams.
Definition: Beam.hh:39
Rivet::DISKinematics::x
double x() const
The Bjorken .
Definition: DISKinematics.hh:53
Rivet::DISKinematics::y
double y() const
The Inelasticity .
Definition: DISKinematics.hh:56
Rivet::DISKinematics::s
double s() const
The centre of mass energy .
Definition: DISKinematics.hh:59
Rivet::DISLepton
Get the incoming and outgoing leptons in a DIS event.
Definition: DISLepton.hh:14
Rivet::Projection
Base class for all Rivet projections.
Definition: Projection.hh:28