|
|
|||
File indexing completed on 2025-12-16 10:14:41
0001 // $Id: SecondaryLund.hh 1345 2023-03-01 08:49:41Z salam $ 0002 // 0003 // Copyright (c) 2018-, Frederic A. Dreyer, Keith Hamilton, Alexander Karlberg, 0004 // Gavin P. Salam, Ludovic Scyboz, Gregory Soyez, Rob Verheyen 0005 // 0006 //---------------------------------------------------------------------- 0007 // This file is part of FastJet contrib. 0008 // 0009 // It is free software; you can redistribute it and/or modify it under 0010 // the terms of the GNU General Public License as published by the 0011 // Free Software Foundation; either version 2 of the License, or (at 0012 // your option) any later version. 0013 // 0014 // It is distributed in the hope that it will be useful, but WITHOUT 0015 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 0016 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 0017 // License for more details. 0018 // 0019 // You should have received a copy of the GNU General Public License 0020 // along with this code. If not, see <http://www.gnu.org/licenses/>. 0021 //---------------------------------------------------------------------- 0022 0023 #ifndef __FASTJET_CONTRIB_SECONDARYLUND_HH__ 0024 #define __FASTJET_CONTRIB_SECONDARYLUND_HH__ 0025 0026 #include "LundGenerator.hh" 0027 0028 FASTJET_BEGIN_NAMESPACE 0029 0030 namespace contrib{ 0031 0032 //---------------------------------------------------------------------- 0033 /// \class SecondaryLund 0034 /// Base class for definitions of the leading emission 0035 class SecondaryLund { 0036 public: 0037 /// SecondaryLund constructor 0038 SecondaryLund() {} 0039 0040 /// destructor 0041 virtual ~SecondaryLund() {} 0042 0043 /// returns the index of branch corresponding to the root of the secondary plane 0044 virtual int result(const std::vector<LundDeclustering> & declusts) const = 0; 0045 0046 int operator()(const std::vector<LundDeclustering> & declusts) const { 0047 return result(declusts); 0048 } 0049 0050 /// description of the class 0051 virtual std::string description() const; 0052 }; 0053 0054 //---------------------------------------------------------------------- 0055 /// \class SecondaryLund_mMDT 0056 /// Contains a definition for the leading emission using mMDTZ 0057 class SecondaryLund_mMDT : public SecondaryLund { 0058 public: 0059 /// SecondaryLund_mMDT constructor 0060 SecondaryLund_mMDT(double zcut = 0.025) : zcut_(zcut) {} 0061 0062 /// destructor 0063 virtual ~SecondaryLund_mMDT() {} 0064 0065 /// returns the index of branch corresponding to the root of the secondary plane 0066 virtual int result(const std::vector<LundDeclustering> & declusts) const; 0067 0068 /// description of the class 0069 virtual std::string description() const; 0070 private: 0071 /// zcut parameter 0072 double zcut_; 0073 }; 0074 0075 //---------------------------------------------------------------------- 0076 /// \class SecondaryLund_dotmMDT 0077 /// Contains a definition for the leading emission using dotmMDT 0078 class SecondaryLund_dotmMDT : public SecondaryLund { 0079 public: 0080 /// SecondaryLund_dotmMDT constructor 0081 SecondaryLund_dotmMDT(double zcut = 0.025) : zcut_(zcut) {} 0082 0083 /// destructor 0084 virtual ~SecondaryLund_dotmMDT() {} 0085 0086 /// returns the index of branch corresponding to the root of the secondary plane 0087 virtual int result(const std::vector<LundDeclustering> & declusts) const; 0088 0089 /// description of the class 0090 virtual std::string description() const; 0091 0092 private: 0093 /// zcut parameter 0094 double zcut_; 0095 }; 0096 0097 //---------------------------------------------------------------------- 0098 /// \class SecondaryLund_Mass 0099 /// Contains a definition for the leading emission using mass 0100 class SecondaryLund_Mass : public SecondaryLund { 0101 public: 0102 /// SecondaryLund_Mass constructor (default mass reference is W mass) 0103 SecondaryLund_Mass(double ref_mass = 80.4) : mref2_(ref_mass*ref_mass) {} 0104 0105 /// destructor 0106 virtual ~SecondaryLund_Mass() {} 0107 0108 /// returns the index of branch corresponding to the root of the secondary plane 0109 virtual int result(const std::vector<LundDeclustering> & declusts) const; 0110 0111 /// description of the class 0112 virtual std::string description() const; 0113 private: 0114 double mref2_; 0115 }; 0116 0117 } // namespace contrib 0118 0119 FASTJET_END_NAMESPACE 0120 0121 #endif // __FASTJET_CONTRIB_SECONDARYLUND_HH__ 0122
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|