Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 00003 // (C) 2007-2009 Simon Plaetzer -- sp@particle.uni-karlsruhe.de 00004 00005 #ifndef HERWIG_FourJetCorrelations_H 00006 #define HERWIG_FourJetCorrelations_H 00007 // 00008 // This is the declaration of the FourJetCorrelations class. 00009 // 00010 00011 #include "Analysis2Base.h" 00012 #include "FourJetCorrelations.fh" 00013 00014 namespace Analysis2 { 00015 00016 using namespace ThePEG; 00017 00025 class FourJetCorrelations: public Analysis2::Analysis2Base { 00026 00027 public: 00028 00034 inline FourJetCorrelations(); 00035 00039 virtual ~FourJetCorrelations(); 00041 00042 public: 00043 00049 virtual void analyze(const tPVector & particles); 00050 00051 public: 00052 00059 void persistentOutput(PersistentOStream & os) const; 00060 00066 void persistentInput(PersistentIStream & is, int version); 00068 00075 static void Init(); 00076 00077 protected: 00078 00085 inline virtual IBPtr clone() const; 00086 00091 inline virtual IBPtr fullclone() const; 00093 00094 00095 // If needed, insert declarations of virtual function defined in the 00096 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs). 00097 00098 00099 00100 protected: 00101 00109 virtual void doinit() throw(InitException); 00110 00115 virtual void dofinish(); 00117 00118 protected: 00119 00127 inline double cosChiBZ(const vector<Lorentz5Momentum>&); 00128 00132 inline double cosPhiKSW(const vector<Lorentz5Momentum>&); 00133 00137 inline double cosThetaNR(const vector<Lorentz5Momentum>&); 00138 00142 inline double cosAlpha34(const vector<Lorentz5Momentum>&); 00144 00145 private: 00146 00150 string _cosAlpha34; 00151 00155 string _cosChiBZ; 00156 00160 string _cosPhiKSW; 00161 00165 string _cosThetaNR; 00166 00171 static ClassDescription<FourJetCorrelations> initFourJetCorrelations; 00172 00177 FourJetCorrelations & operator=(const FourJetCorrelations &); 00178 00179 }; 00180 00181 } 00182 00183 #include "ThePEG/Utilities/ClassTraits.h" 00184 00185 namespace ThePEG { 00186 00191 template <> 00192 struct BaseClassTrait<Analysis2::FourJetCorrelations,1> { 00194 typedef Analysis2::Analysis2Base NthBase; 00195 }; 00196 00199 template <> 00200 struct ClassTraits<Analysis2::FourJetCorrelations> 00201 : public ClassTraitsBase<Analysis2::FourJetCorrelations> { 00203 static string className() { return "Analysis2::FourJetCorrelations"; } 00211 static string library() { return "Analysis2.so"; } 00212 }; 00213 00216 } 00217 00218 #include "FourJetCorrelations.icc" 00219 #ifndef ThePEG_TEMPLATES_IN_CC_FILE 00220 // #include "FourJetCorrelations.tcc" 00221 #endif 00222 00223 #endif /* HERWIG_FourJetCorrelations_H */