DAS  3.0
Das Analysis System
fjcore.hh File Reference
#include <cstdlib>
#include <iostream>
#include <string>
#include <list>
#include <vector>
#include <valarray>
#include <cassert>
#include <cmath>
#include <limits>
#include <memory>
#include <map>
#include <set>
+ Include dependency graph for fjcore.hh:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  integral_type< T, _t >
 
struct  __inheritance_helper< B, D >
 
struct  IsBaseAndDerived< B, D >
 
struct  IsBaseAndDerived< B, D >::Host
 
class  SharedPtr< T >
 
class  SharedPtr< T >::__SharedCountingPtr
 
class  LimitedWarning
 
class  Error
 
class  InternalError
 
class  PseudoJetStructureBase
 
class  PseudoJet
 
class  PseudoJet::UserInfoBase
 
class  PseudoJet::InexistentUserInfo
 
class  IndexedSortHelper
 
class  FunctionOfPseudoJet< TOut >
 
class  SelectorWorker
 
class  Selector
 
class  Selector::InvalidWorker
 
class  Selector::InvalidArea
 
class  JetDefinition
 
class  JetDefinition::Recombiner
 
class  JetDefinition::DefaultRecombiner
 
class  JetDefinition::Plugin
 
class  CompositeJetStructure
 
class  ClusterSequenceStructure
 
class  ClusterSequence
 
class  ClusterSequence::Extras
 
struct  ClusterSequence::history_element
 
class  ClusterSequence::_Parabola
 
class  ClusterSequence::_Line
 
struct  ClusterSequence::BriefJet
 
class  ClusterSequence::TiledJet
 
struct  ClusterSequence::Tile
 
struct  ClusterSequence::EEBriefJet
 
class  _NoInfo
 
class  NNInfo< I >
 
class  NNInfo< _NoInfo >
 
class  NNBase< I >
 
class  NNH< BJ, I >
 
class  NNH< BJ, I >::NNBJ
 

Macros

#define __FJCORE__
 
#define __FJCORE_DROP_CGAL
 
#define _INCLUDE_FJCORE_CONFIG_AUTO_H   1
 
#define FJCORE_HAVE_DLFCN_H   1
 
#define FJCORE_HAVE_INTTYPES_H   1
 
#define FJCORE_HAVE_LIBM   1
 
#define FJCORE_HAVE_MEMORY_H   1
 
#define FJCORE_HAVE_STDINT_H   1
 
#define FJCORE_HAVE_STDLIB_H   1
 
#define FJCORE_HAVE_STRINGS_H   1
 
#define FJCORE_HAVE_STRING_H   1
 
#define FJCORE_HAVE_SYS_STAT_H   1
 
#define FJCORE_HAVE_SYS_TYPES_H   1
 
#define FJCORE_HAVE_UNISTD_H   1
 
#define FJCORE_LT_OBJDIR   ".libs/"
 
#define FJCORE_PACKAGE   "fastjet"
 
#define FJCORE_PACKAGE_BUGREPORT   ""
 
#define FJCORE_PACKAGE_NAME   "FastJet"
 
#define FJCORE_PACKAGE_STRING   "FastJet 3.3.2"
 
#define FJCORE_PACKAGE_TARNAME   "fastjet"
 
#define FJCORE_PACKAGE_URL   ""
 
#define FJCORE_PACKAGE_VERSION   "3.3.2"
 
#define FJCORE_STDC_HEADERS   1
 
#define FJCORE_VERSION   "3.3.2"
 
#define FJCORE_VERSION_MAJOR   3
 
#define FJCORE_VERSION_MINOR   3
 
#define FJCORE_VERSION_NUMBER   30302
 
#define FJCORE_VERSION_PATCHLEVEL   2
 
#define __FJCORE_CONFIG_H__
 
#define __FJCORE_FASTJET_BASE_HH__
 
#define FJCORE_BEGIN_NAMESPACE   namespace fjcore {
 
#define FJCORE_END_NAMESPACE   }
 
#define FJCORE_OVERRIDE
 
#define __FJCORE_NUMCONSTS__
 
#define __FJCORE_INTERNAL_IS_BASE_HH__
 
#define __FJCORE_FJCORE_DEPRECATED_HH__
 
#define FJCORE_DEPRECATED
 
#define FJCORE_DEPRECATED_MSG(message)
 
#define __FJCORE_SHARED_PTR_HH__
 
#define __FJCORE_LIMITEDWARNING_HH__
 
#define __FJCORE_ERROR_HH__
 
#define __FJCORE_PSEUDOJET_STRUCTURE_BASE_HH__
 
#define __FJCORE_PSEUDOJET_HH__
 
#define __FJCORE_FUNCTION_OF_PSEUDOJET_HH__
 
#define __FJCORE_SELECTOR_HH__
 
#define __FJCORE_JETDEFINITION_HH__
 
#define __FJCORE_COMPOSITEJET_STRUCTURE_HH__
 
#define __FJCORE_CLUSTER_SEQUENCE_STRUCTURE_HH__
 
#define __FJCORE_CLUSTERSEQUENCE_HH__
 
#define __FJCORE_NNBASE_HH__
 
#define __FJCORE_NNH_HH__
 

Typedefs

typedef integral_type< bool, true > true_type
 
typedef integral_type< bool, false > false_type
 
typedef char(& __yes_type)[1]
 
typedef char(& __no_type)[2]
 
typedef JetAlgorithm JetFinder
 

Enumerations

enum  Strategy {
  N2MHTLazy9AntiKtSeparateGhosts = -10, N2MHTLazy9 = -7, N2MHTLazy25 = -6, N2MHTLazy9Alt = -5,
  N2MinHeapTiled = -4, N2Tiled = -3, N2PoorTiled = -2, N2Plain = -1,
  N3Dumb = 0, Best = 1, NlnN = 2, NlnN3pi = 3,
  NlnN4pi = 4, NlnNCam4pi = 14, NlnNCam2pi2R = 13, NlnNCam = 12,
  BestFJ30 = 21, plugin_strategy = 999
}
 
