FastJet  3.0.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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.
76 public:
77  /// Main constructor for the Jade Plugin class.
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 
deals with clustering
virtual bool exclusive_sequence_meaningful() const
avoid the warning whenever the user requests &quot;exclusive&quot; jets from the cluster sequence ...
Definition: JadePlugin.hh:96
JadePlugin(const JadePlugin &plugin)
copy constructor
Definition: JadePlugin.hh:81
JadePlugin()
Main constructor for the Jade Plugin class.
Definition: JadePlugin.hh:78
virtual double R() const
the plugin mechanism&#39;s standard way of accessing the jet radius.
Definition: JadePlugin.hh:92
a class that allows a user to introduce their own &quot;plugin&quot; jet finder
Implementation of the e+e- Jade algorithm (plugin for fastjet v2.4 upwards)
Definition: JadePlugin.hh:75