|
SISCone
2.0.5
|
00001 // -*- C++ -*- 00003 // File: area.h // 00004 // Description: header file for the computation of jet area // 00005 // This file is part of the SISCone project. // 00006 // For more details, see http://projects.hepforge.org/siscone // 00007 // // 00008 // Copyright (c) 2006 Gavin Salam and Gregory Soyez // 00009 // // 00010 // This program is free software; you can redistribute it and/or modify // 00011 // it under the terms of the GNU General Public License as published by // 00012 // the Free Software Foundation; either version 2 of the License, or // 00013 // (at your option) any later version. // 00014 // // 00015 // This program is distributed in the hope that it will be useful, // 00016 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 00018 // GNU General Public License for more details. // 00019 // // 00020 // You should have received a copy of the GNU General Public License // 00021 // along with this program; if not, write to the Free Software // 00022 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA // 00023 // // 00024 // $Revision:: 149 $// 00025 // $Date:: 2007-03-15 00:13:58 +0100 (Thu, 15 Mar 2007) $// 00027 00028 #ifndef __SISCONE_AREA_H__ 00029 #define __SISCONE_AREA_H__ 00030 00031 #include "momentum.h" 00032 #include "siscone.h" 00033 00034 namespace siscone{ 00035 00048 class Cjet_area : public Cjet{ 00049 public: 00051 Cjet_area(); 00052 00054 Cjet_area(Cjet &j); 00055 00057 ~Cjet_area(); 00058 00059 // area information 00060 double passive_area; 00061 double active_area; 00062 }; 00063 00072 class Carea : public Csiscone{ 00073 public: 00075 Carea(); 00076 00078 ~Carea(); 00079 00100 int compute_areas(std::vector<Cmomentum> &_particles, double _radius, double _f, 00101 int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde, 00102 bool _hard_only=false); 00103 00112 int compute_active_areas(std::vector<Cmomentum> &_particles, double _radius, double _f, 00113 int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde, 00114 bool _hard_only=false); 00115 00123 int compute_passive_areas(std::vector<Cmomentum> &_particles, double _radius, double _f, 00124 int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde); 00125 00126 int grid_size; 00127 double grid_eta_max; 00128 double grid_shift; 00129 00130 double pt_soft; 00131 double pt_shift; 00132 double pt_soft_min; 00133 00135 std::vector<Cjet_area> jet_areas; 00136 }; 00137 00138 } 00139 #endif