PrimaryHadrons.hh
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #ifndef RIVET_PrimaryHadrons_HH 00003 #define RIVET_PrimaryHadrons_HH 00004 00005 #include "Rivet/Projections/FinalState.hh" 00006 #include "Rivet/Projections/UnstableFinalState.hh" 00007 #include "Rivet/Particle.hh" 00008 #include "Rivet/Event.hh" 00009 00010 namespace Rivet { 00011 00012 00013 /// @brief Project out the first hadrons from hadronisation. 00014 /// 00015 /// @todo Also be able to return taus? Prefer a separate tau finder. 00016 /// @todo This assumes that the primary hadrons are unstable... should we also look for stable primary hadrons? 00017 class PrimaryHadrons : public FinalState { 00018 public: 00019 00020 /// @name Constructors and destructors. 00021 //@{ 00022 00023 /// Constructor with cuts argument 00024 PrimaryHadrons(const Cut& c=Cuts::open()) { 00025 setName("PrimaryHadrons"); 00026 addProjection(UnstableFinalState(c), "UFS"); 00027 } 00028 00029 /// Constructor with specification of the minimum and maximum pseudorapidity 00030 /// \f$ \eta \f$ and the min \f$ p_T \f$ (in GeV). 00031 PrimaryHadrons(double mineta, double maxeta, double minpt=0.0*GeV) { 00032 setName("PrimaryHadrons"); 00033 addProjection(UnstableFinalState(Cuts::etaIn(mineta, maxeta) && Cuts::pT > minpt), "UFS"); 00034 } 00035 00036 00037 /// Clone on the heap. 00038 virtual const Projection* clone() const { 00039 return new PrimaryHadrons(*this); 00040 } 00041 00042 //@} 00043 00044 00045 protected: 00046 00047 /// Apply the projection to the event. 00048 virtual void project(const Event& e); 00049 00050 }; 00051 00052 00053 } 00054 00055 00056 #endif Generated on Wed Oct 7 2015 12:09:14 for The Rivet MC analysis system by ![]() |