herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MissingPtCut.h
1// -*- C++ -*-
2//
3// MissingPtCut.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_MissingPtCut_H
10#define Herwig_MissingPtCut_H
11//
12// This is the declaration of the MissingPtCut class.
13//
14
15#include "ThePEG/Cuts/MultiCutBase.h"
16#include "ThePEG/PDT/MatcherBase.h"
17
18namespace Herwig {
19
20using namespace ThePEG;
21
32
33public:
34
39
40public:
41
49 virtual Energy2 minS(const tcPDVector) const { return ZERO; }
50
56 virtual Energy2 maxS(const tcPDVector) const { return Constants::MaxEnergy2; }
57
62 virtual bool passCuts(tcCutsPtr parent, const tcPDVector & ptype,
63 const vector<LorentzMomentum> & p) const;
64
68 virtual void describe() const;
69
73 Ptr<MatcherBase>::tptr matcher() const { return theMatcher; }
75
76public:
77
81 const vector<int>& invisibleParticles() const { return theInvisibleParticles; }
82
86 string doInvisibleParticles(string);
87
91 Energy ptMissMin() const { return thePtMissMin; }
92
96 Energy ptMissMax() const { return thePtMissMax; }
97
98public:
99
107
113 void persistentInput(PersistentIStream & is, int version);
115
122 static void Init();
123
124protected:
125
132 virtual IBPtr clone() const;
133
138 virtual IBPtr fullclone() const;
140
141
142// If needed, insert declarations of virtual function defined in the
143// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
144
145
146private:
147
152
157
162
166 Ptr<MatcherBase>::ptr theMatcher;
167
168private:
169
175
176};
177
178}
179
180#endif /* Herwig_MissingPtCut_H */
MissingPtCut implements a cut on the total missing transverse momentum of a set of outgoing particles...
Definition: MissingPtCut.h:31
Energy ptMissMin() const
Return the minimum missing pt.
Definition: MissingPtCut.h:91
Ptr< MatcherBase >::tptr matcher() const
Return the matcher for particles to cut on.
Definition: MissingPtCut.h:73
const vector< int > & invisibleParticles() const
Return the PDG codes of those particles that cannot be detected.
Definition: MissingPtCut.h:81
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void describe() const
Describe the currently active cuts in the log file.
Ptr< MatcherBase >::ptr theMatcher
A matcher for particles to cut on.
Definition: MissingPtCut.h:166
virtual Energy2 minS(const tcPDVector) const
Return the minimum allowed value of the squared invariant mass of a set of outgoing partons of the gi...
Definition: MissingPtCut.h:49
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual bool passCuts(tcCutsPtr parent, const tcPDVector &ptype, const vector< LorentzMomentum > &p) const
Return true if a set of outgoing particles with type ptype and corresponding momenta p passes the cut...
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
string doInvisibleParticles(string)
Command to insert the PDG code of a particle that cannot be detected.
MissingPtCut()
The default constructor.
MissingPtCut & operator=(const MissingPtCut &)=delete
The assignment operator is private and must never be called.
Energy thePtMissMin
The minimum missing pt.
Definition: MissingPtCut.h:156
virtual Energy2 maxS(const tcPDVector) const
Return the maximum allowed value of the squared invariant mass of a set of outgoing partons of the gi...
Definition: MissingPtCut.h:56
static void Init()
The standard Init function used to initialize the interfaces.
vector< int > theInvisibleParticles
The PDG codes of those particles that cannot be detected.
Definition: MissingPtCut.h:151
Energy thePtMissMax
The maximum missing pt.
Definition: MissingPtCut.h:161
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Energy ptMissMax() const
Return the maximum missing pt.
Definition: MissingPtCut.h:96
-*- C++ -*-
constexpr Energy2 MaxEnergy2
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
constexpr ZeroUnit ZERO
vector< tcPDPtr > tcPDVector