Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef HERWIG_ZPhotonsAnalysis_H 00003 #define HERWIG_ZPhotonsAnalysis_H 00004 // 00005 // This is the declaration of the ZPhotonsAnalysis class. 00006 // 00007 00008 #include "ThePEG/Handlers/AnalysisHandler.h" 00009 #include "Herwig++/Utilities/Histogram.h" 00010 00011 namespace Herwig { 00012 00013 using namespace ThePEG; 00014 00021 class ZPhotonsAnalysis: public AnalysisHandler { 00022 00023 public: 00024 00028 ZPhotonsAnalysis() : _iferm(11) {} 00029 00049 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 00050 00056 virtual void analyze(const tPVector & particles); 00057 00062 virtual void analyze(tPPtr particle); 00064 00065 public: 00066 00073 void persistentOutput(PersistentOStream & os) const; 00074 00080 void persistentInput(PersistentIStream & is, int version); 00082 00089 static void Init(); 00090 00091 protected: 00092 00099 inline virtual IBPtr clone() const {return new_ptr(*this);} 00100 00105 inline virtual IBPtr fullclone() const {return new_ptr(*this);} 00107 00108 protected: 00109 00116 virtual void doinitrun(); 00117 00122 virtual void dofinish(); 00124 00125 private: 00126 00131 static ClassDescription<ZPhotonsAnalysis> initZPhotonsAnalysis; 00132 00137 ZPhotonsAnalysis & operator=(const ZPhotonsAnalysis &); 00138 00139 private: 00140 00144 int _iferm; 00145 00149 vector<HistogramPtr> _masstotal; 00150 00154 vector<HistogramPtr> _etotal; 00155 00159 vector<HistogramPtr> _mphoton; 00160 00164 vector<HistogramPtr> _ephoton; 00165 00169 HistogramPtr _cphoton; 00170 00174 HistogramPtr _nphoton; 00175 }; 00176 00177 } 00178 00179 #include "ThePEG/Utilities/ClassTraits.h" 00180 00181 namespace ThePEG { 00182 00187 template <> 00188 struct BaseClassTrait<Herwig::ZPhotonsAnalysis,1> { 00190 typedef AnalysisHandler NthBase; 00191 }; 00192 00195 template <> 00196 struct ClassTraits<Herwig::ZPhotonsAnalysis> 00197 : public ClassTraitsBase<Herwig::ZPhotonsAnalysis> { 00199 static string className() { return "Herwig::ZPhotonsAnalysis"; } 00207 static string library() { return "HwDecayAnalysis.so"; } 00208 }; 00209 00212 } 00213 00214 #endif /* HERWIG_ZPhotonsAnalysis_H */