enum  JetAlgorithm {
  kt_algorithm =0, cambridge_algorithm =1, antikt_algorithm =2, genkt_algorithm =3,
  cambridge_for_passive_algorithm =11, genkt_for_passive_algorithm =13, ee_kt_algorithm =50, ee_genkt_algorithm =53,
  plugin_algorithm = 99, undefined_jet_algorithm = 999
}
 
enum  RecombinationScheme {
  E_scheme =0, pt_scheme =1, pt2_scheme =2, Et_scheme =3,
  Et2_scheme =4, BIpt_scheme =5, BIpt2_scheme =6, WTA_pt_scheme =7,
  WTA_modp_scheme =8, external_scheme = 99
}
 

Functions

template<class B , class D >
Bcast_if_derived (D *d)
 
template<class T , class U >
bool operator== (SharedPtr< T > const &t, SharedPtr< U > const &u)
 
template<class T , class U >
bool operator!= (SharedPtr< T > const &t, SharedPtr< U > const &u)
 
template<class T , class U >
bool operator< (SharedPtr< T > const &t, SharedPtr< U > const &u)
 
template<class T >
void swap (SharedPtr< T > &a, SharedPtr< T > &b)
 
template<class T >
T * get_pointer (SharedPtr< T > const &t)
 
PseudoJet operator+ (const PseudoJet &, const PseudoJet &)
 
PseudoJet operator- (const PseudoJet &, const PseudoJet &)
 
PseudoJet operator* (double, const PseudoJet &)
 
PseudoJet operator* (const PseudoJet &, double)
 
PseudoJet operator/ (const PseudoJet &, double)
 
bool operator== (const PseudoJet &, const PseudoJet &)
 
bool operator!= (const PseudoJet &a, const PseudoJet &b)
 
bool operator== (const PseudoJet &jet, const double val)
 
bool operator== (const double val, const PseudoJet &jet)
 
bool operator!= (const PseudoJet &a, const double val)
 
bool operator!= (const double val, const PseudoJet &a)
 
double dot_product (const PseudoJet &a, const PseudoJet &b)
 
double cos_theta (const PseudoJet &a, const PseudoJet &b)
 
double theta (const PseudoJet &a, const PseudoJet &b)
 
bool have_same_momentum (const PseudoJet &, const PseudoJet &)
 
PseudoJet PtYPhiM (double pt, double y, double phi, double m=0.0)
 
std::vector< PseudoJetsorted_by_pt (const std::vector< PseudoJet > &jets)
 
std::vector< PseudoJetsorted_by_rapidity (const std::vector< PseudoJet > &jets)
 
std::vector< PseudoJetsorted_by_E (const std::vector< PseudoJet > &jets)
 
std::vector< PseudoJetsorted_by_pz (const std::vector< PseudoJet > &jets)
 
void sort_indices (std::vector< int > &indices, const std::vector< double > &values)
 
template<class T >
std::vector< T > objects_sorted_by_values (const std::vector< T > &objects, const std::vector< double > &values)
 
PseudoJet join (const std::vector< PseudoJet > &pieces)
 
PseudoJet join (const PseudoJet &j1)
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2)
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3)
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3, const PseudoJet &j4)
 
Selector SelectorIdentity ()
 
Selector operator! (const Selector &s)
 
Selector operator|| (const Selector &s1, const Selector &s2)
 
Selector operator&& (const Selector &s1, const Selector &s2)
 
Selector operator* (const Selector &s1, const Selector &s2)
 
Selector SelectorPtMin (double ptmin)
 
Selector SelectorPtMax (double ptmax)
 
Selector SelectorPtRange (double ptmin, double ptmax)
 
Selector SelectorEtMin (double Etmin)
 
Selector SelectorEtMax (double Etmax)
 
Selector SelectorEtRange (double Etmin, double Etmax)
 
Selector SelectorEMin (double Emin)
 
Selector SelectorEMax (double Emax)
 
Selector SelectorERange (double Emin, double Emax)
 
Selector SelectorMassMin (double Mmin)
 
Selector SelectorMassMax (double Mmax)
 
Selector SelectorMassRange (double Mmin, double Mmax)
 
Selector SelectorRapMin (double rapmin)
 
Selector SelectorRapMax (double rapmax)
 
Selector SelectorRapRange (double rapmin, double rapmax)
 
Selector SelectorAbsRapMin (double absrapmin)
 
Selector SelectorAbsRapMax (double absrapmax)
 
Selector SelectorAbsRapRange (double absrapmin, double absrapmax)
 
Selector SelectorEtaMin (double etamin)
 
Selector SelectorEtaMax (double etamax)
 
Selector SelectorEtaRange (double etamin, double etamax)
 
Selector SelectorAbsEtaMin (double absetamin)
 
Selector SelectorAbsEtaMax (double absetamax)
 
Selector SelectorAbsEtaRange (double absetamin, double absetamax)
 
Selector SelectorPhiRange (double phimin, double phimax)
 
Selector SelectorRapPhiRange (double rapmin, double rapmax, double phimin, double phimax)
 
Selector SelectorNHardest (unsigned int n)
 
Selector SelectorCircle (const double radius)
 
Selector SelectorDoughnut (const double radius_in, const double radius_out)
 
Selector SelectorStrip (const double half_width)
 
Selector SelectorRectangle (const double half_rap_width, const double half_phi_width)
 
Selector SelectorPtFractionMin (double fraction)
 
Selector SelectorIsZero ()
 
FJCORE_BEGIN_NAMESPACE std::string fastjet_version_string ()
 
PseudoJet join (const std::vector< PseudoJet > &pieces, const JetDefinition::Recombiner &recombiner)
 
PseudoJet join (const PseudoJet &j1, const JetDefinition::Recombiner &recombiner)
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const JetDefinition::Recombiner &recombiner)
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3, const JetDefinition::Recombiner &recombiner)
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3, const PseudoJet &j4, const JetDefinition::Recombiner &recombiner)
 

Variables

FJCORE_BEGIN_NAMESPACE const double pi = 3.141592653589793238462643383279502884197
 
const double twopi = 6.283185307179586476925286766559005768394
 
