FastJet
3.0.6
plugins
EECambridge
fastjet
EECambridgePlugin.hh
1
#ifndef __EECAMBRIDGEPLUGIN_HH__
2
#define __EECAMBRIDGEPLUGIN_HH__
3
4
//STARTHEADER
5
// $Id: EECambridgePlugin.hh 2692 2011-11-14 16:27:44Z soyez $
6
//
7
// Copyright (c) 2009, Matteo Cacciari, Gavin 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 and are described in hep-ph/0512210. If you use
19
// FastJet as part of work towards a scientific publication, please
20
// include a citation to the FastJet paper.
21
//
22
// FastJet is distributed in the hope that it will be useful,
23
// but WITHOUT ANY WARRANTY; without even the implied warranty of
24
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25
// GNU General Public License for more details.
26
//
27
// You should have received a copy of the GNU General Public License
28
// along with FastJet. If not, see <http://www.gnu.org/licenses/>.
29
//----------------------------------------------------------------------
30
//ENDHEADER
31
32
33
#include "fastjet/JetDefinition.hh"
34
35
FASTJET_BEGIN_NAMESPACE
// defined in fastjet/internal/base.hh
36
37
// forward declaration to reduce includes
38
class
ClusterSequence;
39
40
//----------------------------------------------------------------------
41
//
42
/// @ingroup plugins
43
/// \class EECambridgePlugin
44
/// Implementation of the e+e- Cambridge algorithm (plugin for fastjet v2.4 upwards)
45
///
46
/// EECambridgePlugin is a plugin for fastjet (v2.4 upwards)
47
/// It implements the Cambridge algorithm, as defined in
48
///
49
/// Better jet clustering algorithms
50
/// Yuri Dokshitzer, Garth Leder, Stefano Moretti, Bryan Webber
51
/// JHEP 9708 (1997) 001
52
/// http://www-spires.slac.stanford.edu/spires/find/hep/www?rawcmd=FIND+j+JHEPA%2C9708%2C001
53
///
54
/// On construction one must supply a ycut value.
55
///
56
/// To get the jets at the end call ClusterSequence::inclusive_jets();
57
class
EECambridgePlugin
:
public
JetDefinition::Plugin
{
58
public
:
59
/// Main constructor for the EECambridge Plugin class.
60
/// It takes the dimensionless parameter ycut (the Q value for normalisation
61
/// of the kt-distances is taken from the sum of all particle energies).
62
EECambridgePlugin
(
double
ycut_in) : _ycut(ycut_in) {}
63
64
/// copy constructor
65
EECambridgePlugin
(
const
EECambridgePlugin
& plugin) {
66
*
this
= plugin;
67
}
68
69
// the things that are required by base class
70
virtual
std::string description ()
const
;
71
virtual
void
run_clustering(
ClusterSequence
&)
const
;
72
73
double
ycut()
const
{
return
_ycut;}
74
75
/// the plugin mechanism's standard way of accessing the jet radius.
76
/// This must be set to return something sensible, even if R
77
/// does not make sense for this algorithm!
78
virtual
double
R
()
const
{
return
1.0;}
79
80
/// avoid the warning whenever the user requests "exclusive" jets
81
/// from the cluster sequence
82
virtual
bool
exclusive_sequence_meaningful
()
const
{
return
true
;}
83
84
private
:
85
double
_ycut;
86
};
87
88
FASTJET_END_NAMESPACE
// defined in fastjet/internal/base.hh
89
90
#endif // __EECAMBRIDGEPLUGIN_HH__
91
fastjet::JetDefinition::Plugin
Definition:
JetDefinition.hh:431
fastjet::EECambridgePlugin
Definition:
EECambridgePlugin.hh:57
fastjet::EECambridgePlugin::EECambridgePlugin
EECambridgePlugin(const EECambridgePlugin &plugin)
copy constructor
Definition:
EECambridgePlugin.hh:65
fastjet::ClusterSequence
Definition:
ClusterSequence.hh:59
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:82
fastjet::EECambridgePlugin::R
virtual double R() const
the plugin mechanism's standard way of accessing the jet radius.
Definition:
EECambridgePlugin.hh:78
fastjet::EECambridgePlugin::EECambridgePlugin
EECambridgePlugin(double ycut_in)
Main constructor for the EECambridge Plugin class.
Definition:
EECambridgePlugin.hh:62
Generated by
1.8.17