herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Matchbox
Cuts
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
18
namespace
Herwig
{
19
20
using namespace
ThePEG
;
21
31
class
MissingPtCut
:
public
MultiCutBase
{
32
33
public
:
34
38
MissingPtCut
();
39
40
public
:
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
76
public
:
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
98
public
:
99
106
void
persistentOutput
(
PersistentOStream
& os)
const
;
107
113
void
persistentInput
(
PersistentIStream
& is,
int
version);
115
122
static
void
Init
();
123
124
protected
:
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
146
private
:
147
151
vector<int>
theInvisibleParticles
;
152
156
Energy
thePtMissMin
;
157
161
Energy
thePtMissMax
;
162
166
Ptr<MatcherBase>::ptr
theMatcher
;
167
168
private
:
169
174
MissingPtCut
&
operator=
(
const
MissingPtCut
&) =
delete
;
175
176
};
177
178
}
179
180
#endif
/* Herwig_MissingPtCut_H */
Herwig::MissingPtCut
MissingPtCut implements a cut on the total missing transverse momentum of a set of outgoing particles...
Definition:
MissingPtCut.h:31
Herwig::MissingPtCut::ptMissMin
Energy ptMissMin() const
Return the minimum missing pt.
Definition:
MissingPtCut.h:91
Herwig::MissingPtCut::matcher
Ptr< MatcherBase >::tptr matcher() const
Return the matcher for particles to cut on.
Definition:
MissingPtCut.h:73
Herwig::MissingPtCut::invisibleParticles
const vector< int > & invisibleParticles() const
Return the PDG codes of those particles that cannot be detected.
Definition:
MissingPtCut.h:81
Herwig::MissingPtCut::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::MissingPtCut::describe
virtual void describe() const
Describe the currently active cuts in the log file.
Herwig::MissingPtCut::theMatcher
Ptr< MatcherBase >::ptr theMatcher
A matcher for particles to cut on.
Definition:
MissingPtCut.h:166
Herwig::MissingPtCut::minS
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
Herwig::MissingPtCut::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::MissingPtCut::passCuts
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...
Herwig::MissingPtCut::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MissingPtCut::doInvisibleParticles
string doInvisibleParticles(string)
Command to insert the PDG code of a particle that cannot be detected.
Herwig::MissingPtCut::MissingPtCut
MissingPtCut()
The default constructor.
Herwig::MissingPtCut::operator=
MissingPtCut & operator=(const MissingPtCut &)=delete
The assignment operator is private and must never be called.
Herwig::MissingPtCut::thePtMissMin
Energy thePtMissMin
The minimum missing pt.
Definition:
MissingPtCut.h:156
Herwig::MissingPtCut::maxS
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
Herwig::MissingPtCut::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MissingPtCut::theInvisibleParticles
vector< int > theInvisibleParticles
The PDG codes of those particles that cannot be detected.
Definition:
MissingPtCut.h:151
Herwig::MissingPtCut::thePtMissMax
Energy thePtMissMax
The maximum missing pt.
Definition:
MissingPtCut.h:161
Herwig::MissingPtCut::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MissingPtCut::ptMissMax
Energy ptMissMax() const
Return the maximum missing pt.
Definition:
MissingPtCut.h:96
ThePEG::MultiCutBase
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Constants::MaxEnergy2
constexpr Energy2 MaxEnergy2
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::ZERO
constexpr ZeroUnit ZERO
ThePEG::tcPDVector
vector< tcPDPtr > tcPDVector
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6