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/FinalStateHCM.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 
00018   public:
00019 
00020     /// The default constructor. Must specify a FinalStateHCM projection
00021     /// object which is guaranteed to live throughout the run.
00022     CentralEtHCM(const FinalStateHCM& fs)
00023     {
00024       setName("CentralEtHCM");
00025       addProjection(fs, "FS");
00026     }
00027 
00028     /// Clone on the heap.
00029     virtual const Projection* clone() const {
00030       return new CentralEtHCM(*this);
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 
00041   public:
00042 
00043     /// The sum of the Et in the central rapidity bin.
00044     double sumEt() const { return _sumet; }
00045 
00046   private:
00047 
00048     /// The sum of the Et in the central rapidity bin.
00049     double _sumet;
00050 
00051   };
00052 
00053 }
00054 
00055 
00056 #endif