7#ifndef JETREC_FASTJETINTERFACETOOL_H
8#define JETREC_FASTJETINTERFACETOOL_H
14#include "fastjet/ClusterSequence.hh"
15#include "fastjet/JetDefinition.hh"
16#include "fastjet/AreaDefinition.hh"
25#ifndef XAOD_STANDALONE
27#include "fastjet/SISConePlugin.hh"
28#include "fastjet/CMSIterativeConePlugin.hh"
36 typedef std::map<std::string,fastjet::JetAlgorithm>
algomap_t;
40 typedef std::map<std::string,fastjet::RecombinationScheme>
schememap_t;
42#ifndef XAOD_STANDALONE
48 typedef std::map<std::string,fastjet::AreaType>
areamap_t;
71 template<
class D,
class M>
75 typename M::const_iterator fMap(
map.find(key));
76 if ( fMap !=
map.end() ) { tag = (*fMap).second;
return true; }
77 else {
return false; }
91 template<
class D,
class M>
92 const std::string&
cfgName(D tag,
const M&
map,
const std::string& invalidKey)
94 typename M::const_iterator fMap(
map.begin());
95 typename M::const_iterator lMap(
map.end());
96 while ( fMap != lMap && (*fMap).second != tag ) { ++fMap; }
97 return fMap != lMap ? (*fMap).first : invalidKey;
288 bool checkConfig(
const std::string& key,fastjet::JetAlgorithm& fjalg);
297 bool checkConfig(
const std::string& key,fastjet::Strategy& fjstr);
306 bool checkConfig(
const std::string& key,fastjet::RecombinationScheme& fjrs);
315#ifndef XAOD_STANDALONE
316 bool checkConfig(
const std::string& key,fastjet::SISConePlugin::SplitMergeScale& fjsms);
325 bool checkConfig(
const std::string& tag,fastjet::AreaType& fjart);
333 const std::string&
configName(fastjet::JetAlgorithm fjalg);
341 const std::string&
configName(fastjet::Strategy fjstr);
349 const std::string&
configName(fastjet::RecombinationScheme fjrs);
357#ifndef XAOD_STANDALONE
358 const std::string&
configName(fastjet::SISConePlugin::SplitMergeScale fjsms);
367 const std::string&
configName(fastjet::AreaType fjart);
394#ifndef XAOD_STANDALONE
Collection of types for the internal dictionary.
const std::string & cfgName(D tag, const M &map, const std::string &invalidKey)
General configuration keyword finder.
std::map< std::string, fastjet::AreaType > areamap_t
Mapping keyword on fastjet area type tag.
fastjet::PseudoJet fjet_t
fastjet data model for jet
std::map< std::string, fastjet::Strategy > strategymap_t
Mapping keyword on fastjet clustering strategy tag.
std::map< std::string, fastjet::SISConePlugin::SplitMergeScale > splitMergeScaleMap_t
Mapping keyword on fastjet SIS Cone split merge scale tag.
std::map< std::string, fastjet::RecombinationScheme > schememap_t
Mapping keyword on fastjet recombination scheme tag.
static bool chkConfig(const std::string &key, D &tag, const M &map)
General configuration check.
std::map< std::string, fastjet::JetAlgorithm > algomap_t
Mapping keyword on fastjet jet algorithm tag.
std::vector< fjet_t > fjetlist_t
Container for fastjet jets.