FastJet
3.0.6
plugins
Jade
fastjet
JadePlugin.hh
1
#ifndef __JADEPLUGIN_HH__
2
#define __JADEPLUGIN_HH__
3
4
//STARTHEADER
5
// $Id: JadePlugin.hh 2577 2011-09-13 15:11:38Z salam $
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
#include "fastjet/JetDefinition.hh"
33
34
FASTJET_BEGIN_NAMESPACE
// defined in fastjet/internal/base.hh
35
36
// forward declaration to reduce includes
37
class
ClusterSequence;
38
39
//----------------------------------------------------------------------
40
//
41
/// @ingroup plugins
42
/// \class JadePlugin
43
/// Implementation of the e+e- Jade algorithm (plugin for fastjet v2.4 upwards)
44
///
45
/// JadePlugin is a plugin for fastjet (v2.4 upwards)
46
/// It implements the JADE algorithm, which is an e+e- sequential
47
/// recombination algorithm with interparticle distance
48
///
49
/// dij = 2 E_i E_j (1 - cos theta_ij)
50
///
51
/// or equivalently
52
///
53
/// yij = dij/E_{vis}^2
54
///
55
/// This corresponds to the distance measured used in
56
///
57
/// "Experimental Investigation of the Energy Dependence of the Strong Coupling Strength."
58
/// JADE Collaboration (S. Bethke et al.)
59
/// Phys.Lett.B213:235,1988
60
///
61
/// The JADE article carries out particle recombinations in the
62
/// E-scheme (4-vector recombination), which is the default procedure for this
63
/// plugin.
64
///
65
/// NOTE: other widely used schemes include E0, P, P0; however they also
66
/// involve modifications to the distance measure. Be sure of
67
/// what you're doing before running a JADE type algorithm.
68
///
69
/// To access the jets with a given ycut value (clustering stops once
70
/// all yij > ycut), use
71
///
72
/// vector<PseudoJet> jets = cluster_sequence.exclusive_jets_ycut(ycut);
73
///
74
/// and related routines.
75
class
JadePlugin
:
public
JetDefinition::Plugin
{
76
public
:
77
/// Main constructor for the Jade Plugin class.
78
JadePlugin
(){}
79
80
/// copy constructor
81
JadePlugin
(
const
JadePlugin
& plugin) {
82
*
this
= plugin;
83
}
84
85
// the things that are required by base class
86
virtual
std::string description ()
const
;
87
virtual
void
run_clustering(
ClusterSequence
&)
const
;
88
89
/// the plugin mechanism's standard way of accessing the jet radius.
90
/// This must be set to return something sensible, even if R
91
/// does not make sense for this algorithm!
92
virtual
double
R
()
const
{
return
1.0;}
93
94
/// avoid the warning whenever the user requests "exclusive" jets
95
/// from the cluster sequence
96
virtual
bool
exclusive_sequence_meaningful
()
const
{
return
true
;}
97
98
private
:
99
100
};
101
102
FASTJET_END_NAMESPACE
// defined in fastjet/internal/base.hh
103
104
#endif // __JADEPLUGIN_HH__
105
fastjet::JetDefinition::Plugin
Definition:
JetDefinition.hh:431
fastjet::ClusterSequence
Definition:
ClusterSequence.hh:59
fastjet::JadePlugin::R
virtual double R() const
the plugin mechanism's standard way of accessing the jet radius.
Definition:
JadePlugin.hh:92
fastjet::JadePlugin
Definition:
JadePlugin.hh:75
fastjet::JadePlugin::exclusive_sequence_meaningful
virtual bool exclusive_sequence_meaningful() const
avoid the warning whenever the user requests "exclusive" jets from the cluster sequence
Definition:
JadePlugin.hh:96
fastjet::JadePlugin::JadePlugin
JadePlugin(const JadePlugin &plugin)
copy constructor
Definition:
JadePlugin.hh:81
fastjet::JadePlugin::JadePlugin
JadePlugin()
Main constructor for the Jade Plugin class.
Definition:
JadePlugin.hh:78
Generated by
1.8.17