herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
TauTo3MesonAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_TauTo3MesonAnalysis_H
00003 #define HERWIG_TauTo3MesonAnalysis_H
00004 //
00005 // This is the declaration of the TauTo3MesonAnalysis 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 
00033 class TauTo3MesonAnalysis: public AnalysisHandler {
00034 
00035 public:
00036 
00056   virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00057 
00058   using AnalysisHandler::analyze;
00060 
00061 public:
00062 
00069   static void Init();
00070 
00071 protected:
00072 
00079   inline virtual IBPtr clone() const {return new_ptr(*this);}
00080 
00085   inline virtual IBPtr fullclone() const {return new_ptr(*this);}
00087 
00088 protected:
00089 
00090 protected:
00091 
00098   virtual void doinitrun();
00099 
00104   virtual void dofinish();
00106 
00107 private:
00108 
00113   static NoPIOClassDescription<TauTo3MesonAnalysis> initTauTo3MesonAnalysis;
00114 
00119   TauTo3MesonAnalysis & operator=(const TauTo3MesonAnalysis &);
00120 
00121 private:
00122 
00126   vector<HistogramPtr> _m3pippimpim;
00127 
00131   vector<HistogramPtr> _m3pi0pi0pim;
00132 
00136   vector<HistogramPtr> _m3kmpimkp;
00137 
00141   vector<HistogramPtr> _m3k0pimk0;
00142 
00146   vector<HistogramPtr> _m3kmpi0k0;
00147 
00151   vector<HistogramPtr> _m3pi0pi0km;
00152 
00156   vector<HistogramPtr> _m3kmpimpip; 
00157 
00161   vector<HistogramPtr> _m3pimk0pi0;
00162 
00166   vector<HistogramPtr> _m3pimpi0eta;
00167 
00171   vector<HistogramPtr> _m3pimpi0gamma;
00172 
00176   vector<HistogramPtr> _m3kspimks;
00177 
00181   vector<HistogramPtr> _m3klpimkl;
00182 
00186   vector<HistogramPtr> _m3kspimkl;
00187 
00188 
00189 };
00190 
00191 }
00192 
00193 #include "ThePEG/Utilities/ClassTraits.h"
00194 
00195 namespace ThePEG {
00196 
00201 template <>
00202 struct BaseClassTrait<Herwig::TauTo3MesonAnalysis,1> {
00204   typedef AnalysisHandler NthBase;
00205 };
00206 
00209 template <>
00210 struct ClassTraits<Herwig::TauTo3MesonAnalysis>
00211   : public ClassTraitsBase<Herwig::TauTo3MesonAnalysis> {
00213   static string className() { return "Herwig::TauTo3MesonAnalysis"; }
00221   static string library() { return "HwTauAnalysis.so"; }
00222 };
00223 
00226 }
00227 
00228 #endif /* HERWIG_TauTo3MesonAnalysis_H */