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 virtual const Projection* clone() const { 00029 return new DISLepton(*this); 00030 } 00031 //@} 00032 00033 00034 protected: 00035 00036 /// Perform the projection operation on the supplied event. 00037 virtual void project(const Event& e); 00038 00039 /// Compare with other projections. 00040 virtual int compare(const Projection& p) const; 00041 00042 public: 00043 00044 /// The incoming lepton. 00045 const Particle& in() const { return _incoming; } 00046 00047 /// The outgoing lepton. 00048 const Particle& out() const { return _outgoing; } 00049 00050 const double &pzSign() const { return _sign; } 00051 00052 private: 00053 00054 /// The incoming lepton. 00055 Particle _incoming; 00056 00057 /// The outgoing lepton. 00058 Particle _outgoing; 00059 00060 /// The sign of the PZ of the incoming lepton 00061 double _sign; 00062 00063 }; 00064 00065 } 00066 00067 00068 #endif Generated on Thu Feb 6 2014 17:38:44 for The Rivet MC analysis system by ![]() |