|
||||
File indexing completed on 2025-01-18 09:57:16
0001 //FJSTARTHEADER 0002 // $Id$ 0003 // 0004 // Copyright (c) 2007-2021, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 0005 // 0006 //---------------------------------------------------------------------- 0007 // This file is part of FastJet. 0008 // 0009 // FastJet is free software; you can redistribute it and/or modify 0010 // it under the terms of the GNU General Public License as published by 0011 // the Free Software Foundation; either version 2 of the License, or 0012 // (at your option) any later version. 0013 // 0014 // The algorithms that underlie FastJet have required considerable 0015 // development. They are described in the original FastJet paper, 0016 // hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use 0017 // FastJet as part of work towards a scientific publication, please 0018 // quote the version you use and include a citation to the manual and 0019 // optionally also to hep-ph/0512210. 0020 // 0021 // FastJet is distributed in the hope that it will be useful, 0022 // but WITHOUT ANY WARRANTY; without even the implied warranty of 0023 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0024 // GNU General Public License for more details. 0025 // 0026 // You should have received a copy of the GNU General Public License 0027 // along with FastJet. If not, see <http://www.gnu.org/licenses/>. 0028 //---------------------------------------------------------------------- 0029 //FJENDHEADER 0030 0031 // Note on the implementation: 0032 // this implementation of the ATLAS Cone is based on the SpartyJet 0033 // v2.20.0 implementation. See README for details 0034 0035 #ifndef __ATLASCONEPLUGIN_HH__ 0036 #define __ATLASCONEPLUGIN_HH__ 0037 0038 #include "fastjet/JetDefinition.hh" 0039 #include "fastjet/internal/thread_safety_helpers.hh" // helpers to write transparent code w&wo C++11 features 0040 0041 // questionable whether this should be in fastjet namespace or not... 0042 FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh 0043 0044 // forward declaration to reduce includes 0045 class PseudoJet; 0046 0047 //---------------------------------------------------------------------- 0048 // 0049 /// @ingroup plugins 0050 /// \class ATLASConePlugin 0051 /// Implementation of the ATLAS Cone (plugin for fastjet v2.4 upwards) 0052 class ATLASConePlugin : public JetDefinition::Plugin { 0053 public: 0054 /// Main constructor for the ATLASCone Plugin class. 0055 /// 0056 /// Apparently the default parameters in the ATLAS software are the 0057 /// ones used here. SpartyJet uses a radius of 0.7, a seed threshold 0058 /// of 1 GeV and an overlap threshold of 0.75 0059 /// For the ATLAS SW defaults, see 0060 /// http://atlas-sw.cern.ch/cgi-bin/viewcvs-atlas.cgi/groups/JetRoutines/SpartyJet/atlas/ 0061 /// in the JetdoneFinderTools.cxx (rev1.1) and JetSplitMergeTool.cxx (rev1.1) 0062 /// For SpartyJet, see atlas/ConeFinderTool.h 0063 /// 0064 /// Finally, to agree with FastJet standards, we do not specify a default R, 0065 /// that in the ATLAS code is 0.7 0066 ATLASConePlugin (double radius, double seedPt_in=2.0, double f_in=0.5) 0067 : _radius(radius), _seedPt(seedPt_in), _f(f_in){} 0068 0069 /// copy constructor 0070 ATLASConePlugin (const ATLASConePlugin & plugin) { 0071 *this = plugin; 0072 } 0073 0074 // the things that are required by base class 0075 virtual std::string description () const; 0076 virtual void run_clustering(ClusterSequence &) const; 0077 0078 /// the plugin mechanism's standard way of accessing the jet radius 0079 /// here we return the R of the last alg in the list 0080 virtual double R() const {return _radius;} 0081 0082 // access to the other parameters 0083 /// seed threshold 0084 double seedPt() const {return _seedPt;} 0085 0086 /// split-merge overlap threshold 0087 double f() const {return _f;} 0088 0089 private: 0090 0091 double _radius; ///< the cone radius 0092 double _seedPt; ///< the pt seed threshold used in stable-cone search 0093 double _f; ///< the overlap thresholod used in the split-merge 0094 0095 static thread_safety_helpers::FirstTimeTrue _first_time; 0096 0097 /// print a banner for reference to the 3rd-party code 0098 void _print_banner(std::ostream *ostr) const; 0099 }; 0100 0101 FASTJET_END_NAMESPACE // defined in fastjet/internal/base.hh 0102 0103 #endif // __ATLASCONEPLUGIN_HH__ 0104
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |