DISLepton.hh
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #ifndef RIVET_DISLepton_HH 00003 #define RIVET_DISLepton_HH 00004 00005 #include "Rivet/Projections/Beam.hh" 00006 #include "Rivet/Projections/FinalState.hh" 00007 #include "Rivet/Particle.hh" 00008 #include "Rivet/Event.hh" 00009 00010 namespace Rivet { 00011 00012 00013 /// @brief Get the incoming and outgoing leptons in a DIS event. 00014 class DISLepton : public Projection { 00015 00016 public: 00017 00018 /// @name Constructors. 00019 //@{ 00020 00021 DISLepton(){ 00022 setName("DISLepton"); 00023 addProjection(Beam(), "Beam"); 00024 addProjection(FinalState(), "FS"); 00025 } 00026 00027 /// Clone on the heap. 00028 DEFAULT_RIVET_PROJ_CLONE(DISLepton); 00029 00030 //@} 00031 00032 00033 protected: 00034 00035 /// Perform the projection operation on the supplied event. 00036 virtual void project(const Event& e); 00037 00038 /// Compare with other projections. 00039 virtual int compare(const Projection& p) const; 00040 00041 public: 00042 00043 /// The incoming lepton. 00044 const Particle& in() const { return _incoming; } 00045 00046 /// The outgoing lepton. 00047 const Particle& out() const { return _outgoing; } 00048 00049 const double &pzSign() const { return _sign; } 00050 00051 private: 00052 00053 /// The incoming lepton. 00054 Particle _incoming; 00055 00056 /// The outgoing lepton. 00057 Particle _outgoing; 00058 00059 /// The sign of the PZ of the incoming lepton 00060 double _sign; 00061 00062 }; 00063 00064 } 00065 00066 00067 #endif Generated on Tue Dec 13 2016 16:32:37 for The Rivet MC analysis system by ![]() |