const double pisq = 9.869604401089358618834490999876151135314
 
const double zeta2 = 1.644934066848226436472415166646025189219
 
const double zeta3 = 1.202056903159594285399738161511449990765
 
const double eulergamma = 0.577215664901532860606512090082402431042
 
const double ln2 = 0.693147180559945309417232121458176568076
 
FJCORE_BEGIN_NAMESPACE const double MaxRap = 1e5
 
const double pseudojet_invalid_phi = -100.0
 
const double pseudojet_invalid_rap = -1e200
 
const JetAlgorithm aachen_algorithm = cambridge_algorithm
 
const JetAlgorithm cambridge_aachen_algorithm = cambridge_algorithm
 

Macro Definition Documentation

◆ __FJCORE__

#define __FJCORE__

◆ __FJCORE_CLUSTER_SEQUENCE_STRUCTURE_HH__

#define __FJCORE_CLUSTER_SEQUENCE_STRUCTURE_HH__

◆ __FJCORE_CLUSTERSEQUENCE_HH__

#define __FJCORE_CLUSTERSEQUENCE_HH__

◆ __FJCORE_COMPOSITEJET_STRUCTURE_HH__

#define __FJCORE_COMPOSITEJET_STRUCTURE_HH__

◆ __FJCORE_CONFIG_H__

#define __FJCORE_CONFIG_H__

◆ __FJCORE_DROP_CGAL

#define __FJCORE_DROP_CGAL

◆ __FJCORE_ERROR_HH__

#define __FJCORE_ERROR_HH__

◆ __FJCORE_FASTJET_BASE_HH__

#define __FJCORE_FASTJET_BASE_HH__

◆ __FJCORE_FJCORE_DEPRECATED_HH__

#define __FJCORE_FJCORE_DEPRECATED_HH__

◆ __FJCORE_FUNCTION_OF_PSEUDOJET_HH__

#define __FJCORE_FUNCTION_OF_PSEUDOJET_HH__

◆ __FJCORE_INTERNAL_IS_BASE_HH__

#define __FJCORE_INTERNAL_IS_BASE_HH__

◆ __FJCORE_JETDEFINITION_HH__

#define __FJCORE_JETDEFINITION_HH__

◆ __FJCORE_LIMITEDWARNING_HH__

#define __FJCORE_LIMITEDWARNING_HH__

◆ __FJCORE_NNBASE_HH__

#define __FJCORE_NNBASE_HH__

◆ __FJCORE_NNH_HH__

#define __FJCORE_NNH_HH__

◆ __FJCORE_NUMCONSTS__

#define __FJCORE_NUMCONSTS__

◆ __FJCORE_PSEUDOJET_HH__

#define __FJCORE_PSEUDOJET_HH__

◆ __FJCORE_PSEUDOJET_STRUCTURE_BASE_HH__

#define __FJCORE_PSEUDOJET_STRUCTURE_BASE_HH__

◆ __FJCORE_SELECTOR_HH__

#define __FJCORE_SELECTOR_HH__

◆ __FJCORE_SHARED_PTR_HH__

#define __FJCORE_SHARED_PTR_HH__

◆ _INCLUDE_FJCORE_CONFIG_AUTO_H

#define _INCLUDE_FJCORE_CONFIG_AUTO_H   1

◆ FJCORE_BEGIN_NAMESPACE

#define FJCORE_BEGIN_NAMESPACE   namespace fjcore {

◆ FJCORE_DEPRECATED

#define FJCORE_DEPRECATED

◆ FJCORE_DEPRECATED_MSG

#define FJCORE_DEPRECATED_MSG (   message)

◆ FJCORE_END_NAMESPACE

#define FJCORE_END_NAMESPACE   }

◆ FJCORE_HAVE_DLFCN_H

#define FJCORE_HAVE_DLFCN_H   1

◆ FJCORE_HAVE_INTTYPES_H

#define FJCORE_HAVE_INTTYPES_H   1

◆ FJCORE_HAVE_LIBM

#define FJCORE_HAVE_LIBM   1

◆ FJCORE_HAVE_MEMORY_H

#define FJCORE_HAVE_MEMORY_H   1

◆ FJCORE_HAVE_STDINT_H

#define FJCORE_HAVE_STDINT_H   1

◆ FJCORE_HAVE_STDLIB_H

#define FJCORE_HAVE_STDLIB_H   1

◆ FJCORE_HAVE_STRING_H

#define FJCORE_HAVE_STRING_H   1

◆ FJCORE_HAVE_STRINGS_H

#define FJCORE_HAVE_STRINGS_H   1

◆ FJCORE_HAVE_SYS_STAT_H

#define FJCORE_HAVE_SYS_STAT_H   1

◆ FJCORE_HAVE_SYS_TYPES_H

#define FJCORE_HAVE_SYS_TYPES_H   1

◆ FJCORE_HAVE_UNISTD_H

#define FJCORE_HAVE_UNISTD_H   1

◆ FJCORE_LT_OBJDIR

#define FJCORE_LT_OBJDIR   ".libs/"

◆ FJCORE_OVERRIDE

#define FJCORE_OVERRIDE

◆ FJCORE_PACKAGE

#define FJCORE_PACKAGE   "fastjet"

◆ FJCORE_PACKAGE_BUGREPORT

#define FJCORE_PACKAGE_BUGREPORT   ""

◆ FJCORE_PACKAGE_NAME

#define FJCORE_PACKAGE_NAME   "FastJet"

◆ FJCORE_PACKAGE_STRING

#define FJCORE_PACKAGE_STRING   "FastJet 3.3.2"

◆ FJCORE_PACKAGE_TARNAME

#define FJCORE_PACKAGE_TARNAME   "fastjet"

◆ FJCORE_PACKAGE_URL

#define FJCORE_PACKAGE_URL   ""

◆ FJCORE_PACKAGE_VERSION

#define FJCORE_PACKAGE_VERSION   "3.3.2"

◆ FJCORE_STDC_HEADERS

#define FJCORE_STDC_HEADERS   1

◆ FJCORE_VERSION

