thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
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
34
NJetsCut
();
35
36
public
:
37
44
virtual
bool
passCuts
(tcCutsPtr parent,
const
tcPDVector
& ptype,
45
const
vector<LorentzMomentum> & p)
const
;
47
51
virtual
void
describe
()
const
;
52
53
public
:
54
61
void
persistentOutput
(
PersistentOStream
& os)
const
;
62
68
void
persistentInput
(
PersistentIStream
& is,
int
version);
70
77
static
void
Init
();
78
79
protected
:
80
87
virtual
IBPtr
clone
()
const
;
88
93
virtual
IBPtr
fullclone
()
const
;
95
96
private
:
97
101
Ptr<MatcherBase>::ptr
unresolvedMatcher
;
102
106
int
nJetsMin
;
107
111
int
nJetsMax
;
112
113
private
:
114
119
static
ClassDescription<NJetsCut>
initNJetsCut
;
120
125
NJetsCut
&
operator=
(
const
NJetsCut
&) =
delete
;
126
127
};
128
129
}
130
131
#include "ThePEG/Utilities/ClassTraits.h"
132
133
namespace
ThePEG
{
134
139
template
<>
140
struct
BaseClassTrait<NJetsCut,1> {
142
typedef
MultiCutBase
NthBase
;
143
};
144
147
template
<>
148
struct
ClassTraits<NJetsCut>
149
:
public
ClassTraitsBase<NJetsCut> {
151
static
string
className
() {
return
"ThePEG::NJetsCut"
; }
155
static
string
library
() {
return
"JetCuts.so"
; }
156
};
157
160
}
161
162
#endif
/* THEPEG_NJetsCut_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
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::NJetsCut
NJetsCut is a simple cut on jet multiplicity.
Definition:
NJetsCut.h:27
ThePEG::NJetsCut::unresolvedMatcher
Ptr< MatcherBase >::ptr unresolvedMatcher
A matcher for unresolved partons.
Definition:
NJetsCut.h:101
ThePEG::NJetsCut::operator=
NJetsCut & operator=(const NJetsCut &)=delete
The assignment operator is private and must never be called.
ThePEG::NJetsCut::nJetsMax
int nJetsMax
The maximum number of jets.
Definition:
NJetsCut.h:111
ThePEG::NJetsCut::nJetsMin
int nJetsMin
The minimum number of jets.
Definition:
NJetsCut.h:106
ThePEG::NJetsCut::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::NJetsCut::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::NJetsCut::NJetsCut
NJetsCut()
The default constructor.
ThePEG::NJetsCut::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::NJetsCut::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::NJetsCut::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::NJetsCut::describe
virtual void describe() const
Describe the currently active cuts in the log file.
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:119
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
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::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::tcPDVector
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition:
Containers.h:42
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
ThePEG::ClassTraitsBase::library
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition:
ClassTraits.h:85
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6