FastJet  3.3.2
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 4354 2018-04-22 07:12:37Z salam $
8 //
9 // Copyright (c) 2005-2018, 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  /// constructor that takes a list of PseudoJets
49  TilingExtent(const std::vector<PseudoJet> &particles);
50 
51  /// returns the suggested minimum rapidity for the tiling
52  double minrap() const {return _minrap;}
53  /// returns the suggested maximum rapidity for the tiling
54  double maxrap() const {return _maxrap;}
55 
56  /// internally, the class bins the particle multiplicity versus
57  /// rapidity, in bins of size 1 running roughly from minrap to maxrap
58  /// (including overflows); this function returns the sum of squares
59  /// of bin contents, which may be informative for deciding strategy
60  /// choices.
61  double sum_of_binned_squared_multiplicity() const {return _cumul2;}
62 
63 private:
64  double _minrap, _maxrap, _cumul2;
65 
66  /// attempts to calculate a sensible rapidity extent for the tiling
67  void _determine_rapidity_extent(const std::vector<PseudoJet> & particles);
68 };
69 
70 FASTJET_END_NAMESPACE // defined in fastjet/internal/base.hh
71 
72 #endif // __FASTJET_TILINGEXTENT_HH__
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:61
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:52
double maxrap() const
returns the suggested maximum rapidity for the tiling
Definition: TilingExtent.hh:54