ATLAS Offline Software
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
FastJetInterfaceTool Class Reference

Wrapper for fastjet verion 2.4.4. More...

#include <FastJetInterfaceTool.h>

Inheritance diagram for FastJetInterfaceTool:
Collaboration diagram for FastJetInterfaceTool:

Public Types

typedef fastjet::PseudoJet fjet_t
 
typedef std::vector< fjet_tfjetlist_t
 

Public Member Functions

 FastJetInterfaceTool (const std::string &n)
 Standard AlgTool constructor. More...
 
virtual ~FastJetInterfaceTool ()
 Base class destructor. More...
 
virtual StatusCode initialize ()
 Initialize tool. More...
 
virtual StatusCode execute (const fjetlist_t &inJets, fjetlist_t &outJets)
 Execute method. More...
 
virtual fastjet::ClusterSequence * clusterSequence ()
 Access fastjet ClusterSequence. More...
 
virtual const fastjet::ClusterSequence * clusterSequence () const
 Access fastjet ClusterSequence. More...
 
template<class S >
S * specificClusterSequence ()
 Access to specific cluster sequence. More...
 
template<class S >
const S * specificClusterSequence () const
 Access to specific cluster sequence. More...
 
const fastjet::JetDefinition * getJetDefinition () const
 Access fastjet JetDefinition. More...
 
const fastjet::AreaDefinition * getAreaDefinition () const
 Access fastjet AreaDefinition. More...
 
const std::string getAreaDefinitionType () const
 Access fastjet area definition type. More...
 
const FastJetInterface::algomap_tgetKnownAlgorithms ()
 Get known jet algorithms. More...
 
const FastJetInterface::strategymap_tgetKnownStrategies ()
 Get known jet finding strategies. More...
 
const FastJetInterface::schememap_tgetKnownRecombinationSchemes ()
 Get known recombination schemes. More...
 
const FastJetInterface::splitMergeScaleMap_tgetKnownSplitMergeScales ()
 Get known split merge scales. More...
 
const FastJetInterface::areamap_tgetKnownAreas ()
 Get known area types. More...
 
virtual void print () const
 Print the state of the tool. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Protected Types

typedef StatusCode(FastJetInterfaceTool::* PROCESSOR) (const FastJetInterface::fjetlist_t &inJets, FastJetInterface::fjetlist_t &outJets)
 Processor function pointer type. More...
 
typedef StatusCode(FastJetInterfaceTool::* EXTRACTOR) (FastJetInterface::fjetlist_t &outJets)
 Extractor function pointer type. More...
 

Protected Member Functions

bool checkConfig (const std::string &key, fastjet::JetAlgorithm &fjalg)
 Check configuration keyword for jet algorithm. More...
 
bool checkConfig (const std::string &key, fastjet::Strategy &fjstr)
 Check configuration keyword for jet clustering strategy. More...
 
bool checkConfig (const std::string &key, fastjet::RecombinationScheme &fjrs)
 Check configuration keyword for recombination scheme. More...
 
bool checkConfig (const std::string &key, fastjet::SISConePlugin::SplitMergeScale &fjsms)
 Check configuration keyword for SIS Cone split merge scale. More...
 
bool checkConfig (const std::string &tag, fastjet::AreaType &fjart)
 Check configuration keyword for jet area type. More...
 
const std::string & configName (fastjet::JetAlgorithm fjalg)
 Get keyword for fastjet configuration. More...
 
const std::string & configName (fastjet::Strategy fjstr)
 Get keyword for fastjet configuration. More...
 
const std::string & configName (fastjet::RecombinationScheme fjrs)
 Get keyword for fastjet configuration. More...
 
const std::string & configName (fastjet::SISConePlugin::SplitMergeScale fjsms)
 Get keyword for fastjet configuration. More...
 
const std::string & configName (fastjet::AreaType fjart)
 Get keyword for fastjet configuration. More...
 
StatusCode f_processWithoutArea (const FastJetInterface::fjetlist_t &inJets, FastJetInterface::fjetlist_t &outJets)
 Processor implementation: cluster sequence without area calculation. More...
 
StatusCode f_processWithArea (const FastJetInterface::fjetlist_t &inJets, FastJetInterface::fjetlist_t &outJets)
 Processor implementation: cluster sequence with area calculation. More...
 
StatusCode configJetAreas ()
 Configures jet area calculation strategy. More...
 
StatusCode f_extractInclusive (FastJetInterface::fjetlist_t &outJets)
 Inclusive extractor implementation. More...
 
StatusCode f_extractExclDcut (FastJetInterface::fjetlist_t &outJets)
 Exclusive extractor implementation. More...
 
StatusCode f_extractExclNjets (FastJetInterface::fjetlist_t &outJets)
 Exclusive extractor implementation. More...
 
virtual void updateRandomSeeds ()
 Set the area rnd seed according to run/event numbers. More...
 
void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Protected Attributes

std::string m_clusterSequenceType
 fastjet property: cluster sequence type More...
 
std::string m_jetAlgorithmType
 fastjet property: jet algorithm More...
 
std::string m_clusterStrategyType
 fastjet property: cluster strategy More...
 
std::string m_recombinationSchemeType
 fastjet property: recombination scheme More...
 
double m_CMS_seedThreshold
 fastjet property for CMS Cone plugin: seed threshold More...
 
double m_SIS_overlapThreshold
 fastjet property for SIS Cone plugin: overlap threshold More...
 
int m_SIS_nPass
 fastjet property for SIS Cone plugin: max number of passes More...
 
double m_SIS_protojetPtMin
 fastjet property for SIS Cone plugin: protojet min pt More...
 
bool m_SIS_doCaching
 fastjet property for SIS Cone plugin: do caching More...
 
std::string m_SIS_splitMergeScale_STRING
 fastjet property for SIS Cone plugin: split merge scale More...
 
double m_SIS_splitMergeStopScale
 fastjet property for SIS Cone plugin: split merge stop scale More...
 
double m_radius
 Jet algorithm property: radius/distance parameter. More...
 
bool m_inclusive
 Jet algorithm control property: inclusive/exclusive jet finding. More...
 
double m_exclusiveDcut
 Exclusive jet finder property: d cut. More...
 
int m_exclusiveNjets
 Exclusive jet finder property: number of jets requested. More...
 
double m_pTmin
 Inclusive jet finder property: pTmin cut. More...
 
bool m_doJetArea
 Tool property: flag controls if jet area is calculated. More...
 
std::string m_jetAreaDefinitionType
 fastjet property: jet area definition More...
 
double m_voronoiEffectiveRfact
 fastjet property: Voronoi area effective radius More...
 
double m_ghostedMaxRap
 fastjet property: ghost area rapidity limit (max) More...
 
double m_ghostedMinRap
 fastjet property: ghost area rapidity limit (min) More...
 
int m_ghostedRepeat
 fastjet property: ghost area calculation repeatitions More...
 
double m_ghostedArea
 fastjet property: size of area coverded by each ghost More...
 
double m_ghostedGridScatter
 fastjet property: scatter of ghosts on grid More...
 
double m_ghostedKtScatter
 fastjet property: scatter of kT of ghosts More...
 
double m_ghostedMeanKt
 fastjet property: average kT of ghosts More...
 
fastjet::JetAlgorithm m_jetAlgorithm
 fastjet tag: jet algorithm More...
 
fastjet::Strategy m_strategy
 fastjet tag: jet clustering strategy More...
 
fastjet::AreaType m_areaType
 fastjet tag: jet area type More...
 
fastjet::RecombinationScheme m_recombinationScheme
 fastjet tag: recombination scheme More...
 
fastjet::SISConePlugin::SplitMergeScale m_SIS_splitMergeScale
 fastjet tag: SIS split merge scale More...
 
fastjet::JetDefinition * m_jetDefinition
 Pointer to jet definition. More...
 
fastjet::ClusterSequence * m_clusterSequence
 Pointer to actual cluster sequence. More...
 
fastjet::AreaDefinition * m_areaDefinition
 Pointer to area definition. More...
 
