siscone is hosted by Hepforge, IPPP Durham

The SISCone Jet Algorithm

Version 3.0.6



SISCone 3.0.6
siscone.h
1// -*- C++ -*-
3// File: siscone.h //
4// Description: header file for the main SISCone class //
5// This file is part of the SISCone project. //
6// For more details, see http://projects.hepforge.org/siscone //
7// //
8// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
9// //
10// This program is free software; you can redistribute it and/or modify //
11// it under the terms of the GNU General Public License as published by //
12// the Free Software Foundation; either version 2 of the License, or //
13// (at your option) any later version. //
14// //
15// This program is distributed in the hope that it will be useful, //
16// but WITHOUT ANY WARRANTY; without even the implied warranty of //
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
18// GNU General Public License for more details. //
19// //
20// You should have received a copy of the GNU General Public License //
21// along with this program; if not, write to the Free Software //
22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
23// //
24// $Revision:: $//
25// $Date:: $//
27
28#ifndef __SISCONE_H__
29#define __SISCONE_H__
30
31#include "protocones.h"
32#include "split_merge.h"
33
34namespace siscone{
35
48class Csiscone : public Cstable_cones, public Csplit_merge{
49 public:
51 Csiscone();
52
54 ~Csiscone();
55
76 int compute_jets(std::vector<Cmomentum> &_particles, double _radius, double _f,
77 int _n_pass_max=0, double _ptmin=0.0,
78 Esplit_merge_scale _split_merge_scale=SM_pttilde);
79
97 int compute_jets_progressive_removal(std::vector<Cmomentum> &_particles, double _radius,
98 int _n_pass_max=0, double _ptmin=0.0,
99 Esplit_merge_scale _ordering_scale=SM_pttilde);
100
113 int recompute_jets(double _f, double _ptmin = 0.0,
114 Esplit_merge_scale _split_merge_scale=SM_pttilde);
115
117 std::vector<std::vector<Cmomentum> > protocones_list;
118
119 // random number initialisation
120 static bool init_done;
121
122#ifdef DEBUG_STABLE_CONES
123 int nb_hash_cones_total, nb_hash_occupied_total;
124#endif
125
137 static void set_banner_stream(std::ostream * ostr) {_banner_ostr = ostr;}
138
143 static std::ostream * banner_stream() {return _banner_ostr;}
144
145 private:
146 bool rerun_allowed;
147 static std::ostream * _banner_ostr;
148
150 void _initialise_if_needed();
151
152};
153
154
155// finally, a bunch of functions to access to
156// basic information (package name, version)
157//---------------------------------------------
158
166std::string siscone_package_name();
167
173std::string siscone_version();
174
175}
176#endif
final class: gather everything to compute the jet contents.
Definition: siscone.h:48
std::vector< std::vector< Cmomentum > > protocones_list
list of protocones found pass-by-pass (not filled by compute_jets_progressive_removal)
Definition: siscone.h:117
int compute_jets(std::vector< Cmomentum > &_particles, double _radius, double _f, int _n_pass_max=0, double _ptmin=0.0, Esplit_merge_scale _split_merge_scale=SM_pttilde)
compute the jets from a given particle set.
Definition: siscone.cpp:79
int recompute_jets(double _f, double _ptmin=0.0, Esplit_merge_scale _split_merge_scale=SM_pttilde)
recompute the jets with a different overlap parameter.
Definition: siscone.cpp:216
~Csiscone()
default dtor
Definition: siscone.cpp:57
int compute_jets_progressive_removal(std::vector< Cmomentum > &_particles, double _radius, int _n_pass_max=0, double _ptmin=0.0, Esplit_merge_scale _ordering_scale=SM_pttilde)
compute the jets from a given particle set.
Definition: siscone.cpp:156
static bool init_done
check random generator initialisation
Definition: siscone.h:120
static void set_banner_stream(std::ostream *ostr)
A call to this function modifies the stream used to print banners (by default cout).
Definition: siscone.h:137
static std::ostream * banner_stream()
returns a pointer to the stream to be used to print banners (cout by default)
Definition: siscone.h:143
Csiscone()
default ctor
Definition: siscone.cpp:51
Class used to split and merge jets.
Definition: split_merge.h:180
Computes the list of stable comes from a particle list.
Definition: protocones.h:82

The SISCone project has been developed by Gavin Salam and Gregory Soyez
Documentation generated on Tue Jun 20 2023 18:08:37 for SISCone by  Doxygen 1.9.4