#define FJCORE_VERSION   "3.3.2"

◆ FJCORE_VERSION_MAJOR

#define FJCORE_VERSION_MAJOR   3

◆ FJCORE_VERSION_MINOR

#define FJCORE_VERSION_MINOR   3

◆ FJCORE_VERSION_NUMBER

#define FJCORE_VERSION_NUMBER   30302

◆ FJCORE_VERSION_PATCHLEVEL

#define FJCORE_VERSION_PATCHLEVEL   2

Typedef Documentation

◆ __no_type

typedef char(& __no_type)[2]

◆ __yes_type

typedef char(& __yes_type)[1]

◆ false_type

typedef integral_type<bool, false> false_type

the bool 'false' value promoted to a type

◆ JetFinder

◆ true_type

typedef integral_type<bool, true> true_type

the bool 'true' value promoted to a type

Enumeration Type Documentation

◆ JetAlgorithm

Enumerator
kt_algorithm 
cambridge_algorithm 
antikt_algorithm 
genkt_algorithm 
cambridge_for_passive_algorithm 
genkt_for_passive_algorithm 
ee_kt_algorithm 
ee_genkt_algorithm 
plugin_algorithm 
undefined_jet_algorithm 
1037  {
1038  kt_algorithm=0,
1040  antikt_algorithm=2,
1041  genkt_algorithm=3,
1044  ee_kt_algorithm=50,
1045  ee_genkt_algorithm=53,
1046  plugin_algorithm = 99,
1048 };

◆ RecombinationScheme

Enumerator
E_scheme 
pt_scheme 
pt2_scheme 
Et_scheme 
Et2_scheme 
BIpt_scheme 
BIpt2_scheme 
WTA_pt_scheme 
WTA_modp_scheme 
external_scheme 
1052  {
1053  E_scheme=0,
1054  pt_scheme=1,
1055  pt2_scheme=2,
1056  Et_scheme=3,
1057  Et2_scheme=4,
1058  BIpt_scheme=5,
1059  BIpt2_scheme=6,
1060  WTA_pt_scheme=7,
1061  WTA_modp_scheme=8,
1062  external_scheme = 99
1063 };

◆ Strategy

enum Strategy
Enumerator
N2MHTLazy9AntiKtSeparateGhosts 
N2MHTLazy9 
N2MHTLazy25 
N2MHTLazy9Alt 
N2MinHeapTiled 
N2Tiled 
N2PoorTiled 
N2Plain 
N3Dumb 
Best 
NlnN 
NlnN3pi 
NlnN4pi 
NlnNCam4pi 
NlnNCam2pi2R 
NlnNCam 
BestFJ30 
plugin_strategy 
1017  {
1019  N2MHTLazy9 = -7,
1020  N2MHTLazy25 = -6,
1021  N2MHTLazy9Alt = -5,
1022  N2MinHeapTiled = -4,
1023  N2Tiled = -3,
1024  N2PoorTiled = -2,
1025  N2Plain = -1,
1026  N3Dumb = 0,
1027  Best = 1,
1028  NlnN = 2,
1029  NlnN3pi = 3,
1030  NlnN4pi = 4,
1031  NlnNCam4pi = 14,
1032  NlnNCam2pi2R = 13,
1033  NlnNCam = 12, // 2piMultD
1034  BestFJ30 = 21,
1035  plugin_strategy = 999
1036 };

Function Documentation

◆ cast_if_derived()

B* cast_if_derived ( D *  d)
247  {
248  return IsBaseAndDerived<B,D>::value ? (B*)(d) : 0;
249 }

◆ cos_theta()

double cos_theta ( const PseudoJet a,
const PseudoJet b 
)
inline
740  {
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())));
743 }

◆ dot_product()

double dot_product ( const PseudoJet a,
const PseudoJet b 
)
inline
737  {
738  return a.E()*b.E() - a.px()*b.px() - a.py()*b.py() - a.pz()*b.pz();
739 }

◆ fastjet_version_string()

FJCORE_BEGIN_NAMESPACE std::string fastjet_version_string ( )
1552  {
1553  return "FastJet version "+string(fastjet_version)+" [fjcore]";
1554 }

◆ get_pointer()

T* get_pointer ( SharedPtr< T > const &  t)
inline
416  {
417  return t.get();
418 }

◆ have_same_momentum()

bool have_same_momentum ( const PseudoJet ,
const PseudoJet  
)
3909  {
3910  return jeta.px() == jetb.px()
3911  && jeta.py() == jetb.py()
3912  && jeta.pz() == jetb.pz()
3913  && jeta.E() == jetb.E();
3914 }

◆ join() [1/10]

PseudoJet join ( const PseudoJet j1)
1255  {
1256  return join<T>(std::vector<PseudoJet>(1,j1));
1257 }

◆ join() [2/10]

PseudoJet join ( const PseudoJet j1,
const JetDefinition::Recombiner recombiner 
)
1295  {
1296  return join<T>(std::vector<PseudoJet>(1,j1), recombiner);
1297 }

◆ join() [3/10]

PseudoJet join ( const PseudoJet j1,
const PseudoJet j2 
)
1258  {
1259  std::vector<PseudoJet> pieces;
1260  pieces.push_back(j1);
1261  pieces.push_back(j2);
1262  return join<T>(pieces);
1263 }

◆ join() [4/10]

PseudoJet join ( const PseudoJet j1,
const PseudoJet j2,
const JetDefinition::Recombiner recombiner 
)
1299  {
1300  std::vector<PseudoJet> pieces;
1301  pieces.reserve(2);
1302  pieces.push_back(j1);
1303  pieces.push_back(j2);
1304  return join<T>(pieces, recombiner);
1305 }

◆ join() [5/10]

PseudoJet join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3 
)
1265  {
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);
1271 }

◆ join() [6/10]

PseudoJet join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3,
const JetDefinition::Recombiner recombiner 
)
1308  {
1309  std::vector<PseudoJet> pieces;
1310  pieces.reserve(3);
1311  pieces.push_back(j1);
1312  pieces.push_back(j2);
1313  pieces.push_back(j3);
1314  return join<T>(pieces, recombiner);
1315 }

