Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-21 08:23:36

0001 // $Id: GHSAlgo.hh 1507 2025-01-30 10:33:36Z gstagn $
0002 //
0003 // Copyright (c) 2025, Rhorry Gauld, Alexander Huss, Giovanni Stagnitto
0004 //
0005 // based on initial version by Fabrizio Caola, Radoslaw Grabarczyk,
0006 // Maxwell Hutt, Gavin P. Salam, Ludovic Scyboz, and Jesse Thaler
0007 //
0008 //----------------------------------------------------------------------
0009 // This file is part of FastJet contrib.
0010 //
0011 // It is free software; you can redistribute it and/or modify it under
0012 // the terms of the GNU General Public License as published by the
0013 // Free Software Foundation; either version 2 of the License, or (at
0014 // your option) any later version.
0015 //
0016 // It is distributed in the hope that it will be useful, but WITHOUT
0017 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
0018 // or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
0019 // License for more details.
0020 //
0021 // You should have received a copy of the GNU General Public License
0022 // along with this code. If not, see <http://www.gnu.org/licenses/>.
0023 //----------------------------------------------------------------------
0024 
0025 #ifndef __FASTJET_CONTRIB_GHSPLUGIN_HH__
0026 #define __FASTJET_CONTRIB_GHSPLUGIN_HH__
0027 
0028 #include <fastjet/internal/base.hh>
0029 
0030 #include <iostream>
0031 
0032 #ifndef __FJC_FLAVINFO_USEFJCORE__
0033 #include "fastjet/NNH.hh"
0034 #include "fastjet/PseudoJet.hh"
0035 #endif
0036 
0037 #include "fastjet/contrib/FlavInfo.hh"
0038 
0039 FASTJET_BEGIN_NAMESPACE      // defined in fastjet/internal/base.hh
0040 
0041 namespace contrib{
0042 
0043   /// given a list of base-jets (before applying a hardness cut) in
0044   /// the event (jets_base), return the jets with "dressed" flavour information
0045   ///
0046   /// @param jets_base: the input base-jets; the full list of event
0047   /// particles and associated flavours will be deduced from
0048   /// ClusterSequence associated with these jets.
0049   ///
0050   /// @param ptcut: this parameter applies a hardness cut on the base-jets
0051   /// and should be chosen to match the fiducial jet definition
0052   ///
0053   /// @param alpha: power of (ktmax/ktmin) used in the flavour-kt distance
0054   ///
0055   /// @param omega: relative weighting of rapidity separation
0056   ///
0057   /// @returns the list of hard jets dressed with their flavour
0058   std::vector<PseudoJet> run_GHS(
0059       const std::vector<PseudoJet> &jets_base, double ptcut, double alpha = 1.,
0060       double omega = 2.,
0061       const FlavRecombiner &flav_recombiner = FlavRecombiner());
0062 
0063 } // namespace contrib
0064 
0065 FASTJET_END_NAMESPACE
0066 
0067 #endif  // __FASTJET_CONTRIB_GHSPLUGIN_HH__