uint64_t m_baseRNDSeed
 Base seed for random generator. Constructed from m_jetAlgorithm and m_radius. More...
 
uint64_t m_userRNDSeed
 Seed modifier for random generator : a user property (default to 0, i.e m_baseRNDSeed is unmodified) More...
 
PROCESSOR m_processor
 Pointer to processor. More...
 
EXTRACTOR m_extractor
 Pointer to extractor. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

unsigned int m_failedExecCtr
 Execution failure counter. More...
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Static Private Attributes

static const std::string m_invalidKeyReference = "INVALID_KEY"
 Reference for invalid fastjet tag. More...
 
static const unsigned int m_failedExecCtrMax = 10
 Execution failure counter reporting cut-off. More...
 

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.

Definition at line 107 of file FastJetInterfaceTool.h.

Member Typedef Documentation

◆ EXTRACTOR

typedef StatusCode(FastJetInterfaceTool::* FastJetInterfaceTool::EXTRACTOR) (FastJetInterface::fjetlist_t &outJets)
protected

Extractor function pointer type.

Definition at line 414 of file FastJetInterfaceTool.h.

◆ fjet_t

typedef fastjet::PseudoJet IFastJetInterfaceTool::fjet_t
inherited

Definition at line 29 of file IFastJetInterfaceTool.h.

◆ fjetlist_t

typedef std::vector<fjet_t> IFastJetInterfaceTool::fjetlist_t
inherited

Definition at line 30 of file IFastJetInterfaceTool.h.

◆ PROCESSOR

typedef StatusCode(FastJetInterfaceTool::* FastJetInterfaceTool::PROCESSOR) (const FastJetInterface::fjetlist_t &inJets, FastJetInterface::fjetlist_t &outJets)
protected

Processor function pointer type.

Definition at line 410 of file FastJetInterfaceTool.h.

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ FastJetInterfaceTool()

FastJetInterfaceTool::FastJetInterfaceTool ( const std::string &  n)

Standard AlgTool constructor.

Definition at line 131 of file FastJetInterfaceTool.cxx.

132  : asg::AsgTool(n)
133  // jet clustering and jet definition --- ////////// jet clustering
134  , m_clusterSequenceType("ClusterSequence") // <--{ not used right now!
135  , m_jetAlgorithmType("anti-kt") //
136  , m_clusterStrategyType("Best") //
137  , m_recombinationSchemeType("E") //
138  , m_CMS_seedThreshold(15.) //
139  , m_SIS_overlapThreshold(0.75) //
140  , m_SIS_nPass(0) //
141  , m_SIS_protojetPtMin(0.0) //
142  , m_SIS_doCaching(false) //
143  , m_SIS_splitMergeScale_STRING("PtTilde") //
144  , m_SIS_splitMergeStopScale(0.0) //
145  , m_radius(0.4) //
146  , m_inclusive(true) //
147  , m_exclusiveDcut(0.5) //
148  , m_exclusiveNjets(3) //
149  , m_pTmin(0.) //
150  // jet areas --------------------------- ////////// jet areas
151  , m_doJetArea(false) //
152  , m_jetAreaDefinitionType("VoronoiArea") //
153  // Voronoi area specs // -- Voronoi
154  , m_voronoiEffectiveRfact(1.0) //
155  // ghosted area specs // -- ghosted -- //
156  , m_ghostedMaxRap(fastjet::gas::def_ghost_maxrap) //
158  , m_ghostedRepeat(fastjet::gas::def_repeat) //
159  , m_ghostedArea(fastjet::gas::def_ghost_area) //
160  , m_ghostedGridScatter(fastjet::gas::def_grid_scatter) //
161  , m_ghostedKtScatter(fastjet::gas::def_pt_scatter) //
162  , m_ghostedMeanKt(fastjet::gas::def_mean_ghost_pt) //
163  // process control ----------------------///////////////////
164  , m_failedExecCtr(0)
165  // presets ////////// private data presets
166  , m_jetDefinition((fastjet::JetDefinition*)nullptr)
168  , m_areaDefinition((fastjet::AreaDefinition*)nullptr)
169  , m_baseRNDSeed (0)
170  , m_userRNDSeed (0)
171 {
172  //declareInterface<IFastJetInterfaceTool>(this);
173  // setup choices
174  // declareProperty("ClusterSequence",m_clusterSequenceType);
175  declareProperty("Algorithm",m_jetAlgorithmType);
176  // parameters for kt-style jets
179  // parameters for CMS cone jets
180  declareProperty("CMS_SeedThreshold",m_CMS_seedThreshold);
181  // parameters for SIS cone jets
182  declareProperty("SIS_OverlapThreshold",m_SIS_overlapThreshold);
183  declareProperty("SIS_NumPassMax",m_SIS_nPass);
184  declareProperty("SIS_ProtojetPtMin",m_SIS_protojetPtMin);
185  declareProperty("SIS_DoCaching",m_SIS_doCaching);
186  declareProperty("SIS_SplitMergeScale",m_SIS_splitMergeScale_STRING);
187  declareProperty("SIS_SplitMergeStopScale",m_SIS_splitMergeStopScale);
188  // parameters for jet finders/jet definition
189  declareProperty("Radius",m_radius);
190  declareProperty("Inclusive",m_inclusive);
191  declareProperty("InclusivePtMin",m_pTmin);
192  declareProperty("ExclusiveDcut",m_exclusiveDcut);
193  declareProperty("ExclusiveNjets",m_exclusiveNjets);
194  // parameters for areas
195  declareProperty("CalculateJetArea",m_doJetArea);
196  declareProperty("JetAreaMethod",m_jetAreaDefinitionType);
197  declareProperty("VoronoiEffectiveRfact",m_voronoiEffectiveRfact);
198  declareProperty("GhostMaxRapidity",m_ghostedMaxRap);
199  declareProperty("GhostMinRapidity",m_ghostedMinRap);
200  declareProperty("GhostRepeats",m_ghostedRepeat);
201  declareProperty("GhostAreaSize",m_ghostedArea);
202  declareProperty("GhostGridScatter",m_ghostedGridScatter);
203  declareProperty("GhostKtScatter",m_ghostedKtScatter);
204  declareProperty("GhostMeanKt",m_ghostedMeanKt);
205 
206  declareProperty("UserRNDSeed", m_userRNDSeed = 0, "Added to the base RND seed for active areas. USE WITH CARE !");
207 
208  // default processor
211  // other presets (will be set/overwritten in initialize)
213  m_strategy = fastjet::Best;
214  m_areaType = fastjet::voronoi_area;
215  m_recombinationScheme = fastjet::E_scheme;
216 #ifndef XAOD_STANDALONE
217  m_SIS_splitMergeScale = fastjet::SISConePlugin::SM_pttilde;
218 #endif
219 
220 }

◆ ~FastJetInterfaceTool()

FastJetInterfaceTool::~FastJetInterfaceTool ( )
virtual

Base class destructor.

Definition at line 222 of file FastJetInterfaceTool.cxx.

223 {
224  if(m_jetDefinition) delete m_jetDefinition;
227 
228 }

Member Function Documentation

◆ checkConfig() [1/5]

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]keyclient provided keyword
[out]fjalgfastjet tag

Definition at line 460 of file FastJetInterfaceTool.cxx.

462 {
463  const algomap_t& map = this->getKnownAlgorithms();
464  return chkConfig(key,fjalg,map);
465 }

◆ checkConfig() [2/5]

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]keyclient provided keyword
[out]fjrsfastjet tag

Definition at line 474 of file FastJetInterfaceTool.cxx.

476 {
477  const schememap_t& map = this->getKnownRecombinationSchemes();
478  return chkConfig(key,fjrs,map);
479 }

◆ checkConfig() [3/5]

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]keyclient provided keyword
[out]fjsmsfastjet tag

Definition at line 482 of file FastJetInterfaceTool.cxx.

484 {
485  const splitMergeScaleMap_t& map = this->getKnownSplitMergeScales();
486  return chkConfig(key,fjsms,map);
487 }

◆ checkConfig() [4/5]

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]keyclient provided keyword
[out]fjstrfastjet tag

