ThePEG  1.8.0
ReweightMinPT.h
1 // -*- C++ -*-
2 //
3 // ReweightMinPT.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 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) {}
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 
97 private:
98 
103 
108 
109 };
110 
111 }
112 
113 
114 namespace ThePEG {
115 
120 template <>
121 struct BaseClassTrait<ReweightMinPT,1>: public ClassTraitsType {
123  typedef ReweightBase NthBase;
124 };
125 
128 template <>
129 struct ClassTraits<ReweightMinPT>: public ClassTraitsBase<ReweightMinPT> {
131  static string className() { return "ThePEG::ReweightMinPT"; }
135  static string library() { return "ReweightMinPT.so"; }
136 };
137 
140 }
141 
142 #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
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
static void Init()
Standard Init function used to initialize the interfaces.
QTY< 0, 1, 0 >::Type Energy
Energy.
Definition: Unitsystem.h:34
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.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
ReweightMinPT & operator=(const ReweightMinPT &)
Private and non-existent assignment operator.
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