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...
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 clone() const
Make a simple clone of this object.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
virtual double weight() const
Return the wieght for the kinematical configuation provided by the assigned XComb object (in the Last...
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
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
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