Definition at line 467 of file FastJetInterfaceTool.cxx.

469 {
470  const strategymap_t& map = this->getKnownStrategies();
471  return chkConfig(key,fjstr,map);
472 }

◆ checkConfig() [5/5]

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]keyclient provided keyword
[out]fjartfastjet tag

Definition at line 490 of file FastJetInterfaceTool.cxx.

492 {
493  const areamap_t& map = this->getKnownAreas();
494  return chkConfig(key,fjart,map);
495 }

◆ clusterSequence() [1/2]

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.

Definition at line 578 of file FastJetInterfaceTool.cxx.

579 { return m_clusterSequence; }

◆ clusterSequence() [2/2]

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.

Definition at line 581 of file FastJetInterfaceTool.cxx.

582 { return m_clusterSequence; }

◆ configJetAreas()

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

Definition at line 593 of file FastJetInterfaceTool.cxx.

594 {
595  // check area type
596  const areamap_t& map = getKnownAreas();
597  m_areaType = (*(map.find("default"))).second;
599  { return StatusCode::FAILURE; }
600  // area definition according to type
601  switch ( m_areaType )
602  {
603  // Voronoi
604  case fastjet::voronoi_area:
606  new
607  fastjet::AreaDefinition(fastjet::VoronoiAreaSpec(m_voronoiEffectiveRfact));
608  break;
609  // Ghosted
610  case fastjet::active_area:
611  case fastjet::active_area_explicit_ghosts:
612  case fastjet::one_ghost_passive_area:
613  case fastjet::passive_area:
614  {
615  fastjet::GhostedAreaSpec Garea_spec(m_ghostedMinRap,
622 
623  // create a seed from the jet alg and the seed
624  m_baseRNDSeed = CxxUtils::crc64 ("FastJet");
628  // seed will be modified and reset in the Garea_spec for each event (see updateRandomSeeds() ).
629 
630  ATH_MSG_DEBUG(" Base seed = "<< m_baseRNDSeed<< " user seed ="<< m_userRNDSeed );
631 
632  m_areaDefinition = new fastjet::AreaDefinition(Garea_spec,
633  m_areaType);
634  break;
635  }
636  // others
637  default:
638  m_areaDefinition = new fastjet::AreaDefinition(m_areaType);
639  break;
640  } // switch through area options
641 
642  // configure processor
643  return StatusCode::SUCCESS;
644 }

◆ configName() [1/5]

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]fjrsfastjet area type tag

Definition at line 524 of file FastJetInterfaceTool.cxx.

525 {
526  const areamap_t& map = this->getKnownAreas();
527  return cfgName(fjart,map,m_invalidKeyReference);
528 }

◆ configName() [2/5]

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]fjalgfastjet jet algorithm tag

Definition at line 497 of file FastJetInterfaceTool.cxx.

498 {
499  const algomap_t& map = this->getKnownAlgorithms();
500  return cfgName(fjalg,map,m_invalidKeyReference);
501 }

◆ configName() [3/5]

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]fjrsfastjet recombination scheme tag

Definition at line 510 of file FastJetInterfaceTool.cxx.

511 {
512  const schememap_t& map = this->getKnownRecombinationSchemes();
513  return cfgName(fjrs,map,m_invalidKeyReference);
514 }

◆ configName() [4/5]

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]fjsmsfastjet SIS Cone split merge scale tag

Definition at line 518 of file FastJetInterfaceTool.cxx.

519 {
520  const splitMergeScaleMap_t& map = this->getKnownSplitMergeScales();
521  return cfgName(fjsms,map,m_invalidKeyReference);
522 }

◆ configName() [5/5]

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]fjstrfastjet jet clustering strategy tag

Definition at line 503 of file FastJetInterfaceTool.cxx.

504 {
505  const strategymap_t& map = this->getKnownStrategies();
506  return cfgName(fjstr,map,m_invalidKeyReference);
507 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode FastJetInterfaceTool::execute ( const fjetlist_t inJets,
fjetlist_t outJets 
)
virtual

Execute method.

Executes the requested fastjet configuration.

Parameters
[in]inJetsreference to non-modifiable list of input objects
[out]outJetsreference to modifiable list of output jets
Returns
StatusCode::SUCCESS independent of successful execution

Implements IFastJetInterfaceTool.

Definition at line 421 of file FastJetInterfaceTool.cxx.

423 {
424  // clean up
425  ATH_MSG_DEBUG( " FastJetInterfaceTool::execute injet size = "<< inJets.size() );
426 
427  if ( m_clusterSequence != nullptr )
428  {
429  delete m_clusterSequence;
431  }
432 
433  if ( ((this->*m_processor)(inJets,outJets)).isFailure() )
434  {
435  ++m_failedExecCtr;
437  {
438  msg(MSG::WARNING) << "Cannot allocate new fastjet::ClusterSequence,"
439  << " no jets found (message "
440  << m_failedExecCtr << " of "
441  << m_failedExecCtrMax << ")" << endmsg;
442  }
443  else if ( m_failedExecCtr == m_failedExecCtrMax )
444  {
445  msg(MSG::WARNING) << "Cannot allocate new fastjet::ClusterSequence,"
446  << " no jets found (message "
447  << m_failedExecCtr << " of "
448  << m_failedExecCtrMax << ") [last message]"
449  << endmsg;
450  }
451  outJets.clear();
452  }
453  return StatusCode::SUCCESS;
454 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ f_extractExclDcut()

StatusCode FastJetInterfaceTool::f_extractExclDcut ( FastJetInterface::fjetlist_t outJets)
protected

Exclusive extractor implementation.

Extracts exclusive jet sample defined by \( d_{cut} \) .

Parameters
[out]outJetsreference to modifiable PseudoJet collection containing exclusive jet sample
Returns
StatusCode::SUCCESS if everything is ok.

Definition at line 571 of file FastJetInterfaceTool.cxx.

572 {
573  outJets = m_clusterSequence->exclusive_jets(m_exclusiveDcut);
574  ATH_MSG_DEBUG( " extract exclusiveDcut outjets N= "<< outJets.size() );
575  return ! outJets.empty() ? StatusCode::SUCCESS : StatusCode::FAILURE;
576 }

◆ f_extractExclNjets()

StatusCode FastJetInterfaceTool::f_extractExclNjets ( FastJetInterface::fjetlist_t outJets)
protected

Exclusive extractor implementation.

Extracts exclusive jet sample defined by \( N_{jets} \) .

Parameters
[out]outJetsreference to modifiable PseudoJet collection containing exclusive jet sample
Returns
StatusCode::SUCCESS if everything is ok.

Definition at line 563 of file FastJetInterfaceTool.cxx.

564 {
565  outJets = m_clusterSequence->exclusive_jets(m_exclusiveNjets);
566  ATH_MSG_DEBUG( " extract exclusiveNjets outjets N= "<< outJets.size() );
567 
568  return !outJets.empty() ? StatusCode::SUCCESS : StatusCode::FAILURE;
569 }

◆ f_extractInclusive()

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]outJetsreference to modifiable PseudoJet collection containing inclusive jet sample
Returns
StatusCode::SUCCESS if everything is ok.

Definition at line 556 of file FastJetInterfaceTool.cxx.

557 {
558  outJets = m_clusterSequence->inclusive_jets(m_pTmin);
559  ATH_MSG_DEBUG( " extract inclusive outjets N= "<< outJets.size() );
560  return !outJets.empty() ? StatusCode::SUCCESS : StatusCode::FAILURE;
561 }

◆ f_processWithArea()

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]inJetsreference to non-modifiable list of fastjet::PseudoJet objects
[out]outJetsreference to modifiable list of fastjet::PseudoJet objects to store output

Definition at line 544 of file FastJetInterfaceTool.cxx.

546 {
547 
548  updateRandomSeeds(); // make sure rnd seeds depend on event & run numbers
550  new fastjet::ClusterSequenceArea(inJets,*m_jetDefinition,*m_areaDefinition);
551 
552  return m_clusterSequence != nullptr
553  ? (this->*m_extractor)(outJets) : StatusCode::FAILURE;
554 }

