Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-05-12 09:05:03

0001 // -*- C++ -*-
0002 #ifndef RIVET_METFinder_HH
0003 #define RIVET_METFinder_HH
0004 
0005 #include "Rivet/Projection.hh"
0006 
0007 namespace Rivet {
0008 
0009 
0010   /// Interface for projections that find missing transverse energy/momentum
0011   class METFinder : public Projection {
0012   public:
0013 
0014     /// Import to avoid warnings about overload-hiding
0015     using Projection::operator=;
0016 
0017     /// @name Transverse momentum functions
0018     ///
0019     /// @note This may be what you want, even if the paper calls it "missing Et"!
0020     /// @{
0021 
0022     /// The vector-summed visible transverse momentum in the event, as a 3-vector with z=0
0023     ///
0024     /// @note Reverse this vector with operator- to get the missing pT vector.
0025     /// @todo Currently equivalent to vectorEt
0026     virtual const Vector3& vectorPt() const = 0;
0027 
0028     /// Convenience vector MPT function
0029     const Vector3 vectorMissingPt() const { return -vectorPt(); }
0030     // Alias
0031     const Vector3 vectorMPT() const { return vectorMissingPt(); }
0032 
0033     /// The vector-summed missing transverse momentum in the event.
0034     double missingPt() const { return vectorPt().mod(); }
0035 
0036     /// @}
0037 
0038 
0039     /// @name Transverse energy functions
0040     ///
0041     /// @warning Despite the common names "MET" and "SET", what's often meant is the pT functions above!
0042     /// @{
0043 
0044     /// The vector-summed visible transverse energy in the event, as a 3-vector with z=0
0045     ///
0046     /// @note Reverse this vector with operator- to get the missing ET vector.
0047     virtual const Vector3& vectorEt() const = 0;
0048 
0049     /// Convenience vector MET function
0050     const Vector3 vectorMissingEt() const { return -vectorEt(); }
0051     // Alias
0052     const Vector3 vectorMET() const { return vectorMissingEt(); }
0053 
0054     /// The vector-summed missing transverse energy in the event.
0055     double missingEt() const { return vectorEt().mod(); }
0056     /// Alias for missingEt
0057     double met() const { return missingEt(); }
0058 
0059     /// @}
0060 
0061 
0062     /// Reset the projection. Smearing functions will be unchanged.
0063     virtual void reset() {  }
0064 
0065   };
0066 
0067 
0068 }
0069 
0070 #endif