FastJetInterfaceTool Class Reference

Wrapper for fastjet verion 2.4.4. More...

#include <FastJetInterfaceTool.h>

Inheritance diagram for FastJetInterfaceTool:
asg::AsgTool IFastJetInterfaceTool asg::IAsgTool asg::IAsgTool

List of all members.

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_tgetKnownAlgorithms ()
 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_tgetKnownAreas ()
 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.

Detailed Description

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 $ d_{cut} $ if ExclusiveDcut > 0 or (b) based on $ N_{jet} $ if ExclusiveDcut < 0.


Member Function Documentation

bool FastJetInterfaceTool::checkConfig ( const std::string &  tag,
fastjet::AreaType &  fjart 
) [protected]

Check configuration keyword for jet area type.

Returns:
true if keyword is valid, else false
Parameters:
[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.

Returns:
true if keyword is valid, else false
Parameters:
[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.

Returns:
true if keyword is valid, else false
Parameters:
[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.

Returns:
true if keyword is valid, else false
Parameters:
[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.

Returns:
true if keyword is valid, else false
Parameters:
[in] key client provided keyword
[out] fjalg fastjet tag
const fastjet::ClusterSequence * FastJetInterfaceTool::clusterSequence (  )  const [virtual]

Access fastjet ClusterSequence.

Returns:
Const pointer to actual 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.

Returns:
Pointer to actual 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.

Returns:
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.

Returns:
Keyword if fastjet tag is known, else reference to "unknown"
Parameters:
[in] fjrs fastjet area type tag
const std::string & FastJetInterfaceTool::configName ( fastjet::SISConePlugin::SplitMergeScale  fjsms  )  [protected]

Get keyword for fastjet configuration.

Returns:
Keyword if fastjet tag is known, else reference to "unknown"
Parameters:
[in] fjsms fastjet SIS Cone split merge scale tag
const std::string & FastJetInterfaceTool::configName ( fastjet::RecombinationScheme  fjrs  )  [protected]

Get keyword for fastjet configuration.

Returns:
Keyword if fastjet tag is known, else reference to "unknown"
Parameters:
[in] fjrs fastjet recombination scheme tag
const std::string & FastJetInterfaceTool::configName ( fastjet::Strategy  fjstr  )  [protected]

Get keyword for fastjet configuration.

Returns:
Keyword if fastjet tag is known, else reference to "unknown"
Parameters:
[in] fjstr fastjet jet clustering strategy tag
const std::string & FastJetInterfaceTool::configName ( fastjet::JetAlgorithm  fjalg  )  [protected]

Get keyword for fastjet configuration.

Returns:
Keyword if fastjet tag is known, else reference to "unknown"
Parameters:
[in] fjalg fastjet jet algorithm tag
StatusCode FastJetInterfaceTool::execute ( const fjetlist_t &  inJets,
fjetlist_t &  outJets 
) [virtual]

Execute method.

Executes the requested fastjet configuration.

Parameters:
[in] inJets reference to non-modifiable list of input objects
[out] outJets reference to modifiable list of output jets
Returns:
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 $ d_{cut} $ .

Parameters:
[out] outJets reference to modifiable PseudoJet collection containing exclusive jet sample
Returns:
StatusCode::SUCCESS if everything is ok.
StatusCode FastJetInterfaceTool::f_extractExclNjets ( FastJetInterface::fjetlist_t outJets  )  [protected]

Exclusive extractor implementation.

Extracts exclusive jet sample defined by $ N_{jets} $ .

Parameters:
[out] outJets reference to modifiable PseudoJet collection containing exclusive jet sample
Returns:
StatusCode::SUCCESS if everything is ok.
StatusCode FastJetInterfaceTool::f_extractInclusive ( FastJetInterface::fjetlist_t outJets  )  [protected]

Inclusive extractor implementation.

Extracts inclusive jets above a given $ p_T $ cut, as defined in the InclusivePtMin property.

Parameters:
[out] outJets reference to modifiable PseudoJet collection containing inclusive jet sample
Returns:
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.

Returns:
StatusCode::SUCCESS if execution ok, StatusCode::FAILURE if e.g. pointer to fastjet::ClusterSequence invalid, or returned jet list is empty.
Parameters:
[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.

Returns:
StatusCode::SUCCESS if execution ok, StatusCode::FAILURE if e.g. pointer to fastjet::ClusterSequence invalid, or returned jet list is empty.
Parameters:
[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.

Returns:
Const pointer to actual 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.

Returns:
Const string of actual area definition type.

The string returned cannot be modified by client.

Implements IFastJetInterfaceTool.

const fastjet::JetDefinition * FastJetInterfaceTool::getJetDefinition (  )  const [virtual]

Access fastjet JetDefinition.

Returns:
Const pointer to actual JetDefinition object.

The object pointed to cannot be modified by client.

Implements IFastJetInterfaceTool.

StatusCode FastJetInterfaceTool::initialize ( void   )  [virtual]

Initialize tool.

Checks properties and configure fastjet

Reimplemented from asg::AsgTool.

template<class S >
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

Returns:
Const pointer to actual 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.

template<class S >
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

Returns:
Pointer to actual 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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1