thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.2.1
Cuts
NJetsCut.h
1
// -*- C++ -*-
2
//
3
// NJetsCut.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 Leif Lonnblad
5
// Copyright (C) 2009-2019 Simon Platzer
6
//
7
// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
8
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
9
//
10
#ifndef THEPEG_NJetsCut_H
11
#define THEPEG_NJetsCut_H
12
//
13
// This is the declaration of the NJetsCut class.
14
//
15
16
#include "ThePEG/Cuts/MultiCutBase.h"
17
#include "ThePEG/PDT/MatcherBase.h"
18
19
namespace
ThePEG
{
20
27
class
NJetsCut
:
public
MultiCutBase
{
28
29
public
:
30
36
NJetsCut
();
37
41
virtual
~NJetsCut
();
43
44
public
:
45
52
virtual
bool
passCuts
(tcCutsPtr parent,
const
tcPDVector
& ptype,
53
const
vector<LorentzMomentum> & p)
const
;
55
59
virtual
void
describe
()
const
;
60
61
public
:
62
69
void
persistentOutput
(
PersistentOStream
& os)
const
;
70
76
void
persistentInput
(
PersistentIStream
& is,
int
version);
78
85
static
void
Init
();
86
87
protected
:
88
95
virtual
IBPtr
clone
()
const
;
96
101
virtual
IBPtr
fullclone
()
const
;
103
104
private
:
105
109
Ptr<MatcherBase>::ptr
unresolvedMatcher
;
110
114
int
nJetsMin
;
115
119
int
nJetsMax
;
120
121
private
:
122
127
static
ClassDescription<NJetsCut>
initNJetsCut
;
128
133
NJetsCut
&
operator=
(
const
NJetsCut
&) =
delete
;
134
135
};
136
137
}
138
139
#include "ThePEG/Utilities/ClassTraits.h"
140
141
namespace
ThePEG
{
142
147
template
<>
148
struct
BaseClassTrait
<NJetsCut,1> {
150
typedef
MultiCutBase
NthBase;
151
};
152
155
template
<>
156
struct
ClassTraits
<NJetsCut>
157
:
public
ClassTraitsBase
<NJetsCut> {
159
static
string
className() {
return
"ThePEG::NJetsCut"
; }
163
static
string
library() {
return
"JetCuts.so"
; }
164
};
165
168
}
169
170
#endif
/* THEPEG_NJetsCut_H */
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::NJetsCut::unresolvedMatcher
Ptr< MatcherBase >::ptr unresolvedMatcher
A matcher for unresolved partons.
Definition:
NJetsCut.h:109
ThePEG::NJetsCut::describe
virtual void describe() const
Describe the currently active cuts in the log file.
ThePEG::NJetsCut::NJetsCut
NJetsCut()
The default constructor.
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
Definition:
ClassDescription.h:339
ThePEG::NJetsCut::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::tcPDVector
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition:
Containers.h:42
ThePEG::NJetsCut::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::NJetsCut::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::NJetsCut::operator=
NJetsCut & operator=(const NJetsCut &)=delete
The assignment operator is private and must never be called.
ThePEG::NJetsCut::passCuts
virtual bool passCuts(tcCutsPtr parent, const tcPDVector &ptype, const vector< LorentzMomentum > &p) const
Return true if a set of outgoing particles with typea ptype and corresponding momenta p passes the cu...
ThePEG::NJetsCut::initNJetsCut
static ClassDescription< NJetsCut > initNJetsCut
The static object used to initialize the description of this class.
Definition:
NJetsCut.h:127
ThePEG::NJetsCut::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::NJetsCut::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::NJetsCut::~NJetsCut
virtual ~NJetsCut()
The destructor.
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::MultiCutBase
This class corresponds to a kinematical cut to be made on a set of outgoing particles from a hard sub...
Definition:
MultiCutBase.h:34
ThePEG::Pointer::Ptr
Ptr is a templated class to provide typedefs for pointers types ThePEG should use for a given type...
Definition:
Ptr.h:35
ThePEG::NJetsCut
NJetsCut is a simple cut on jet multiplicity.
Definition:
NJetsCut.h:27
ThePEG::ClassTraits
The default concrete implementation of ClassTraitsBase.
Definition:
ClassTraits.h:134
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::NJetsCut::nJetsMin
int nJetsMin
The minimum number of jets.
Definition:
NJetsCut.h:114
ThePEG::NJetsCut::nJetsMax
int nJetsMax
The maximum number of jets.
Definition:
NJetsCut.h:119
ThePEG::ClassTraitsBase
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition:
ClassTraits.h:52
Generated on Sat Apr 11 2020 14:31:17 for ThePEG by
1.8.13