◆ f_processWithoutArea()

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]inJetsreference to non-modifiable list of fastjet::PseudoJet objects
[out]outJetsreference to modifiable list of fastjet::PseudoJet objects to store output

Definition at line 534 of file FastJetInterfaceTool.cxx.

536 {
537  ATH_MSG_DEBUG( " processing without area " );
539  ATH_MSG_DEBUG( " processed without area " );
540  return m_clusterSequence != nullptr
541  ? (this->*m_extractor)(outJets) : StatusCode::FAILURE;
542 }

◆ getAreaDefinition()

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.

Definition at line 587 of file FastJetInterfaceTool.cxx.

588 { return m_areaDefinition; }

◆ getAreaDefinitionType()

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.

Definition at line 590 of file FastJetInterfaceTool.cxx.

591 { return m_jetAreaDefinitionType; }

◆ getJetDefinition()

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.

Definition at line 584 of file FastJetInterfaceTool.cxx.

585 { return m_jetDefinition; }

◆ getKey()

SG::sgkey_t asg::AsgTool::getKey ( const void *  ptr) const
inherited

Get the (hashed) key of an object that is in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the SG::sgkey_t key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getName
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The hashed key of the object in the store. If not found, an invalid (zero) key.

Definition at line 119 of file AsgTool.cxx.

119  {
120 
121 #ifdef XAOD_STANDALONE
122  // In case we use @c xAOD::TEvent, we have a direct function call
123  // for this.
124  return evtStore()->event()->getKey( ptr );
125 #else
126  const SG::DataProxy* proxy = evtStore()->proxy( ptr );
127  return ( proxy == nullptr ? 0 : proxy->sgkey() );
128 #endif // XAOD_STANDALONE
129  }

◆ getKnownAlgorithms()

const algomap_t & FastJetInterfaceTool::getKnownAlgorithms ( )

Get known jet algorithms.

Map of jet algorithm keywords and fastjet tags

Definition at line 29 of file FastJetInterfaceTool.cxx.

30 {
32  static const FastJetInterface::algomap_t knownAlgorithms = {
33  // kt-style algorithms
34  {"default", fastjet::antikt_algorithm},
35  {"kt", fastjet::kt_algorithm},
36  {"anti-kt", fastjet::antikt_algorithm},
37  {"cambridge", fastjet::cambridge_algorithm},
38  {"genkt", fastjet::genkt_algorithm},
39  {"passive cambridge", fastjet::cambridge_for_passive_algorithm},
40  {"passive genkt", fastjet::genkt_for_passive_algorithm},
41  // add also ATLAS kt-style
42  {"Kt", fastjet::kt_algorithm},
43  {"AntiKt", fastjet::antikt_algorithm},
45  // Plugin algorithms
46  {"CMSCone", fastjet::plugin_algorithm},
47  {"SISCone", fastjet::plugin_algorithm},
48  };
49  return knownAlgorithms;
50 }

◆ getKnownAreas()

const areamap_t & FastJetInterfaceTool::getKnownAreas ( )

Get known area types.

Map of jet area keywords and fastjet tags

Definition at line 112 of file FastJetInterfaceTool.cxx.

113 {
115  static const FastJetInterface::areamap_t knownAreas = {
116  {"default", fastjet::voronoi_area},
117  {"ActiveArea", fastjet::active_area},
118  {"ActiveAreaExplicitGhost", fastjet::active_area_explicit_ghosts},
119  {"PassiveArea", fastjet::passive_area},
120  {"1GhostPassiveArea", fastjet::one_ghost_passive_area},
121  {"VoronoiArea", fastjet::voronoi_area},
122  };
123  return knownAreas;
124 }

◆ getKnownRecombinationSchemes()

const schememap_t & FastJetInterfaceTool::getKnownRecombinationSchemes ( )

Get known recombination schemes.

Map of recombination scheme keywords and fastjet tags

Definition at line 76 of file FastJetInterfaceTool.cxx.

77 {
79  static const FastJetInterface::schememap_t knownRecombinationSchemes = {
80  {"default", fastjet::E_scheme},
81  {"E", fastjet::E_scheme},
82  {"pt", fastjet::pt_scheme},
83  {"pt2", fastjet::pt2_scheme},
84  {"Et", fastjet::Et_scheme},
85  {"Et2", fastjet::Et2_scheme},
86  {"BIpt", fastjet::BIpt_scheme},
87  {"BIpt2", fastjet::BIpt2_scheme},
88  };
89  return knownRecombinationSchemes;
90 }

◆ getKnownSplitMergeScales()

const splitMergeScaleMap_t & FastJetInterfaceTool::getKnownSplitMergeScales ( )

Get known split merge scales.

Map of split merge scale keywords and fastjet tags

Definition at line 93 of file FastJetInterfaceTool.cxx.

94 {
95 #ifndef XAOD_STANDALONE
96 
97  static const FastJetInterface::splitMergeScaleMap_t knownSplitMergeScales = {
98  {"default", fastjet::SISConePlugin::SM_pttilde},
99  {"pttilde", fastjet::SISConePlugin::SM_pttilde},
100  {"PtTilde", fastjet::SISConePlugin::SM_pttilde},
101  {"Pt", fastjet::SISConePlugin::SM_pt},
102  {"Et", fastjet::SISConePlugin::SM_Et},
103  {"mt", fastjet::SISConePlugin::SM_mt},
104  };
105 #else
106  static const FastJetInterface::splitMergeScaleMap_t knownSplitMergeScales;
107 #endif
108  return knownSplitMergeScales;
109 }

◆ getKnownStrategies()

const strategymap_t & FastJetInterfaceTool::getKnownStrategies ( )

Get known jet finding strategies.

Map of jet clustering strategy keywords and fastjet tags

Definition at line 53 of file FastJetInterfaceTool.cxx.

54 {
56  static const FastJetInterface::strategymap_t knownStrategies = {
57  {"default", fastjet::Best},
58  {"Best", fastjet::Best},
59  {"N2MinHeapTiled", fastjet::N2MinHeapTiled},
60  {"N2Tiled", fastjet::N2Tiled},
61  {"N2PoorTiled", fastjet::N2PoorTiled},
62  {"N2Plain", fastjet::N2Plain},
63  {"N3Dumb", fastjet::N3Dumb},
64  {"NlnN", fastjet::NlnN},
65  {"NlnN3pi", fastjet::NlnN3pi},
66  {"NlnN4pi", fastjet::NlnN4pi},
67  {"NlnNCam4pi", fastjet::NlnNCam4pi},
68  {"NlnNCam2pi2R", fastjet::NlnNCam2pi2R},
69  {"NlnNCam", fastjet::NlnNCam},
70  {"plugin_strategy", fastjet::plugin_strategy},
71  };
72  return knownStrategies;
73 }

◆ getName()

const std::string & asg::AsgTool::getName ( const void *  ptr) const
inherited

Get the name of an object that is / should be in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the std::string name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getKey
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The string name of the object in the store. If not found, an empty string.

Definition at line 106 of file AsgTool.cxx.

106  {
107 
108 #ifdef XAOD_STANDALONE
109  // In case we use @c xAOD::TEvent, we have a direct function call
110  // for this.
111  return evtStore()->event()->getName( ptr );
112 #else
113  const SG::DataProxy* proxy = evtStore()->proxy( ptr );
114  static const std::string dummy = "";
115  return ( proxy == nullptr ? dummy : proxy->name() );
116 #endif // XAOD_STANDALONE
117  }

◆ getProperty()

template<class T >
const T* asg::AsgTool::getProperty ( const std::string &  name) const
inherited

Get one of the tool's properties.

◆ initialize()

StatusCode FastJetInterfaceTool::initialize ( )
virtual

Initialize tool.

Checks properties and configure fastjet

Reimplemented from asg::AsgTool.

Definition at line 234 of file FastJetInterfaceTool.cxx.