◆ join() [7/10]

PseudoJet join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3,
const PseudoJet j4 
)
1273  {
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);
1280 }

◆ join() [8/10]

PseudoJet join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3,
const PseudoJet j4,
const JetDefinition::Recombiner recombiner 
)
1318  {
1319  std::vector<PseudoJet> pieces;
1320  pieces.reserve(4);
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);
1326 }

◆ join() [9/10]

PseudoJet join ( const std::vector< PseudoJet > &  pieces)
1245  {
1246  PseudoJet result(0.0,0.0,0.0,0.0);
1247  for (unsigned int i=0; i<pieces.size(); i++){
1248  const PseudoJet it = pieces[i];
1249  result += it;
1250  }
1251  T *cj_struct = new T(pieces);
1252  result.set_structure_shared_ptr(SharedPtr<PseudoJetStructureBase>(cj_struct));
1253  return result;
1254 }

◆ join() [10/10]

PseudoJet join ( const std::vector< PseudoJet > &  pieces,
const JetDefinition::Recombiner recombiner 
)
1282  {
1283  PseudoJet result;
1284  if (pieces.size()>0){
1285  result = pieces[0];
1286  for (unsigned int i=1; i<pieces.size(); i++){
1287  recombiner.plus_equal(result, pieces[i]);
1288  }
1289  }
1290  T *cj_struct = new T(pieces, &recombiner);
1292  return result;
1293 }

◆ objects_sorted_by_values()

std::vector<T> objects_sorted_by_values ( const std::vector< T > &  objects,
const std::vector< double > &  values 
)
756  {
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");
759  }
760  std::vector<int> indices(values.size());
761  for (size_t i = 0; i < indices.size(); i++) {indices[i] = i;}
762  sort_indices(indices, values);
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]];
766  }
767  return objects_sorted;
768 }

◆ operator!()

Selector operator! ( const Selector s)
4326  {
4327  return Selector(new SW_Not(s));
4328 }

◆ operator!=() [1/4]

bool operator!= ( const double  val,
const PseudoJet a 
)
inline
736 {return !(a==val);}

◆ operator!=() [2/4]

bool operator!= ( const PseudoJet a,
const double  val 
)
inline
735 {return !(a==val);}

◆ operator!=() [3/4]

bool operator!= ( const PseudoJet a,
const PseudoJet b 
)
inline
732 {return !(a==b);}

◆ operator!=() [4/4]

bool operator!= ( SharedPtr< T > const &  t,
SharedPtr< U > const &  u 
)
inline
404  {
405  return t.get() != u.get();
406 }

◆ operator&&()

Selector operator&& ( const Selector s1,
const Selector s2 
)
4385  {
4386  return Selector(new SW_And(s1,s2));
4387 }

◆ operator*() [1/3]

PseudoJet operator* ( const PseudoJet ,
double   
)
3827  {
3828  return coeff*jet;
3829 }

◆ operator*() [2/3]

Selector operator* ( const Selector s1,
const Selector s2 
)
4446  {
4447  return Selector(new SW_Mult(s1,s2));
4448 }

◆ operator*() [3/3]

PseudoJet operator* ( double  ,
const PseudoJet  
)
3821  {
3822  jet._ensure_valid_rap_phi();
3823  PseudoJet coeff_times_jet(jet);
3824  coeff_times_jet *= coeff;
3825  return coeff_times_jet;
3826 }

◆ operator+()

PseudoJet operator+ ( const PseudoJet ,
const PseudoJet  
)
3809  {
3810  return PseudoJet(jet1.px()+jet2.px(),
3811  jet1.py()+jet2.py(),
3812  jet1.pz()+jet2.pz(),
3813  jet1.E() +jet2.E() );
3814 }

◆ operator-()

PseudoJet operator- ( const PseudoJet ,
const PseudoJet  
)
3815  {
3816  return PseudoJet(jet1.px()-jet2.px(),
3817  jet1.py()-jet2.py(),
3818  jet1.pz()-jet2.pz(),
3819  jet1.E() -jet2.E() );
3820 }

◆ operator/()

PseudoJet operator/ ( const PseudoJet ,
double   
)
3830  {
3831  return (1.0/coeff)*jet;
3832 }

◆ operator<()

bool operator< ( SharedPtr< T > const &  t,
SharedPtr< U > const &  u 
)
inline
408  {
409  return t.get() < u.get();
410 }

◆ operator==() [1/4]

bool operator== ( const double  val,
const PseudoJet jet 
)
inline
734 {return jet == val;}

◆ operator==() [2/4]

bool operator== ( const PseudoJet ,
const PseudoJet  
)
3862  {
3863  if (a.px() != b.px()) return false;
3864  if (a.py() != b.py()) return false;
3865  if (a.pz() != b.pz()) return false;
3866  if (a.E () != b.E ()) return false;
3867  if (a.user_index() != b.user_index()) return false;
3868  if (a.cluster_hist_index() != b.cluster_hist_index()) return false;
3869  if (a.user_info_ptr() != b.user_info_ptr()) return false;
3870  if (a.structure_ptr() != b.structure_ptr()) return false;
3871  return true;
3872 }

◆ operator==() [3/4]

bool operator== ( const PseudoJet jet,
const double  val 
)
3873  {
3874  if (val != 0)
3875  throw Error("comparing a PseudoJet with a non-zero constant (double) is not allowed.");
3876  return (jet.px() == 0 && jet.py() == 0 &&
3877  jet.pz() == 0 && jet.E() == 0);
3878 }

◆ operator==() [4/4]

bool operator== ( SharedPtr< T > const &  t,
SharedPtr< U > const &  u 
)
inline
400  {
401  return t.get() == u.get();
402 }

◆ operator||()

Selector operator|| ( const Selector s1,
const Selector s2 
)
4425  {
4426  return Selector(new SW_Or(s1,s2));
4427 }

◆ PtYPhiM()

