|
||||
File indexing completed on 2025-01-18 09:57:15
0001 // $Id: ValenciaPlugin.hh 771 2015-02-21 16:40:07Z vos $ 0002 // 0003 // Copyright (c) 2014, Marcel Vos and Ignacio Garcia 0004 // 0005 //---------------------------------------------------------------------- 0006 // This file is part of FastJet contrib. 0007 // 0008 // It is free software; you can redistribute it and/or modify it under 0009 // the terms of the GNU General Public License as published by the 0010 // Free Software Foundation; either version 2 of the License, or (at 0011 // your option) any later version. 0012 // 0013 // It is distributed in the hope that it will be useful, but WITHOUT 0014 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 0015 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 0016 // License for more details. 0017 // 0018 // You should have received a copy of the GNU General Public License 0019 // along with this code. If not, see <http://www.gnu.org/licenses/>. 0020 //---------------------------------------------------------------------- 0021 0022 #ifndef __FASTJET_CONTRIB_VALENCIAJETALGORITHM_HH__ 0023 #define __FASTJET_CONTRIB_VALENCIAJETALGORITHM_HH__ 0024 0025 #include <fastjet/internal/base.hh> 0026 #include "fastjet/JetDefinition.hh" 0027 #include "fastjet/ClusterSequence.hh" 0028 FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh 0029 0030 namespace contrib{ 0031 0032 //---------------------------------------------------------------------- 0033 // 0034 /// ValenciaPlugin is a plugin for fastjet (v2.4 upwards) 0035 /// 0036 /// It implements the Valencia algorithm, as defined in 0037 /// Boronat, Garcia, Vos, 0038 /// A new jet reconstruction algorithm for lepton colliders 0039 /// 0040 /// 0041 class ValenciaPlugin : public JetDefinition::Plugin { 0042 public: 0043 0044 /// Constructor for the Valencia Plugin class. 0045 /// Three floating point arguments are specified to set the parameters 0046 /// the radius parameter R has the usual meaning, 0047 /// the clustering order beta (beta = 1 yields kt-style clustering, 0048 /// beta = 0 purely angular clustering a la C/A and beta = -1 0049 /// clusters hard, collinear radiation first, like anti-kt), 0050 /// and gamma, that governs the shrinking jet size in the forward region 0051 ValenciaPlugin (double R, double beta, double gamma) : _R(R), _beta(beta), _gamma(gamma){} 0052 0053 /// Constructor for the Valencia Plugin class. 0054 /// If two arguments are specified to set the parameters 0055 /// the gamma exponent is set equal to beta 0056 ValenciaPlugin (double R, double beta) : _R(R), _beta(beta), _gamma(beta){} 0057 0058 /// copy constructor 0059 ValenciaPlugin (const ValenciaPlugin & plugin) { 0060 *this = plugin; 0061 } 0062 0063 // the things that are required by base class 0064 virtual std::string description () const; 0065 virtual void run_clustering(ClusterSequence &) const; 0066 0067 /// the plugin mechanism's standard way of accessing the jet radius. 0068 /// This must be set to return something sensible, even if R 0069 /// does not make sense for this algorithm! 0070 virtual double R() const {return _R;} 0071 0072 // the Valencia algorithm has a second parameter beta that governs 0073 // the exponent of the energy in the inter-particle and beam distance 0074 // criteria, and thus determines the clustering order 0075 virtual double beta() const {return _beta;} 0076 0077 // the Valencia algorithm has a third parameter gamma that governs 0078 // the exponent of the sin(theta) in the beam distance 0079 // and thus the shrinking of the jet size in the forward region 0080 virtual double gamma() const {return _gamma;} 0081 0082 0083 0084 /// avoid the warning whenever the user requests "exclusive" jets 0085 /// from the cluster sequence 0086 virtual bool exclusive_sequence_meaningful() const {return true;} 0087 0088 private: 0089 double _R; 0090 double _beta; 0091 double _gamma; 0092 }; 0093 0094 0095 0096 0097 } // namespace contrib 0098 0099 FASTJET_END_NAMESPACE 0100 0101 #endif // __FASTJET_CONTRIB_VALENCIAJETALGORITHM_HH__
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |