thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
OneJetCut.h
1// -*- C++ -*-
2//
3// OneJetCut.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_OneJetCut_H
11#define THEPEG_OneJetCut_H
12//
13// This is the declaration of the OneJetCut class.
14//
15
16#include "ThePEG/Cuts/MultiCutBase.h"
17#include "ThePEG/PDT/MatcherBase.h"
18
19namespace ThePEG {
20
28class OneJetCut: public MultiCutBase {
29
30public:
31
36
37public:
38
45 virtual bool passCuts(tcCutsPtr parent, const tcPDVector & ptype,
46 const vector<LorentzMomentum> & p) const;
48
52 virtual void describe() const;
53
54public:
55
63
69 void persistentInput(PersistentIStream & is, int version);
71
78 static void Init();
79
80protected:
81
88 virtual IBPtr clone() const;
89
94 virtual IBPtr fullclone() const;
96
97private:
98
103
108
112 double yMin;
113
117 double yMax;
118
119private:
120
126
131 OneJetCut & operator=(const OneJetCut &) = delete;
132
133};
134
135}
136
137#include "ThePEG/Utilities/ClassTraits.h"
138
139namespace ThePEG {
140
145template <>
146struct BaseClassTrait<OneJetCut,1> {
148 typedef MultiCutBase NthBase;
149};
150
153template <>
154struct ClassTraits<OneJetCut>
155 : public ClassTraitsBase<OneJetCut> {
157 static string className() { return "ThePEG::OneJetCut"; }
161 static string library() { return "JetCuts.so"; }
162};
163
166}
167
168#endif /* THEPEG_OneJetCut_H */
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
This class corresponds to a kinematical cut to be made on a set of outgoing particles from a hard sub...
Definition: MultiCutBase.h:34
OneJetsCut is a simple one-jet inclusive cut, requiring at least one jet above a certain pt in a give...
Definition: OneJetCut.h:28
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
double yMax
The maximum rapidity.
Definition: OneJetCut.h:117
static void Init()
The standard Init function used to initialize the interfaces.
OneJetCut()
The default constructor.
virtual void describe() const
Describe the currently active cuts in the log file.
OneJetCut & operator=(const OneJetCut &)=delete
The assignment operator is private and must never be called.
double yMin
The minimum rapidity.
Definition: OneJetCut.h:112
virtual IBPtr clone() const
Make a simple clone of this object.
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...
Energy ptMin
The minimum pt.
Definition: OneJetCut.h:107
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Ptr< MatcherBase >::ptr unresolvedMatcher
A matcher for unresolved partons.
Definition: OneJetCut.h:102
static ClassDescription< OneJetCut > initOneJetCut
The static object used to initialize the description of this class.
Definition: OneJetCut.h:125
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition: Containers.h:42
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85