rivet is hosted by Hepforge, IPPP Durham
CentralEtHCM.hh
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #ifndef RIVET_CentralEtHCM_HH
00003 #define RIVET_CentralEtHCM_HH
00004 
00005 #include "Rivet/Particle.hh"
00006 #include "Rivet/Event.hh"
00007 #include "Rivet/Projections/DISFinalState.hh"
00008 
00009 namespace Rivet {
00010 
00011 
00012   /// @brief Summed \f$ E_\perp \f$ of central particles in HCM system.
00013   ///
00014   /// Sum up \f$ E_\perp \f$ of all particles in the hadronic final state in the
00015   /// central rapidity bin of the HCM system.
00016   class CentralEtHCM : public Projection {
00017   public:
00018 
00019     /// The default constructor. Must specify a FinalStateHCM projection
00020     /// object which is guaranteed to live throughout the run.
00021     CentralEtHCM(const DISFinalState& fs)
00022     {
00023       setName("CentralEtHCM");
00024       addProjection(fs, "FS");
00025     }
00026 
00027     /// Clone on the heap.
00028     virtual const Projection* clone() const {
00029       return new CentralEtHCM(*this);
00030     }
00031 
00032 
00033   protected:
00034 
00035     /// Apply the projection on to the Event.
00036     void project(const Event& e);
00037 
00038     /// Compare with other projections
00039     int compare(const Projection& p) const {
00040       return mkNamedPCmp(p, "FS");
00041     }
00042 
00043 
00044   public:
00045 
00046     /// The sum of the Et in the central rapidity bin.
00047     double sumEt() const { return _sumet; }
00048 
00049 
00050   private:
00051 
00052     /// The sum of the Et in the central rapidity bin.
00053     double _sumet;
00054 
00055   };
00056 
00057 }
00058 
00059 
00060 #endif