Fork me on GitHub

source: git/external/fastjet/plugins/EECambridge/fastjet/EECambridgePlugin.hh@ 5b5a56b

ImprovedOutputFile Timing dual_readout llp
Last change on this file since 5b5a56b was d7d2da3, checked in by pavel <pavel@…>, 12 years ago

move branches/ModularDelphes to trunk

  • Property mode set to 100644
File size: 3.2 KB
Line 
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
35FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh
36
37// forward declaration to reduce includes
38class 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();
57class EECambridgePlugin : public JetDefinition::Plugin {
58public:
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
84private:
85 double _ycut;
86};
87
88FASTJET_END_NAMESPACE // defined in fastjet/internal/base.hh
89
90#endif // __EECAMBRIDGEPLUGIN_HH__
91
Note: See TracBrowser for help on using the repository browser.