ATLAS Offline Software
DRMultiAssociation.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/DRMultiAssociation.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 an association to objects within a DR cone,
9 # represented by containment.
10 #
11 
12 
13 from D3PDMakerCoreComps.D3PDObject import D3PDObject
14 from AthenaConfiguration.ComponentFactory import CompFactory
15 
16 D3PD = CompFactory.D3PD
17 
18 
19 def DRMultiAssociation (parent,
20  type_name,
21  default_sgkey,
22  default_drcut,
23  prefix = '',
24  level = 0,
25  blockname = None,
26  *args, **kw):
27  """Helper for setting up an association to objects within a DR cone,
28  represented by containment.
29 """
30  if blockname is None:
31  blockname = prefix + 'DRMultiAssoc'
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.DRConeAssociationTool (name + 'Assoc',
46  Getter = getter,
47  DRCut = drcut)
48 
50  Prefix = prefix,
51  Associator = assoc)
52 
53  obj = D3PDObject (maker, prefix)
54  parent.defineBlock (level, blockname, obj)
55  return obj
56 
57 
D3PD::ContainedMultiAssociationFillerTool
Represent a multiple association by containment.
Definition: ContainedMultiAssociationFillerTool.h:58
D3PD::SGDataVectorGetterTool
Getter tool to retrieve DataVector/List collections from StoreGate.
Definition: SGDataVectorGetterTool.h:55
D3PD::DRConeAssociationTool
Associate all particles within a DR cut.
Definition: DRConeAssociationTool.h:43
python.DRMultiAssociation.DRMultiAssociation
def DRMultiAssociation(parent, type_name, default_sgkey, default_drcut, prefix='', level=0, blockname=None, *args, **kw)
Definition: DRMultiAssociation.py:19