UnstableFinalState.hh
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #ifndef RIVET_UnstableFinalState_HH 00003 #define RIVET_UnstableFinalState_HH 00004 00005 #include "Rivet/Projections/FinalState.hh" 00006 00007 namespace Rivet { 00008 00009 00010 /// @brief Project out all physical-but-decayed particles in an event. 00011 /// 00012 /// The particles returned by the UFS are unique unstable particles, such as 00013 /// hadrons which are decayed by the generator. If, for example, you set Ks 00014 /// and Lambda particles stable in the generator, they will not be returned by 00015 /// the UFS. Also, you should be aware that all unstable particles in a decay 00016 /// chain are returned: if you are looking for something like the number of B 00017 /// hadrons in an event and there is a decay chain from e.g. B** -> B, you 00018 /// will count both B mesons unless you are careful to check for 00019 /// ancestor/descendent relations between the particles. Duplicate particles 00020 /// in the event record, i.e. those which differ only in bookkeeping details 00021 /// or photon emissions, are stripped from the returned particles collection. 00022 /// 00023 /// @todo Inherit directly from ParticleFinder, rename as UnstableFinder, and make TauFinder inherit/use 00024 class UnstableFinalState : public FinalState { 00025 public: 00026 00027 /// @name Standard constructors and destructors. 00028 //@{ 00029 00030 /// Cut-based / default constructor 00031 UnstableFinalState(const Cut& c=Cuts::open()) 00032 : FinalState(c) 00033 { 00034 setName("UnstableFinalState"); 00035 } 00036 00037 /// Constructor from cuts. 00038 /// 00039 /// May specify the minimum and maximum pseudorapidity \f$ \eta \f$ and the 00040 /// min \f$ p_T \f$ 00041 DEPRECATED("Use the version with a Cut argument") 00042 UnstableFinalState(double mineta, double maxeta, double minpt=0.0*GeV) 00043 : FinalState(Cuts::etaIn(mineta, maxeta) && Cuts::pT > minpt) 00044 { 00045 setName("UnstableFinalState"); 00046 } 00047 00048 00049 /// Clone on the heap. 00050 virtual const Projection* clone() const { 00051 return new UnstableFinalState(*this); 00052 } 00053 00054 //@} 00055 00056 protected: 00057 00058 /// Apply the projection to the event. 00059 virtual void project(const Event& e); 00060 00061 }; 00062 00063 00064 } 00065 00066 00067 #endif Generated on Wed Oct 7 2015 12:09:15 for The Rivet MC analysis system by ![]() |