00001 //STARTHEADER 00002 // $Id: JetDefinition.hh 304 2006-08-23 21:54:34Z salam $ 00003 // 00004 // Copyright (c) 2005-2006, Matteo Cacciari and Gavin Salam 00005 // 00006 //---------------------------------------------------------------------- 00007 // This file is part of FastJet. 00008 // 00009 // FastJet is free software; you can redistribute it and/or modify 00010 // it under the terms of the GNU General Public License as published by 00011 // the Free Software Foundation; either version 2 of the License, or 00012 // (at your option) any later version. 00013 // 00014 // The algorithms that underlie FastJet have required considerable 00015 // development and are described in hep-ph/0512210. If you use 00016 // FastJet as part of work towards a scientific publication, please 00017 // include a citation to the FastJet paper. 00018 // 00019 // FastJet is distributed in the hope that it will be useful, 00020 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00022 // GNU General Public License for more details. 00023 // 00024 // You should have received a copy of the GNU General Public License 00025 // along with FastJet; if not, write to the Free Software 00026 // Foundation, Inc.: 00027 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00028 //---------------------------------------------------------------------- 00029 //ENDHEADER 00030 00031 #ifndef __FASTJET_JETDEFINITION_HH__ 00032 #define __FASTJET_JETDEFINITION_HH__ 00033 00034 #include<cassert> 00035 #include "fastjet/internal/numconsts.hh" 00036 00037 FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh 00038 00039 //====================================================================== 00042 enum Strategy { 00044 N2MinHeapTiled = -4, 00046 N2Tiled = -3, 00048 N2PoorTiled = -2, 00050 N2Plain = -1, 00052 N3Dumb = 0, 00054 Best = 1, 00056 NlnN = 2, 00058 NlnN3pi = 3, 00060 NlnN4pi = 4, 00063 NlnNCam4pi = 14, 00064 NlnNCam2pi2R = 13, 00065 NlnNCam = 12 // 2piMultD 00066 }; 00067 00068 00069 //====================================================================== 00071 enum JetFinder { 00073 kt_algorithm=0, 00076 cambridge_algorithm=1 00077 }; 00078 00079 00080 //====================================================================== 00083 class JetDefinition { 00084 00085 public: 00086 00091 JetDefinition(JetFinder jet_finder = kt_algorithm, 00092 double R = 1.0, 00093 Strategy strategy = Best) : 00094 _jet_finder(jet_finder), _Rparam(R), _strategy(strategy) { 00095 // the largest sensible value for R 00096 assert(_Rparam <= 0.5*pi); 00097 }; 00098 00099 00100 // return information about the definition... 00101 JetFinder jet_finder () const {return _jet_finder ;}; 00102 double R () const {return _Rparam ;}; 00103 Strategy strategy () const {return _strategy ;}; 00104 00105 private: 00106 JetFinder _jet_finder; 00107 double _Rparam ; 00108 Strategy _strategy ; 00109 00110 00111 }; 00112 00113 00114 FASTJET_END_NAMESPACE 00115 00116 #endif // __FASTJET_JETDEFINITION_HH__
1.4.2