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.
1.6.1