herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
MatchboxHtScale.h
1 // -*- C++ -*-
2 //
3 // MatchboxHtScale.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2019 The Herwig Collaboration
5 //
6 // Herwig 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 Herwig_MatchboxHtScale_H
10 #define Herwig_MatchboxHtScale_H
11 //
12 // This is the declaration of the MatchboxHtScale class.
13 //
14 
15 #include "Herwig/MatrixElement/Matchbox/Utility/MatchboxScaleChoice.h"
16 #include "ThePEG/PDT/MatcherBase.h"
17 #include "ThePEG/Cuts/JetFinder.h"
18 
19 namespace Herwig {
20 
21 using namespace ThePEG;
22 
31 
32 public:
33 
40 
44  virtual ~MatchboxHtScale();
46 
47 public:
48 
53  virtual Energy2 renormalizationScale() const;
54 
59  virtual Energy2 factorizationScale() const;
60 
61 protected:
62 
66  virtual void initWeightFactors(const tcPDVector&, const vector<LorentzMomentum>&,
67  const Ptr<JetFinder>::ptr&) const {}
68 
72  virtual double jetPtWeight(const LorentzMomentum&) const { return 1.; }
73 
74 public:
75 
82  void persistentOutput(PersistentOStream & os) const;
83 
89  void persistentInput(PersistentIStream & is, int version);
91 
98  static void Init();
99 
100 protected:
101 
108  virtual IBPtr clone() const;
109 
114  virtual IBPtr fullclone() const;
116 
117 private:
118 
122  Ptr<JetFinder>::ptr theJetFinder;
123 
128 
132  double theHTFactor;
133 
137  double theMTFactor;
138 
143 
144 // If needed, insert declarations of virtual function defined in the
145 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
146 
147 
148 private:
149 
154  MatchboxHtScale & operator=(const MatchboxHtScale &) = delete;
155 
156 };
157 
158 }
159 
160 #endif /* Herwig_MatchboxHtScale_H */
MatchboxHtScale implements scale choices related to transverse momenta.
virtual double jetPtWeight(const LorentzMomentum &) const
Return the jet pt weighting factor for the given jet.
Ptr< JetFinder >::ptr theJetFinder
Reference to the jet finder.
vector< tcPDPtr > tcPDVector
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
double theMTFactor
An ovewrall scaling factor for the non-jet contribution.
Energy theScalePtCut
We define jets as clustered objects with a minimum pT.
MatchboxScaleChoice is the base class for scale choices within Matchbox.
virtual void initWeightFactors(const tcPDVector &, const vector< LorentzMomentum > &, const Ptr< JetFinder >::ptr &) const
Initialize potential weighting factors for the given final state.
-*- C++ -*-
bool theIncludeMT
Include the transverse masses of the non-jet objects.
double theHTFactor
An ovewrall scaling factor for the jet contribution.