Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 00003 // (C) 2007-2009 Simon Plaetzer -- sp@particle.uni-karlsruhe.de 00004 00005 #ifndef Analysis2_YJetRates_H 00006 #define Analysis2_YJetRates_H 00007 // 00008 // This is the declaration of the YJetRates class. 00009 // 00010 00011 #include "Analysis2Base.h" 00012 00013 namespace Analysis2 { 00014 00015 using namespace ThePEG; 00016 00026 class YJetRates: public Analysis2Base { 00027 00028 public: 00029 00035 inline YJetRates() 00036 : _nMax(5), _options(6,""), _yn(), _sumWeights(0.) {} 00037 00041 virtual ~YJetRates(); 00043 00044 public: 00045 00051 virtual void analyze(const tPVector & particles); 00052 00056 string R (string); 00057 00058 public: 00059 00066 void persistentOutput(PersistentOStream & os) const; 00067 00073 void persistentInput(PersistentIStream & is, int version); 00075 00082 static void Init(); 00083 00084 protected: 00085 00093 virtual void doinit() throw(InitException); 00094 00099 virtual void dofinish(); 00100 00102 00103 protected: 00104 00111 inline virtual IBPtr clone() const { return new_ptr(*this); } 00112 00117 inline virtual IBPtr fullclone() const { return new_ptr(*this); } 00119 00120 00121 private: 00122 00127 unsigned int _nMax; 00128 00134 vector<string> _options; 00135 00139 vector<string> _yn; 00140 00145 double _sumWeights; 00146 00151 static ClassDescription<YJetRates> initYJetRates; 00152 00157 YJetRates & operator=(const YJetRates &); 00158 00159 }; 00160 00161 } 00162 00163 #include "ThePEG/Utilities/ClassTraits.h" 00164 #include "ThePEG/Config/Pointers.h" 00165 00166 namespace ThePEG { 00167 00168 ThePEG_DECLARE_POINTERS(Analysis2::YJetRates,YJetRatesPtr); 00169 00174 template <> 00175 struct BaseClassTrait<Analysis2::YJetRates,1> { 00177 typedef Analysis2::Analysis2Base NthBase; 00178 }; 00179 00182 template <> 00183 struct ClassTraits<Analysis2::YJetRates> 00184 : public ClassTraitsBase<Analysis2::YJetRates> { 00186 static string className() { return "Analysis2::YJetRates"; } 00194 static string library() { return "Analysis2.so"; } 00195 }; 00196 00199 } 00200 00201 #ifndef ThePEG_TEMPLATES_IN_CC_FILE 00202 // #include "YJetRates.tcc" 00203 #endif 00204 00205 #endif /* Analysis2_YJetRates_H */