herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
TauCorrelationAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_TauCorrelationAnalysis_H
00003 #define HERWIG_TauCorrelationAnalysis_H
00004 //
00005 // This is the declaration of the TauCorrelationAnalysis 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 
00027 class TauCorrelationAnalysis: public AnalysisHandler {
00028 
00029 public:
00030 
00050   virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00051 
00057   virtual void analyze(const tPVector & particles);
00058 
00063   virtual void analyze(tPPtr particle);
00065 
00066 public:
00067 
00074   static void Init();
00075 
00076 protected:
00077 
00084   inline virtual IBPtr clone() const {return new_ptr(*this);}
00085 
00090   inline virtual IBPtr fullclone() const {return new_ptr(*this);}
00092 
00093 protected:
00094 
00101   virtual void doinitrun();
00102 
00107   virtual void dofinish();
00109 
00110 protected:
00111 
00120   void analyzePi(tPPtr particle);
00125   void analyzeRho(tPPtr particle);
00127 
00128 private:
00129 
00134   static NoPIOClassDescription<TauCorrelationAnalysis> initTauCorrelationAnalysis;
00135 
00140   TauCorrelationAnalysis & operator=(const TauCorrelationAnalysis &);
00141 
00142 private:
00143 
00148   HistogramPtr _phi;
00149 
00154   HistogramPtr _delta;
00155 
00164   HistogramPtr _rhoangle1;
00165 
00169   HistogramPtr _rhoangle2;
00171 };
00172 
00173 }
00174 
00175 #include "ThePEG/Utilities/ClassTraits.h"
00176 
00177 namespace ThePEG {
00178 
00183 template <>
00184 struct BaseClassTrait<Herwig::TauCorrelationAnalysis,1> {
00186   typedef AnalysisHandler NthBase;
00187 };
00188 
00191 template <>
00192 struct ClassTraits<Herwig::TauCorrelationAnalysis>
00193   : public ClassTraitsBase<Herwig::TauCorrelationAnalysis> {
00195   static string className() { return "Herwig::TauCorrelationAnalysis"; }
00203   static string library() { return "HwTauAnalysis.so"; }
00204 };
00205 
00208 }
00209 
00210 #endif /* HERWIG_TauCorrelationAnalysis_H */