thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
ReweightMinPT.h
1 // -*- C++ -*-
2 //
3 // ReweightMinPT.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2019 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_ReweightMinPT_H
10 #define ThePEG_ReweightMinPT_H
11 // This is the declaration of the ReweightMinPT class.
12 
13 #include "ThePEG/MatrixElement/ReweightBase.h"
14 
15 namespace ThePEG {
16 
24 class ReweightMinPT: public ReweightBase {
25 
26 public:
27 
34  : power(4.0), scale(50.0*GeV), onlyColoured(false) {}
36 
37 public:
38 
43  virtual double weight() const;
44 
45 public:
46 
53  void persistentOutput(PersistentOStream & os) const;
54 
60  void persistentInput(PersistentIStream & is, int version);
62 
66  static void Init();
67 
68 protected:
69 
76  virtual IBPtr clone() const;
77 
82  virtual IBPtr fullclone() const;
84 
85 private:
86 
90  double power;
91 
96 
101 
102 private:
103 
108 
112  ReweightMinPT & operator=(const ReweightMinPT &) = delete;
113 
114 };
115 
116 }
117 
118 
119 namespace ThePEG {
120 
125 template <>
126 struct BaseClassTrait<ReweightMinPT,1>: public ClassTraitsType {
128  typedef ReweightBase NthBase;
129 };
130 
133 template <>
134 struct ClassTraits<ReweightMinPT>: public ClassTraitsBase<ReweightMinPT> {
136  static string className() { return "ThePEG::ReweightMinPT"; }
140  static string library() { return "ReweightMinPT.so"; }
141 };
142 
145 }
146 
147 #endif /* ThePEG_ReweightMinPT_H */
PersistentIStream is used to read persistent objects from a stream where they were previously written...
ReweightMinPT()
Default constructor.
Definition: ReweightMinPT.h:33
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
The ReweightMinPT class reweights matrix elements with the minimum of the transverse momenta of the o...
Definition: ReweightMinPT.h:24
static ClassDescription< ReweightMinPT > initReweightMinPT
Describe a concrete base class with persistent data.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
virtual double weight() const
Return the wieght for the kinematical configuation provided by the assigned XComb object (in the Last...
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
bool onlyColoured
Flag to indicate that only coloured partons should be considered.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
static void Init()
Standard Init function used to initialize the interfaces.
Energy scale
The weight is the minimum pt/scale to a power.
Definition: ReweightMinPT.h:95
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ReweightMinPT & operator=(const ReweightMinPT &)=delete
Private and non-existent assignment operator.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
The ReweightBase class is the base class of all objects representing external biases to matrix elemen...
Definition: ReweightBase.h:39
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
virtual IBPtr clone() const
Make a simple clone of this object.
double power
The weight is the minimum pt/scale to a power.
Definition: ReweightMinPT.h:90
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52