 |
DAS
3.0
Das Analysis System
|
Go to the documentation of this file.
85 #define __FJCORE__ // remove all the non-core code (a safekeeper)
86 #define __FJCORE_DROP_CGAL // disable CGAL support
87 #ifndef _INCLUDE_FJCORE_CONFIG_AUTO_H
88 #define _INCLUDE_FJCORE_CONFIG_AUTO_H 1
89 #ifndef FJCORE_HAVE_CXX14_DEPRECATED
91 #ifndef FJCORE_HAVE_DLFCN_H
92 # define FJCORE_HAVE_DLFCN_H 1
94 #ifndef FJCORE_HAVE_EXECINFO_H
96 #ifndef FJCORE_HAVE_EXPLICIT_FOR_OPERATORS
98 #ifndef FJCORE_HAVE_GNUCXX_DEPRECATED
100 #ifndef FJCORE_HAVE_INTTYPES_H
101 # define FJCORE_HAVE_INTTYPES_H 1
103 #ifndef FJCORE_HAVE_LIBM
104 # define FJCORE_HAVE_LIBM 1
106 #ifndef FJCORE_HAVE_MEMORY_H
107 # define FJCORE_HAVE_MEMORY_H 1
109 #ifndef FJCORE_HAVE_OVERRIDE
111 #ifndef FJCORE_HAVE_STDINT_H
112 # define FJCORE_HAVE_STDINT_H 1
114 #ifndef FJCORE_HAVE_STDLIB_H
115 # define FJCORE_HAVE_STDLIB_H 1
117 #ifndef FJCORE_HAVE_STRINGS_H
118 # define FJCORE_HAVE_STRINGS_H 1
120 #ifndef FJCORE_HAVE_STRING_H
121 # define FJCORE_HAVE_STRING_H 1
123 #ifndef FJCORE_HAVE_SYS_STAT_H
124 # define FJCORE_HAVE_SYS_STAT_H 1
126 #ifndef FJCORE_HAVE_SYS_TYPES_H
127 # define FJCORE_HAVE_SYS_TYPES_H 1
129 #ifndef FJCORE_HAVE_UNISTD_H
130 # define FJCORE_HAVE_UNISTD_H 1
132 #ifndef FJCORE_LT_OBJDIR
133 # define FJCORE_LT_OBJDIR ".libs/"
135 #ifndef FJCORE_PACKAGE
136 # define FJCORE_PACKAGE "fastjet"
138 #ifndef FJCORE_PACKAGE_BUGREPORT
139 # define FJCORE_PACKAGE_BUGREPORT ""
141 #ifndef FJCORE_PACKAGE_NAME
142 # define FJCORE_PACKAGE_NAME "FastJet"
144 #ifndef FJCORE_PACKAGE_STRING
145 # define FJCORE_PACKAGE_STRING "FastJet 3.3.2"
147 #ifndef FJCORE_PACKAGE_TARNAME
148 # define FJCORE_PACKAGE_TARNAME "fastjet"
150 #ifndef FJCORE_PACKAGE_URL
151 # define FJCORE_PACKAGE_URL ""
153 #ifndef FJCORE_PACKAGE_VERSION
154 # define FJCORE_PACKAGE_VERSION "3.3.2"
156 #ifndef FJCORE_STDC_HEADERS
157 # define FJCORE_STDC_HEADERS 1
159 #ifndef FJCORE_VERSION
160 # define FJCORE_VERSION "3.3.2"
162 #ifndef FJCORE_VERSION_MAJOR
163 # define FJCORE_VERSION_MAJOR 3
165 #ifndef FJCORE_VERSION_MINOR
166 # define FJCORE_VERSION_MINOR 3
168 #ifndef FJCORE_VERSION_NUMBER
169 # define FJCORE_VERSION_NUMBER 30302
171 #ifndef FJCORE_VERSION_PATCHLEVEL
172 # define FJCORE_VERSION_PATCHLEVEL 2
175 #ifndef __FJCORE_CONFIG_H__
176 #define __FJCORE_CONFIG_H__
177 #endif // __FJCORE_CONFIG_H__
178 #ifndef __FJCORE_FASTJET_BASE_HH__
179 #define __FJCORE_FASTJET_BASE_HH__
180 #define FJCORE_BEGIN_NAMESPACE namespace fjcore {
181 #define FJCORE_END_NAMESPACE }
182 #ifdef FJCORE_HAVE_OVERRIDE
183 # define FJCORE_OVERRIDE override
185 # define FJCORE_OVERRIDE
187 #endif // __FJCORE_FASTJET_BASE_HH__
188 #ifndef __FJCORE_NUMCONSTS__
189 #define __FJCORE_NUMCONSTS__
191 const double pi = 3.141592653589793238462643383279502884197;
192 const double twopi = 6.283185307179586476925286766559005768394;
193 const double pisq = 9.869604401089358618834490999876151135314;
194 const double zeta2 = 1.644934066848226436472415166646025189219;
195 const double zeta3 = 1.202056903159594285399738161511449990765;
196 const double eulergamma = 0.577215664901532860606512090082402431042;
197 const double ln2 = 0.693147180559945309417232121458176568076;
199 #endif // __FJCORE_NUMCONSTS__
200 #ifndef __FJCORE_INTERNAL_IS_BASE_HH__
201 #define __FJCORE_INTERNAL_IS_BASE_HH__
203 template<
typename T, T _t>
209 template<
typename T, T _t>
215 template<
typename B,
typename D>
217 #if !((_MSC_VER !=0 ) && (_MSC_VER == 1310)) // MSVC 7.1
218 template <
typename T>
225 template<
typename B,
typename D>
227 #if ((_MSC_FULL_VER != 0) && (_MSC_FULL_VER >= 140050000))
228 #pragma warning(push)
229 #pragma warning(disable:6334)
232 #if !((_MSC_VER !=0 ) && (_MSC_VER == 1310))
233 operator B const volatile *()
const;
235 operator B const volatile *
const&()
const;
237 operator D
const volatile *();
239 static const bool value = ((
sizeof(
B)!=0) &&
242 #if ((_MSC_FULL_VER != 0) && (_MSC_FULL_VER >= 140050000))
246 template<
class B,
class D>
251 #endif // __IS_BASE_OF_HH__
252 #ifndef __FJCORE_FJCORE_DEPRECATED_HH__
253 #define __FJCORE_FJCORE_DEPRECATED_HH__
255 #if defined(FJCORE_HAVE_CXX14_DEPRECATED) and (!defined(__FJCORE__))
256 # define FJCORE_DEPRECATED [[deprecated]]
257 # define FJCORE_DEPRECATED_MSG(message) [[deprecated(message)]]
258 #elif defined(FJCORE_HAVE_GNUCXX_DEPRECATED)
259 # define FJCORE_DEPRECATED __attribute__((__deprecated__))
260 # define FJCORE_DEPRECATED_MSG(message) __attribute__((__deprecated__))
262 # define FJCORE_DEPRECATED
263 # define FJCORE_DEPRECATED_MSG(message)
266 # define FJCORE_DEPRECATED
267 # define FJCORE_DEPRECATED_MSG(message)
269 #endif // __FJCORE_FJCORE_DEPRECATED_HH__
270 #ifndef __FJCORE_SHARED_PTR_HH__
271 #define __FJCORE_SHARED_PTR_HH__
273 #ifdef __FJCORE_USETR1SHAREDPTR
274 #include <tr1/memory>
275 #endif // __FJCORE_USETR1SHAREDPTR
277 #ifdef __FJCORE_USETR1SHAREDPTR
279 class SharedPtr :
public std::tr1::shared_ptr<T> {
281 SharedPtr() : std::tr1::shared_ptr<T>() {}
282 SharedPtr(T * t) : std::tr1::shared_ptr<T>(t) {}
284 #ifdef FJCORE_HAVE_EXPLICIT_FOR_OPERATORS
287 inline operator bool()
const {
return (this->
get()!=NULL);}
292 #else // __FJCORE_USETR1SHAREDPTR
299 _ptr =
new __SharedCountingPtr(ptr);
302 if (
_ptr!=NULL) ++(*_ptr);
305 if (
_ptr==NULL)
return;
311 template<
class Y>
void reset(Y * ptr){
320 if (
_ptr!=NULL) ++(*_ptr);
331 T* operator ()()
const{
332 if (
_ptr==NULL)
return NULL;
339 if (
_ptr==NULL)
return NULL;
343 if (
_ptr==NULL)
return NULL;
350 if (
_ptr==NULL)
return 0;
353 #ifdef FJCORE_HAVE_EXPLICIT_FOR_OPERATORS
356 inline operator bool()
const{
357 return (
get()!=NULL);
360 __SharedCountingPtr* share_container = share.
_ptr;
362 _ptr = share_container;
365 if (
_ptr==NULL)
return;
399 template<
class T,
class U>
401 return t.
get() == u.
get();
403 template<
class T,
class U>
405 return t.
get() != u.
get();
407 template<
class T,
class U>
419 #endif // __FJCORE_USETR1SHAREDPTR
421 #endif // __FJCORE_SHARED_PTR_HH__
422 #ifndef __FJCORE_LIMITEDWARNING_HH__
423 #define __FJCORE_LIMITEDWARNING_HH__
434 void warn(
const char * warning, std::ostream * ostr);
435 void warn(
const std::string & warning, std::ostream * ostr) {
warn(warning.c_str(), ostr);}
449 typedef std::pair<std::string, unsigned int>
Summary;
454 #endif // __FJCORE_LIMITEDWARNING_HH__
455 #ifndef __FJCORE_ERROR_HH__
456 #define __FJCORE_ERROR_HH__
459 #if (!defined(FJCORE_HAVE_EXECINFO_H)) || defined(__FJCORE__)
479 #if (!defined(FJCORE_HAVE_EXECINFO_H)) || defined(__FJCORE__)
485 InternalError(
const std::string & message_in) :
Error(std::string(
"*** CRITICAL INTERNAL FASTJET ERROR *** CONTACT THE AUTHORS *** ") + message_in){ }
488 #endif // __FJCORE_ERROR_HH__
489 #ifndef __FJCORE_PSEUDOJET_STRUCTURE_BASE_HH__
490 #define __FJCORE_PSEUDOJET_STRUCTURE_BASE_HH__
500 virtual std::string
description()
const{
return "PseudoJet with an unknown structure"; }
523 #endif // __FJCORE_PSEUDOJET_STRUCTURE_BASE_HH__
524 #ifndef __FJCORE_PSEUDOJET_HH__
525 #define __FJCORE_PSEUDOJET_HH__
538 PseudoJet(
const double px,
const double py,
const double pz,
const double E);
540 template <
class L>
PseudoJet(
const L & some_four_vector);
544 inline double E()
const {
return _E;}
545 inline double e()
const {
return _E;}
546 inline double px()
const {
return _px;}
547 inline double py()
const {
return _py;}
548 inline double pz()
const {
return _pz;}
557 inline double rap()
const {
565 inline double pt()
const {
return sqrt(
_kt2);}
571 inline double m()
const;
575 inline double mt()
const {
return sqrt(std::abs(
mperp2()));}
581 return std::min(1.0, std::max(-1.0,
_pz/sqrt(
modp2())));
595 std::valarray<double>
four_mom()
const;
603 inline void reset(
double px,
double py,
double pz,
double E);
608 template <
class L>
inline void reset(
const L & some_four_vector) {
609 const PseudoJet * pj = fjcore::cast_if_derived<const PseudoJet>(&some_four_vector);
613 reset(some_four_vector[0], some_four_vector[1],
614 some_four_vector[2], some_four_vector[3]);
618 inline void reset_PtYPhiM(
double pt_in,
double y_in,
double phi_in,
double m_in=0.0) {
627 some_four_vector[2], some_four_vector[3]);
647 return dynamic_cast<const L &
>(*
_user_info.get());
682 template<
typename StructureType>
684 template<
typename TransformerType>
686 template<
typename TransformerType>
687 const typename TransformerType::StructureType &
structure_of()
const;
703 virtual std::vector<PseudoJet>
pieces()
const;
738 return a.
E()*b.
E() - a.
px()*b.
px() - a.
py()*b.
py() - a.
pz()*b.
pz();
741 double dot_3d = a.
px()*b.
px() + a.
py()*b.
py() + a.
pz()*b.
pz();
742 return std::min(1.0, std::max(-1.0, dot_3d/sqrt(a.
modp2()*b.
modp2())));
751 std::vector<PseudoJet>
sorted_by_E(
const std::vector<PseudoJet> &
jets);
754 const std::vector<double> & values);
756 const std::vector<double> & values) {
757 if (objects.size() != values.size()){
758 throw Error(
"fjcore::objects_sorted_by_values(...): the size of the 'objects' vector must match the size of the 'values' vector");
760 std::vector<int> indices(values.size());
761 for (
size_t i = 0; i < indices.size(); i++) {indices[i] = i;}
763 std::vector<T> objects_sorted(objects.size());
764 for (
size_t i = 0; i < indices.size(); i++) {
765 objects_sorted[i] = objects[indices[i]];
767 return objects_sorted;
782 reset(some_four_vector);
793 return mm < 0.0 ? -std::sqrt(-mm) : std::sqrt(mm);
819 template<
typename StructureType>
823 template<
typename TransformerType>
826 return dynamic_cast<const typename TransformerType::StructureType *
>(
_structure.
get()) != 0;
828 template<
typename TransformerType>
831 throw Error(
"Trying to access the structure of a PseudoJet without an associated structure");
832 return dynamic_cast<const typename TransformerType::StructureType &
>(*_structure);
840 #endif // __FJCORE_PSEUDOJET_HH__
841 #ifndef __FJCORE_FUNCTION_OF_PSEUDOJET_HH__
842 #define __FJCORE_FUNCTION_OF_PSEUDOJET_HH__
844 template<
typename TOut>
852 std::vector<TOut>
operator()(
const std::vector<PseudoJet> &pjs)
const {
853 std::vector<TOut> res(pjs.size());
854 for (
unsigned int i=0; i<pjs.size(); i++)
860 #endif // __FJCORE_FUNCTION_OF_PSEUDOJET_HH__
861 #ifndef __FJCORE_SELECTOR_HH__
862 #define __FJCORE_SELECTOR_HH__
872 for (
unsigned i = 0; i <
jets.size(); i++) {
877 virtual std::string
description()
const {
return "missing description";}
880 throw Error(
"set_reference(...) cannot be used for a selector worker that does not take a reference");
883 throw Error(
"this SelectorWorker has nothing to copy");
886 rapmax = std::numeric_limits<double>::infinity();
893 throw Error(
"this selector has no computable area");
903 throw Error(
"Cannot apply this selector to an individual jet");
910 unsigned int count(
const std::vector<PseudoJet> &
jets)
const;
913 void sift(
const std::vector<PseudoJet> &
jets,
914 std::vector<PseudoJet> & jets_that_pass,
915 std::vector<PseudoJet> & jets_that_fail)
const;
919 std::vector<PseudoJet>
operator()(
const std::vector<PseudoJet> &
jets)
const;
958 InvalidArea() :
Error(
"Attempt to obtain area from Selector for which this is not meaningful") {}
1009 #endif // __FJCORE_SELECTOR_HH__
1010 #ifndef __FJCORE_JETDEFINITION_HH__
1011 #define __FJCORE_JETDEFINITION_HH__
1073 *
this =
JetDefinition(jet_algorithm_in, R_in, recomb_scheme_in, strategy_in, 1);
1078 double dummyR = 0.0;
1079 *
this =
JetDefinition(jet_algorithm_in, dummyR, recomb_scheme_in, strategy_in, 0);
1083 double xtra_param_in,
1086 *
this =
JetDefinition(jet_algorithm_in, R_in, recomb_scheme_in, strategy_in, 2);
1104 double xtra_param_in,
1125 int nparameters_in);
1126 FJCORE_DEPRECATED_MSG(
"This argument ordering is deprecated. Use JetDefinition(alg, R, strategy, scheme[, n_parameters]) instead")
1131 int nparameters_in = 1){
1132 (*this) =
JetDefinition(jet_algorithm_in,R_in,recomb_scheme_in,strategy_in,nparameters_in);
1195 virtual double R()
const = 0;
1224 #endif // __FJCORE_JETDEFINITION_HH__
1225 #ifndef __FJCORE_COMPOSITEJET_STRUCTURE_HH__
1226 #define __FJCORE_COMPOSITEJET_STRUCTURE_HH__
1247 for (
unsigned int i=0; i<pieces.size(); i++){
1251 T *cj_struct =
new T(pieces);
1256 return join<T>(std::vector<PseudoJet>(1,j1));
1259 std::vector<PseudoJet> pieces;
1260 pieces.push_back(j1);
1261 pieces.push_back(j2);
1262 return join<T>(pieces);
1266 std::vector<PseudoJet> pieces;
1267 pieces.push_back(j1);
1268 pieces.push_back(j2);
1269 pieces.push_back(j3);
1270 return join<T>(pieces);
1274 std::vector<PseudoJet> pieces;
1275 pieces.push_back(j1);
1276 pieces.push_back(j2);
1277 pieces.push_back(j3);
1278 pieces.push_back(j4);
1279 return join<T>(pieces);
1284 if (pieces.size()>0){
1286 for (
unsigned int i=1; i<pieces.size(); i++){
1290 T *cj_struct =
new T(pieces, &recombiner);
1296 return join<T>(std::vector<PseudoJet>(1,j1), recombiner);
1300 std::vector<PseudoJet> pieces;
1302 pieces.push_back(j1);
1303 pieces.push_back(j2);
1304 return join<T>(pieces, recombiner);
1309 std::vector<PseudoJet> pieces;
1311 pieces.push_back(j1);
1312 pieces.push_back(j2);
1313 pieces.push_back(j3);
1314 return join<T>(pieces, recombiner);
1319 std::vector<PseudoJet> pieces;
1321 pieces.push_back(j1);
1322 pieces.push_back(j2);
1323 pieces.push_back(j3);
1324 pieces.push_back(j4);
1325 return join<T>(pieces, recombiner);
1328 #endif // __FJCORE_MERGEDJET_STRUCTURE_HH__
1329 #ifndef __FJCORE_CLUSTER_SEQUENCE_STRUCTURE_HH__
1330 #define __FJCORE_CLUSTER_SEQUENCE_STRUCTURE_HH__
1341 return "PseudoJet with an associated ClusterSequence";
1368 #endif // __FJCORE_CLUSTER_SEQUENCE_STRUCTURE_HH__
1369 #ifndef __FJCORE_CLUSTERSEQUENCE_HH__
1370 #define __FJCORE_CLUSTERSEQUENCE_HH__
1386 const std::vector<L> & pseudojets,
1388 const bool & writeout_combinations =
false);
1390 transfer_from_sequence(cs);
1394 std::vector<PseudoJet> inclusive_jets (
const double ptmin = 0.0)
const;
1395 int n_exclusive_jets (
const double dcut)
const;
1396 std::vector<PseudoJet> exclusive_jets (
const double dcut)
const;
1397 std::vector<PseudoJet> exclusive_jets (
const int njets)
const;
1398 std::vector<PseudoJet> exclusive_jets_up_to (
const int njets)
const;
1399 double exclusive_dmerge (
const int njets)
const;
1400 double exclusive_dmerge_max (
const int njets)
const;
1405 int njets = n_exclusive_jets_ycut(ycut);
1406 return exclusive_jets(njets);
1409 const double dcut)
const;
1411 const double dcut)
const;
1418 double Q()
const {
return _Qtot;}
1419 double Q2()
const {
return _Qtot*_Qtot;}
1427 void print_jets_for_root(
const std::vector<PseudoJet> &
jets,
1428 std::ostream & ostr = std::cout)
const;
1429 void print_jets_for_root(
const std::vector<PseudoJet> &
jets,
1430 const std::string & filename,
1431 const std::string & comment =
"")
const;
1432 void add_constituents (
const PseudoJet & jet,
1433 std::vector<PseudoJet> & subjet_vector)
const;
1436 std::string strategy_string (
Strategy strategy_in)
const;
1438 void delete_self_when_unused();
1440 void signal_imminent_self_deletion()
const;
1441 double jet_scale_for_algorithm(
const PseudoJet & jet)
const;
1444 assert(plugin_activated());
1445 _do_ij_recombination_step(jet_i, jet_j, dij, newjet_k);
1447 void plugin_record_ij_recombination(
int jet_i,
int jet_j,
double dij,
1451 assert(plugin_activated());
1452 _do_iB_recombination_step(jet_i, diB);
1457 virtual std::string
description()
const {
return "This is a dummy extras class that contains no extra information! Derive from it if you want to use it to provide extra information from a plugin jet finder";}
1460 _extras.reset(extras_in);
1463 #ifdef FJCORE_HAVE_AUTO_PTR_INTERFACE
1464 FJCORE_DEPRECATED_MSG(
"Please use ClusterSequence::plugin_associate_extras(Extras * extras_in)) instead")
1465 inline
void plugin_associate_extras(std::auto_ptr<Extras> extras_in){
1466 _extras.reset(extras_in.release());
1473 assert(plugin_activated());
1474 _simple_N2_cluster<GBJ>();
1486 double max_dij_so_far;
1490 enum JetType {Invalid=-3, InexistentParent = -2, BeamJet = -1};
1491 const std::vector<PseudoJet> &
jets()
const;
1492 const std::vector<history_element> & history()
const;
1493 unsigned int n_particles()
const;
1494 std::vector<int> particle_jet_indices(
const std::vector<PseudoJet> &)
const;
1495 std::vector<int> unique_history_order()
const;
1496 std::vector<PseudoJet> unclustered_particles()
const;
1497 std::vector<PseudoJet> childless_pseudojets()
const;
1498 bool contains(
const PseudoJet &
object)
const;
1502 return _structure_shared_ptr;
1505 static void print_banner();
1512 template<
class L>
void _transfer_input_jets(
1513 const std::vector<L> & pseudojets);
1515 const bool & writeout_combinations);
1516 void _initialise_and_run_no_decant();
1518 const bool & writeout_combinations);
1519 void _decant_options_partial();
1520 void _fill_initial_history();
1521 void _do_ij_recombination_step(
const int jet_i,
const int jet_j,
1522 const double dij,
int & newjet_k);
1523 void _do_iB_recombination_step(
const int jet_i,
const double diB);
1524 void _set_structure_shared_ptr(
PseudoJet & j);
1525 void _update_structure_use_count();
1529 _Parabola(
double a,
double b,
double c) : _a(a), _b(b), _c(c) {}
1530 inline double operator()(
const double R)
const {
return _c*(_a*R*R + _b*R + 1);}
1536 _Line(
double a,
double b) : _a(a), _b(b) {}
1537 inline double operator()(
const double R)
const {
return _a*R + _b;}
1543 void get_subhist_set(std::set<const history_element*> & subhist,
1544 const PseudoJet & jet,
double dcut,
int maxjet)
const;
1557 void _really_dumb_cluster ();
1558 void _delaunay_cluster ();
1560 void _tiled_N2_cluster ();
1561 void _faster_tiled_N2_cluster ();
1562 void _minheap_faster_tiled_N2_cluster();
1563 void _CP2DChan_cluster();
1564 void _CP2DChan_cluster_2pi2R ();
1565 void _CP2DChan_cluster_2piMultD ();
1566 void _CP2DChan_limited_cluster(
double D);
1567 void _do_Cambridge_inclusive_jets();
1569 void _add_step_to_history(
1571 const int parent2,
const int jetp_index,
1573 void _extract_tree_children(
int pos, std::valarray<bool> &,
1574 const std::valarray<int> &, std::vector<int> &)
const;
1575 void _extract_tree_parents (
int pos, std::valarray<bool> &,
1576 const std::valarray<int> &, std::vector<int> &)
const;
1579 typedef std::multimap<double,TwoVertices>
DistMap;
1580 void _add_ktdistance_to_map(
const int ii,
1600 template <
class J>
void _bj_set_jetinfo( J *
const jet,
1601 const int _jets_index)
const;
1603 template <
class J>
double _bj_dist(
const J *
const jeta,
1604 const J *
const jetb)
const;
1605 template <
class J>
double _bj_diJ(
const J *
const jeta)
const;
1607 const int hist_index,
1608 J *
const head, J *
const tail)
1611 for(res = head; res<tail; res++) {
1612 if (_jets[res->_jets_index].cluster_hist_index() == hist_index) {
break;}
1616 template <
class J>
void _bj_set_NN_nocross(J *
const jeta,
1617 J *
const head,
const J *
const tail)
const;
1618 template <
class J>
void _bj_set_NN_crosscheck(J *
const jeta,
1619 J *
const head,
const J *
const tail)
const;
1634 return (ieta-_tiles_ieta_min)*_n_tiles_phi
1635 + (iphi+_n_tiles_phi) % _n_tiles_phi;
1637 int _tile_index(
const double eta,
const double phi)
const;
1638 void _tj_set_jetinfo (
TiledJet *
const jet,
const int _jets_index);
1639 void _bj_remove_from_tiles(
TiledJet *
const jet);
1640 void _initialise_tiles();
1641 void _print_tiles(
TiledJet * briefjets )
const;
1642 void _add_neighbours_to_tile_union(
const int tile_index,
1643 std::vector<int> & tile_union,
int & n_near_tiles)
const;
1644 void _add_untagged_neighbours_to_tile_union(
const int tile_index,
1645 std::vector<int> & tile_union,
int & n_near_tiles);
1653 void _simple_N2_cluster_BriefJet();
1654 void _simple_N2_cluster_EEBriefJet();
1657 const std::vector<L> & pseudojets) {
1658 _jets.reserve(pseudojets.size()*2);
1659 for (
unsigned int i = 0; i < pseudojets.size(); i++) {
1660 _jets.push_back(pseudojets[i]);}
1663 const std::vector<L> & pseudojets,
1665 const bool & writeout_combinations) :
1666 _jet_def(jet_def_in), _writeout_combinations(writeout_combinations),
1684 std::vector<PseudoJet>
jets;
1690 if (
jets.size() != 0) {
1699 J *
const jetA,
const int _jets_index)
const {
1700 jetA->eta =
_jets[_jets_index].rap();
1701 jetA->phi =
_jets[_jets_index].phi_02pi();
1703 jetA->_jets_index = _jets_index;
1704 jetA->NN_dist =
_R2;
1708 const J *
const jetA,
const J *
const jetB)
const {
1709 #ifndef FJCORE_NEW_DELTA_PHI
1710 double dphi = std::abs(jetA->phi - jetB->phi);
1711 double deta = (jetA->eta - jetB->eta);
1712 if (dphi >
pi) {dphi =
twopi - dphi;}
1714 double dphi =
pi-std::abs(
pi-std::abs(jetA->phi - jetB->phi));
1715 double deta = (jetA->eta - jetB->eta);
1717 return dphi*dphi + deta*deta;
1720 double kt2 = jet->kt2;
1721 if (jet->NN != NULL) {
if (jet->NN->kt2 < kt2) {kt2 = jet->NN->kt2;}}
1722 return jet->NN_dist * kt2;
1725 J *
const jet, J *
const head,
const J *
const tail)
const {
1726 double NN_dist =
_R2;
1729 for (J * jetB = head; jetB != jet; jetB++) {
1731 if (dist < NN_dist) {
1738 for (J * jetB = jet+1; jetB != tail; jetB++) {
1740 if (dist < NN_dist) {
1747 jet->NN_dist = NN_dist;
1750 J *
const head,
const J *
const tail)
const {
1751 double NN_dist =
_R2;
1753 for (J * jetB = head; jetB != tail; jetB++) {
1755 if (dist < NN_dist) {
1759 if (dist < jetB->NN_dist) {
1760 jetB->NN_dist = dist;
1765 jet->NN_dist = NN_dist;
1768 #endif // __FJCORE_CLUSTERSEQUENCE_HH__
1769 #ifndef __FJCORE_NNBASE_HH__
1770 #define __FJCORE_NNBASE_HH__
1777 template<
class BJ>
void init_jet(BJ * briefjet,
const fjcore::PseudoJet & jet,
int index) { briefjet->init(jet, index,
_info);}
1785 template<
class BJ>
void init_jet(BJ * briefjet,
const fjcore::PseudoJet & jet,
int index) { briefjet->init(jet, index);}
1791 virtual void start(
const std::vector<PseudoJet> &
jets) = 0;
1798 #endif // __FJCORE_NNBASE_HH__
1799 #ifndef __FJCORE_NNH_HH__
1800 #define __FJCORE_NNH_HH__
1802 template<
class BJ,
class I = _NoInfo>
class NNH :
public NNBase<I> {
1806 void start(
const std::vector<PseudoJet> &
jets);
1807 double dij_min(
int & iA,
int & iB);
1828 BJ::init(jet, info);
1833 NN_dist = BJ::beam_distance();
1845 briefjets =
new NNBJ[n];
1846 where_is.resize(2*n);
1847 NNBJ * jetA = briefjets;
1848 for (
int i = 0; i< n; i++) {
1849 this->init_jet(jetA,
jets[i], i);
1855 for (jetA = head + 1; jetA != tail; jetA++) {
1856 set_NN_crosscheck(jetA, head, jetA);
1860 double diJ_min = briefjets[0].NN_dist;
1861 int diJ_min_jet = 0;
1862 for (
int i = 1; i < n; i++) {
1863 if (briefjets[i].NN_dist < diJ_min) {
1865 diJ_min = briefjets[i].NN_dist;
1868 NNBJ * jetA = & briefjets[diJ_min_jet];
1874 NNBJ * jetA = where_is[iA];
1877 where_is[jetA->
index()] = jetA;
1878 for (
NNBJ * jetI = head; jetI != tail; jetI++) {
1879 if (jetI->NN == jetA) set_NN_nocross(jetI, head, tail);
1880 if (jetI->NN == tail) {jetI->NN = jetA;}
1885 NNBJ * jetA = where_is[iA];
1886 NNBJ * jetB = where_is[iB];
1888 this->init_jet(jetB, jet, index);
1889 if (index >=
int(where_is.size())) where_is.resize(2*index);
1890 where_is[jetB->
index()] = jetB;
1893 where_is[jetA->
index()] = jetA;
1894 for (
NNBJ * jetI = head; jetI != tail; jetI++) {
1895 if (jetI->NN == jetA || jetI->
NN == jetB) {
1896 set_NN_nocross(jetI, head, tail);
1898 double dist = jetI->distance(jetB);
1899 if (dist < jetI->NN_dist) {
1901 jetI->NN_dist = dist;
1905 if (dist < jetB->NN_dist) {
1911 if (jetI->NN == tail) {jetI->
NN = jetA;}
1916 double NN_dist = jet->beam_distance();
1918 for (
NNBJ * jetB = begin; jetB != end; jetB++) {
1919 double dist = jet->distance(jetB);
1920 if (dist < NN_dist) {
1924 if (dist < jetB->NN_dist) {
1934 double NN_dist = jet->beam_distance();
1937 for (
NNBJ * jetB = begin; jetB != jet; jetB++) {
1938 double dist = jet->distance(jetB);
1939 if (dist < NN_dist) {
1946 for (
NNBJ * jetB = jet+1; jetB != end; jetB++) {
1947 double dist = jet->distance (jetB);
1948 if (dist < NN_dist) {
1958 #endif // __FJCORE_NNH_HH__
Definition: fjcore.hh:231
@ genkt_algorithm
Definition: fjcore.hh:1041
NNBJ * tail
Definition: fjcore.hh:1818
Selector SelectorPtMin(double ptmin)
select objects with pt >= ptmin
Definition: fjcore.cc:4520
int cluster_hist_index() const
Definition: fjcore.hh:704
void plugin_associate_extras(Extras *extras_in)
Definition: fjcore.hh:1459
void warn(const std::string &warning, std::ostream *ostr)
Definition: fjcore.hh:435
virtual bool has_associated_cluster_sequence() const
Definition: fjcore.hh:501
void _set_rap_phi() const
Definition: fjcore.cc:3759
Definition: fjcore.hh:1166
Definition: fjcore.hh:428
void label_minheap_update_needed()
Definition: fjcore.hh:1596
long _count
the number of references
Definition: fjcore.hh:386
virtual std::vector< PseudoJet > constituents() const
Definition: fjcore.cc:4019
void remove_jet(int iA)
Definition: fjcore.hh:1873
std::vector< PseudoJet > sorted_by_pz(const std::vector< PseudoJet > &jets)
Definition: fjcore.cc:4078
std::vector< PseudoJet > sorted_by_rapidity(const std::vector< PseudoJet > &jets)
Definition: fjcore.cc:4068
virtual std::string description() const
Definition: fjcore.hh:877
@ NlnNCam2pi2R
Definition: fjcore.hh:1032
double exclusive_subdmerge(int nsub) const
Definition: fjcore.cc:4044
double operator[](int i) const
Definition: fjcore.hh:585
std::vector< PseudoJet > operator()(const std::vector< L > &particles) const
Definition: fjcore.hh:1682
Definition: fjcore.cc:829
static void set_fastjet_banner_stream(std::ostream *ostr)
Definition: fjcore.hh:1506
DefaultRecombiner _default_recombiner
Definition: fjcore.hh:1210
bool operator!=(SharedPtr< T > const &t, SharedPtr< U > const &u)
Definition: fjcore.hh:404
Tile ** RH_tiles
Definition: fjcore.hh:1624
Definition: fjcore.hh:896
RecombinationScheme scheme() const
Definition: fjcore.hh:1187
Selector SelectorIdentity()
Definition: fjcore.cc:4291
virtual std::vector< PseudoJet > pieces(const PseudoJet &jet) const FJCORE_OVERRIDE
Definition: fjcore.cc:3317
PseudoJet(bool)
Definition: fjcore.hh:542
DefaultRecombiner(RecombinationScheme recomb_scheme=E_scheme)
Definition: fjcore.hh:1181
Definition: fjcore.hh:294
FJCORE_BEGIN_NAMESPACE const double MaxRap
Definition: fjcore.hh:532
double _tiles_eta_min
Definition: fjcore.hh:1630
double phi
Definition: fjcore.hh:1587
@ plugin_strategy
Definition: fjcore.hh:1035
virtual std::string description() const =0
double extra_param() const
Definition: fjcore.hh:1150
pt
Definition: jmarExample.py:19
void warn(const char *warning)
Definition: fjcore.hh:432
virtual void set_ghost_separation_scale(double scale) const
Definition: fjcore.cc:3606
const double ln2
Definition: fjcore.hh:197
std::vector< T > objects_sorted_by_values(const std::vector< T > &objects, const std::vector< double > &values)
Definition: fjcore.hh:755
static void set_default_max_warn(int max_warn)
Definition: fjcore.hh:439
Selector(SelectorWorker *worker_in)
Definition: fjcore.hh:899
void delete_recombiner_when_unused()
Definition: fjcore.cc:3476
double Et2() const
Definition: fjcore.hh:579
Definition: fjcore.hh:637
long operator--(int)
Definition: fjcore.hh:380
void start(const std::vector< PseudoJet > &jets)
Definition: fjcore.hh:1843
void set_cluster_hist_index(const int index)
Definition: fjcore.hh:705
bool has_user_info() const
Definition: fjcore.hh:649
void init_jet(BJ *briefjet, const fjcore::PseudoJet &jet, int index)
Definition: fjcore.hh:1777
Selector SelectorEtaRange(double etamin, double etamax)
select objects with etamin <= eta <= etamax
Definition: fjcore.cc:4672
PseudoJetStructureBase * structure_non_const_ptr()
Definition: fjcore.cc:3990
const Selector & set_reference(const PseudoJet &reference)
Definition: fjcore.hh:944
void _decant_options_partial()
Definition: fjcore.cc:1587
void _bj_set_NN_crosscheck(J *const jeta, J *const head, const J *const tail) const
Definition: fjcore.hh:1749
int max_warn() const
Definition: fjcore.hh:442
virtual bool has_constituents() const
Definition: fjcore.cc:4016
virtual std::string description() const
Definition: fjcore.hh:849
virtual ~UserInfoBase()
Definition: fjcore.hh:635
virtual double exclusive_subdmerge(const PseudoJet &reference, int nsub) const FJCORE_OVERRIDE
Definition: fjcore.cc:2724
bool applies_jet_by_jet() const
Definition: fjcore.hh:916
virtual void start(const std::vector< PseudoJet > &jets)=0
@ ee_kt_algorithm
Definition: fjcore.hh:1044
bool has_associated_cluster_sequence() const
Definition: fjcore.cc:3968
Definition: fjcore.hh:956
JetDefinition(JetAlgorithm jet_algorithm_in, RecombinationScheme recomb_scheme_in=E_scheme, Strategy strategy_in=Best)
Definition: fjcore.hh:1075
void _simple_N2_cluster()
IndexedSortHelper(const std::vector< double > *reference_values)
Definition: fjcore.hh:771
static const double max_allowable_R
Definition: fjcore.hh:1136
void _decrease_count()
Definition: fjcore.hh:392
Selector SelectorCircle(const double radius)
Definition: fjcore.cc:4808
void reset_momentum(double px, double py, double pz, double E)
Definition: fjcore.hh:803
Selector SelectorEMin(double Emin)
select objects with E >= Emin
Definition: fjcore.cc:4550
std::string description() const
Definition: fjcore.hh:926
PseudoJet operator/(const PseudoJet &, double)
Definition: fjcore.cc:3830
Tile ** surrounding_tiles
Definition: fjcore.hh:1623
virtual bool has_partner(const PseudoJet &reference, PseudoJet &partner) const
Definition: fjcore.cc:4127
_Parabola(double a, double b, double c)
Definition: fjcore.hh:1529
JetDefinition(JetAlgorithm jet_algorithm_in, double R_in, RecombinationScheme recomb_scheme_in=E_scheme, Strategy strategy_in=Best)
Definition: fjcore.hh:1069
virtual ~CompositeJetStructure()
Definition: fjcore.hh:1233
NNBJ * NN
Definition: fjcore.hh:1838
bool minheap_update_needed() const
Definition: fjcore.hh:1598
double _px
Definition: fjcore.hh:714
double _R2
Definition: fjcore.hh:1547
#define FJCORE_BEGIN_NAMESPACE
Definition: fjcore.hh:180
double theta(const PseudoJet &a, const PseudoJet &b)
Definition: fjcore.hh:744
const double zeta3
Definition: fjcore.hh:195
JetDefinition(const Plugin *plugin_in)
Definition: fjcore.hh:1113
T * get_pointer(SharedPtr< T > const &t)
Definition: fjcore.hh:416
const Recombiner * recombiner() const
Definition: fjcore.hh:1157
const double pisq
Definition: fjcore.hh:193
double py() const
Definition: fjcore.hh:547
virtual void nullify_non_selected(std::vector< const PseudoJet * > &jets) const
Definition: fjcore.hh:920
const double eulergamma
Definition: fjcore.hh:196
static __no_type check_sig(B const volatile *, int)
PseudoJet operator+(const PseudoJet &, const PseudoJet &)
Definition: fjcore.cc:3809
double cos_theta() const
Definition: fjcore.hh:580
PseudoJet & operator/=(double)
Definition: fjcore.cc:3842
virtual bool is_geometric() const
Definition: fjcore.hh:889
Error()
Definition: fjcore.hh:464
Selector & operator|=(const Selector &b)
Definition: fjcore.cc:4945
int _user_index
Definition: fjcore.hh:717
EEBriefJet * NN
Definition: fjcore.hh:1649
Selector SelectorEMax(double Emax)
select objects with E <= Emax
Definition: fjcore.cc:4553
double mperp2() const
Definition: fjcore.hh:572
int parent1
Definition: fjcore.hh:1478
ClusterSequenceStructure(const ClusterSequence *cs)
Definition: fjcore.hh:1336
int user_index() const
Definition: fjcore.hh:630
virtual const ClusterSequence * validated_cs() const
Definition: fjcore.cc:4124
void _fast_NsqrtN_cluster()
virtual bool has_constituents() const FJCORE_OVERRIDE
Definition: fjcore.cc:3302
PseudoJet & operator*=(double)
Definition: fjcore.cc:3833
Definition: fjcore.hh:216
#define FJCORE_OVERRIDE
Definition: fjcore.hh:185
void reset(Y *ptr)
Definition: fjcore.hh:311
T & operator*() const
Definition: fjcore.hh:335
virtual bool has_associated_cluster_sequence() const FJCORE_OVERRIDE
Definition: fjcore.hh:1343
SharedPtr & operator=(SharedPtr const &share)
Definition: fjcore.hh:322
virtual bool has_parents(const PseudoJet &reference, PseudoJet &parent1, PseudoJet &parent2) const
Definition: fjcore.cc:4133
JetDefinition()
Definition: fjcore.hh:1110
FJCORE_BEGIN_NAMESPACE const double pi
Definition: fjcore.hh:191
double _rap
Definition: fjcore.hh:715
bool unique() const
Definition: fjcore.hh:346
void sift(const std::vector< PseudoJet > &jets, std::vector< PseudoJet > &jets_that_pass, std::vector< PseudoJet > &jets_that_fail) const
Definition: fjcore.cc:4242
static bool _print_errors
do we print anything?
Definition: fjcore.hh:476
virtual bool contains(const PseudoJet &constituent) const
Definition: fjcore.cc:4010
JetDefinition(JetAlgorithm jet_algorithm_in, double R_in, const Recombiner *recombiner_in, Strategy strategy_in=Best)
Definition: fjcore.hh:1089
static std::string summary()
Definition: fjcore.cc:3677
@ NlnN4pi
Definition: fjcore.hh:1030
void set_count(const long &count)
Definition: fjcore.hh:381
BriefJet * NN
Definition: fjcore.hh:1588
bool has_valid_cluster_sequence() const
Definition: fjcore.cc:3975
Definition: fjcore.hh:204
int cluster_sequence_history_index() const
Definition: fjcore.hh:706
std::pair< std::string, unsigned int > Summary
Definition: fjcore.hh:449
p
Definition: Ntupliser_cfg.py:174
Selector operator||(const Selector &s1, const Selector &s2)
Definition: fjcore.cc:4425
NNInfo(_NoInfo *)
Definition: fjcore.hh:1784
std::pair< double, TwoVertices > DijEntry
Definition: fjcore.hh:1578
Definition: fjcore.hh:1787
Definition: fjcore.hh:1382
long operator++(int)
Definition: fjcore.hh:379
virtual ~ClusterSequenceStructure()
Definition: fjcore.cc:2669
@ N2Plain
Definition: fjcore.hh:1025
Definition: fjcore.hh:1228
< SOURCE_DIR >< SOURCE_SUBDIR > B
Definition: Core-cfgcmd.txt:1
bool will_delete_self_when_unused() const
Definition: fjcore.hh:1439
double phi_02pi() const
Definition: fjcore.hh:553
Selector SelectorRapRange(double rapmin, double rapmax)
select objects with rapmin <= rap <= rapmax
Definition: fjcore.cc:4617
SharedPtr< PseudoJetStructureBase > _structure_shared_ptr
Definition: fjcore.hh:1551
const TransformerType::StructureType & structure_of() const
Definition: fjcore.hh:829
SharedPtr< UserInfoBase > _user_info
Definition: fjcore.hh:712
void swap(SharedPtr &share)
Definition: fjcore.hh:359
virtual double exclusive_subdmerge_max(const PseudoJet &reference, int nsub) const FJCORE_OVERRIDE
Definition: fjcore.cc:2727
void plus_equal(PseudoJet &pa, const PseudoJet &pb) const
Definition: fjcore.hh:1173
InvalidArea()
Definition: fjcore.hh:958
InvalidWorker()
Definition: fjcore.hh:954
J * _bj_of_hindex(const int hist_index, J *const head, J *const tail) const
Definition: fjcore.hh:1606
virtual std::vector< PseudoJet > constituents(const PseudoJet &reference) const FJCORE_OVERRIDE
Definition: fjcore.cc:2707
virtual bool is_inside(const PseudoJet &jet) const
Definition: fjcore.cc:4013
@ kt_algorithm
Definition: fjcore.hh:1038
virtual bool has_pieces(const PseudoJet &reference) const FJCORE_OVERRIDE
Definition: fjcore.cc:2730
std::valarray< double > four_mom() const
Definition: fjcore.cc:3777
integral_type< bool, true > true_type
the bool 'true' value promoted to a type
Definition: fjcore.hh:211
virtual void get_rapidity_extent(double &rapmin, double &rapmax) const
Definition: fjcore.hh:885
static int _max_warn_default
Definition: fjcore.hh:447
double mperp() const
Definition: fjcore.hh:573
int n_exclusive_jets_ycut(double ycut) const
Definition: fjcore.hh:1403
double perp() const
Definition: fjcore.hh:567
unsigned int count(const std::vector< PseudoJet > &jets) const
Definition: fjcore.cc:4185
const SharedPtr< PseudoJetStructureBase > & structure_shared_ptr() const
Definition: fjcore.cc:3998
Selector SelectorEtaMax(double etamax)
select objects with eta <= etamax
Definition: fjcore.cc:4669
double kt2
Definition: fjcore.hh:1648
void label_minheap_update_done()
Definition: fjcore.hh:1597
virtual double known_area() const
Definition: fjcore.hh:892
Selector SelectorAbsRapMax(double absrapmax)
select objects with |rap| <= absrapmax
Definition: fjcore.cc:4654
double operator()(const double R) const
Definition: fjcore.hh:1537
RecombinationScheme _recomb_scheme
Definition: fjcore.hh:1189
virtual bool has_pieces(const PseudoJet &) const FJCORE_OVERRIDE
Definition: fjcore.hh:1239
virtual bool takes_reference() const
Definition: fjcore.hh:878
Definition: fjcore.hh:1646
int n_warn_so_far() const
Definition: fjcore.hh:443
ClusterSequence(const ClusterSequence &cs)
Definition: fjcore.hh:1389
double plain_distance(const PseudoJet &other) const
Definition: fjcore.cc:3951
virtual ~PseudoJet()
Definition: fjcore.hh:543
void _ensure_valid_rap_phi() const
Definition: fjcore.hh:720
double Q2() const
Definition: fjcore.hh:1419
int index() const
Definition: fjcore.hh:1836
T * operator()() const
Definition: fjcore.hh:331
NNInfo()
Definition: fjcore.hh:1775
double beam_distance() const
Definition: fjcore.hh:594
Strategy _strategy
Definition: fjcore.hh:1207
static const T value
the value (only member carrying info)
Definition: fjcore.hh:205
void set_user_info(UserInfoBase *user_info_in)
Definition: fjcore.hh:641
void plugin_simple_N2_cluster()
Definition: fjcore.hh:1472
void _bj_set_NN_nocross(J *const jeta, J *const head, const J *const tail) const
Definition: fjcore.hh:1724
std::vector< Tile > _tiles
Definition: fjcore.hh:1629
double mt2() const
Definition: fjcore.hh:574
__SharedCountingPtr * _ptr
Definition: fjcore.hh:397
bool takes_reference() const
Definition: fjcore.hh:941
virtual bool has_partner(const PseudoJet &reference, PseudoJet &partner) const FJCORE_OVERRIDE
Definition: fjcore.cc:2687
Definition: fjcore.hh:226
double delta_phi_to(const PseudoJet &other) const
Definition: fjcore.cc:3957
bool pass(const PseudoJet &jet) const
Definition: fjcore.hh:901
double _extra_param
parameter whose meaning varies according to context
Definition: fjcore.hh:1206
std::string description_no_recombiner() const
Definition: fjcore.cc:3407
const SharedPtr< SelectorWorker > & worker() const
Definition: fjcore.hh:935
Selector SelectorPhiRange(double phimin, double phimax)
select objects with phimin <= phi <= phimax
Definition: fjcore.cc:4716
PseudoJetStructureBase()
Definition: fjcore.hh:498
void set_NN_crosscheck(NNBJ *jet, NNBJ *begin, NNBJ *end)
Definition: fjcore.hh:1914
Strategy
Definition: fjcore.hh:1017
Selector SelectorAbsRapRange(double absrapmin, double absrapmax)
select objects with absrapmin <= |rap| <= absrapmax
Definition: fjcore.cc:4657
Definition: fjcore.hh:1802
Definition: fjcore.hh:1527
@ undefined_jet_algorithm
Definition: fjcore.hh:1047
virtual double exclusive_subdmerge_max(const PseudoJet &reference, int nsub) const
Definition: fjcore.cc:4154
virtual bool object_in_jet(const PseudoJet &reference, const PseudoJet &jet) const
Definition: fjcore.cc:4136
Definition: fjcore.hh:1821
std::string _message
error message
Definition: fjcore.hh:475
double cos_theta(const PseudoJet &a, const PseudoJet &b)
Definition: fjcore.hh:740
const double pseudojet_invalid_phi
Definition: fjcore.hh:533
virtual void set_associated_cs(const ClusterSequence *new_cs)
Definition: fjcore.hh:1347
virtual std::string description() const
Definition: fjcore.hh:500
double phi() const
Definition: fjcore.hh:549
void set_recombiner(const Recombiner *recomb)
Definition: fjcore.hh:1138
bool tagged
Definition: fjcore.hh:1627
int n_exclusive_subjets(const double dcut) const
Definition: fjcore.cc:4028
Selector SelectorEtMax(double Etmax)
select objects with Et <= Etmax
Definition: fjcore.cc:4538
PseudoJet()
Definition: fjcore.hh:537
bool is_geometric() const
Definition: fjcore.hh:929
~__SharedCountingPtr()
Definition: fjcore.hh:372
SharedPtr & operator=(SharedPtr< Y > const &share)
Definition: fjcore.hh:326
PseudoJet operator*(double, const PseudoJet &)
Definition: fjcore.cc:3821
TiledJet * previous
Definition: fjcore.hh:1594
std::vector< PseudoJet > exclusive_jets_ycut(double ycut) const
Definition: fjcore.hh:1404
virtual void run_clustering(ClusterSequence &) const =0
const L & user_info() const
Definition: fjcore.hh:645
double _kt2
Definition: fjcore.hh:716
const double zeta2
Definition: fjcore.hh:194
std::vector< history_element > _history
Definition: fjcore.hh:1542
double NN_dist
Definition: fjcore.hh:1647
virtual const ClusterSequence * associated_cluster_sequence() const
Definition: fjcore.cc:4121
void plugin_record_iB_recombination(int jet_i, double diB)
Definition: fjcore.hh:1450
static bool _first_time
Definition: fjcore.hh:1583
bool operator==(SharedPtr< T > const &t, SharedPtr< U > const &u)
Definition: fjcore.hh:400
virtual std::vector< PseudoJet > pieces(const PseudoJet &) const
Definition: fjcore.cc:4157
std::vector< PseudoJet > sorted_by_pt(const std::vector< PseudoJet > &jets)
Definition: fjcore.cc:4063
void set_jet_finder(JetAlgorithm njf)
Definition: fjcore.hh:1155
NNBase(I *info)
Definition: fjcore.hh:1790
virtual bool is_spherical() const
Definition: fjcore.hh:1200
@ WTA_modp_scheme
Definition: fjcore.hh:1061
const JetAlgorithm cambridge_aachen_algorithm
Definition: fjcore.hh:1051
@ Et2_scheme
Definition: fjcore.hh:1057
@ N3Dumb
Definition: fjcore.hh:1026
string jets
Definition: Ntupliser_cfg.py:41
void _bj_set_jetinfo(J *const jet, const int _jets_index) const
Definition: fjcore.hh:1698
double pt2() const
Definition: fjcore.hh:564
std::string description() const
Definition: fjcore.hh:468
ClusterSequence()
Definition: fjcore.hh:1384
double _Rparam
Definition: fjcore.hh:1205
UserInfoBase()
Definition: fjcore.hh:634
const ClusterSequence * validated_cs() const
Definition: fjcore.cc:3978
@ antikt_algorithm
Definition: fjcore.hh:1040
void get_rapidity_extent(double &rapmin, double &rapmax) const
Definition: fjcore.hh:923
std::vector< PseudoJet > _jets
Definition: fjcore.hh:1541
@ SIZE
Definition: fjcore.hh:596
I * _info
Definition: fjcore.hh:1779
void set_user_index(const int index)
Definition: fjcore.hh:631
virtual SelectorWorker * copy()
Definition: fjcore.hh:882
Strategy strategy_used() const
Definition: fjcore.hh:1434
virtual void preprocess(PseudoJet &) const
Definition: fjcore.hh:1171
@ NlnN3pi
Definition: fjcore.hh:1029
Selector SelectorEtRange(double Etmin, double Etmax)
select objects with Etmin <= Et <= Etmax
Definition: fjcore.cc:4541
virtual bool exclusive_sequence_meaningful() const
Definition: fjcore.hh:1199
JetAlgorithm _jet_algorithm
Definition: fjcore.hh:1550
virtual bool has_child(const PseudoJet &reference, PseudoJet &child) const FJCORE_OVERRIDE
Definition: fjcore.cc:2690
double perp2() const
Definition: fjcore.hh:566
double pseudorapidity() const
Definition: fjcore.cc:3802
Definition: fjcore.hh:632
void reset(const PseudoJet &psjet)
Definition: fjcore.hh:604
@ X
Definition: fjcore.hh:596
const PseudoJetStructureBase * structure_ptr() const
Definition: fjcore.cc:3987
Selector SelectorStrip(const double half_width)
Definition: fjcore.cc:4874
long use_count() const
Definition: fjcore.hh:376
Definition: fjcore.hh:1591
double rapidity() const
Definition: fjcore.hh:561
static void set_default_stream(std::ostream *ostr)
Definition: fjcore.hh:436
static const bool value
Definition: fjcore.hh:239
@ pt2_scheme
Definition: fjcore.hh:1055
static std::ostream * _default_ostr
the output stream (cerr if not set)
Definition: fjcore.hh:478
const Recombiner * _recombiner
Definition: fjcore.hh:1211
std::string message() const
Definition: fjcore.hh:467
double modp2() const
Definition: fjcore.hh:576
int _initial_n
Definition: fjcore.hh:1546
virtual bool has_exclusive_subjets() const
Definition: fjcore.cc:4022
LimitedWarning()
Definition: fjcore.hh:430
void set_recombination_scheme(RecombinationScheme)
Definition: fjcore.cc:3453
static LimitedWarning _changed_strategy_warning
Definition: fjcore.hh:1585
SharedPtr< UserInfoBase > & user_info_shared_ptr()
Definition: fjcore.hh:662
integral_type< bool, false > false_type
the bool 'false' value promoted to a type
Definition: fjcore.hh:212
virtual bool has_exclusive_subjets() const FJCORE_OVERRIDE
Definition: fjcore.cc:2710
T * _ptr
the pointer we're counting the references to
Definition: fjcore.hh:385
double pz() const
Definition: fjcore.hh:548
Selector & operator&=(const Selector &b)
Definition: fjcore.cc:4941
virtual ~Recombiner()
Definition: fjcore.hh:1172
long operator--()
Definition: fjcore.hh:378
const SelectorWorker * validated_worker() const
Definition: fjcore.hh:936
virtual bool has_child(PseudoJet &child) const
Definition: fjcore.cc:4004
bool _plugin_activated
Definition: fjcore.hh:1555
void reset_PtYPhiM(double pt_in, double y_in, double phi_in, double m_in=0.0)
Definition: fjcore.hh:618
__SharedCountingPtr(Y *ptr)
Definition: fjcore.hh:371
void _reset_indices()
Definition: fjcore.hh:785
SharedPtr(Y *ptr)
Definition: fjcore.hh:298
std::vector< NNBJ * > where_is
Definition: fjcore.hh:1820
const UserInfoBase * user_info_ptr() const
Definition: fjcore.hh:656
T value_type
a typedef for the type T
Definition: fjcore.hh:206
@ BIpt2_scheme
Definition: fjcore.hh:1059
virtual double exclusive_subdmerge(const PseudoJet &reference, int nsub) const
Definition: fjcore.cc:4151
virtual double R() const =0
Definition: fjcore.hh:1191
void reset(SharedPtr< Y > const &share)
Definition: fjcore.hh:314
int operator()(const int i1, const int i2) const
Definition: fjcore.hh:774
double kt2() const
Definition: fjcore.hh:569
static void set_print_backtrace(bool enabled)
Definition: fjcore.cc:3339
double _py
Definition: fjcore.hh:714
SharedPtr()
Definition: fjcore.hh:297
SharedPtr(SharedPtr const &share)
Definition: fjcore.hh:301
std::vector< PseudoJet > inclusive_jets(const double ptmin=0.0) const
Definition: fjcore.cc:1820
double e() const
Definition: fjcore.hh:545
double dij_min(int &iA, int &iB)
Definition: fjcore.hh:1859
Selector()
Definition: fjcore.hh:898
@ N2MHTLazy9
Definition: fjcore.hh:1019
double _bj_dist(const J *const jeta, const J *const jetb) const
Definition: fjcore.hh:1707
virtual std::vector< PseudoJet > constituents(const PseudoJet &reference) const
Definition: fjcore.cc:4139
std::pair< int, int > TwoVertices
Definition: fjcore.hh:1577
double nz
Definition: fjcore.hh:1651
Selector SelectorPtMax(double ptmax)
select objects with pt <= ptmax
Definition: fjcore.cc:4523
double phi
Definition: fjcore.hh:1593
virtual bool applies_jet_by_jet() const
Definition: fjcore.hh:876
static void set_print_errors(bool print_errors)
Definition: fjcore.hh:469
~SharedPtr()
Definition: fjcore.hh:304
const ClusterSequence * _associated_cs
Definition: fjcore.hh:1365
SharedPtr< PseudoJetStructureBase > _structure
Definition: fjcore.hh:711
double px() const
Definition: fjcore.hh:546
_Line(double a, double b)
Definition: fjcore.hh:1536
const StructureType & structure() const
Definition: fjcore.hh:820
const ClusterSequence * associated_cs() const
Definition: fjcore.hh:671
bool is_spherical() const
Definition: fjcore.cc:3385
integral_type< T, _t > type
a typedef for the whole structure
Definition: fjcore.hh:207
double exclusive_subdmerge_max(int nsub) const
Definition: fjcore.cc:4047
__SharedCountingPtr()
Definition: fjcore.hh:370
Definition: fjcore.hh:1477
virtual bool has_valid_cluster_sequence() const
Definition: fjcore.hh:503
double rap() const
Definition: fjcore.hh:557
Definition: fjcore.hh:952
double dij
index in the _jets vector where we will find the
Definition: fjcore.hh:1485
@ NlnN
Definition: fjcore.hh:1028
virtual std::string description() const =0
void _copy_worker_if_needed()
Definition: fjcore.hh:963
void sort_indices(std::vector< int > &indices, const std::vector< double > &values)
Definition: fjcore.cc:4058
Selector SelectorRectangle(const double half_rap_width, const double half_phi_width)
Definition: fjcore.cc:4907
const double pseudojet_invalid_rap
Definition: fjcore.hh:534
@ N2MHTLazy9AntiKtSeparateGhosts
Definition: fjcore.hh:1018
double _phi
Definition: fjcore.hh:715
double modp() const
Definition: fjcore.hh:577
double exclusive_ymerge_max(int njets) const
Definition: fjcore.hh:1402
virtual ~Plugin()
Definition: fjcore.hh:1201
@ Y
Definition: fjcore.hh:596
const Plugin * _plugin
Definition: fjcore.hh:1208
Selector SelectorPtFractionMin(double fraction)
Definition: fjcore.cc:4927
#define FJCORE_END_NAMESPACE
Definition: fjcore.hh:181
virtual bool pass(const PseudoJet &jet) const =0
virtual std::string description() const FJCORE_OVERRIDE
Definition: fjcore.cc:3298
static std::ostream * fastjet_banner_stream()
Definition: fjcore.hh:1507
void plugin_record_ij_recombination(int jet_i, int jet_j, double dij, int &newjet_k)
Definition: fjcore.hh:1442
JetAlgorithm jet_algorithm() const
Definition: fjcore.hh:1147
T * get() const
Definition: fjcore.hh:342
particles
Definition: Ntupliser_cfg.py:270
@ Et_scheme
Definition: fjcore.hh:1056
Selector SelectorIsZero()
Definition: fjcore.cc:4938
PseudoJet * _area_4vector_ptr
pointer to the 4-vector jet area
Definition: fjcore.hh:1243
bool plugin_activated() const
Definition: fjcore.hh:1470
Selector SelectorAbsEtaRange(double absetamin, double absetamax)
select objects with absetamin <= |eta| <= absetamax
Definition: fjcore.cc:4688
const ClusterSequence * validated_cluster_sequence() const
Definition: fjcore.hh:672
Definition: fjcore.hh:1333
static std::ostream * _default_ostr
Definition: fjcore.hh:448
Selector SelectorNHardest(unsigned int n)
Definition: fjcore.cc:4764
void set_cached_rap_phi(double rap, double phi)
Definition: fjcore.cc:3915
void _transfer_input_jets(const std::vector< L > &pseudojets)
Definition: fjcore.hh:1656
std::vector< PseudoJet > sorted_by_E(const std::vector< PseudoJet > &jets)
Definition: fjcore.cc:4073
void _initialise_and_run_no_decant()
Definition: fjcore.cc:1433
const SharedPtr< UserInfoBase > & user_info_shared_ptr() const
Definition: fjcore.hh:659
double NN_dist
Definition: fjcore.hh:1837
bool operator()(const PseudoJet &jet) const
Definition: fjcore.hh:907
void set_count(const long &count)
Definition: fjcore.hh:364
virtual int n_exclusive_subjets(const PseudoJet &reference, const double &dcut) const
Definition: fjcore.cc:4145
const PseudoJetStructureBase * validated_structure_ptr() const
Definition: fjcore.cc:3993
static void set_default_stream(std::ostream *ostr)
Definition: fjcore.hh:471
Selector SelectorMassMin(double Mmin)
select objects with Mass >= Mmin
Definition: fjcore.cc:4565
Selector SelectorDoughnut(const double radius_in, const double radius_out)
Definition: fjcore.cc:4842
bool have_same_momentum(const PseudoJet &, const PseudoJet &)
Definition: fjcore.cc:3909
JetDefinition _jet_def
Definition: fjcore.hh:1511
virtual bool has_child(const PseudoJet &reference, PseudoJet &child) const
Definition: fjcore.cc:4130
int _tiles_ieta_min
Definition: fjcore.hh:1632
bool has_associated_cs() const
Definition: fjcore.hh:667
friend PseudoJet operator*(double, const PseudoJet &)
Definition: fjcore.cc:3821
int child
index in _history where second parent of this jet
Definition: fjcore.hh:1480
const SharedPtr< PseudoJetStructureBase > & structure_shared_ptr() const
Definition: fjcore.hh:1501
bool has_valid_cs() const
Definition: fjcore.hh:669
double mt() const
Definition: fjcore.hh:575
char(& __no_type)[2]
Definition: fjcore.hh:214
std::string strategy_string() const
Definition: fjcore.hh:1435
double _tile_size_phi
Definition: fjcore.hh:1631
void set_extra_param(double xtra_param)
Definition: fjcore.hh:1156
virtual void set_reference(const PseudoJet &)
Definition: fjcore.hh:879
void swap(SharedPtr< T > &a, SharedPtr< T > &b)
Definition: fjcore.hh:412
Definition: fjcore.hh:1065
@ plugin_algorithm
Definition: fjcore.hh:1046
virtual void merge_jets(int iA, int iB, const PseudoJet &jet, int jet_index)=0
bool has_user_info() const
Definition: fjcore.hh:653
std::vector< PseudoJet > exclusive_subjets(const double dcut) const
Definition: fjcore.cc:4025
Definition: fjcore.hh:1621
static const double ptmin
Definition: binnings.h:46
double squared_distance(const PseudoJet &other) const
Definition: fjcore.hh:588
double pt() const
Definition: fjcore.hh:565
Selector SelectorAbsEtaMin(double absetamin)
select objects with |eta| >= absetamin
Definition: fjcore.cc:4682
bool has_structure_of() const
Definition: fjcore.hh:824
int n
Definition: fjcore.hh:1819
Definition: fjcore.hh:535
@ NlnNCam4pi
Definition: fjcore.hh:1031
int _tile_index(int ieta, int iphi) const
Definition: fjcore.hh:1633
double m() const
Definition: fjcore.hh:791
virtual const ClusterSequence * validated_cs() const FJCORE_OVERRIDE
Definition: fjcore.cc:2682
virtual void preprocess(PseudoJet &p) const FJCORE_OVERRIDE
Definition: fjcore.cc:3577
const std::vector< PseudoJet > & jets() const
Definition: fjcore.hh:1673
double _c
Definition: fjcore.hh:1532
static LimitedWarning _exclusive_warnings
Definition: fjcore.hh:1584
virtual bool has_valid_cluster_sequence() const FJCORE_OVERRIDE
Definition: fjcore.cc:2676
std::string description() const
Definition: fjcore.cc:3963
virtual std::vector< PseudoJet > exclusive_subjets(const PseudoJet &reference, const double &dcut) const
Definition: fjcore.cc:4142
Definition: fjcore.hh:1179
virtual void remove_jet(int iA)=0
virtual void terminator(std::vector< const PseudoJet * > &jets) const
Definition: fjcore.hh:871
void init(const PseudoJet &jet, int index_in, I *info)
Definition: fjcore.hh:1827
Selector SelectorRapMax(double rapmax)
select objects with rap <= rapmax
Definition: fjcore.cc:4614
double operator()(int i) const
Definition: fjcore.cc:3785
virtual bool has_parents(PseudoJet &parent1, PseudoJet &parent2) const
Definition: fjcore.cc:4007
void set_jet_algorithm(JetAlgorithm njf)
Definition: fjcore.hh:1154
SharedPtr< SelectorWorker > _worker
the underlying worker
Definition: fjcore.hh:968
int _structure_use_count_after_construction
Definition: fjcore.hh:1552
static const double ptmax
Definition: binnings.h:47
InexistentUserInfo()
Definition: fjcore.cc:4056
JetAlgorithm
Definition: fjcore.hh:1037
virtual const ClusterSequence * associated_cluster_sequence() const FJCORE_OVERRIDE
Definition: fjcore.cc:2679
double delta_R(const PseudoJet &other) const
Definition: fjcore.hh:590
void reset(const L &some_four_vector)
Definition: fjcore.hh:608
@ N2MHTLazy25
Definition: fjcore.hh:1020
InternalError(const std::string &message_in)
Definition: fjcore.hh:485
virtual std::vector< PseudoJet > exclusive_subjets(const PseudoJet &reference, const double &dcut) const FJCORE_OVERRIDE
Definition: fjcore.cc:2715
Selector operator!(const Selector &s)
Definition: fjcore.cc:4326
int _cluster_hist_index
Definition: fjcore.hh:717
~NNH()
Definition: fjcore.hh:1810
void init(const PseudoJet &jet, int index_in)
Definition: fjcore.hh:1823
Summary * _this_warning_summary
Definition: fjcore.hh:451
double operator()(const double R) const
Definition: fjcore.hh:1530
double Et() const
Definition: fjcore.hh:578
SharedPtr< const Plugin > _plugin_shared
Definition: fjcore.hh:1209
PseudoJet sum(const std::vector< PseudoJet > &jets) const
Definition: fjcore.cc:4204
virtual ~SelectorWorker()
Definition: fjcore.hh:869
JetType
Definition: fjcore.hh:1490
void set_structure_shared_ptr(const SharedPtr< PseudoJetStructureBase > &structure)
Definition: fjcore.cc:3981
double R() const
Definition: fjcore.hh:1149
TOut operator()(const PseudoJet &pj) const
Definition: fjcore.hh:851
const Extras * extras() const
Definition: fjcore.hh:1471
double E() const
Definition: fjcore.hh:544
void set_NN_nocross(NNBJ *jet, NNBJ *begin, NNBJ *end)
Definition: fjcore.hh:1932
Selector SelectorMassMax(double Mmax)
select objects with Mass <= Mmax
Definition: fjcore.cc:4568
int _n_warn_so_far
Definition: fjcore.hh:446
double jet_scale_for_algorithm(const PseudoJet &jet) const
Definition: fjcore.cc:1656
void delete_plugin_when_unused()
Definition: fjcore.cc:3484
PseudoJet & operator+=(const PseudoJet &)
Definition: fjcore.cc:3846
virtual ~PseudoJetStructureBase()
Definition: fjcore.hh:499
@ Z
Definition: fjcore.hh:596
Definition: fjcore.hh:462
virtual TOut result(const PseudoJet &pj) const =0
virtual int n_exclusive_subjets(const PseudoJet &reference, const double &dcut) const FJCORE_OVERRIDE
Definition: fjcore.cc:2718
int tile_index
Definition: fjcore.hh:1595
virtual bool has_pieces() const
Definition: fjcore.cc:4050
virtual double ghost_separation_scale() const
Definition: fjcore.hh:1198
long operator++()
Definition: fjcore.hh:377
Selector operator&&(const Selector &s1, const Selector &s2)
Definition: fjcore.cc:4385
std::multimap< double, TwoVertices > DistMap
Definition: fjcore.hh:1579
NNBase()
Definition: fjcore.hh:1789
int _index
Definition: fjcore.hh:1840
void reset()
Definition: fjcore.hh:308
NNH(const std::vector< PseudoJet > &jets)
Definition: fjcore.hh:1804
@ cambridge_algorithm
Definition: fjcore.hh:1039
Selector SelectorERange(double Emin, double Emax)
select objects with Emin <= E <= Emax
Definition: fjcore.cc:4556
@ WTA_pt_scheme
Definition: fjcore.hh:1060
@ ee_genkt_algorithm
Definition: fjcore.hh:1045
Definition: fjcore.hh:1772
FunctionOfPseudoJet()
Definition: fjcore.hh:847
const std::vector< double > * _ref_values
Definition: fjcore.hh:776
int _jets_index
Definition: fjcore.hh:1650
int _max_warn
Definition: fjcore.hh:446
static std::list< Summary > _global_warnings_summary
Definition: fjcore.hh:450
virtual std::vector< PseudoJet > constituents(const PseudoJet &jet) const FJCORE_OVERRIDE
Definition: fjcore.cc:3305
PseudoJet join(const std::vector< PseudoJet > &pieces)
Definition: fjcore.hh:1245
Definition: fjcore.hh:845
virtual bool has_finite_area() const
Definition: fjcore.cc:4272
double m2() const
Definition: fjcore.hh:570
Definition: fjcore.hh:867
Selector SelectorPtRange(double ptmin, double ptmax)
select objects with ptmin <= pt <= ptmax
Definition: fjcore.cc:4526
Selector SelectorRapMin(double rapmin)
select objects with rap >= rapmin
Definition: fjcore.cc:4611
B * cast_if_derived(D *d)
Definition: fjcore.hh:247
char(& __yes_type)[1]
Definition: fjcore.hh:213
virtual bool supports_ghosted_passive_areas() const
Definition: fjcore.hh:1196
double _bj_diJ(const J *const jeta) const
Definition: fjcore.hh:1719
Selector SelectorEtaMin(double etamin)
select objects with eta >= etamin
Definition: fjcore.cc:4666
void _bj_remove_from_tiles(TiledJet *const jet) const
SharedPtr< const Recombiner > _shared_recombiner
Definition: fjcore.hh:1212
static LimitedWarning _execinfo_undefined
Definition: fjcore.hh:480
JetDefinition(JetAlgorithm jet_algorithm_in, const Recombiner *recombiner_in, Strategy strategy_in=Best)
Definition: fjcore.hh:1096
@ NlnNCam
Definition: fjcore.hh:1033
Definition: fjcore.hh:769
std::vector< TOut > operator()(const std::vector< PseudoJet > &pjs) const
Definition: fjcore.hh:852
static bool _print_backtrace
do we print the backtrace?
Definition: fjcore.hh:477
virtual std::vector< PseudoJet > exclusive_subjets_up_to(const PseudoJet &reference, int nsub) const FJCORE_OVERRIDE
Definition: fjcore.cc:2721
void reset_momentum(const L &some_four_vector)
Definition: fjcore.hh:625
@ BIpt_scheme
Definition: fjcore.hh:1058
CompositeJetStructure()
Definition: fjcore.hh:1230
bool has_same_recombiner(const JetDefinition &other_jd) const
Definition: fjcore.cc:3470
const std::vector< history_element > & history() const
Definition: fjcore.hh:1676
double _pz
Definition: fjcore.hh:714
JetDefinition(JetAlgorithm jet_algorithm_in, double R_in, double xtra_param_in, RecombinationScheme recomb_scheme_in=E_scheme, Strategy strategy_in=Best)
Definition: fjcore.hh:1081
Definition: fjcore.hh:496
Selector SelectorAbsEtaMax(double absetamax)
select objects with |eta| <= absetamax
Definition: fjcore.cc:4685
Definition: fjcore.hh:1534
double kt_distance(const PseudoJet &other) const
Definition: fjcore.cc:3943
const double twopi
Definition: fjcore.hh:192
NNBJ * head
Definition: fjcore.hh:1818
double CorrPt() const
Definition: fjcore.hh:568
int parent2
index in _history where first parent of this jet
Definition: fjcore.hh:1479
@ pt_scheme
Definition: fjcore.hh:1054
const JetAlgorithm aachen_algorithm
Definition: fjcore.hh:1050
virtual bool has_pieces(const PseudoJet &) const
Definition: fjcore.hh:517
void delete_self_when_unused()
Definition: fjcore.cc:2271
@ N2Tiled
Definition: fjcore.hh:1023
@ N2MHTLazy9Alt
Definition: fjcore.hh:1021
@ NUM_COORDINATES
Definition: fjcore.hh:596
Selector SelectorMassRange(double Mmin, double Mmax)
select objects with Mmin <= Mass <= Mmax
Definition: fjcore.cc:4571
unsigned int n_particles() const
Definition: fjcore.hh:1679
bool has_finite_area() const
Definition: fjcore.hh:932
@ N2MinHeapTiled
Definition: fjcore.hh:1022
@ external_scheme
Definition: fjcore.hh:1062
Selector SelectorAbsRapMin(double absrapmin)
select objects with |rap| >= absrapmin
Definition: fjcore.cc:4651
virtual double dij_min(int &iA, int &iB)=0
T * operator->() const
Definition: fjcore.hh:338
double exclusive_ymerge(int njets) const
Definition: fjcore.hh:1401
T * get() const
Definition: fjcore.hh:375
void set_cluster_sequence_history_index(const int index)
Definition: fjcore.hh:708
bool operator<(SharedPtr< T > const &t, SharedPtr< U > const &u)
Definition: fjcore.hh:408
RecombinationScheme
Definition: fjcore.hh:1052
virtual ~NNBase()
Definition: fjcore.hh:1795
void _finish_init()
Definition: fjcore.cc:3754
double phi_std() const
Definition: fjcore.hh:550
virtual std::vector< PseudoJet > pieces(const PseudoJet &reference) const FJCORE_OVERRIDE
Definition: fjcore.cc:2734
std::string description() const
Definition: fjcore.cc:3394
static std::string algorithm_description(const JetAlgorithm jet_alg)
Definition: fjcore.cc:3429
double _Rparam
Definition: fjcore.hh:1547
FJCORE_BEGIN_NAMESPACE std::string fastjet_version_string()
Definition: fjcore.cc:1552
virtual ~FunctionOfPseudoJet()
Definition: fjcore.hh:848
NNH(const std::vector< PseudoJet > &jets, I *info)
Definition: fjcore.hh:1805
#define FJCORE_DEPRECATED_MSG(message)
Definition: fjcore.hh:263
virtual void recombine(const PseudoJet &pa, const PseudoJet &pb, PseudoJet &pab) const =0
virtual void recombine(const PseudoJet &pa, const PseudoJet &pb, PseudoJet &pab) const FJCORE_OVERRIDE
Definition: fjcore.cc:3517
double eta() const
Definition: fjcore.hh:563
std::vector< PseudoJet > _pieces
the pieces building the jet
Definition: fjcore.hh:1242
JetAlgorithm _jet_algorithm
Definition: fjcore.hh:1204
RecombinationScheme recombination_scheme() const
Definition: fjcore.hh:1152
virtual bool has_constituents() const FJCORE_OVERRIDE
Definition: fjcore.cc:2702
void init_jet(BJ *briefjet, const fjcore::PseudoJet &jet, int index)
Definition: fjcore.hh:1785
PseudoJet operator-(const PseudoJet &, const PseudoJet &)
Definition: fjcore.cc:3815
int _jets_index
Definition: fjcore.hh:1589
@ T
Definition: fjcore.hh:596
double Q() const
Definition: fjcore.hh:1418
ClusterSequenceStructure()
Definition: fjcore.hh:1335
__SharedCountingPtr * _get_container() const
Definition: fjcore.hh:389
const JetDefinition & jet_def() const
Definition: fjcore.hh:1437
static __yes_type check_sig(D const volatile *, T)
Definition: fjcore.cc:186
NNInfo(I *info)
Definition: fjcore.hh:1776
virtual bool has_exclusive_subjets() const
Definition: fjcore.hh:511
JetAlgorithm jet_finder() const
Definition: fjcore.hh:1148
void reset(double px, double py, double pz, double E)
Definition: fjcore.hh:795
Strategy strategy() const
Definition: fjcore.hh:1151
JetDefinition(JetAlgorithm jet_algorithm_in, double R_in, double xtra_param_in, const Recombiner *recombiner_in, Strategy strategy_in=Best)
Definition: fjcore.hh:1102
double theta() const
Definition: fjcore.hh:583
virtual bool object_in_jet(const PseudoJet &reference, const PseudoJet &jet) const FJCORE_OVERRIDE
Definition: fjcore.cc:2696
Selector SelectorEtMin(double Etmin)
select objects with Et >= Etmin
Definition: fjcore.cc:4535
@ E_scheme
Definition: fjcore.hh:1053
LimitedWarning(int max_warn_in)
Definition: fjcore.hh:431
ClusterSequenceStructure StructureType
Definition: fjcore.hh:1504
virtual bool has_constituents() const
Definition: fjcore.hh:509
static std::ostream * _fastjet_banner_ostr
Definition: fjcore.hh:1509
const int n_tile_neighbours
Definition: fjcore.cc:839
@ N2PoorTiled
Definition: fjcore.hh:1024
virtual bool has_partner(PseudoJet &partner) const
Definition: fjcore.cc:4001
double scalar_pt_sum(const std::vector< PseudoJet > &jets) const
Definition: fjcore.cc:4223
NNInfo()
Definition: fjcore.hh:1783
Definition: fjcore.hh:483
bool _writeout_combinations
Definition: fjcore.hh:1545
virtual ~Selector()
Definition: fjcore.hh:900
virtual std::string description() const FJCORE_OVERRIDE
Definition: fjcore.hh:1340
PseudoJet & operator-=(const PseudoJet &)
Definition: fjcore.cc:3854
void other_init(int index_in)
Definition: fjcore.hh:1831
double _Qtot
Definition: fjcore.hh:1548
const Plugin * plugin() const
Definition: fjcore.hh:1145
PseudoJet & unboost(const PseudoJet &prest)
Definition: fjcore.cc:3894
dictionary radius
Definition: Ntupliser_cfg.py:35
NNBJ * briefjets
Definition: fjcore.hh:1817
SharedPtr< Extras > _extras
Definition: fjcore.hh:1556
void reset_momentum_PtYPhiM(double pt, double y, double phi, double m=0.0)
Definition: fjcore.cc:3920
eta
DeepAK8/ParticleNet tagging.
Definition: jmarExample.py:19
TiledJet * head
Definition: fjcore.hh:1626
double _b
Definition: fjcore.hh:1539
Strategy _strategy
Definition: fjcore.hh:1549
virtual ~Error()
Definition: fjcore.hh:466
long use_count() const
Definition: fjcore.hh:349
PseudoJet PtYPhiM(double pt, double y, double phi, double m=0.0)
Definition: fjcore.cc:3931
virtual std::vector< PseudoJet > pieces() const
Definition: fjcore.cc:4053
void warn(const std::string &warning)
Definition: fjcore.hh:433
virtual std::vector< PseudoJet > exclusive_subjets_up_to(const PseudoJet &reference, int nsub) const
Definition: fjcore.cc:4148
@ genkt_for_passive_algorithm
Definition: fjcore.hh:1043
Definition: fjcore.hh:368
Definition: fjcore.hh:1586
Selector SelectorRapPhiRange(double rapmin, double rapmax, double phimin, double phimax)
Definition: fjcore.cc:4731
virtual bool has_known_area() const
Definition: fjcore.hh:891
const ClusterSequence * associated_cluster_sequence() const
Definition: fjcore.cc:3971
std::vector< PseudoJet > exclusive_subjets_up_to(int nsub) const
Definition: fjcore.cc:4031
@ cambridge_for_passive_algorithm
Definition: fjcore.hh:1042
double dot_product(const PseudoJet &a, const PseudoJet &b)
Definition: fjcore.hh:737
bool _deletes_self_when_unused
Definition: fjcore.hh:1553
JetAlgorithm JetFinder
Definition: fjcore.hh:1049
Tile ** end_tiles
Definition: fjcore.hh:1625
PseudoJet & boost(const PseudoJet &prest)
Definition: fjcore.cc:3879
static unsigned int n_parameters_for_algorithm(const JetAlgorithm jet_alg)
Definition: fjcore.cc:3445
double _E
Definition: fjcore.hh:714
bool has_structure() const
Definition: fjcore.cc:3984
virtual bool has_parents(const PseudoJet &reference, PseudoJet &parent1, PseudoJet &parent2) const FJCORE_OVERRIDE
Definition: fjcore.cc:2693
void merge_jets(int iA, int iB, const PseudoJet &jet, int jet_index)
Definition: fjcore.hh:1883
@ Best
Definition: fjcore.hh:1027
Definition: fjcore.hh:1773
@ BestFJ30
Definition: fjcore.hh:1034
virtual std::string description() const FJCORE_OVERRIDE
Definition: fjcore.cc:3490