MissingMomentum.hh
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #ifndef RIVET_MissingMomentum_HH 00003 #define RIVET_MissingMomentum_HH 00004 00005 #include "Rivet/Rivet.hh" 00006 #include "Rivet/Projection.hh" 00007 #include "Rivet/Projections/VisibleFinalState.hh" 00008 #include "Rivet/Particle.hh" 00009 #include "Rivet/Event.hh" 00010 00011 namespace Rivet { 00012 00013 00014 /// @brief Calculate missing \f$ E \f$, \f$ E_\perp \f$ etc. 00015 /// 00016 /// Project out the total visible energy vector, allowing missing 00017 /// \f$ E \f$, \f$ E_\perp \f$ etc. to be calculated. Final state 00018 /// visibility restrictions are automatic. 00019 class MissingMomentum : public Projection { 00020 public: 00021 00022 /// Default constructor with uncritical FS. 00023 MissingMomentum() 00024 { 00025 setName("MissingMomentum"); 00026 FinalState fs; 00027 addProjection(fs, "FS"); 00028 addProjection(VisibleFinalState(fs), "VisibleFS"); 00029 } 00030 00031 00032 /// Constructor. 00033 MissingMomentum(const FinalState& fs) 00034 { 00035 setName("MissingMomentum"); 00036 addProjection(fs, "FS"); 00037 addProjection(VisibleFinalState(fs), "VisibleFS"); 00038 } 00039 00040 00041 /// Clone on the heap. 00042 virtual const Projection* clone() const { 00043 return new MissingMomentum(*this); 00044 } 00045 00046 00047 public: 00048 00049 /// The vector-summed visible four-momentum in the event. 00050 /// @note Reverse this vector with operator- to get the missing momentum vector. 00051 const FourMomentum& visibleMomentum() const { return _momentum; } 00052 00053 /// The vector-summed visible transverse energy in the event 00054 /// @note Reverse this vector with operator- to get the missing ET vector. 00055 const Vector3& vectorEt() const { return _vet; } 00056 00057 /// The scalar-summed visible transverse energy in the event. 00058 double scalarEt() const { return _set; } 00059 00060 00061 protected: 00062 00063 /// Apply the projection to the event. 00064 void project(const Event& e); 00065 00066 /// Compare projections. 00067 int compare(const Projection& p) const; 00068 00069 00070 public: 00071 00072 /// Clear the projection results. 00073 void clear(); 00074 00075 00076 private: 00077 00078 /// The total visible momentum 00079 FourMomentum _momentum; 00080 00081 /// Scalar transverse energy 00082 double _set; 00083 00084 /// Vector transverse energy 00085 Vector3 _vet; 00086 00087 }; 00088 00089 00090 } 00091 00092 #endif Generated on Thu Feb 6 2014 17:38:45 for The Rivet MC analysis system by ![]() |