herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Matchbox
Cuts
PairRapidityCut.h
1
// -*- C++ -*-
2
//
3
// PairRapidityCut.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_PairRapidityCut_H
10
#define Herwig_PairRapidityCut_H
11
//
12
// This is the declaration of the PairRapidityCut class.
13
//
14
15
#include "ThePEG/Cuts/TwoCutBase.h"
16
#include "ThePEG/PDT/MatcherBase.h"
17
18
namespace
Herwig
{
19
20
using namespace
ThePEG
;
21
31
class
PairRapidityCut
:
public
TwoCutBase
{
32
33
public
:
34
38
PairRapidityCut
();
39
40
public
:
41
50
virtual
bool
passCuts
(tcCutsPtr parent,
tcPDPtr
pitype,
tcPDPtr
pjtype,
51
LorentzMomentum pi, LorentzMomentum pj,
52
bool
inci =
false
,
bool
incj =
false
)
const
;
53
58
virtual
Energy2
minSij
(
tcPDPtr
,
tcPDPtr
)
const
{
return
ZERO
; }
59
65
virtual
Energy2
minTij
(
tcPDPtr
,
tcPDPtr
)
const
{
return
ZERO
; }
66
72
virtual
double
minDeltaR
(
tcPDPtr
,
tcPDPtr
)
const
{
return
ZERO
; }
73
84
virtual
Energy
minKTClus
(
tcPDPtr
,
tcPDPtr
)
const
{
return
ZERO
; }
85
92
virtual
double
minDurham
(
tcPDPtr
,
tcPDPtr
)
const
{
return
ZERO
; }
93
95
99
virtual
void
describe
()
const
;
100
101
public
:
102
103
// /**
104
// * Return the minimal allowed rapidity
105
// */
106
// double minRapidity() const { return theMinRapidity; }
107
//
108
// /**
109
// * Return the maximal allowed rapidity
110
// */
111
// double maxRapidity() const { return theMaxRapidity; }
112
116
const
vector<pair<double,double> >&
yRanges
()
const
{
return
theYRanges
; }
117
121
bool
sameFlavourOnly
()
const
{
return
theSameFlavourOnly
; }
122
126
bool
oppositeSignOnly
()
const
{
return
theOppositeSignOnly
; }
127
132
Ptr<MatcherBase>::tptr
firstMatcher
()
const
{
return
theFirstMatcher
; }
133
Ptr<MatcherBase>::tptr secondMatcher()
const
{
return
theSecondMatcher; }
134
135
protected
:
136
140
int
family
(
long
id
)
const
;
141
142
public
:
143
150
void
persistentOutput
(
PersistentOStream
& os)
const
;
151
157
void
persistentInput
(
PersistentIStream
& is,
int
version);
159
166
static
void
Init
();
167
168
protected
:
169
176
virtual
IBPtr
clone
()
const
;
177
182
virtual
IBPtr
fullclone
()
const
;
184
185
private
:
186
190
string
doYRange
(
string
);
191
195
vector<pair<double,double> >
theYRanges
;
196
200
bool
thePseudo
;
201
206
bool
theSameFlavourOnly
;
207
212
bool
theOppositeSignOnly
;
213
218
Ptr<MatcherBase>::ptr
theFirstMatcher
;
219
Ptr<MatcherBase>::ptr theSecondMatcher;
220
221
private
:
222
227
PairRapidityCut
&
operator=
(
const
PairRapidityCut
&) =
delete
;
228
229
};
230
231
}
232
233
#endif
/* Herwig_PairRapidityCut_H */
234
Herwig::PairRapidityCut
This class implements a cut on the rapidity of a pair of particles.
Definition:
PairRapidityCut.h:31
Herwig::PairRapidityCut::oppositeSignOnly
bool oppositeSignOnly() const
Return whether cut acts on opposite-sign fermions only.
Definition:
PairRapidityCut.h:126
Herwig::PairRapidityCut::minDeltaR
virtual double minDeltaR(tcPDPtr, tcPDPtr) const
Return the minimum allowed value of of two outgoing partons of type pi and pj.
Definition:
PairRapidityCut.h:72
Herwig::PairRapidityCut::sameFlavourOnly
bool sameFlavourOnly() const
Return whether cut acts on same-flavour fermions only.
Definition:
PairRapidityCut.h:121
Herwig::PairRapidityCut::family
int family(long id) const
Return the family of the given PDG id number.
Herwig::PairRapidityCut::minKTClus
virtual Energy minKTClus(tcPDPtr, tcPDPtr) const
Return the minimum allowed value of the longitudinally invariant -algorithms distance measure.
Definition:
PairRapidityCut.h:84
Herwig::PairRapidityCut::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::PairRapidityCut::theSameFlavourOnly
bool theSameFlavourOnly
Whether the cut is active on same-flavour fermions only (ignored for pairs not consisting of two ferm...
Definition:
PairRapidityCut.h:206
Herwig::PairRapidityCut::passCuts
virtual bool passCuts(tcCutsPtr parent, tcPDPtr pitype, tcPDPtr pjtype, LorentzMomentum pi, LorentzMomentum pj, bool inci=false, bool incj=false) const
Return true if a pair of particles with type pitype and pjtype and momenta pi and pj respectively pas...
Herwig::PairRapidityCut::yRanges
const vector< pair< double, double > > & yRanges() const
Return the rapidity ranges.
Definition:
PairRapidityCut.h:116
Herwig::PairRapidityCut::minSij
virtual Energy2 minSij(tcPDPtr, tcPDPtr) const
Return the minimum allowed squared invariant mass of two outgoing partons of type pi and pj.
Definition:
PairRapidityCut.h:58
Herwig::PairRapidityCut::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::PairRapidityCut::theFirstMatcher
Ptr< MatcherBase >::ptr theFirstMatcher
Matchers for a pair of particles to cut on.
Definition:
PairRapidityCut.h:218
Herwig::PairRapidityCut::doYRange
string doYRange(string)
Command to insert a rapidity range.
Herwig::PairRapidityCut::theOppositeSignOnly
bool theOppositeSignOnly
Whether the cut is active on opposite-sign fermions only (ignored for pairs not consisting of two fer...
Definition:
PairRapidityCut.h:212
Herwig::PairRapidityCut::thePseudo
bool thePseudo
Whether to use pseudo rapidity instead of rapidity.
Definition:
PairRapidityCut.h:200
Herwig::PairRapidityCut::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::PairRapidityCut::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::PairRapidityCut::operator=
PairRapidityCut & operator=(const PairRapidityCut &)=delete
The assignment operator is private and must never be called.
Herwig::PairRapidityCut::minDurham
virtual double minDurham(tcPDPtr, tcPDPtr) const
Return the minimum allowed value of the Durham -algorithms distance measure.
Definition:
PairRapidityCut.h:92
Herwig::PairRapidityCut::firstMatcher
Ptr< MatcherBase >::tptr firstMatcher() const
Return the matchers for a pair of particles to cut on.
Definition:
PairRapidityCut.h:132
Herwig::PairRapidityCut::minTij
virtual Energy2 minTij(tcPDPtr, tcPDPtr) const
Return the minimum allowed value of the negative of the squared invariant mass of an incoming parton ...
Definition:
PairRapidityCut.h:65
Herwig::PairRapidityCut::describe
virtual void describe() const
Describe the currently active cuts in the log file.
Herwig::PairRapidityCut::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::PairRapidityCut::theYRanges
vector< pair< double, double > > theYRanges
The rapidity ranges.
Definition:
PairRapidityCut.h:195
Herwig::PairRapidityCut::PairRapidityCut
PairRapidityCut()
The default constructor.
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::TwoCutBase
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::ZERO
constexpr ZeroUnit ZERO
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6