]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/fastjet/fastjet/JadePlugin.hh
added pdet-ppart over ppart histogram for detector response
[u/mrichter/AliRoot.git] / JETAN / fastjet / fastjet / JadePlugin.hh
1 #ifndef __JADEPLUGIN_HH__
2 #define __JADEPLUGIN_HH__
3
4 //STARTHEADER
5 // $Id: JadePlugin.hh 1491 2009-03-11 17:04: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, write to the Free Software
29 //  Foundation, Inc.:
30 //      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
31 //----------------------------------------------------------------------
32 //ENDHEADER
33
34 #include "fastjet/JetDefinition.hh"
35
36 namespace fastjet {      // defined in fastjet/internal/base.hh
37
38 // forward declaration to reduce includes
39 class ClusterSequence;
40
41 //----------------------------------------------------------------------
42 //
43 /// JadePlugin is a plugin for fastjet (v2.4 upwards)
44 ///
45 /// It implements the JADE algorithm, which is an e+e- sequential
46 /// recombination algorithm with interparticle distance
47 ///
48 ///   dij = 2 E_i E_j (1 - cos theta_ij)
49 ///
50 /// or equivalently
51 ///
52 ///   yij = dij/E_{vis}^2                
53 ///
54 /// This corresponds to the distance measured used in 
55 ///
56 ///   "Experimental Investigation of the Energy Dependence of the Strong Coupling Strength."
57 ///   JADE Collaboration (S. Bethke et al.)
58 ///   Phys.Lett.B213:235,1988
59 ///
60 /// The JADE article carries out particle recombinations in the
61 /// E-scheme (4-vector recombination), which is the default procedure for this 
62 /// plugin.
63 ///
64 /// NOTE: other widely used schemes include E0, P, P0; however they also 
65 ///       involve modifications to the distance measure. Be sure of
66 ///       what you're doing before running a JADE type algorithm.
67 ///
68 /// To access the jets with a given ycut value (clustering stops once
69 /// all yij > ycut), use
70 ///
71 ///   vector<PseudoJet> jets = cluster_sequence.exclusive_jets_ycut(ycut);
72 ///
73 /// and related routines.
74 ///
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 private:
95
96 };
97
98 } // fastjet namespace 
99
100 #endif // __JADEPLUGIN_HH__
101