herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
TauToLeptonsAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_TauToLeptonsAnalysis_H
00003 #define HERWIG_TauToLeptonsAnalysis_H
00004 //
00005 // This is the declaration of the TauToLeptonsAnalysis 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 TauToLeptonsAnalysis: 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<TauToLeptonsAnalysis> initTauToLeptonsAnalysis;
00101 
00106   TauToLeptonsAnalysis & operator=(const TauToLeptonsAnalysis &);
00107 
00108 private:
00109 
00113   HistogramPtr _emode;
00114 
00118   HistogramPtr _mmode;
00119 };
00120 
00121 }
00122 
00123 #include "ThePEG/Utilities/ClassTraits.h"
00124 
00125 namespace ThePEG {
00126 
00131 template <>
00132 struct BaseClassTrait<Herwig::TauToLeptonsAnalysis,1> {
00134   typedef AnalysisHandler NthBase;
00135 };
00136 
00139 template <>
00140 struct ClassTraits<Herwig::TauToLeptonsAnalysis>
00141   : public ClassTraitsBase<Herwig::TauToLeptonsAnalysis> {
00143   static string className() { return "Herwig::TauToLeptonsAnalysis"; }
00151   static string library() { return "HwTauAnalysis.so"; }
00152 };
00153 
00156 }
00157 
00158 #endif /* HERWIG_TauToLeptonsAnalysis_H */