Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:06:46

0001 #ifndef __FASTJET_TILINGEXTENT_HH__
0002 #define __FASTJET_TILINGEXTENT_HH__
0003 
0004 #include "fastjet/ClusterSequence.hh"
0005 
0006 //FJSTARTHEADER
0007 // $Id$
0008 //
0009 // Copyright (c) 2005-2021, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
0010 //
0011 //----------------------------------------------------------------------
0012 // This file is part of FastJet.
0013 //
0014 //  FastJet is free software; you can redistribute it and/or modify
0015 //  it under the terms of the GNU General Public License as published by
0016 //  the Free Software Foundation; either version 2 of the License, or
0017 //  (at your option) any later version.
0018 //
0019 //  The algorithms that underlie FastJet have required considerable
0020 //  development. They are described in the original FastJet paper,
0021 //  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
0022 //  FastJet as part of work towards a scientific publication, please
0023 //  quote the version you use and include a citation to the manual and
0024 //  optionally also to hep-ph/0512210.
0025 //
0026 //  FastJet is distributed in the hope that it will be useful,
0027 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
0028 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0029 //  GNU General Public License for more details.
0030 //
0031 //  You should have received a copy of the GNU General Public License
0032 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
0033 //----------------------------------------------------------------------
0034 //FJENDHEADER
0035 
0036 FASTJET_BEGIN_NAMESPACE      // defined in fastjet/internal/base.hh
0037 
0038 //----------------------------------------------------------------------
0039 /// class to perform a fast analysis of the appropriate rapidity range
0040 /// in which to perform tiling
0041 class TilingExtent {
0042 public:
0043   /// constructor that takes a ClusterSequence in a state where the
0044   /// initial particles have been set up, but before clustering has
0045   /// started.
0046   TilingExtent(ClusterSequence & cs);
0047 
0048   /// constructor that takes a list of PseudoJets
0049   TilingExtent(const std::vector<PseudoJet> &particles);
0050 
0051   /// returns the suggested minimum rapidity for the tiling
0052   double minrap() const {return _minrap;}
0053   /// returns the suggested maximum rapidity for the tiling
0054   double maxrap() const {return _maxrap;}
0055 
0056   /// internally, the class bins the particle multiplicity versus
0057   /// rapidity, in bins of size 1 running roughly from minrap to maxrap
0058   /// (including overflows); this function returns the sum of squares
0059   /// of bin contents, which may be informative for deciding strategy
0060   /// choices.
0061   double sum_of_binned_squared_multiplicity() const {return _cumul2;}
0062 
0063 private:
0064   double _minrap, _maxrap, _cumul2;
0065 
0066   /// attempts to calculate a sensible rapidity extent for the tiling
0067   void _determine_rapidity_extent(const std::vector<PseudoJet> & particles);
0068 };
0069 
0070 FASTJET_END_NAMESPACE      // defined in fastjet/internal/base.hh
0071 
0072 #endif // __FASTJET_TILINGEXTENT_HH__