Wrapper for fastjet
verion 2.4.4.
More...
#include <FastJetInterfaceTool.h>
Public Member Functions | |
FastJetInterfaceTool (const std::string &n) | |
Standard AlgTool constructor. | |
virtual | ~FastJetInterfaceTool () |
Base class destructor. | |
virtual StatusCode | initialize () |
Initialize tool. | |
virtual StatusCode | execute (const fjetlist_t &inJets, fjetlist_t &outJets) |
Execute method. | |
virtual fastjet::ClusterSequence * | clusterSequence () |
Access fastjet ClusterSequence . | |
virtual const fastjet::ClusterSequence * | clusterSequence () const |
Access fastjet ClusterSequence . | |
template<class S > | |
S * | specificClusterSequence () |
Access to specific cluster sequence. | |
template<class S > | |
const S * | specificClusterSequence () const |
Access to specific cluster sequence. | |
const fastjet::JetDefinition * | getJetDefinition () const |
Access fastjet JetDefinition . | |
const fastjet::AreaDefinition * | getAreaDefinition () const |
Access fastjet AreaDefinition . | |
const std::string | getAreaDefinitionType () const |
Access fastjet area definition type. | |
const FastJetInterface::algomap_t & | getKnownAlgorithms () |
Get known jet algorithms. | |
const FastJetInterface::strategymap_t & | getKnownStrategies () |
Get known jet finding strategies. | |
const FastJetInterface::schememap_t & | getKnownRecombinationSchemes () |
Get known recombination schemes. | |
const FastJetInterface::splitMergeScaleMap_t & | getKnownSplitMergeScales () |
Get known split merge scales. | |
const FastJetInterface::areamap_t & | getKnownAreas () |
Get known area types. | |
Protected Types | |
typedef StatusCode(FastJetInterfaceTool::* | PROCESSOR )(const FastJetInterface::fjetlist_t &inJets, FastJetInterface::fjetlist_t &outJets) |
Processor function pointer type. | |
typedef StatusCode(FastJetInterfaceTool::* | EXTRACTOR )(FastJetInterface::fjetlist_t &outJets) |
Extractor function pointer type. | |
Protected Member Functions | |
bool | checkConfig (const std::string &key, fastjet::JetAlgorithm &fjalg) |
Check configuration keyword for jet algorithm. | |
bool | checkConfig (const std::string &key, fastjet::Strategy &fjstr) |
Check configuration keyword for jet clustering strategy. | |
bool | checkConfig (const std::string &key, fastjet::RecombinationScheme &fjrs) |
Check configuration keyword for recombination scheme. | |
bool | checkConfig (const std::string &key, fastjet::SISConePlugin::SplitMergeScale &fjsms) |
Check configuration keyword for SIS Cone split merge scale. | |
bool | checkConfig (const std::string &tag, fastjet::AreaType &fjart) |
Check configuration keyword for jet area type. | |
const std::string & | configName (fastjet::JetAlgorithm fjalg) |
Get keyword for fastjet configuration. | |
const std::string & | configName (fastjet::Strategy fjstr) |
Get keyword for fastjet configuration. | |
const std::string & | configName (fastjet::RecombinationScheme fjrs) |
Get keyword for fastjet configuration. | |
const std::string & | configName (fastjet::SISConePlugin::SplitMergeScale fjsms) |
Get keyword for fastjet configuration. | |
const std::string & | configName (fastjet::AreaType fjart) |
Get keyword for fastjet configuration. | |
StatusCode | f_processWithoutArea (const FastJetInterface::fjetlist_t &inJets, FastJetInterface::fjetlist_t &outJets) |
Processor implementation: cluster sequence without area calculation. | |
StatusCode | f_processWithArea (const FastJetInterface::fjetlist_t &inJets, FastJetInterface::fjetlist_t &outJets) |
Processor implementation: cluster sequence with area calculation. | |
StatusCode | configJetAreas () |
Configures jet area calculation strategy. | |
StatusCode | f_extractInclusive (FastJetInterface::fjetlist_t &outJets) |
Inclusive extractor implementation. | |
StatusCode | f_extractExclDcut (FastJetInterface::fjetlist_t &outJets) |
Exclusive extractor implementation. | |
StatusCode | f_extractExclNjets (FastJetInterface::fjetlist_t &outJets) |
Exclusive extractor implementation. | |
virtual void | updateRandomSeeds () |
Set the area rnd seed according to run/event numbers. | |
Protected Attributes | |
std::string | m_clusterSequenceType |
fastjet property: cluster sequence type | |
std::string | m_jetAlgorithmType |
fastjet property: jet algorithm | |
std::string | m_clusterStrategyType |
fastjet property: cluster strategy | |
std::string | m_recombinationSchemeType |
fastjet property: recombination scheme | |
double | m_CMS_seedThreshold |
fastjet property for CMS Cone plugin: seed threshold | |
double | m_SIS_overlapThreshold |
fastjet property for SIS Cone plugin: overlap threshold | |
int | m_SIS_nPass |
fastjet property for SIS Cone plugin: max number of passes | |
double | m_SIS_protojetPtMin |
fastjet property for SIS Cone plugin: protojet min pt | |
bool | m_SIS_doCaching |
fastjet property for SIS Cone plugin: do caching | |
std::string | m_SIS_splitMergeScale_STRING |
fastjet property for SIS Cone plugin: split merge scale | |
double | m_SIS_splitMergeStopScale |
fastjet property for SIS Cone plugin: split merge stop scale | |
double | m_radius |
Jet algorithm property: radius/distance parameter. | |
bool | m_inclusive |
Jet algorithm control property: inclusive/exclusive jet finding. | |
double | m_exclusiveDcut |
Exclusive jet finder property: d cut. | |
int | m_exclusiveNjets |
Exclusive jet finder property: number of jets requested. | |
double | m_pTmin |
Inclusive jet finder property: pTmin cut. | |
bool | m_doJetArea |
Tool property: flag controls if jet area is calculated. | |
std::string | m_jetAreaDefinitionType |
fastjet property: jet area definition | |
double | m_voronoiEffectiveRfact |
fastjet property: Voronoi area effective radius | |
double | m_ghostedMaxRap |
fastjet property: ghost area rapidity limit (max) | |
double | m_ghostedMinRap |
fastjet property: ghost area rapidity limit (min) | |
int | m_ghostedRepeat |
fastjet property: ghost area calculation repeatitions | |
double | m_ghostedArea |
fastjet property: size of area coverded by each ghost | |
double | m_ghostedGridScatter |
fastjet property: scatter of ghosts on grid | |
double | m_ghostedKtScatter |
fastjet property: scatter of kT of ghosts | |
double | m_ghostedMeanKt |
fastjet property: average kT of ghosts | |
fastjet::JetAlgorithm | m_jetAlgorithm |
fastjet tag: jet algorithm | |
fastjet::Strategy | m_strategy |
fastjet tag: jet clustering strategy | |
fastjet::AreaType | m_areaType |
fastjet tag: jet area type | |
fastjet::RecombinationScheme | m_recombinationScheme |
fastjet tag: recombination scheme | |
fastjet::SISConePlugin::SplitMergeScale | m_SIS_splitMergeScale |
fastjet tag: SIS split merge scale | |
fastjet::JetDefinition * | m_jetDefinition |
Pointer to jet definition. | |
fastjet::ClusterSequence * | m_clusterSequence |
Pointer to actual cluster sequence. | |
fastjet::AreaDefinition * | m_areaDefinition |
Pointer to area definition. | |
uint64_t | m_baseRNDSeed |
Base seed for random generator. Constructed from m_jetAlgorithm and m_radius. | |
uint64_t | m_userRNDSeed |
Seed modifier for random generator : a user property (default to 0, i.e m_baseRNDSeed is unmodified). | |
PROCESSOR | m_processor |
Pointer to processor. | |
EXTRACTOR | m_extractor |
Pointer to extractor. |
Wrapper for fastjet
verion 2.4.4.
This wrapper provides the dictionary to translate a Athena tool configuration to known fastjet
configurations at initilization. It executes the requested fastjet
methods and provides access to the results. The data interfaces are purely based on the fastjet
data model. This tool should therefore be wrapped by a module linking the fastjet
data model to the Athena event data models for jet inputs.
The present version implements a rather large subset of fastjet
functionality as is available in fastjet
version 2.4.4. Accessing the largely improved features of fastjet
versions 3.0.0 and up require adaptations of this tool.
Remarks on process control:
If Inclusive
is false
, exclusive jets are returned (a) based on if ExclusiveDcut
> 0 or (b) based on if ExclusiveDcut
< 0.
bool FastJetInterfaceTool::checkConfig | ( | const std::string & | tag, | |
fastjet::AreaType & | fjart | |||
) | [protected] |
Check configuration keyword for jet area type.
true
if keyword is valid, else false
[in] | key | client provided keyword |
[out] | fjart | fastjet tag |
bool FastJetInterfaceTool::checkConfig | ( | const std::string & | key, | |
fastjet::SISConePlugin::SplitMergeScale & | fjsms | |||
) | [protected] |
Check configuration keyword for SIS Cone split merge scale.
true
if keyword is valid, else false
[in] | key | client provided keyword |
[out] | fjsms | fastjet tag |
bool FastJetInterfaceTool::checkConfig | ( | const std::string & | key, | |
fastjet::RecombinationScheme & | fjrs | |||
) | [protected] |
Check configuration keyword for recombination scheme.
true
if keyword is valid, else false
[in] | key | client provided keyword |
[out] | fjrs | fastjet tag |
bool FastJetInterfaceTool::checkConfig | ( | const std::string & | key, | |
fastjet::Strategy & | fjstr | |||
) | [protected] |
Check configuration keyword for jet clustering strategy.
true
if keyword is valid, else false
[in] | key | client provided keyword |
[out] | fjstr | fastjet tag |
bool FastJetInterfaceTool::checkConfig | ( | const std::string & | key, | |
fastjet::JetAlgorithm & | fjalg | |||
) | [protected] |
Check configuration keyword for jet algorithm.
true
if keyword is valid, else false
[in] | key | client provided keyword |
[out] | fjalg | fastjet tag |
const fastjet::ClusterSequence * FastJetInterfaceTool::clusterSequence | ( | ) | const [virtual] |
Access fastjet
ClusterSequence
.
ClusterSequence
object. Note that this object will only be updated after invoking the FastJetInterfaceTool::execute
(...) method.The object pointed to cannot be modified by client.
Implements IFastJetInterfaceTool.
fastjet::ClusterSequence * FastJetInterfaceTool::clusterSequence | ( | ) | [virtual] |
Access fastjet
ClusterSequence
.
ClusterSequence
object. Note that this object will only be updated after invoking the FastJetInterfaceTool::execute
(...) method.The object pointed to can be modified by client.
Implements IFastJetInterfaceTool.
StatusCode FastJetInterfaceTool::configJetAreas | ( | ) | [protected] |
Configures jet area calculation strategy.
StatusCode::SUCCESS
if area algorithm configured alright, else StatusCode::FAILURE
(most likely indicates invalid area algorithm specs in the properties of the tool). const std::string & FastJetInterfaceTool::configName | ( | fastjet::AreaType | fjart | ) | [protected] |
Get keyword for fastjet
configuration.
fastjet
tag is known, else reference to "unknown"[in] | fjrs | fastjet area type tag |
const std::string & FastJetInterfaceTool::configName | ( | fastjet::SISConePlugin::SplitMergeScale | fjsms | ) | [protected] |
Get keyword for fastjet
configuration.
fastjet
tag is known, else reference to "unknown"[in] | fjsms | fastjet SIS Cone split merge scale tag |
const std::string & FastJetInterfaceTool::configName | ( | fastjet::RecombinationScheme | fjrs | ) | [protected] |
Get keyword for fastjet
configuration.
fastjet
tag is known, else reference to "unknown"[in] | fjrs | fastjet recombination scheme tag |
const std::string & FastJetInterfaceTool::configName | ( | fastjet::Strategy | fjstr | ) | [protected] |
Get keyword for fastjet
configuration.
fastjet
tag is known, else reference to "unknown"[in] | fjstr | fastjet jet clustering strategy tag |
const std::string & FastJetInterfaceTool::configName | ( | fastjet::JetAlgorithm | fjalg | ) | [protected] |
Get keyword for fastjet
configuration.
fastjet
tag is known, else reference to "unknown"[in] | fjalg | fastjet jet algorithm tag |
StatusCode FastJetInterfaceTool::execute | ( | const fjetlist_t & | inJets, | |
fjetlist_t & | outJets | |||
) | [virtual] |
Execute method.
Executes the requested fastjet
configuration.
[in] | inJets | reference to non-modifiable list of input objects |
[out] | outJets | reference to modifiable list of output jets |
StatusCode::SUCCESS
independent of successful execution Implements IFastJetInterfaceTool.
StatusCode FastJetInterfaceTool::f_extractExclDcut | ( | FastJetInterface::fjetlist_t & | outJets | ) | [protected] |
Exclusive extractor implementation.
Extracts exclusive jet sample defined by .
[out] | outJets | reference to modifiable PseudoJet collection containing exclusive jet sample |
StatusCode::SUCCESS
if everything is ok. StatusCode FastJetInterfaceTool::f_extractExclNjets | ( | FastJetInterface::fjetlist_t & | outJets | ) | [protected] |
Exclusive extractor implementation.
Extracts exclusive jet sample defined by .
[out] | outJets | reference to modifiable PseudoJet collection containing exclusive jet sample |
StatusCode::SUCCESS
if everything is ok. StatusCode FastJetInterfaceTool::f_extractInclusive | ( | FastJetInterface::fjetlist_t & | outJets | ) | [protected] |
Inclusive extractor implementation.
Extracts inclusive jets above a given cut, as defined in the InclusivePtMin
property.
[out] | outJets | reference to modifiable PseudoJet collection containing inclusive jet sample |
StatusCode::SUCCESS
if everything is ok. StatusCode FastJetInterfaceTool::f_processWithArea | ( | const FastJetInterface::fjetlist_t & | inJets, | |
FastJetInterface::fjetlist_t & | outJets | |||
) | [protected] |
Processor implementation: cluster sequence with area calculation.
Sets up and executes a fastjet::ClusterSequence
with finds jets with a client configured area calculation.
StatusCode::SUCCESS
if execution ok, StatusCode::FAILURE
if e.g. pointer to fastjet::ClusterSequence
invalid, or returned jet list is empty.[in] | inJets | reference to non-modifiable list of fastjet::PseudoJet objects |
[out] | outJets | reference to modifiable list of fastjet::PseudoJet objects to store output |
StatusCode FastJetInterfaceTool::f_processWithoutArea | ( | const FastJetInterface::fjetlist_t & | inJets, | |
FastJetInterface::fjetlist_t & | outJets | |||
) | [protected] |
Processor implementation: cluster sequence without area calculation.
Sets up and executes a fastjet::ClusterSequence
with finds jets without area calculation.
StatusCode::SUCCESS
if execution ok, StatusCode::FAILURE
if e.g. pointer to fastjet::ClusterSequence
invalid, or returned jet list is empty.[in] | inJets | reference to non-modifiable list of fastjet::PseudoJet objects |
[out] | outJets | reference to modifiable list of fastjet::PseudoJet objects to store output |
const fastjet::AreaDefinition * FastJetInterfaceTool::getAreaDefinition | ( | ) | const [virtual] |
Access fastjet
AreaDefinition
.
AreaDefinition
object.The object pointed to cannot be modified by client.
Implements IFastJetInterfaceTool.
const std::string FastJetInterfaceTool::getAreaDefinitionType | ( | ) | const [virtual] |
Access fastjet
area
definition type.
area
definition type.The string returned cannot be modified by client.
Implements IFastJetInterfaceTool.
const fastjet::JetDefinition * FastJetInterfaceTool::getJetDefinition | ( | ) | const [virtual] |
Access fastjet
JetDefinition
.
JetDefinition
object.The object pointed to cannot be modified by client.
Implements IFastJetInterfaceTool.
StatusCode FastJetInterfaceTool::initialize | ( | void | ) | [virtual] |
const S* FastJetInterfaceTool::specificClusterSequence | ( | ) | const [inline] |
Access to specific cluster sequence.
The template parameter S
is expect to be set to an object type derived from the basic fastjet
ClusterSequence
S
object. Note that this object will only be updated after invoking the FastJetInterfaceTool::execute
(...) method.The object pointed to cannot be modified by client.
S* FastJetInterfaceTool::specificClusterSequence | ( | ) | [inline] |
Access to specific cluster sequence.
The template parameter S
is expect to be set to an object type derived from the basic fastjet
ClusterSequence
S
object. Note that this object will only be updated after invoking the FastJetInterfaceTool::execute
(...) method.The object pointed to can be modified by client.