FastJet
3.3.4
plugins
EECambridge
fastjet
EECambridgePlugin.hh
1
#ifndef __EECAMBRIDGEPLUGIN_HH__
2
#define __EECAMBRIDGEPLUGIN_HH__
3
4
//FJSTARTHEADER
5
// $Id: EECambridgePlugin.hh 4442 2020-05-05 07:50:11Z soyez $
6
//
7
// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
8
//
9
//----------------------------------------------------------------------
10
// This file is part of FastJet.
11
//
12
// FastJet is free software; you can redistribute it and/or modify
13
// it under the terms of the GNU General Public License as published by
14
// the Free Software Foundation; either version 2 of the License, or
15
// (at your option) any later version.
16
//
17
// The algorithms that underlie FastJet have required considerable
18
// development. They are described in the original FastJet paper,
19
// hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
20
// FastJet as part of work towards a scientific publication, please
21
// quote the version you use and include a citation to the manual and
22
// optionally also to hep-ph/0512210.
23
//
24
// FastJet is distributed in the hope that it will be useful,
25
// but WITHOUT ANY WARRANTY; without even the implied warranty of
26
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27
// GNU General Public License for more details.
28
//
29
// You should have received a copy of the GNU General Public License
30
// along with FastJet. If not, see <http://www.gnu.org/licenses/>.
31
//----------------------------------------------------------------------
32
//FJENDHEADER
33
34
35
#include "fastjet/JetDefinition.hh"
36
37
FASTJET_BEGIN_NAMESPACE
// defined in fastjet/internal/base.hh
38
39
// forward declaration to reduce includes
40
class
ClusterSequence;
41
42
//----------------------------------------------------------------------
43
//
44
/// @ingroup plugins
45
/// \class EECambridgePlugin
46
/// Implementation of the e+e- Cambridge algorithm (plugin for fastjet v2.4 upwards)
47
///
48
/// EECambridgePlugin is a plugin for fastjet (v2.4 upwards)
49
/// It implements the Cambridge algorithm, as defined in
50
///
51
/// Better jet clustering algorithms
52
/// Yuri Dokshitzer, Garth Leder, Stefano Moretti, Bryan Webber
53
/// JHEP 9708 (1997) 001
54
/// http://www-spires.slac.stanford.edu/spires/find/hep/www?rawcmd=FIND+j+JHEPA%2C9708%2C001
55
///
56
/// On construction one must supply a ycut value.
57
///
58
/// To get the jets at the end call ClusterSequence::inclusive_jets();
59
class
EECambridgePlugin
:
public
JetDefinition::Plugin
{
60
public
:
61
/// Main constructor for the EECambridge Plugin class.
62
/// It takes the dimensionless parameter ycut (the Q value for normalisation
63
/// of the kt-distances is taken from the sum of all particle energies).
64
EECambridgePlugin
(
double
ycut_in) : _ycut(ycut_in) {}
65
66
/// copy constructor
67
EECambridgePlugin
(
const
EECambridgePlugin
& plugin) {
68
*
this
= plugin;
69
}
70
71
// the things that are required by base class
72
virtual
std::string description ()
const
;
73
virtual
void
run_clustering(
ClusterSequence
&)
const
;
74
75
double
ycut()
const
{
return
_ycut;}
76
77
/// the plugin mechanism's standard way of accessing the jet radius.
78
/// This must be set to return something sensible, even if R
79
/// does not make sense for this algorithm!
80
virtual
double
R
()
const
{
return
1.0;}
81
82
/// avoid the warning whenever the user requests "exclusive" jets
83
/// from the cluster sequence
84
virtual
bool
exclusive_sequence_meaningful
()
const
{
return
true
;}
85
86
/// returns true because this plugin is intended for spherical
87
/// geometries (i.e. it's an e+e- algorithm).
88
virtual
bool
is_spherical
()
const
{
return
true
;}
89
90
private
:
91
double
_ycut;
92
};
93
94
FASTJET_END_NAMESPACE
// defined in fastjet/internal/base.hh
95
96
#endif // __EECAMBRIDGEPLUGIN_HH__
97
fastjet::JetDefinition::Plugin
Definition:
JetDefinition.hh:560
fastjet::EECambridgePlugin
Definition:
EECambridgePlugin.hh:59
fastjet::EECambridgePlugin::EECambridgePlugin
EECambridgePlugin(const EECambridgePlugin &plugin)
copy constructor
Definition:
EECambridgePlugin.hh:67
fastjet::ClusterSequence
Definition:
ClusterSequence.hh:63
fastjet::EECambridgePlugin::is_spherical
virtual bool is_spherical() const
returns true because this plugin is intended for spherical geometries (i.e.
Definition:
EECambridgePlugin.hh:88
fastjet::EECambridgePlugin::exclusive_sequence_meaningful
virtual bool exclusive_sequence_meaningful() const
avoid the warning whenever the user requests "exclusive" jets from the cluster sequence
Definition:
EECambridgePlugin.hh:84
fastjet::EECambridgePlugin::R
virtual double R() const
the plugin mechanism's standard way of accessing the jet radius.
Definition:
EECambridgePlugin.hh:80
fastjet::EECambridgePlugin::EECambridgePlugin
EECambridgePlugin(double ycut_in)
Main constructor for the EECambridge Plugin class.
Definition:
EECambridgePlugin.hh:64
Generated on Tue May 5 2020 19:15:14 for FastJet by
1.8.16