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     DEFAULT_RIVET_PROJ_CLONE(CentralEtHCM);
00029 
00030 
00031   protected:
00032 
00033     /// Apply the projection on to the Event.
00034     void project(const Event& e);
00035 
00036     /// Compare with other projections
00037     int compare(const Projection& p) const {
00038       return mkNamedPCmp(p, "FS");
00039     }
00040 
00041 
00042   public:
00043 
00044     /// The sum of the Et in the central rapidity bin.
00045     double sumEt() const { return _sumet; }
00046 
00047 
00048   private:
00049 
00050     /// The sum of the Et in the central rapidity bin.
00051     double _sumet;
00052 
00053   };
00054 
00055 }
00056 
00057 
00058 #endif