ATLAS Offline Software
DRIndexAssociation.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 #
4 # @file EventCommonD3PDMaker/python/DRIndexAssociation.py
5 # @author scott snyder <snyder@bnl.gov>
6 # @author Ryan Reece <ryan.reece@cern.ch>
7 # @date Dec, 2009
8 # @brief Helper for setting up a nearest-DR association, represented
9 # by an index.
10 #
11 
12 
13 from D3PDMakerCoreComps.D3PDObject import D3PDObject
14 from AthenaConfiguration.ComponentFactory import CompFactory
15 
16 D3PD = CompFactory.D3PD
17 
18 
19 def DRIndexAssociation (parent,
20  type_name,
21  default_sgkey,
22  default_drcut,
23  prefix = '',
24  target = '',
25  level = 0,
26  blockname = None,
27  *args, **kw):
28  """Helper for setting up a nearest-DR association, represented by an index.
29 """
30  if blockname is None:
31  blockname = prefix + 'DRIndexAssoc'
32 
33  def maker (name, prefix, object_name,
34  sgkey = default_sgkey,
35  getter = None,
36  assoc = None,
37  drcut = default_drcut):
38 
39  if not getter:
41  (name + '_Getter',
42  TypeName = type_name,
43  SGKey = sgkey)
44  if not assoc:
45  assoc = D3PD.DRAssociationTool (name + 'Assoc',
46  Getter = getter,
47  DRCut = drcut)
48 
50  (name,
51  Prefix = prefix,
52  Associator = assoc,
53  BlockName = blockname)
54  indexer = D3PD.IndexFillerTool \
55  (name + 'Index',
56  Target = target)
57  filler.BlockFillers += [indexer]
58  return filler
59 
60  obj = D3PDObject (maker, prefix)
61  parent.defineBlock (level, blockname, obj)
62  return obj
63 
64 
D3PD::SGDataVectorGetterTool
Getter tool to retrieve DataVector/List collections from StoreGate.
Definition: SGDataVectorGetterTool.h:55
D3PD::ContainedAssociationFillerTool
Represent a single association by containment.
Definition: ContainedAssociationFillerTool.h:54
D3PD::DRAssociationTool
Associate to particle closest in DR.
Definition: DRAssociationTool.h:48
python.DRIndexAssociation.DRIndexAssociation
def DRIndexAssociation(parent, type_name, default_sgkey, default_drcut, prefix='', target='', level=0, blockname=None, *args, **kw)
Definition: DRIndexAssociation.py:19
D3PD::IndexFillerTool
Fill an index of an object within a container.
Definition: IndexFillerTool.h:32