Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef RADIATIVEZPRIME_SimpleZPrimeAnalysis_H 00003 #define RADIATIVEZPRIME_SimpleZPrimeAnalysis_H 00004 // 00005 // This is the declaration of the SimpleZPrimeAnalysis class. 00006 // 00007 00008 #include "ThePEG/Handlers/AnalysisHandler.h" 00009 #include "Herwig++/Utilities/Histogram.h" 00010 00011 namespace RadiativeZPrime { 00012 00013 using namespace ThePEG; 00014 using Herwig::HistogramPtr; 00015 00022 class SimpleZPrimeAnalysis: public AnalysisHandler { 00023 00024 public: 00025 00045 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 00047 00048 public: 00049 00056 static void Init(); 00057 00058 protected: 00059 00066 inline virtual IBPtr clone() const {return new_ptr(*this);} 00067 00072 inline virtual IBPtr fullclone() const {return new_ptr(*this);} 00074 00075 protected: 00076 00083 virtual void doinitrun(); 00084 00089 virtual void dofinish(); 00091 00092 private: 00093 00098 static NoPIOClassDescription<SimpleZPrimeAnalysis> initSimpleZPrimeAnalysis; 00099 00104 SimpleZPrimeAnalysis & operator=(const SimpleZPrimeAnalysis &); 00105 00106 private: 00107 00111 HistogramPtr _ptZ; 00112 00116 HistogramPtr _rapZ; 00117 00121 HistogramPtr _phiZ; 00122 00126 HistogramPtr _ptgamma; 00127 00131 HistogramPtr _rapgamma; 00132 00136 HistogramPtr _phigamma; 00137 00141 HistogramPtr _ptep; 00142 00146 HistogramPtr _rapep; 00147 00151 HistogramPtr _phiep; 00152 00156 HistogramPtr _ptem; 00157 00161 HistogramPtr _rapem; 00162 00166 HistogramPtr _phiem; 00167 00171 HistogramPtr _masspair; 00172 00176 HistogramPtr _massZ; 00177 00181 HistogramPtr _massgammaep; 00182 00186 HistogramPtr _massgammaem; 00187 00188 }; 00189 00190 } 00191 00192 #include "ThePEG/Utilities/ClassTraits.h" 00193 00194 namespace ThePEG { 00195 00200 template <> 00201 struct BaseClassTrait<RadiativeZPrime::SimpleZPrimeAnalysis,1> { 00203 typedef AnalysisHandler NthBase; 00204 }; 00205 00208 template <> 00209 struct ClassTraits<RadiativeZPrime::SimpleZPrimeAnalysis> 00210 : public ClassTraitsBase<RadiativeZPrime::SimpleZPrimeAnalysis> { 00212 static string className() { return "RadiativeZPrime::SimpleZPrimeAnalysis"; } 00220 static string library() { return "RadiativeZPrime.so"; } 00221 }; 00222 00225 } 00226 00227 #endif /* RADIATIVEZPRIME_SimpleZPrimeAnalysis_H */