235 {
236  ATH_MSG_DEBUG( " initialize " );
237 
238  // check requested jet algorithm
239  ATH_MSG_INFO("Algorithm type \042" << m_jetAlgorithmType << "\042");
241  {
242  msg(MSG::ERROR) << "FastJet configuration error: "
243  << "Unknown jet algorithm \042"
244  << m_jetAlgorithmType << "\042 requested"
245  << endmsg;
246  return StatusCode::FAILURE;
247  }
248  // check requested recombination scheme
249  ATH_MSG_INFO("Recombination type \042" << m_recombinationSchemeType << "\042");
251  {
252  msg(MSG::ERROR) << "FastJet configuration error: "
253  << "Unknown recombination scheme \042"
254  << m_recombinationScheme << "\042 requested"
255  << endmsg;
256  return StatusCode::FAILURE;
257  }
258  // check requested strategy
259  ATH_MSG_INFO("Cluster strategy type \042" << m_clusterStrategyType << "\042");
261  {
262  msg(MSG::ERROR) << "FastJet configuration error: "
263  << "Unknown clustering strategy \042"
264  << m_clusterStrategyType << "\042 requested" << endmsg;
265  return StatusCode::FAILURE;
266  }
267 
268  // determine the type of jet algorithm we have (kt-style vs plugins)
269  enum jetAlgTypeEnum { unknown_type, Kt_type, CMS_type, SIS_type } jetAlgType = Kt_type;
271  {
272  if (!m_jetAlgorithmType.compare("CMSCone"))
273  jetAlgType = CMS_type;
274  else if(!m_jetAlgorithmType.compare("SISCone"))
275  jetAlgType = SIS_type;
276  else
277  jetAlgType = unknown_type;
278  }
279  if (jetAlgType == unknown_type)
280  {
281  msg(MSG::ERROR) << "FastJet configuration error: "
282  << "Unknown jet algorithm plugin \042"
283  << m_jetAlgorithmType << "\042 requested" << endmsg;
284  return StatusCode::FAILURE;
285  }
286 
287 #ifndef XAOD_STANDALONE
288 
289  // define jets depending on the jet type
290  if (jetAlgType == CMS_type)
291  m_jetDefinition = new fastjet::JetDefinition(new fastjet::CMSIterativeConePlugin(m_radius,m_CMS_seedThreshold));
292  else if (jetAlgType == SIS_type)
293  m_jetDefinition = new fastjet::JetDefinition(new fastjet::SISConePlugin(m_radius,
295  m_SIS_nPass,
300  ));
301  else
302  m_jetDefinition = new fastjet::JetDefinition(m_jetAlgorithm,
303  m_radius,
305  m_strategy);
306 #else
307  // no athena error on SIS or CMS
308  if ( (jetAlgType == CMS_type) || (jetAlgType == SIS_type)){
309  ATH_MSG_ERROR("CMS and SIScone plugin not supporeted outside athena yet");
310  return StatusCode::FAILURE;
311  }else
312  m_jetDefinition = new fastjet::JetDefinition(m_jetAlgorithm,
313  m_radius,
315  m_strategy);
316 #endif
317 
318 
319  // without area calculation
320  if ( !m_doJetArea )
321  {
323  }
324  // with area calculation
325  else
326  {
327  ATH_MSG_INFO("Jet area type \042" << m_jetAreaDefinitionType << "\042");
328  if ( this->configJetAreas().isFailure() )
329  {
330  msg(MSG::ERROR) << "FastJet configuration error: "
331  << "Clustering with areas requested but area type"
332  << "\042" << m_jetAreaDefinitionType
333  << "\042 is not known" << endmsg;
334  return StatusCode::FAILURE;
335  }
337  }
338 
339  // configure inclusive/exclusive jet extractor
340  if ( m_inclusive )
341  {
343  } // inclusive jet finder
344  else
345  {
346  // Priority:
347  //
348  // if !inclusive:
349  // m_exclusiveDcut > 0 -> yes
350  // m_exclusiveDcut <= 0 -> m_exclusiveNjets >= 0 -> yes
351  // m_exclusiveNjets < 0 -> error
352  if ( m_exclusiveDcut > 0. )
353  {
355  }
356  else
357  {
358  if ( m_exclusiveNjets >= 0 )
359  {
361  }
362  else
363  {
364  msg(MSG::ERROR) << "Invalid configuration for exclusive "
365  << "jet finder, one of ExclusiveDcut("
366  << m_exclusiveDcut
367  << ") or ExclusiveNjets("
369  << ") properties should be >= 0."
370  << endmsg;
371  return StatusCode::FAILURE;
372  } // invalid configuration of exclusive jet finder
373  } // exclusive jet finder using Njet cut
374  } // exclusive jet finder using Dcut
375 
376  // print configuration
377  msg(MSG::INFO) << "JetAlgorithm ................ \042"
378  << m_jetAlgorithmType << "\042" << endmsg;
379  msg(MSG::INFO) << "Radius ...................... " << m_radius << endmsg;
380  if (jetAlgType == Kt_type)
381  {
382  msg(MSG::INFO) << "Recombination scheme ........ \042"
383  << m_recombinationSchemeType << "\042" << endmsg;
384  msg(MSG::INFO) << "Strategy .................... \042"
385  << m_clusterStrategyType << "\042" << endmsg;
386  }
387  else if (jetAlgType == CMS_type)
388  msg(MSG::INFO) << "CMS seed threshold .......... "
390  else if (jetAlgType == SIS_type)
391  {
392  msg(MSG::INFO) << "SIS overlap threshold ....... "
394  msg(MSG::INFO) << "SIS max num pass ............ "
395  << m_SIS_nPass << endmsg;
396  msg(MSG::INFO) << "SIS protojet Pt min ......... "
398  msg(MSG::INFO) << "SIS do caching .............. "
399  << (m_SIS_doCaching ? std::string("yes") : std::string("no")) << endmsg;
400  msg(MSG::INFO) << "SIS split/merge scale ....... \042"
401  << m_SIS_splitMergeScale_STRING << "\042" << endmsg;
402  msg(MSG::INFO) << "SIS split/merge stop scale .. "
404  }
405  if ( m_doJetArea )
406  {
407  msg(MSG::INFO) << "Calculate jet areas ......... yes" << endmsg;
408  msg(MSG::INFO) << "Area type ................... \042"
409  << m_jetAreaDefinitionType << "\042" << endmsg;
410  }
411 
412 
413 
414  return StatusCode::SUCCESS;
415 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msg_level_name()

const std::string & asg::AsgTool::msg_level_name ( ) const
inherited

A deprecated function for getting the message level's name.

Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:

MSG::name( msg().level() )

This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.

Returns
The string name of the current minimum message level that's printed

Definition at line 101 of file AsgTool.cxx.

101  {
102 
103  return MSG::name( msg().level() );
104  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ print()

void asg::AsgTool::print ( ) const
virtualinherited

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ specificClusterSequence() [1/2]

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.

Definition at line 168 of file FastJetInterfaceTool.h.

169  { return dynamic_cast<S*>(this->clusterSequence()); }

◆ specificClusterSequence() [2/2]

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.

Definition at line 184 of file FastJetInterfaceTool.h.

185  { return dynamic_cast<const S*>(this->clusterSequence()); }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateRandomSeeds()

void FastJetInterfaceTool::updateRandomSeeds ( )
protectedvirtual

Set the area rnd seed according to run/event numbers.

Definition at line 649 of file FastJetInterfaceTool.cxx.

650 {
651 
652 
653  std::vector<int> seed;
654 
655  fastjet::GhostedAreaSpec & Garea_spec = m_areaDefinition->ghost_spec() ;
656  Garea_spec.get_random_status (seed);
657 
658  unsigned int evnum = 0;
659  unsigned int runnum = 0;
660 
661  const xAOD::EventInfo* ei = nullptr;
662  if (evtStore()->retrieve (ei,"EventInfo").isSuccess()){
663  evnum = ei->eventNumber();
664  runnum = ei->runNumber();
665  }
666 
667  // Use both event and run nunmber to reset the random seeds
669  crc = CxxUtils::crc64addint (crc, runnum);
670 
671  // Tacitly assuming that there are no consistency requirements
672  // on the RNG state (true for the current RNG that fastjet uses).
673  // Use fixed data sizes for crossplatform reproducibility.
674  for (size_t i = 0; i < seed.size(); i++) {
675  seed[i] = static_cast<int> (static_cast<uint32_t> (crc));
676  crc = (crc >> 32) ^ crc;
677  }
678 
679 
680  Garea_spec.set_random_status (seed);
681  seed.clear();
682  Garea_spec.get_random_status (seed);
683  ATH_MSG_DEBUG("area def "<< m_areaDefinition<< " ghost spec= "<< &Garea_spec << " crc= "<< crc<< " seed0="<< seed[0] << " seed1="<<seed[1]);
684 
685 }

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_areaDefinition

fastjet::AreaDefinition* FastJetInterfaceTool::m_areaDefinition
protected

Pointer to area definition.

Definition at line 401 of file FastJetInterfaceTool.h.

◆ m_areaType

fastjet::AreaType FastJetInterfaceTool::m_areaType
protected

fastjet tag: jet area type

Definition at line 389 of file FastJetInterfaceTool.h.

◆ m_baseRNDSeed

uint64_t FastJetInterfaceTool::m_baseRNDSeed
protected

Base seed for random generator. Constructed from m_jetAlgorithm and m_radius.

Definition at line 404 of file FastJetInterfaceTool.h.

◆ m_clusterSequence

fastjet::ClusterSequence* FastJetInterfaceTool::m_clusterSequence
protected

Pointer to actual cluster sequence.

Definition at line 399 of file FastJetInterfaceTool.h.

◆ m_clusterSequenceType

std::string FastJetInterfaceTool::m_clusterSequenceType
protected

fastjet property: cluster sequence type

Definition at line 225 of file FastJetInterfaceTool.h.

◆ m_clusterStrategyType

std::string FastJetInterfaceTool::m_clusterStrategyType
protected

fastjet property: cluster strategy

Definition at line 229 of file FastJetInterfaceTool.h.

◆ m_CMS_seedThreshold

double FastJetInterfaceTool::m_CMS_seedThreshold
protected

fastjet property for CMS Cone plugin: seed threshold

Definition at line 234 of file FastJetInterfaceTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doJetArea

bool FastJetInterfaceTool::m_doJetArea
protected

Tool property: flag controls if jet area is calculated.

Definition at line 260 of file FastJetInterfaceTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_exclusiveDcut

double FastJetInterfaceTool::m_exclusiveDcut
protected

Exclusive jet finder property: d cut.

Definition at line 253 of file FastJetInterfaceTool.h.

◆ m_exclusiveNjets

int FastJetInterfaceTool::m_exclusiveNjets
protected

Exclusive jet finder property: number of jets requested.

Definition at line 255 of file FastJetInterfaceTool.h.

◆ m_extractor

EXTRACTOR FastJetInterfaceTool::m_extractor
protected

Pointer to extractor.

Definition at line 420 of file FastJetInterfaceTool.h.

◆ m_failedExecCtr

unsigned int FastJetInterfaceTool::m_failedExecCtr
private

Execution failure counter.

Definition at line 375 of file FastJetInterfaceTool.h.

◆ m_failedExecCtrMax

const unsigned int FastJetInterfaceTool::m_failedExecCtrMax = 10
staticprivate

Execution failure counter reporting cut-off.

Definition at line 377 of file FastJetInterfaceTool.h.

◆ m_ghostedArea

double FastJetInterfaceTool::m_ghostedArea
protected

fastjet property: size of area coverded by each ghost

Definition at line 272 of file FastJetInterfaceTool.h.

◆ m_ghostedGridScatter

double FastJetInterfaceTool::m_ghostedGridScatter
protected

fastjet property: scatter of ghosts on grid

Definition at line 274 of file FastJetInterfaceTool.h.

◆ m_ghostedKtScatter

double FastJetInterfaceTool::m_ghostedKtScatter
protected

fastjet property: scatter of kT of ghosts

Definition at line 276 of file FastJetInterfaceTool.h.

◆ m_ghostedMaxRap

double FastJetInterfaceTool::m_ghostedMaxRap
protected

fastjet property: ghost area rapidity limit (max)

Definition at line 266 of file FastJetInterfaceTool.h.

◆ m_ghostedMeanKt

double FastJetInterfaceTool::m_ghostedMeanKt
protected

fastjet property: average kT of ghosts

Definition at line 278 of file FastJetInterfaceTool.h.

◆ m_ghostedMinRap

double FastJetInterfaceTool::m_ghostedMinRap
protected

fastjet property: ghost area rapidity limit (min)

Definition at line 268 of file FastJetInterfaceTool.h.

◆ m_ghostedRepeat

int FastJetInterfaceTool::m_ghostedRepeat
protected

fastjet property: ghost area calculation repeatitions

Definition at line 270 of file FastJetInterfaceTool.h.

◆ m_inclusive

bool FastJetInterfaceTool::m_inclusive
protected

Jet algorithm control property: inclusive/exclusive jet finding.

Definition at line 251 of file FastJetInterfaceTool.h.

◆ m_invalidKeyReference

const std::string FastJetInterfaceTool::m_invalidKeyReference = "INVALID_KEY"
staticprivate

Reference for invalid fastjet tag.

Definition at line 372 of file FastJetInterfaceTool.h.

◆ m_jetAlgorithm

fastjet::JetAlgorithm FastJetInterfaceTool::m_jetAlgorithm
protected

fastjet tag: jet algorithm

Definition at line 385 of file FastJetInterfaceTool.h.

◆ m_jetAlgorithmType

std::string FastJetInterfaceTool::m_jetAlgorithmType
protected

fastjet property: jet algorithm

Definition at line 227 of file FastJetInterfaceTool.h.

◆ m_jetAreaDefinitionType

std::string FastJetInterfaceTool::m_jetAreaDefinitionType
protected

fastjet property: jet area definition

Definition at line 262 of file FastJetInterfaceTool.h.

◆ m_jetDefinition

fastjet::JetDefinition* FastJetInterfaceTool::m_jetDefinition
protected

Pointer to jet definition.

Definition at line 397 of file FastJetInterfaceTool.h.

◆ m_processor

PROCESSOR FastJetInterfaceTool::m_processor
protected

Pointer to processor.

Definition at line 418 of file FastJetInterfaceTool.h.

◆ m_pTmin

double FastJetInterfaceTool::m_pTmin
protected

Inclusive jet finder property: pTmin cut.

Definition at line 257 of file FastJetInterfaceTool.h.

◆ m_radius

double FastJetInterfaceTool::m_radius
protected

Jet algorithm property: radius/distance parameter.

Definition at line 249 of file FastJetInterfaceTool.h.

◆ m_recombinationScheme

fastjet::RecombinationScheme FastJetInterfaceTool::m_recombinationScheme
protected

fastjet tag: recombination scheme

Definition at line 391 of file FastJetInterfaceTool.h.

◆ m_recombinationSchemeType

std::string FastJetInterfaceTool::m_recombinationSchemeType
protected

fastjet property: recombination scheme

Definition at line 231 of file FastJetInterfaceTool.h.

◆ m_SIS_doCaching

bool FastJetInterfaceTool::m_SIS_doCaching
protected

fastjet property for SIS Cone plugin: do caching

Definition at line 242 of file FastJetInterfaceTool.h.

◆ m_SIS_nPass

int FastJetInterfaceTool::m_SIS_nPass
protected

fastjet property for SIS Cone plugin: max number of passes

Definition at line 238 of file FastJetInterfaceTool.h.

◆ m_SIS_overlapThreshold

double FastJetInterfaceTool::m_SIS_overlapThreshold
protected

fastjet property for SIS Cone plugin: overlap threshold

Definition at line 236 of file FastJetInterfaceTool.h.

◆ m_SIS_protojetPtMin

double FastJetInterfaceTool::m_SIS_protojetPtMin
protected

fastjet property for SIS Cone plugin: protojet min pt

Definition at line 240 of file FastJetInterfaceTool.h.

◆ m_SIS_splitMergeScale

fastjet::SISConePlugin::SplitMergeScale FastJetInterfaceTool::m_SIS_splitMergeScale
protected

fastjet tag: SIS split merge scale

Definition at line 394 of file FastJetInterfaceTool.h.

◆ m_SIS_splitMergeScale_STRING

std::string FastJetInterfaceTool::m_SIS_splitMergeScale_STRING
protected

fastjet property for SIS Cone plugin: split merge scale

Definition at line 244 of file FastJetInterfaceTool.h.

◆ m_SIS_splitMergeStopScale

double FastJetInterfaceTool::m_SIS_splitMergeStopScale
protected

fastjet property for SIS Cone plugin: split merge stop scale

Definition at line 246 of file FastJetInterfaceTool.h.

◆ m_strategy

fastjet::Strategy FastJetInterfaceTool::m_strategy
protected

fastjet tag: jet clustering strategy

Definition at line 387 of file FastJetInterfaceTool.h.

◆ m_userRNDSeed

uint64_t FastJetInterfaceTool::m_userRNDSeed
protected

Seed modifier for random generator : a user property (default to 0, i.e m_baseRNDSeed is unmodified)

Definition at line 406 of file FastJetInterfaceTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_voronoiEffectiveRfact

double FastJetInterfaceTool::m_voronoiEffectiveRfact
protected

fastjet property: Voronoi area effective radius

Definition at line 264 of file FastJetInterfaceTool.h.


The documentation for this class was generated from the following files:
FastJetInterfaceTool::m_processor
PROCESSOR m_processor
Pointer to processor.
Definition: FastJetInterfaceTool.h:418
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
FastJetInterfaceTool::m_invalidKeyReference
static const std::string m_invalidKeyReference
Reference for invalid fastjet tag.
Definition: FastJetInterfaceTool.h:372
python.utils.AtlRunQueryDQUtils.runnum
runnum
Definition: AtlRunQueryDQUtils.py:214
FastJetInterfaceTool::m_jetDefinition
fastjet::JetDefinition * m_jetDefinition
Pointer to jet definition.
Definition: FastJetInterfaceTool.h:397
FastJetInterfaceTool::m_jetAreaDefinitionType
std::string m_jetAreaDefinitionType
fastjet property: jet area definition
Definition: FastJetInterfaceTool.h:262
FastJetInterfaceTool::m_pTmin
double m_pTmin
Inclusive jet finder property: pTmin cut.
Definition: FastJetInterfaceTool.h:257
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:392
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
FastJetInterfaceTool::m_failedExecCtrMax
static const unsigned int m_failedExecCtrMax
Execution failure counter reporting cut-off.
Definition: FastJetInterfaceTool.h:377
xAOD::EventInfo_v1::eventNumber
uint64_t eventNumber() const
The current event's event number.
FastJetInterface::areamap_t
std::map< std::string, fastjet::AreaType > areamap_t
Mapping keyword on fastjet area type tag.
Definition: FastJetInterfaceTool.h:48
FastJetInterfaceTool::m_CMS_seedThreshold
double m_CMS_seedThreshold
fastjet property for CMS Cone plugin: seed threshold
Definition: FastJetInterfaceTool.h:234
xAOD::JetAlgorithmType::kt_algorithm
@ kt_algorithm
Definition: JetContainerInfo.h:31
FastJetInterfaceTool::m_jetAlgorithm
fastjet::JetAlgorithm m_jetAlgorithm
fastjet tag: jet algorithm
Definition: FastJetInterfaceTool.h:385
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
FastJetInterfaceTool::checkConfig
bool checkConfig(const std::string &key, fastjet::JetAlgorithm &fjalg)
Check configuration keyword for jet algorithm.
Definition: FastJetInterfaceTool.cxx:460
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
FastJetInterfaceTool::f_processWithoutArea
StatusCode f_processWithoutArea(const FastJetInterface::fjetlist_t &inJets, FastJetInterface::fjetlist_t &outJets)
Processor implementation: cluster sequence without area calculation.
Definition: FastJetInterfaceTool.cxx:534
FastJetInterfaceTool::m_SIS_overlapThreshold
double m_SIS_overlapThreshold
fastjet property for SIS Cone plugin: overlap threshold
Definition: FastJetInterfaceTool.h:236
FastJetInterfaceTool::m_jetAlgorithmType
std::string m_jetAlgorithmType
fastjet property: jet algorithm
Definition: FastJetInterfaceTool.h:227
FastJetInterfaceTool::m_areaType
fastjet::AreaType m_areaType
fastjet tag: jet area type
Definition: FastJetInterfaceTool.h:389
FastJetInterfaceTool::m_doJetArea
bool m_doJetArea
Tool property: flag controls if jet area is calculated.
Definition: FastJetInterfaceTool.h:260
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
FastJetInterface::cfgName
const std::string & cfgName(D tag, const M &map, const std::string &invalidKey)
General configuration keyword finder.
Definition: FastJetInterfaceTool.h:92
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
FastJetInterfaceTool::m_ghostedMinRap
double m_ghostedMinRap
fastjet property: ghost area rapidity limit (min)
Definition: FastJetInterfaceTool.h:268
FastJetInterfaceTool::m_strategy
fastjet::Strategy m_strategy
fastjet tag: jet clustering strategy
Definition: FastJetInterfaceTool.h:387
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
FastJetInterfaceTool::configJetAreas
StatusCode configJetAreas()
Configures jet area calculation strategy.
Definition: FastJetInterfaceTool.cxx:593
JetTiledMap::S
@ S
Definition: TiledEtaPhiMap.h:44
FastJetInterface::splitMergeScaleMap_t
std::map< std::string, fastjet::SISConePlugin::SplitMergeScale > splitMergeScaleMap_t
Mapping keyword on fastjet SIS Cone split merge scale tag.
Definition: FastJetInterfaceTool.h:43
FastJetInterfaceTool::getKnownRecombinationSchemes
const FastJetInterface::schememap_t & getKnownRecombinationSchemes()
Get known recombination schemes.
Definition: FastJetInterfaceTool.cxx:76
xAOD::EventInfo_v1::runNumber
uint32_t runNumber() const
The current event's run number.
FastJetInterfaceTool::m_ghostedKtScatter
double m_ghostedKtScatter
fastjet property: scatter of kT of ghosts
Definition: FastJetInterfaceTool.h:276
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
FastJetInterfaceTool::m_extractor
EXTRACTOR m_extractor
Pointer to extractor.
Definition: FastJetInterfaceTool.h:420
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
xAOD::JetAlgorithmType::cambridge_for_passive_algorithm
@ cambridge_for_passive_algorithm
Definition: JetContainerInfo.h:35
FastJetInterfaceTool::getKnownAreas
const FastJetInterface::areamap_t & getKnownAreas()
Get known area types.
Definition: FastJetInterfaceTool.cxx:112
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
xAOD::JetAlgorithmType::plugin_algorithm
@ plugin_algorithm
Definition: JetContainerInfo.h:39
xAOD::JetAlgorithmType::genkt_algorithm
@ genkt_algorithm
Definition: JetContainerInfo.h:34
FastJetInterfaceTool::m_ghostedMeanKt
double m_ghostedMeanKt
fastjet property: average kT of ghosts
Definition: FastJetInterfaceTool.h:278
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
FastJetInterfaceTool::m_ghostedArea
double m_ghostedArea
fastjet property: size of area coverded by each ghost
Definition: FastJetInterfaceTool.h:272
FastJetInterfaceTool::m_SIS_splitMergeStopScale
double m_SIS_splitMergeStopScale
fastjet property for SIS Cone plugin: split merge stop scale
Definition: FastJetInterfaceTool.h:246
AthCommonDataStore
Definition: AthCommonDataStore.h:52
Generate_dsid_ranseed.seed
seed
Definition: Generate_dsid_ranseed.py:10
FastJetInterfaceTool::m_clusterSequence
fastjet::ClusterSequence * m_clusterSequence
Pointer to actual cluster sequence.
Definition: FastJetInterfaceTool.h:399
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
FastJetInterfaceTool::m_SIS_splitMergeScale_STRING
std::string m_SIS_splitMergeScale_STRING
fastjet property for SIS Cone plugin: split merge scale
Definition: FastJetInterfaceTool.h:244
jet::ClusterSequence
fastjet::ClusterSequence ClusterSequence
Definition: ClusterSequence.h:21
lumiFormat.i
int i
Definition: lumiFormat.py:85
beamspotman.n
n
Definition: beamspotman.py:731
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
FastJetInterfaceTool::m_voronoiEffectiveRfact
double m_voronoiEffectiveRfact
fastjet property: Voronoi area effective radius
Definition: FastJetInterfaceTool.h:264
FastJetInterfaceTool::m_exclusiveDcut
double m_exclusiveDcut
Exclusive jet finder property: d cut.
Definition: FastJetInterfaceTool.h:253
CxxUtils::crc64addint
uint64_t crc64addint(uint64_t crc, uint64_t x)
Extend a previously-calculated CRC to include an int.
Definition: crc64.cxx:732
FastJetInterfaceTool::f_processWithArea
StatusCode f_processWithArea(const FastJetInterface::fjetlist_t &inJets, FastJetInterface::fjetlist_t &outJets)
Processor implementation: cluster sequence with area calculation.
Definition: FastJetInterfaceTool.cxx:544
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
FastJetInterfaceTool::m_inclusive
bool m_inclusive
Jet algorithm control property: inclusive/exclusive jet finding.
Definition: FastJetInterfaceTool.h:251
python.xAODType.dummy
dummy
Definition: xAODType.py:4
MSG::name
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
Definition: MsgLevel.cxx:19
FastJetInterfaceTool::m_SIS_nPass
int m_SIS_nPass
fastjet property for SIS Cone plugin: max number of passes
Definition: FastJetInterfaceTool.h:238
FastJetInterfaceTool::m_recombinationSchemeType
std::string m_recombinationSchemeType
fastjet property: recombination scheme
Definition: FastJetInterfaceTool.h:231
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
CxxUtils::crc64
uint64_t crc64(const CRCTable &table, const char *data, size_t data_len)
Find the CRC-64 of a string,.
Definition: crc64.cxx:696
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
FastJetInterfaceTool::f_extractExclNjets
StatusCode f_extractExclNjets(FastJetInterface::fjetlist_t &outJets)
Exclusive extractor implementation.
Definition: FastJetInterfaceTool.cxx:563
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
FastJetInterfaceTool::m_SIS_protojetPtMin
double m_SIS_protojetPtMin
fastjet property for SIS Cone plugin: protojet min pt
Definition: FastJetInterfaceTool.h:240
FastJetInterfaceTool::m_exclusiveNjets
int m_exclusiveNjets
Exclusive jet finder property: number of jets requested.
Definition: FastJetInterfaceTool.h:255
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
xAOD::JetAlgorithmType::genkt_for_passive_algorithm
@ genkt_for_passive_algorithm
Definition: JetContainerInfo.h:36
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
FastJetInterface::strategymap_t
std::map< std::string, fastjet::Strategy > strategymap_t
Mapping keyword on fastjet clustering strategy tag.
Definition: FastJetInterfaceTool.h:38
FastJetInterfaceTool::m_baseRNDSeed
uint64_t m_baseRNDSeed
Base seed for random generator. Constructed from m_jetAlgorithm and m_radius.
Definition: FastJetInterfaceTool.h:404
xAOD::JetAlgorithmType::cambridge_algorithm
@ cambridge_algorithm
Definition: JetContainerInfo.h:32
FastJetInterfaceTool::getKnownSplitMergeScales
const FastJetInterface::splitMergeScaleMap_t & getKnownSplitMergeScales()
Get known split merge scales.
Definition: FastJetInterfaceTool.cxx:93
FastJetInterfaceTool::updateRandomSeeds
virtual void updateRandomSeeds()
Set the area rnd seed according to run/event numbers.
Definition: FastJetInterfaceTool.cxx:649
FastJetInterfaceTool::m_ghostedMaxRap
double m_ghostedMaxRap
fastjet property: ghost area rapidity limit (max)
Definition: FastJetInterfaceTool.h:266
xAOD::JetAlgorithmType::antikt_algorithm
@ antikt_algorithm
Definition: JetContainerInfo.h:33
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
FastJetInterfaceTool::m_ghostedGridScatter
double m_ghostedGridScatter
fastjet property: scatter of ghosts on grid
Definition: FastJetInterfaceTool.h:274
a
TList * a
Definition: liststreamerinfos.cxx:10
h
FastJetInterfaceTool::m_areaDefinition
fastjet::AreaDefinition * m_areaDefinition
Pointer to area definition.
Definition: FastJetInterfaceTool.h:401
FastJetInterfaceTool::m_radius
double m_radius
Jet algorithm property: radius/distance parameter.
Definition: FastJetInterfaceTool.h:249
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
FastJetInterfaceTool::m_SIS_doCaching
bool m_SIS_doCaching
fastjet property for SIS Cone plugin: do caching
Definition: FastJetInterfaceTool.h:242
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
FastJetInterfaceTool::getKnownStrategies
const FastJetInterface::strategymap_t & getKnownStrategies()
Get known jet finding strategies.
Definition: FastJetInterfaceTool.cxx:53
FastJetInterfaceTool::m_userRNDSeed
uint64_t m_userRNDSeed
Seed modifier for random generator : a user property (default to 0, i.e m_baseRNDSeed is unmodified)
Definition: FastJetInterfaceTool.h:406
FastJetInterfaceTool::f_extractInclusive
StatusCode f_extractInclusive(FastJetInterface::fjetlist_t &outJets)
Inclusive extractor implementation.
Definition: FastJetInterfaceTool.cxx:556
FastJetInterfaceTool::m_SIS_splitMergeScale
fastjet::SISConePlugin::SplitMergeScale m_SIS_splitMergeScale
fastjet tag: SIS split merge scale
Definition: FastJetInterfaceTool.h:394
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
FastJetInterface::schememap_t
std::map< std::string, fastjet::RecombinationScheme > schememap_t
Mapping keyword on fastjet recombination scheme tag.
Definition: FastJetInterfaceTool.h:40
FastJetInterfaceTool::m_ghostedRepeat
int m_ghostedRepeat
fastjet property: ghost area calculation repeatitions
Definition: FastJetInterfaceTool.h:270
FastJetInterfaceTool::getKnownAlgorithms
const FastJetInterface::algomap_t & getKnownAlgorithms()
Get known jet algorithms.
Definition: FastJetInterfaceTool.cxx:29
FastJetInterface::algomap_t
std::map< std::string, fastjet::JetAlgorithm > algomap_t
Mapping keyword on fastjet jet algorithm tag.
Definition: FastJetInterfaceTool.h:36
FastJetInterfaceTool::clusterSequence
virtual fastjet::ClusterSequence * clusterSequence()
Access fastjet ClusterSequence.
Definition: FastJetInterfaceTool.cxx:578
FastJetInterfaceTool::m_recombinationScheme
fastjet::RecombinationScheme m_recombinationScheme
fastjet tag: recombination scheme
Definition: FastJetInterfaceTool.h:391
SG::DataProxy
Definition: DataProxy.h:45
FastJetInterfaceTool::f_extractExclDcut
StatusCode f_extractExclDcut(FastJetInterface::fjetlist_t &outJets)
Exclusive extractor implementation.
Definition: FastJetInterfaceTool.cxx:571
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
FastJetInterfaceTool::m_clusterStrategyType
std::string m_clusterStrategyType
fastjet property: cluster strategy
Definition: FastJetInterfaceTool.h:229
FastJetInterfaceTool::m_clusterSequenceType
std::string m_clusterSequenceType
fastjet property: cluster sequence type
Definition: FastJetInterfaceTool.h:225
fitman.k
k
Definition: fitman.py:528
FastJetInterfaceTool::m_failedExecCtr
unsigned int m_failedExecCtr
Execution failure counter.
Definition: FastJetInterfaceTool.h:375
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37