herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
Tau5Pion.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_Tau5Pion_H
00003 #define HERWIG_Tau5Pion_H
00004 //
00005 // This is the declaration of the Tau5Pion 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 
00022 class Tau5Pion: public AnalysisHandler {
00023 
00024 public:
00025 
00045   virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00046 
00047   using AnalysisHandler::analyze;
00049 
00050 public:
00051 
00058   static void Init();
00059 
00060 protected:
00061 
00068   inline virtual IBPtr clone() const {return new_ptr(*this);}
00069 
00074   inline virtual IBPtr fullclone() const {return new_ptr(*this);}
00076 
00077 protected:
00078 
00085   virtual void doinitrun();
00086 
00091   virtual void dofinish();
00093 
00094 private:
00095 
00100   static NoPIOClassDescription<Tau5Pion> initTau5Pion;
00101 
00106   Tau5Pion & operator=(const Tau5Pion &);
00107 
00108 private:
00109 
00117   vector<HistogramPtr> _pipi1;
00118 
00122   vector<HistogramPtr> _pipi2;
00123 
00127   vector<HistogramPtr> _pipi3;
00129 
00137   vector<HistogramPtr> _pipipi1;
00138 
00142   vector<HistogramPtr> _pipipi2;
00143 
00147   vector<HistogramPtr> _pipipi3;
00149 
00157   vector<HistogramPtr> _pipipipi1;
00158 
00162   vector<HistogramPtr> _pipipipi2;
00163 
00167   vector<HistogramPtr> _pipipipi3;
00169 
00177   HistogramPtr _q1;
00178 
00182   HistogramPtr _q2;
00183 
00187   HistogramPtr _q3;
00189 };
00190 
00191 }
00192 
00193 #include "ThePEG/Utilities/ClassTraits.h"
00194 
00195 namespace ThePEG {
00196 
00201 template <>
00202 struct BaseClassTrait<Herwig::Tau5Pion,1> {
00204   typedef AnalysisHandler NthBase;
00205 };
00206 
00209 template <>
00210 struct ClassTraits<Herwig::Tau5Pion>
00211   : public ClassTraitsBase<Herwig::Tau5Pion> {
00213   static string className() { return "Herwig::Tau5Pion"; }
00221   static string library() { return "HwTauAnalysis.so"; }
00222 };
00223 
00226 }
00227 
00228 #endif /* HERWIG_Tau5Pion_H */