herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
EtaDecayAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_EtaDecayAnalysis_H
00003 #define HERWIG_EtaDecayAnalysis_H
00004 //
00005 // This is the declaration of the EtaDecayAnalysis class.
00006 //
00007 
00008 #include "ThePEG/Repository/CurrentGenerator.h"
00009 #include "ThePEG/Handlers/AnalysisHandler.h"
00010 #include "Herwig++/Utilities/Histogram.h"
00011 
00012 namespace Herwig {
00013 
00014 using namespace ThePEG;
00015 
00023 class EtaDecayAnalysis: public AnalysisHandler {
00024 
00025 public:
00026 
00046   virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00047 
00053   virtual void analyze(const tPVector & particles);
00054 
00059   virtual void analyze(tPPtr particle);
00061 
00062 public:
00063 
00070   static void Init();
00071 
00072 protected:
00073 
00080   inline virtual IBPtr clone() const {return new_ptr(*this);}
00081 
00086   inline virtual IBPtr fullclone() const {return new_ptr(*this);}
00088 
00089 protected:
00090 
00097   virtual void doinitrun();
00098 
00103   virtual void dofinish();
00105 
00106 private:
00107 
00112   static NoPIOClassDescription<EtaDecayAnalysis> initEtaDecayAnalysis;
00113 
00118   EtaDecayAnalysis & operator=(const EtaDecayAnalysis &);
00119 
00120 private:
00121 
00129   vector<HistogramPtr> _mgammagamma;
00130 
00134   vector<HistogramPtr> _mpi0gamma;
00136 
00144   vector<HistogramPtr> _mpipgamma;
00145 
00149   vector<HistogramPtr> _mpimgamma;
00150 
00154   vector<HistogramPtr> _mpippim;
00155 
00159   vector<HistogramPtr> _photonenergy;
00161 
00169   vector<HistogramPtr> _dpippim;
00170 
00174   vector<HistogramPtr> _dpi0pi0;
00175 
00179   vector<HistogramPtr> _dpi0pip;
00180 
00184   vector<HistogramPtr> _dpi0pim;
00185 
00189   vector<HistogramPtr> _dpipeta;
00190 
00194   vector<HistogramPtr> _dpimeta;
00195 
00199   vector<HistogramPtr> _dpi0eta;
00200 
00202 };
00203 
00204 }
00205 
00206 #include "ThePEG/Utilities/ClassTraits.h"
00207 
00208 namespace ThePEG {
00209 
00214 template <>
00215 struct BaseClassTrait<Herwig::EtaDecayAnalysis,1> {
00217   typedef AnalysisHandler NthBase;
00218 };
00219 
00222 template <>
00223 struct ClassTraits<Herwig::EtaDecayAnalysis>
00224   : public ClassTraitsBase<Herwig::EtaDecayAnalysis> {
00226   static string className() { return "Herwig::EtaDecayAnalysis"; }
00234   static string library() { return "HwDecayAnalysis.so"; }
00235 };
00236 
00239 }
00240 
00241 #endif /* HERWIG_EtaDecayAnalysis_H */