Herwig++
2.7.0
|
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 */