Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // -*- C++ -*-
0002 #ifndef RIVET_InitialQuarks_HH
0003 #define RIVET_InitialQuarks_HH
0004 
0005 #ifndef I_KNOW_THE_INITIAL_QUARKS_PROJECTION_IS_DODGY_BUT_NEED_TO_USE_IT
0006 #warning "This is a dangerous projection for a few specific old analyses. Not for general use!"
0007 #endif
0008 
0009 #include "Rivet/Projection.hh"
0010 #include "Rivet/Particle.hh"
0011 #include "Rivet/Event.hh"
0012 
0013 namespace Rivet {
0014 
0015 
0016   /// @brief Project out quarks from the hard process in \f$ e^+ e^- \to Z^0 \f$ events
0017   ///
0018   /// @deprecated We're not sure exactly when we'll get rid of this, but it's going to happen...
0019   ///
0020   /// @warning This is a very dangerous and specific projection!
0021   class InitialQuarks : public Projection {
0022   public:
0023 
0024     /// @name Standard constructors and destructors.
0025     /// @{
0026     /// The default constructor. May specify the minimum and maximum
0027     /// pseudorapidity \f$ \eta \f$ and the min \f$ p_T \f$ (in GeV).
0028     InitialQuarks() {
0029       setName("InitialQuarks");
0030     }
0031 
0032     /// Clone on the heap.
0033     RIVET_DEFAULT_PROJ_CLONE(InitialQuarks);
0034 
0035     /// @}
0036 
0037     /// Import to avoid warnings about overload-hiding
0038     using Projection::operator =;
0039 
0040 
0041     /// Access the projected final-state particles.
0042     virtual const Particles& particles() const { return _theParticles; }
0043 
0044     /// Is this final state empty?
0045     virtual bool empty() const { return _theParticles.empty(); }
0046 
0047 
0048   protected:
0049 
0050     /// Apply the projection to the event.
0051     virtual void project(const Event& e);
0052 
0053     /// Compare projections.
0054     virtual CmpState compare(const Projection&) const {
0055       return CmpState::EQ;
0056     }
0057 
0058 
0059   protected:
0060 
0061     /// The final-state particles.
0062     Particles _theParticles;
0063 
0064   };
0065 
0066 
0067 }
0068 
0069 #endif