herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
SimpleZPrimeAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef RADIATIVEZPRIME_SimpleZPrimeAnalysis_H
00003 #define RADIATIVEZPRIME_SimpleZPrimeAnalysis_H
00004 //
00005 // This is the declaration of the SimpleZPrimeAnalysis class.
00006 //
00007 
00008 #include "ThePEG/Handlers/AnalysisHandler.h"
00009 #include "Herwig++/Utilities/Histogram.h"
00010 
00011 namespace RadiativeZPrime {
00012 
00013 using namespace ThePEG;
00014 using Herwig::HistogramPtr;
00015 
00022 class SimpleZPrimeAnalysis: public AnalysisHandler {
00023 
00024 public:
00025 
00045   virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00047 
00048 public:
00049 
00056   static void Init();
00057 
00058 protected:
00059 
00066   inline virtual IBPtr clone() const {return new_ptr(*this);}
00067 
00072   inline virtual IBPtr fullclone() const {return new_ptr(*this);}
00074 
00075 protected:
00076 
00083   virtual void doinitrun();
00084 
00089   virtual void dofinish();
00091 
00092 private:
00093 
00098   static NoPIOClassDescription<SimpleZPrimeAnalysis> initSimpleZPrimeAnalysis;
00099 
00104   SimpleZPrimeAnalysis & operator=(const SimpleZPrimeAnalysis &);
00105 
00106 private:
00107 
00111   HistogramPtr _ptZ;
00112 
00116   HistogramPtr _rapZ;
00117 
00121   HistogramPtr _phiZ;
00122 
00126   HistogramPtr _ptgamma;
00127 
00131   HistogramPtr _rapgamma;
00132 
00136   HistogramPtr _phigamma;
00137 
00141   HistogramPtr _ptep;
00142 
00146   HistogramPtr _rapep;
00147 
00151   HistogramPtr _phiep;
00152 
00156   HistogramPtr _ptem;
00157 
00161   HistogramPtr _rapem;
00162 
00166   HistogramPtr _phiem;
00167 
00171   HistogramPtr _masspair;
00172 
00176   HistogramPtr _massZ;
00177 
00181   HistogramPtr _massgammaep;
00182 
00186   HistogramPtr _massgammaem;
00187 
00188 };
00189 
00190 }
00191 
00192 #include "ThePEG/Utilities/ClassTraits.h"
00193 
00194 namespace ThePEG {
00195 
00200 template <>
00201 struct BaseClassTrait<RadiativeZPrime::SimpleZPrimeAnalysis,1> {
00203   typedef AnalysisHandler NthBase;
00204 };
00205 
00208 template <>
00209 struct ClassTraits<RadiativeZPrime::SimpleZPrimeAnalysis>
00210   : public ClassTraitsBase<RadiativeZPrime::SimpleZPrimeAnalysis> {
00212   static string className() { return "RadiativeZPrime::SimpleZPrimeAnalysis"; }
00220   static string library() { return "RadiativeZPrime.so"; }
00221 };
00222 
00225 }
00226 
00227 #endif /* RADIATIVEZPRIME_SimpleZPrimeAnalysis_H */