![]() |
|
|||
File indexing completed on 2025-02-21 10:15:33
0001 // -*- C++ -*- 0002 /////////////////////////////////////////////////////////////////////////////// 0003 // File: area.h // 0004 // Description: header file for the computation of jet area // 0005 // This file is part of the SISCone project. // 0006 // For more details, see http://projects.hepforge.org/siscone // 0007 // // 0008 // Copyright (c) 2006 Gavin Salam and Gregory Soyez // 0009 // // 0010 // This program is free software; you can redistribute it and/or modify // 0011 // it under the terms of the GNU General Public License as published by // 0012 // the Free Software Foundation; either version 2 of the License, or // 0013 // (at your option) any later version. // 0014 // // 0015 // This program is distributed in the hope that it will be useful, // 0016 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 0017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 0018 // GNU General Public License for more details. // 0019 // // 0020 // You should have received a copy of the GNU General Public License // 0021 // along with this program; if not, write to the Free Software // 0022 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA // 0023 // // 0024 // $Revision:: 149 $// 0025 // $Date:: 2007-03-15 00:13:58 +0100 (Thu, 15 Mar 2007) $// 0026 /////////////////////////////////////////////////////////////////////////////// 0027 0028 #ifndef __SISCONE_AREA_H__ 0029 #define __SISCONE_AREA_H__ 0030 0031 #include "momentum.h" 0032 #include "siscone.h" 0033 0034 namespace siscone{ 0035 0036 /** 0037 * \class Cjet_area 0038 * real Jet information, including its area(s) 0039 * 0040 * This class contains information for one single jet. 0041 * That is, first, its momentum carrying information 0042 * about its centre and pT, and second, its particle 0043 * contents. 0044 * Compared to the Cjet class, it also includes the 0045 * passive and active areas of the jet computed using 0046 * the Carea class. 0047 */ 0048 class Cjet_area : public Cjet{ 0049 public: 0050 /// default ctor 0051 Cjet_area(); 0052 0053 /// jet-initialised ctor 0054 Cjet_area(Cjet &j); 0055 0056 /// default dtor 0057 ~Cjet_area(); 0058 0059 // area information 0060 double passive_area; ///< passive area 0061 double active_area; ///< active area 0062 }; 0063 0064 /** 0065 * \class Carea 0066 * class for the computation of jet areas. 0067 * 0068 * This is the class user should use whenever you want to compute 0069 * the jet area (passive and active). . 0070 * It uses the SISCone algorithm to perform the jet analysis. 0071 */ 0072 class Carea : public Csiscone{ 0073 public: 0074 /// default ctor 0075 Carea(); 0076 0077 /// default dtor 0078 ~Carea(); 0079 0080 /** 0081 * compute the jet areas from a given particle set. 0082 * The parameters of this method are the ones which control the jet clustering alghorithn. 0083 * Note that the pt_min is not allowed here soince the jet-area determination involves soft 0084 * particles/jets and thus is used internally. 0085 * \param _particles list of particles 0086 * \param _radius cone radius 0087 * \param _f shared energy threshold for splitting&merging 0088 * \param _n_pass_max maximum number of passes (0=full search, the default) 0089 * \param _split_merge_scale the scale choice for the split-merge procedure 0090 * NOTE: SM_pt leads to IR unsafety for some events with momentum conservation. 0091 * SM_Et is IR safe but not boost invariant and not implemented(!) 0092 * SM_mt is IR safe for hadronic events, but not for decays of two 0093 * back-to-back particles of identical mass 0094 * SM_pttilde 0095 * is always IR safe, and also boost invariant (default) 0096 * \param _hard_only when this is set on, only hard jets are computed 0097 * and not the purely ghosted jets (default: false) 0098 * \return the number of jets (including pure-ghost ones if they are included) 0099 */ 0100 int compute_areas(std::vector<Cmomentum> &_particles, double _radius, double _f, 0101 int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde, 0102 bool _hard_only=false); 0103 0104 /** 0105 * compute the jet active areas from a given particle set. 0106 * The parameters of this method are the ones which control the jet clustering alghorithn. 0107 * Note that the pt_min is not allowed here soince the jet-area determination involves soft 0108 * particles/jets and thus is used internally. 0109 * See compute_areas for paramters definition. 0110 * \return the number of jets (including pure-ghost ones if they are included) 0111 */ 0112 int compute_active_areas(std::vector<Cmomentum> &_particles, double _radius, double _f, 0113 int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde, 0114 bool _hard_only=false); 0115 0116 /** 0117 * compute the jet passive areas from a given particle set. 0118 * The parameters of this method are the ones which control the jet clustering alghorithn. 0119 * Note that the pt_min is not allowed here soince the jet-area determination involves soft 0120 * particles/jets and thus is used internally. 0121 * See compute_areas for paramters definition. 0122 */ 0123 int compute_passive_areas(std::vector<Cmomentum> &_particles, double _radius, double _f, 0124 int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde); 0125 0126 int grid_size; ///< size of the grid we add soft particles on (N_soft=(grid_size^2)) 0127 double grid_eta_max; ///< maximal value of eta we add soft particles on 0128 double grid_shift; ///< fractional (random) displacement of the points om the grid 0129 0130 double pt_soft; ///< pt of the soft particles added 0131 double pt_shift; ///< amplitude of the pt random shift 0132 double pt_soft_min; ///< pt_min used in SM to compute passive areas 0133 0134 /// jets with their areas 0135 std::vector<Cjet_area> jet_areas; 0136 }; 0137 0138 } 0139 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |