FastJet  3.1.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
TilingExtent.hh
1 #ifndef __FASTJET_TILINGEXTENT_HH__
2 #define __FASTJET_TILINGEXTENT_HH__
3 
4 #include "fastjet/ClusterSequence.hh"
5 
6 //FJSTARTHEADER
7 // $Id: TilingExtent.hh 3433 2014-07-23 08:17:03Z salam $
8 //
9 // Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
10 //
11 //----------------------------------------------------------------------
12 // This file is part of FastJet.
13 //
14 // FastJet is free software; you can redistribute it and/or modify
15 // it under the terms of the GNU General Public License as published by
16 // the Free Software Foundation; either version 2 of the License, or
17 // (at your option) any later version.
18 //
19 // The algorithms that underlie FastJet have required considerable
20 // development. They are described in the original FastJet paper,
21 // hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
22 // FastJet as part of work towards a scientific publication, please
23 // quote the version you use and include a citation to the manual and
24 // optionally also to hep-ph/0512210.
25 //
26 // FastJet is distributed in the hope that it will be useful,
27 // but WITHOUT ANY WARRANTY; without even the implied warranty of
28 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 // GNU General Public License for more details.
30 //
31 // You should have received a copy of the GNU General Public License
32 // along with FastJet. If not, see <http://www.gnu.org/licenses/>.
33 //----------------------------------------------------------------------
34 //FJENDHEADER
35 
36 FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh
37 
38 //----------------------------------------------------------------------
39 /// class to perform a fast analysis of the appropriate rapidity range
40 /// in which to perform tiling
41 class TilingExtent {
42 public:
43  /// constructor that takes a ClusterSequence in a state where the
44  /// initial particles have been set up, but before clustering has
45  /// started.
47 
48  /// returns the suggested minimum rapidity for the tiling
49  double minrap() const {return _minrap;}
50  /// returns the suggested maximum rapidity for the tiling
51  double maxrap() const {return _maxrap;}
52 
53  /// internally, the class bins the particle multiplicity versus
54  /// rapidity, in bins of size 1 running roughly from minrap to maxrap
55  /// (including overflows); this function returns the sum of squares
56  /// of bin contents, which may be informative for deciding strategy
57  /// choices.
58  double sum_of_binned_squared_multiplicity() const {return _cumul2;}
59 
60 private:
61  double _minrap, _maxrap, _cumul2;
62 
63  /// attempts to calculate a sensible rapidity extent for the tiling
64  void _determine_rapidity_extent(const std::vector<PseudoJet> & particles);
65 };
66 
67 FASTJET_END_NAMESPACE // defined in fastjet/internal/base.hh
68 
69 #endif // __FASTJET_TILINGEXTENT_HH__
class to perform a fast analysis of the appropriate rapidity range in which to perform tiling ...
Definition: TilingExtent.hh:41
deals with clustering
double minrap() const
returns the suggested minimum rapidity for the tiling
Definition: TilingExtent.hh:49
double maxrap() const
returns the suggested maximum rapidity for the tiling
Definition: TilingExtent.hh:51
double sum_of_binned_squared_multiplicity() const
internally, the class bins the particle multiplicity versus rapidity, in bins of size 1 running rough...
Definition: TilingExtent.hh:58