PseudoJet PtYPhiM ( double  pt,
double  y,
double  phi,
double  m = 0.0 
)
3931  {
3932  assert(phi < 2*twopi && phi > -twopi);
3933  double ptm = (m == 0) ? pt : sqrt(pt*pt+m*m);
3934  double exprap = exp(y);
3935  double pminus = ptm/exprap;
3936  double pplus = ptm*exprap;
3937  double px = pt*cos(phi);
3938  double py = pt*sin(phi);
3939  PseudoJet mom(px,py,0.5*(pplus-pminus),0.5*(pplus+pminus));
3940  mom.set_cached_rap_phi(y,phi);
3941  return mom;
3942 }

◆ SelectorAbsEtaMax()

Selector SelectorAbsEtaMax ( double  absetamax)

select objects with |eta| <= absetamax

4685  {
4686  return Selector(new SW_QuantityMax<QuantityAbsEta>(absetamax));
4687 }

◆ SelectorAbsEtaMin()

Selector SelectorAbsEtaMin ( double  absetamin)

select objects with |eta| >= absetamin

4682  {
4683  return Selector(new SW_QuantityMin<QuantityAbsEta>(absetamin));
4684 }

◆ SelectorAbsEtaRange()

Selector SelectorAbsEtaRange ( double  absetamin,
double  absetamax 
)

select objects with absetamin <= |eta| <= absetamax

4688  {
4689  return Selector(new SW_QuantityRange<QuantityAbsEta>(absetamin, absetamax));
4690 }

◆ SelectorAbsRapMax()

Selector SelectorAbsRapMax ( double  absrapmax)

select objects with |rap| <= absrapmax

4654  {
4655  return Selector(new SW_AbsRapMax(absrapmax));
4656 }

◆ SelectorAbsRapMin()

Selector SelectorAbsRapMin ( double  absrapmin)

select objects with |rap| >= absrapmin

4651  {
4652  return Selector(new SW_QuantityMin<QuantityAbsRap>(absrapmin));
4653 }

◆ SelectorAbsRapRange()

Selector SelectorAbsRapRange ( double  absrapmin,
double  absrapmax 
)

select objects with absrapmin <= |rap| <= absrapmax

4657  {
4658  return Selector(new SW_AbsRapRange(rapmin, rapmax));
4659 }

◆ SelectorCircle()

Selector SelectorCircle ( const double  radius)
4808  {
4809  return Selector(new SW_Circle(radius));
4810 }

◆ SelectorDoughnut()

Selector SelectorDoughnut ( const double  radius_in,
const double  radius_out 
)
4842  {
4843  return Selector(new SW_Doughnut(radius_in, radius_out));
4844 }

◆ SelectorEMax()

Selector SelectorEMax ( double  Emax)

select objects with E <= Emax

4553  {
4554  return Selector(new SW_QuantityMax<QuantityE>(Emax));
4555 }

◆ SelectorEMin()

Selector SelectorEMin ( double  Emin)

select objects with E >= Emin

4550  {
4551  return Selector(new SW_QuantityMin<QuantityE>(Emin));
4552 }

◆ SelectorERange()

Selector SelectorERange ( double  Emin,
double  Emax 
)

select objects with Emin <= E <= Emax

4556  {
4557  return Selector(new SW_QuantityRange<QuantityE>(Emin, Emax));
4558 }

◆ SelectorEtaMax()

Selector SelectorEtaMax ( double  etamax)

select objects with eta <= etamax

4669  {
4670  return Selector(new SW_QuantityMax<QuantityEta>(etamax));
4671 }

◆ SelectorEtaMin()

Selector SelectorEtaMin ( double  etamin)

select objects with eta >= etamin

4666  {
4667  return Selector(new SW_QuantityMin<QuantityEta>(etamin));
4668 }

◆ SelectorEtaRange()

Selector SelectorEtaRange ( double  etamin,
double  etamax 
)

select objects with etamin <= eta <= etamax

4672  {
4673  return Selector(new SW_QuantityRange<QuantityEta>(etamin, etamax));
4674 }

◆ SelectorEtMax()

Selector SelectorEtMax ( double  Etmax)

select objects with Et <= Etmax

4538  {
4539  return Selector(new SW_QuantityMax<QuantityEt2>(Etmax));
4540 }

◆ SelectorEtMin()

Selector SelectorEtMin ( double  Etmin)

select objects with Et >= Etmin

4535  {
4536  return Selector(new SW_QuantityMin<QuantityEt2>(Etmin));
4537 }

◆ SelectorEtRange()

Selector SelectorEtRange ( double  Etmin,
double  Etmax 
)

select objects with Etmin <= Et <= Etmax

4541  {
4542  return Selector(new SW_QuantityRange<QuantityEt2>(Etmin, Etmax));
4543 }

◆ SelectorIdentity()

Selector SelectorIdentity ( )
4291  {
4292  return Selector(new SW_Identity);
4293 }

◆ SelectorIsZero()

Selector SelectorIsZero ( )
4938  {
4939  return Selector(new SW_IsZero());
4940 }

◆ SelectorMassMax()

Selector SelectorMassMax ( double  Mmax)

select objects with Mass <= Mmax

4568  {
4569  return Selector(new SW_QuantityMax<QuantityM2>(mmax));
4570 }

◆ SelectorMassMin()

Selector SelectorMassMin ( double  Mmin)

select objects with Mass >= Mmin

4565  {
4566  return Selector(new SW_QuantityMin<QuantityM2>(mmin));
4567 }

◆ SelectorMassRange()

Selector SelectorMassRange ( double  Mmin,
double  Mmax 
)

select objects with Mmin <= Mass <= Mmax

4571  {
4572  return Selector(new SW_QuantityRange<QuantityM2>(mmin, mmax));
4573 }

◆ SelectorNHardest()

Selector SelectorNHardest ( unsigned int  n)
4764  {
4765  return Selector(new SW_NHardest(n));
4766 }

◆ SelectorPhiRange()

Selector SelectorPhiRange ( double  phimin,
double  phimax 
)

select objects with phimin <= phi <= phimax

4716  {
4717  return Selector(new SW_PhiRange(phimin, phimax));
4718 }

◆ SelectorPtFractionMin()

