Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 // 00003 // LEPJetAnalysis.h is a part of Herwig++ - A multi-purpose Monte Carlo event generator 00004 // Copyright (C) 2002-2011 The Herwig Collaboration 00005 // 00006 // Herwig++ is licenced under version 2 of the GPL, see COPYING for details. 00007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 00008 // 00009 #ifndef HERWIG_LEPJetAnalysis_H 00010 #define HERWIG_LEPJetAnalysis_H 00011 // 00012 // This is the declaration of the LEPJetAnalysis class. 00013 // 00014 00015 #include "ThePEG/Handlers/AnalysisHandler.h" 00016 #include "Herwig++/Utilities/Histogram.h" 00017 00018 namespace Herwig { 00019 00020 using namespace ThePEG; 00021 00029 class LEPJetAnalysis: public AnalysisHandler { 00030 00031 public: 00032 00034 LEPJetAnalysis() : _nevent() {} 00035 00055 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 00057 00058 public: 00059 00066 static void Init(); 00067 00068 protected: 00069 00076 virtual IBPtr clone() const {return new_ptr(*this);} 00077 00082 virtual IBPtr fullclone() const {return new_ptr(*this);} 00084 00085 protected: 00086 00093 virtual void doinitrun(); 00094 00099 virtual void dofinish(); 00101 00102 private: 00103 00108 static NoPIOClassDescription<LEPJetAnalysis> initLEPJetAnalysis; 00109 00114 LEPJetAnalysis & operator=(const LEPJetAnalysis &); 00115 00116 private: 00117 00125 HistogramPtr _y23; 00126 00130 HistogramPtr _y34; 00131 00135 HistogramPtr _y45; 00136 00140 HistogramPtr _y56; 00142 00146 vector<double> _yc_frac; 00147 00155 vector<int> _frac1; 00156 00160 vector<int> _frac2; 00161 00165 vector<int> _frac3; 00166 00170 vector<int> _frac4; 00171 00175 vector<int> _frac5; 00176 00180 vector<int> _frac6; 00182 00186 unsigned int _nevent; 00187 00191 vector<Statistic> _njet; 00192 00200 vector<double> _d2dbins; 00201 00205 vector<double> _d3dbins; 00206 00210 vector<double> _d4dbins; 00211 00215 vector<int> _d2dN2; 00216 00220 vector<int> _d3dN2; 00221 00225 vector<int> _d3dN3; 00226 00230 vector<int> _d4dN2; 00231 00235 vector<int> _d4dN3; 00236 00240 vector<int> _d4dN4; 00241 00243 }; 00244 00245 } 00246 00247 #include "ThePEG/Utilities/ClassTraits.h" 00248 00249 namespace ThePEG { 00250 00255 template <> 00256 struct BaseClassTrait<Herwig::LEPJetAnalysis,1> { 00258 typedef AnalysisHandler NthBase; 00259 }; 00260 00263 template <> 00264 struct ClassTraits<Herwig::LEPJetAnalysis> 00265 : public ClassTraitsBase<Herwig::LEPJetAnalysis> { 00267 static string className() { return "Herwig::LEPJetAnalysis"; } 00275 static string library() { return "libfastjet.so HwLEPJetAnalysis.so"; } 00276 }; 00277 00280 } 00281 00282 #endif /* HERWIG_LEPJetAnalysis_H */