FastJet 3.4.1
TilingExtent.hh
1#ifndef __FASTJET_TILINGEXTENT_HH__
2#define __FASTJET_TILINGEXTENT_HH__
3
4#include "fastjet/ClusterSequence.hh"
5
6//FJSTARTHEADER
7// $Id$
8//
9// Copyright (c) 2005-2023, 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
36FASTJET_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
42public:
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
63private:
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
70FASTJET_END_NAMESPACE // defined in fastjet/internal/base.hh
71
72#endif // __FASTJET_TILINGEXTENT_HH__
deals with clustering
class to perform a fast analysis of the appropriate rapidity range in which to perform tiling
Definition: TilingExtent.hh:41
double minrap() const
returns the suggested minimum rapidity for the tiling
Definition: TilingExtent.hh:52
TilingExtent(const std::vector< PseudoJet > &particles)
constructor that takes a list of PseudoJets
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
double maxrap() const
returns the suggested maximum rapidity for the tiling
Definition: TilingExtent.hh:54