Selector SelectorPtFractionMin ( double  fraction)
4927  {
4928  return Selector(new SW_PtFractionMin(fraction));
4929 }

◆ SelectorPtMax()

Selector SelectorPtMax ( double  ptmax)

select objects with pt <= ptmax

4523  {
4525 }

◆ SelectorPtMin()

Selector SelectorPtMin ( double  ptmin)

select objects with pt >= ptmin

4520  {
4522 }

◆ SelectorPtRange()

Selector SelectorPtRange ( double  ptmin,
double  ptmax 
)

select objects with ptmin <= pt <= ptmax

4526  {
4528 }

◆ SelectorRapMax()

Selector SelectorRapMax ( double  rapmax)

select objects with rap <= rapmax

4614  {
4615  return Selector(new SW_RapMax(rapmax));
4616 }

◆ SelectorRapMin()

Selector SelectorRapMin ( double  rapmin)

select objects with rap >= rapmin

4611  {
4612  return Selector(new SW_RapMin(rapmin));
4613 }

◆ SelectorRapPhiRange()

Selector SelectorRapPhiRange ( double  rapmin,
double  rapmax,
double  phimin,
double  phimax 
)
4731  {
4732  return Selector(new SW_RapPhiRange(rapmin, rapmax, phimin, phimax));
4733 }

◆ SelectorRapRange()

Selector SelectorRapRange ( double  rapmin,
double  rapmax 
)

select objects with rapmin <= rap <= rapmax

4617  {
4618  return Selector(new SW_RapRange(rapmin, rapmax));
4619 }

◆ SelectorRectangle()

Selector SelectorRectangle ( const double  half_rap_width,
const double  half_phi_width 
)
4907  {
4908  return Selector(new SW_Rectangle(half_rap_width, half_phi_width));
4909 }

◆ SelectorStrip()

Selector SelectorStrip ( const double  half_width)
4874  {
4875  return Selector(new SW_Strip(half_width));
4876 }

◆ sort_indices()

void sort_indices ( std::vector< int > &  indices,
const std::vector< double > &  values 
)
4059  {
4060  IndexedSortHelper index_sort_helper(&values);
4061  sort(indices.begin(), indices.end(), index_sort_helper);
4062 }

◆ sorted_by_E()

std::vector<PseudoJet> sorted_by_E ( const std::vector< PseudoJet > &  jets)
4073  {
4074  vector<double> energies(jets.size());
4075  for (size_t i = 0; i < jets.size(); i++) {energies[i] = -jets[i].E();}
4076  return objects_sorted_by_values(jets, energies);
4077 }

◆ sorted_by_pt()

std::vector<PseudoJet> sorted_by_pt ( const std::vector< PseudoJet > &  jets)
4063  {
4064  vector<double> minus_kt2(jets.size());
4065  for (size_t i = 0; i < jets.size(); i++) {minus_kt2[i] = -jets[i].kt2();}
4066  return objects_sorted_by_values(jets, minus_kt2);
4067 }

◆ sorted_by_pz()

std::vector<PseudoJet> sorted_by_pz ( const std::vector< PseudoJet > &  jets)
4078  {
4079  vector<double> pz(jets.size());
4080  for (size_t i = 0; i < jets.size(); i++) {pz[i] = jets[i].pz();}
4081  return objects_sorted_by_values(jets, pz);
4082 }

◆ sorted_by_rapidity()

std::vector<PseudoJet> sorted_by_rapidity ( const std::vector< PseudoJet > &  jets)
4068  {
4069  vector<double> rapidities(jets.size());
4070  for (size_t i = 0; i < jets.size(); i++) {rapidities[i] = jets[i].rap();}
4071  return objects_sorted_by_values(jets, rapidities);
4072 }

◆ swap()

void swap ( SharedPtr< T > &  a,
SharedPtr< T > &  b 
)
inline
412  {
413  return a.swap(b);
414 }

◆ theta()

double theta ( const PseudoJet a,
const PseudoJet b 
)
inline
744  {
745  return acos(cos_theta(a,b));
746 }

Variable Documentation

◆ aachen_algorithm

const JetAlgorithm aachen_algorithm = cambridge_algorithm

◆ cambridge_aachen_algorithm

const JetAlgorithm cambridge_aachen_algorithm = cambridge_algorithm

◆ eulergamma

const double eulergamma = 0.577215664901532860606512090082402431042

◆ ln2

const double ln2 = 0.693147180559945309417232121458176568076

◆ MaxRap

FJCORE_BEGIN_NAMESPACE const double MaxRap = 1e5

◆ pi

FJCORE_BEGIN_NAMESPACE const double pi = 3.141592653589793238462643383279502884197

◆ pisq

const double pisq = 9.869604401089358618834490999876151135314

◆ pseudojet_invalid_phi

const double pseudojet_invalid_phi = -100.0

◆ pseudojet_invalid_rap

const double pseudojet_invalid_rap = -1e200

◆ twopi

const double twopi = 6.283185307179586476925286766559005768394

◆ zeta2

const double zeta2 = 1.644934066848226436472415166646025189219

◆ zeta3

