|
|
|||
File indexing completed on 2026-08-06 09:38:28
0001 // -*- C++ -*- 0002 // 0003 // ReweightMinPT.h is a part of ThePEG - Toolkit for HEP Event Generation 0004 // Copyright (C) 1999-2019 Leif Lonnblad 0005 // 0006 // ThePEG is licenced under version 3 of the GPL, see COPYING for details. 0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 0008 // 0009 #ifndef ThePEG_ReweightMinPT_H 0010 #define ThePEG_ReweightMinPT_H 0011 // This is the declaration of the ReweightMinPT class. 0012 0013 #include "ThePEG/MatrixElement/ReweightBase.h" 0014 0015 namespace ThePEG { 0016 0017 /** 0018 * The ReweightMinPT class reweights matrix elements with the minimum 0019 * of the transverse momenta of the outgoing partons to some power. 0020 * 0021 * @see ReweightBase 0022 * 0023 */ 0024 class ReweightMinPT: public ReweightBase { 0025 0026 public: 0027 0028 /** @name Standard constructors and destructors. */ 0029 //@{ 0030 /** 0031 * Default constructor. 0032 */ 0033 ReweightMinPT() 0034 : power(4.0), scale(50.0*GeV), onlyColoured(false) {} 0035 //@} 0036 0037 public: 0038 0039 /** 0040 * Return the wieght for the kinematical configuation provided by 0041 * the assigned XComb object (in the LastXCombInfo base class). 0042 */ 0043 virtual double weight() const; 0044 0045 public: 0046 0047 /** @name Functions used by the persistent I/O system. */ 0048 //@{ 0049 /** 0050 * Function used to write out object persistently. 0051 * @param os the persistent output stream written to. 0052 */ 0053 void persistentOutput(PersistentOStream & os) const; 0054 0055 /** 0056 * Function used to read in object persistently. 0057 * @param is the persistent input stream read from. 0058 * @param version the version number of the object when written. 0059 */ 0060 void persistentInput(PersistentIStream & is, int version); 0061 //@} 0062 0063 /** 0064 * Standard Init function used to initialize the interfaces. 0065 */ 0066 static void Init(); 0067 0068 protected: 0069 0070 /** @name Clone Methods. */ 0071 //@{ 0072 /** 0073 * Make a simple clone of this object. 0074 * @return a pointer to the new object. 0075 */ 0076 virtual IBPtr clone() const; 0077 0078 /** Make a clone of this object, possibly modifying the cloned object 0079 * to make it sane. 0080 * @return a pointer to the new object. 0081 */ 0082 virtual IBPtr fullclone() const; 0083 //@} 0084 0085 private: 0086 0087 /** 0088 * The weight is the minimum pt/scale to a \a power. 0089 */ 0090 double power; 0091 0092 /** 0093 * The weight is the minimum pt/\a scale to a power. 0094 */ 0095 Energy scale; 0096 0097 /** 0098 * Flag to indicate that only coloured partons should be considered. 0099 */ 0100 bool onlyColoured; 0101 0102 private: 0103 0104 /** 0105 * Describe a concrete base class with persistent data. 0106 */ 0107 static ClassDescription<ReweightMinPT> initReweightMinPT; 0108 0109 /** 0110 * Private and non-existent assignment operator. 0111 */ 0112 ReweightMinPT & operator=(const ReweightMinPT &) = delete; 0113 0114 }; 0115 0116 } 0117 0118 0119 namespace ThePEG { 0120 0121 /** @cond TRAITSPECIALIZATIONS */ 0122 0123 /** This template specialization informs ThePEG about the 0124 * base classes of ReweightMinPT. */ 0125 template <> 0126 struct BaseClassTrait<ReweightMinPT,1>: public ClassTraitsType { 0127 /** Typedef of the first base class of ReweightMinPT. */ 0128 typedef ReweightBase NthBase; 0129 }; 0130 0131 /** This template specialization informs ThePEG about the name of 0132 * the ReweightMinPT class and the shared object where it is defined. */ 0133 template <> 0134 struct ClassTraits<ReweightMinPT>: public ClassTraitsBase<ReweightMinPT> { 0135 /** Return a platform-independent class name */ 0136 static string className() { return "ThePEG::ReweightMinPT"; } 0137 /** Return the name of the shared library be loaded to get 0138 * access to the ReweightMinPT class and every other class it uses 0139 * (except the base class). */ 0140 static string library() { return "ReweightMinPT.so"; } 0141 }; 0142 0143 /** @endcond */ 0144 0145 } 0146 0147 #endif /* ThePEG_ReweightMinPT_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|