const double zeta3 = 1.202056903159594285399738161511449990765
genkt_algorithm
@ genkt_algorithm
Definition: fjcore.hh:1041
NlnNCam2pi2R
@ NlnNCam2pi2R
Definition: fjcore.hh:1032
SharedPtr< PseudoJetStructureBase >
plugin_strategy
@ plugin_strategy
Definition: fjcore.hh:1035
jmarExample.pt
pt
Definition: jmarExample.py:19
objects_sorted_by_values
std::vector< T > objects_sorted_by_values(const std::vector< T > &objects, const std::vector< double > &values)
Definition: fjcore.hh:755
ee_kt_algorithm
@ ee_kt_algorithm
Definition: fjcore.hh:1044
SW_AbsRapMax
Definition: fjcore.cc:4627
SW_QuantityMax
Definition: fjcore.cc:4483
PseudoJet::py
double py() const
Definition: fjcore.hh:547
SW_QuantityMin
Definition: fjcore.cc:4469
fastjet_version
FJCORE_BEGIN_NAMESPACE const char * fastjet_version
Definition: fjcore.cc:88
SW_RapMin
Definition: fjcore.cc:4581
NlnN4pi
@ NlnN4pi
Definition: fjcore.hh:1030
SW_AbsRapRange
Definition: fjcore.cc:4639
SW_NHardest
Definition: fjcore.cc:4734
N2Plain
@ N2Plain
Definition: fjcore.hh:1025
B
< SOURCE_DIR >< SOURCE_SUBDIR > B
Definition: Core-cfgcmd.txt:1
SharedPtr::swap
void swap(SharedPtr &share)
Definition: fjcore.hh:359
JetDefinition::Recombiner::plus_equal
void plus_equal(PseudoJet &pa, const PseudoJet &pb) const
Definition: fjcore.hh:1173
kt_algorithm
@ kt_algorithm
Definition: fjcore.hh:1038
SW_Doughnut
Definition: fjcore.cc:4811
IsBaseAndDerived
Definition: fjcore.hh:226
undefined_jet_algorithm
@ undefined_jet_algorithm
Definition: fjcore.hh:1047
cos_theta
double cos_theta(const PseudoJet &a, const PseudoJet &b)
Definition: fjcore.hh:740
WTA_modp_scheme
@ WTA_modp_scheme
Definition: fjcore.hh:1061
Et2_scheme
@ Et2_scheme
Definition: fjcore.hh:1057
N3Dumb
@ N3Dumb
Definition: fjcore.hh:1026
Ntupliser_cfg.jets
string jets
Definition: Ntupliser_cfg.py:41
SW_And
Definition: fjcore.cc:4351
antikt_algorithm
@ antikt_algorithm
Definition: fjcore.hh:1040
NlnN3pi
@ NlnN3pi
Definition: fjcore.hh:1029
SW_Not
Definition: fjcore.cc:4294
SW_QuantityRange
Definition: fjcore.cc:4497
pt2_scheme
@ pt2_scheme
Definition: fjcore.hh:1055
PseudoJet::modp2
double modp2() const
Definition: fjcore.hh:576
PseudoJet::pz
double pz() const
Definition: fjcore.hh:548
BIpt2_scheme
@ BIpt2_scheme
Definition: fjcore.hh:1059
SW_RapMax
Definition: fjcore.cc:4589
N2MHTLazy9
@ N2MHTLazy9
Definition: fjcore.hh:1019
PseudoJet::px
double px() const
Definition: fjcore.hh:546
DAS::Muon::Selector
Selector
Adapted from CMSSW
Definition: applyMuonSelection.cc:39
NlnN
@ NlnN
Definition: fjcore.hh:1028
sort_indices
void sort_indices(std::vector< int > &indices, const std::vector< double > &values)
Definition: fjcore.cc:4058
N2MHTLazy9AntiKtSeparateGhosts
@ N2MHTLazy9AntiKtSeparateGhosts
Definition: fjcore.hh:1018
SW_Or
Definition: fjcore.cc:4388
SharedPtr::get
T * get() const
Definition: fjcore.hh:342
Et_scheme
@ Et_scheme
Definition: fjcore.hh:1056
SW_Rectangle
Definition: fjcore.cc:4877
SW_PtFractionMin
Definition: fjcore.cc:4910
plugin_algorithm
@ plugin_algorithm
Definition: fjcore.hh:1046
DAS::ptmin
static const double ptmin
Definition: binnings.h:46
SW_Circle
Definition: fjcore.cc:4779
PseudoJet
Definition: fjcore.hh:535
NlnNCam4pi
@ NlnNCam4pi
Definition: fjcore.hh:1031
SW_PhiRange
Definition: fjcore.cc:4691
SW_Strip
Definition: fjcore.cc:4845
DAS::ptmax
static const double ptmax
Definition: binnings.h:47
N2MHTLazy25
@ N2MHTLazy25
Definition: fjcore.hh:1020
PseudoJet::set_structure_shared_ptr
void set_structure_shared_ptr(const SharedPtr< PseudoJetStructureBase > &structure)
Definition: fjcore.cc:3981
PseudoJet::E
double E() const
Definition: fjcore.hh:544
SW_IsZero
Definition: fjcore.cc:4930
Error
Definition: fjcore.hh:462
SW_Identity
Definition: fjcore.cc:4279
cambridge_algorithm
@ cambridge_algorithm
Definition: fjcore.hh:1039
WTA_pt_scheme
@ WTA_pt_scheme
Definition: fjcore.hh:1060
ee_genkt_algorithm
@ ee_genkt_algorithm
Definition: fjcore.hh:1045
SW_Mult
Definition: fjcore.cc:4428
NlnNCam
@ NlnNCam
Definition: fjcore.hh:1033
IndexedSortHelper
Definition: fjcore.hh:769
BIpt_scheme
@ BIpt_scheme
Definition: fjcore.hh:1058
twopi
const double twopi
Definition: fjcore.hh:192
pt_scheme
@ pt_scheme
Definition: fjcore.hh:1054
N2Tiled
@ N2Tiled
Definition: fjcore.hh:1023
N2MHTLazy9Alt
@ N2MHTLazy9Alt
Definition: fjcore.hh:1021
N2MinHeapTiled
@ N2MinHeapTiled
Definition: fjcore.hh:1022
external_scheme
@ external_scheme
Definition: fjcore.hh:1062
SW_RapPhiRange
Definition: fjcore.cc:4719
E_scheme
@ E_scheme
Definition: fjcore.hh:1053
N2PoorTiled
@ N2PoorTiled
Definition: fjcore.hh:1024
Ntupliser_cfg.radius
dictionary radius
Definition: Ntupliser_cfg.py:35
genkt_for_passive_algorithm
@ genkt_for_passive_algorithm
Definition: fjcore.hh:1043
cambridge_for_passive_algorithm
@ cambridge_for_passive_algorithm
Definition: fjcore.hh:1042
SW_RapRange
Definition: fjcore.cc:4597
Best
@ Best
Definition: fjcore.hh:1027
BestFJ30
@ BestFJ30
Definition: fjcore.hh:1034