ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
python.D3PDObject.D3PDObject Class Reference
Collaboration diagram for python.D3PDObject.D3PDObject:

Public Member Functions

def __init__ (self, maker, default_prefix='', default_object_name='', default_name=None, allow_args=[], **kw)
 
def defineBlock (self, lod, name, func, prefix=None, **kw)
 
def removeBlock (self, name, allowMissing=False)
 
def defineHook (self, hook)
 
def allBlocknames (self)
 
def __call__ (self, level, name=None, prefix=None, name_prefix='', parent_prefix='', object_name=None, include=[], exclude=[], blockargs={}, parent_hookargs=None, *args, **kw)
 
def blockFillers (self, level, parent_name, parent_prefix='', include=[], exclude=[], blockargs={}, hookargs={})
 
def copy (self, default_prefix=None, default_object_name=None, default_name=None, **kw_in)
 

Static Public Member Functions

def runHooks (c, flags, acc)
 

Private Member Functions

def _add_blockname (self, n, warnonly=False)
 
def _remove_blockname (self, n)
 
def _makeBlockFillers (self, c, level, parent_prefix, include, exclude, blockargs, hookargs)
 

Private Attributes

 _maker
 
 _default_object_name
 
 _blocks
 
 _hooks
 
 _all_blocknames
 
 _default_prefix
 
 _default_name
 
 _hookArgs
 
 _parent
 
 _allow_args
 

Static Private Attributes

dictionary _hookArgsStore = {}
 

Detailed Description

D3PD object creator class.

For each type of object written to the D3PD, create
an instance of this class.  The arguments to the constructor
are a function to create the Configurable for the object filler
tool and a default value for the variable name prefix
for this block.

After creating the instance, one calls defineBlock to define
the blocks of variables that can be written for this object.

Finally, one calls the object in order to create the
configurable.

So, a typical usage might look like this.

  def makeElectronD3PDObject (name, prefix,
                              getter = None,
                              sgkey = 'ElectronAODCollection')
      if not getter:
          getter = CompFactory.D3PD.SGDataVectorGetterTool \
                   (name + '_Getter',
                    TypeName = 'ElectronContainer',
                    SGKey = sgkey)

      return CompFactory.D3PD.VectorFillerTool (name,
                                                Prefix = prefix,
                                                Getter = getter)

  ElectronD3PDObject = D3PDObject (makeElectronD3PDObject, 'el_')

  ElectronD3PDObject.defineBlock (0, 'Kinematics',
                                  EventCommonD3PDMaker.FourMomFillerTool)

  alg = ...
  alg += ElectronD3PDObject (level)

Definition at line 99 of file D3PDObject.py.

Constructor & Destructor Documentation

◆ __init__()

def python.D3PDObject.D3PDObject.__init__ (   self,
  maker,
  default_prefix = '',
  default_object_name = '',
  default_name = None,
  allow_args = [],
**  kw 
)
Constructor.

Arguments:
  maker: A function to create the IObjFillerTool Configurable
 for this object.  It is called with two fixed arguments,
 the tool name and the variable name prefix.  Any other
 arguments provided to the call will be passed through.
  default_prefix: Default variable name prefix for objects
          of this type.
  default_object_name: Default D3PDObject name, something like
               'EventInfoD3PDObject'
  default_name: If specified, the default tool name to use
        for these objects.
  allow_args: Additional arguments that may be passed in when
      instantiating the D3PDObject, but which are not
      to be passed to the maker function.  This can be
      used to allow for additional arguments to hook
      or level-of-detail functions.

  Any additional arguments are passed into any hook functions.

Definition at line 141 of file D3PDObject.py.

141  def __init__ (self, maker, default_prefix = '', default_object_name = '',
142  default_name = None, allow_args = [], **kw):
143  """Constructor.
144 
145  Arguments:
146  maker: A function to create the IObjFillerTool Configurable
147  for this object. It is called with two fixed arguments,
148  the tool name and the variable name prefix. Any other
149  arguments provided to the call will be passed through.
150  default_prefix: Default variable name prefix for objects
151  of this type.
152  default_object_name: Default D3PDObject name, something like
153  'EventInfoD3PDObject'
154  default_name: If specified, the default tool name to use
155  for these objects.
156  allow_args: Additional arguments that may be passed in when
157  instantiating the D3PDObject, but which are not
158  to be passed to the maker function. This can be
159  used to allow for additional arguments to hook
160  or level-of-detail functions.
161 
162  Any additional arguments are passed into any hook functions.
163 
164 """
165  self._maker = maker
166  self._default_object_name = default_object_name
167  self._blocks = []
168  self._hooks = []
169  self._all_blocknames = {}
170  self._default_prefix = default_prefix
171  self._default_name = default_name
172  self._hookArgs = kw
173  self._parent = None
174  self._allow_args = allow_args
175  return
176 
177 

Member Function Documentation

◆ __call__()

def python.D3PDObject.D3PDObject.__call__ (   self,
  level,
  name = None,
  prefix = None,
  name_prefix = '',
  parent_prefix = '',
  object_name = None,
  include = [],
  exclude = [],
  blockargs = {},
  parent_hookargs = None,
args,
**  kw 
)
Create a Configurable to fill an object of this type.

Arguments:
  level: Requested level of detail for this object.  An integer.
  name: Tool name.  If omitted, one will be constructed.
  prefix: Variable name prefix for this object.
  name_prefix: If name wasn't specified, this is a prefix
       to add to the tool name.
  parent_prefix: Variable name prefix for any parent tool.
  object_name: Name of the D3PDObject, like 'EventInfoD3PDObject'
  include: List of block names to include, regardless
   of level of detail.
  exclude: List of block names to exclude, regardless
   of level of detail.
  blockargs: Extra arguments to pass to block filler tools.
     The keys are block names.
     Values are dictionaries of keyword arguments.
     These override anything specified in defineBlock.
  parent_hookargs: [Not to be used by user code.]
           Dictionary of hook args from the parent,
           to be merged into our hook arg dictionary.
  args, kw: Additional arguments to pass to the maker function.
    However, any entries in KW that have the form
    BLOCK_parm, where BLOCK is a known block name,
    will instead be interpreted as arguments to pass
    to a block filler tool.  These override entries
    in BLOCKARGS.

Definition at line 316 of file D3PDObject.py.

316  def __call__ (self,
317  level,
318  name = None,
319  prefix = None,
320  name_prefix = '',
321  parent_prefix = '',
322  object_name = None,
323  include = [],
324  exclude = [],
325  blockargs = {},
326  parent_hookargs = None,
327  *args, **kw):
328  """Create a Configurable to fill an object of this type.
329 
330  Arguments:
331  level: Requested level of detail for this object. An integer.
332  name: Tool name. If omitted, one will be constructed.
333  prefix: Variable name prefix for this object.
334  name_prefix: If name wasn't specified, this is a prefix
335  to add to the tool name.
336  parent_prefix: Variable name prefix for any parent tool.
337  object_name: Name of the D3PDObject, like 'EventInfoD3PDObject'
338  include: List of block names to include, regardless
339  of level of detail.
340  exclude: List of block names to exclude, regardless
341  of level of detail.
342  blockargs: Extra arguments to pass to block filler tools.
343  The keys are block names.
344  Values are dictionaries of keyword arguments.
345  These override anything specified in defineBlock.
346  parent_hookargs: [Not to be used by user code.]
347  Dictionary of hook args from the parent,
348  to be merged into our hook arg dictionary.
349  args, kw: Additional arguments to pass to the maker function.
350  However, any entries in KW that have the form
351  BLOCK_parm, where BLOCK is a known block name,
352  will instead be interpreted as arguments to pass
353  to a block filler tool. These override entries
354  in BLOCKARGS.
355 """
356 
357  # Prefix defaults to that given to the constructor.
358  if prefix is None:
359  prefix = self._default_prefix
360 
361  # Object name defaults to that given in the constructor
362  if object_name is None:
363  object_name = self._default_object_name
364 
365  # The tool name.
366  if name is None:
367  name = self._default_name
368  name = _make_name (name, prefix, name_prefix, parent_prefix,
369  self._default_prefix)
370 
371  # Copy blockargs and kw.
372  blockargs = dict ([(k, v.copy()) for (k, v) in blockargs.items()])
373  kw = kw.copy()
374 
375  # Move any block filler args from kw to blockargs.
376  for k in list (kw.keys()):
377  # It is possible for block names themselves to contain
378  # underscores. So in the case we have more than one underscore
379  # in the name, try all prefixes we can make, stopping at
380  # the first (shortest) match.
381  kk = k.split('_')
382  for i in range(1, len(kk)):
383  this_key = '_'.join (kk[:i])
384  if this_key in self._all_blocknames:
385  this_var = '_'.join (kk[i:])
386  blockargs.setdefault(this_key,{})[this_var] = kw[k]
387  del kw[k]
388  break
389 
390  # Don't pass extra args listed in allow_args to the maker function.
391  kw2 = kw.copy()
392  for k in self._allow_args:
393  if k in kw2: del kw2[k]
394 
395  # Call the maker function.
396  try:
397  c = self._maker (name=name, prefix=prefix, object_name=object_name,
398  *args, **kw2) # noqa: B026 (star-arg unpacking after keyword OK here
399  # because we are handling failures below)
400  except TypeError as exc:
401  if (len(exc.args) > 0 and
402  exc.args[0].find ("unexpected keyword argument 'object_name'") >= 0):
403  log = logging.getLogger ('D3PDObject')
404  log.warn ("Maker function missing `object_name' formal arg: %s", self._maker)
405  c = self._maker (name=name, prefix=prefix, *args, **kw2) # noqa: B026 (see above)
406  else:
407  raise
408 
409  # Construct arguments to pass to hooks.
410  # Use a StackedDict: that allows any additions that a LOD function
411  # makes to hookargs to be visible in the rest of the D3PDObject.
412  if parent_hookargs is None:
413  parent_hookargs = {}
414  local_hookargs = {}
415  hookargs = StackedDict (local_hookargs, kw,
416  self._hookArgs, parent_hookargs)
417  local_hookargs['level'] = level
418  local_hookargs['name'] = name
419  local_hookargs['prefix'] = prefix
420  local_hookargs['name_prefix'] = name_prefix
421  local_hookargs['parent_prefix'] = parent_prefix
422  local_hookargs['include'] = include
423  local_hookargs['exclude'] = exclude
424  local_hookargs['blockargs'] = blockargs
425  local_hookargs['d3pdo'] = self
426 
427  # Create block filler tools.
428  self._makeBlockFillers (c, level, parent_prefix + prefix,
429  include, exclude, blockargs, hookargs)
430 
431  # We used to run the hooks from here.
432  # But in that case, we don't have access to the containing
433  # algorithm --- too early for that.
434  # So we break out the running of the hooks to a separate method
435  # that gets called after the tool gets added to the algorithm.
436  # A catch, though, is that we have to remember the arguments
437  # that we pass to the hook functions. We can't attach it
438  # to the configurable, since it doesn't have a dictionary.
439  # Instead, we need to keep a dictionary here of the tools
440  # and the corresponding hook args.
441  D3PDObject._hookArgsStore[c.getName()] = (self._hooks, args, hookargs)
442  return c
443 
444 

◆ _add_blockname()

def python.D3PDObject.D3PDObject._add_blockname (   self,
  n,
  warnonly = False 
)
private
Add a new block name N to the list of all names.
Raises an exception if a block name is duplicated.

Definition at line 276 of file D3PDObject.py.

276  def _add_blockname (self, n, warnonly = False):
277  """Add a new block name N to the list of all names.
278  Raises an exception if a block name is duplicated.
279 """
280  if n in self._all_blocknames:
281  if warnonly:
282  log = logging.getLogger ('D3PDObject')
283  log.warn ('Duplicate block name: %s (%s %s %s)',
284  n,
285  self._default_prefix,
286  self._default_name,
287  self._default_object_name)
288  else:
289  raise ValueError ('Duplicate block name: %s (%s %s %s)' %
290  (n,
291  self._default_prefix,
292  self._default_name,
293  self._default_object_name))
294  self._all_blocknames[n] = 1
295  if self._parent:
296  self._parent._add_blockname (n, True)
297  return
298 
299 

◆ _makeBlockFillers()

def python.D3PDObject.D3PDObject._makeBlockFillers (   self,
  c,
  level,
  parent_prefix,
  include,
  exclude,
  blockargs,
  hookargs 
)
private
Create block filler tools for object C, for the specified
level of detail.

Arguments:
  c: Object for which to create the block fillers.
  level: Requested level of detail for this object.  An integer.
  parent_prefix: Variable name prefix for any parent tool.
  include: List of block names to include, regardless
   of level of detail.
  exclude: List of block names to exclude, regardless
   of level of detail.
  blockargs: Extra arguments to pass to block filler tools.
     The keys are block names.
     Values are dictionaries of keyword arguments.
     These override anything specified in defineBlock.
  hookargs: Arguments passed to the D3PD object, to be passed
    on to LOD functions.

Definition at line 540 of file D3PDObject.py.

540  def _makeBlockFillers (self,
541  c,
542  level,
543  parent_prefix,
544  include,
545  exclude,
546  blockargs,
547  hookargs):
548  """Create block filler tools for object C, for the specified
549  level of detail.
550 
551  Arguments:
552  c: Object for which to create the block fillers.
553  level: Requested level of detail for this object. An integer.
554  parent_prefix: Variable name prefix for any parent tool.
555  include: List of block names to include, regardless
556  of level of detail.
557  exclude: List of block names to exclude, regardless
558  of level of detail.
559  blockargs: Extra arguments to pass to block filler tools.
560  The keys are block names.
561  Values are dictionaries of keyword arguments.
562  These override anything specified in defineBlock.
563  hookargs: Arguments passed to the D3PD object, to be passed
564  on to LOD functions.
565 """
566  for bf in self.blockFillers (level, c.getName(), parent_prefix,
567  include, exclude, blockargs,
568  hookargs):
569  c.BlockFillers += [bf]
570  return
571 
572 
573 

◆ _remove_blockname()

def python.D3PDObject.D3PDObject._remove_blockname (   self,
  n 
)
private
Remove block name N.

Definition at line 300 of file D3PDObject.py.

300  def _remove_blockname (self, n):
301  """Remove block name N."""
302  del self._all_blocknames[n]
303  if self._parent:
304  self._parent._remove_blockname (n)
305  return
306 
307 

◆ allBlocknames()

def python.D3PDObject.D3PDObject.allBlocknames (   self)
Return a dictionary the keys of which are the names of all blocks
defined for this object.  This list will include any blocks defined
recursively.

Definition at line 308 of file D3PDObject.py.

308  def allBlocknames (self):
309  """Return a dictionary the keys of which are the names of all blocks
310  defined for this object. This list will include any blocks defined
311  recursively.
312 """
313  return self._all_blocknames
314 
315 

◆ blockFillers()

def python.D3PDObject.D3PDObject.blockFillers (   self,
  level,
  parent_name,
  parent_prefix = '',
  include = [],
  exclude = [],
  blockargs = {},
  hookargs = {} 
)
Return a list of block filler tool configurables.

Arguments:
  level: Requested level of detail for this object.  An integer.
  parent_name: Name of the parent component.
  parent_prefix: Variable name prefix for any parent tool.
  include: List of block names to include, regardless
   of level of detail.
  exclude: List of block names to exclude, regardless
   of level of detail.
  blockargs: Extra arguments to pass to block filler tools.
     The keys are block names.
     Values are dictionaries of keyword arguments.
     These override anything specified in defineBlock.
  hookargs: Arguments passed to the D3PD object, to be passed
    on to LOD functions.

Definition at line 464 of file D3PDObject.py.

464  def blockFillers (self,
465  level,
466  parent_name,
467  parent_prefix = '',
468  include = [],
469  exclude = [],
470  blockargs = {},
471  hookargs = {}):
472  """Return a list of block filler tool configurables.
473 
474  Arguments:
475  level: Requested level of detail for this object. An integer.
476  parent_name: Name of the parent component.
477  parent_prefix: Variable name prefix for any parent tool.
478  include: List of block names to include, regardless
479  of level of detail.
480  exclude: List of block names to exclude, regardless
481  of level of detail.
482  blockargs: Extra arguments to pass to block filler tools.
483  The keys are block names.
484  Values are dictionaries of keyword arguments.
485  These override anything specified in defineBlock.
486  hookargs: Arguments passed to the D3PD object, to be passed
487  on to LOD functions.
488  """
489  out = []
490  for b in self._blocks:
491  # Find the requested level.
492  if b.name in include:
493  # Always request inclusion.
494  reqlev = 999
495  elif b.name in exclude:
496  # Always request exclusion.
497  reqlev = -999
498  else:
499  # Request level passed in.
500  reqlev = level
501 
502  # Block filler arguments.
503  args = b.kw.copy()
504  args.update (blockargs.get (b.name, {}))
505 
506  # Need to copy lists in arguments; otherwise, += operations
507  # can modify the saved value.
508  # Also evaluate deferred arguments here: need to do it before
509  # calling the LOD function, as that should have the final
510  # say about any changes in the argument list.
511  for k, v in args.items():
512  if isinstance(v, list):
513  args[k] = v[:]
514  if isinstance(v, DeferArg):
515  args[k] = v(hookargs)
516 
517  if _testLOD (b.lod, reqlev, args, hookargs):
518  fillername = parent_name + '_' + b.name
519  if isinstance (b.func, D3PDObject): # ugly!
520  for k in self._allow_args:
521  if k in hookargs:
522  args[k] = hookargs[k]
523  bf = b.func (level, fillername,
524  parent_prefix = parent_prefix,
525  include = include,
526  exclude = exclude,
527  blockargs = blockargs,
528  parent_hookargs = hookargs,
529  **args)
530  else:
531  bf = b.func (fillername, **args)
532 
533  out += [bf]
534  if b._hooks:
535  D3PDObject._hookArgsStore[bf.getName()] = (b._hooks, args, hookargs)
536 
537  return out
538 
539 

◆ copy()

def python.D3PDObject.D3PDObject.copy (   self,
  default_prefix = None,
  default_object_name = None,
  default_name = None,
**  kw_in 
)
Return a copy of this D3PD object, possibly changing parameters.

Definition at line 574 of file D3PDObject.py.

574  def copy (self,
575  default_prefix = None,
576  default_object_name = None,
577  default_name = None,
578  **kw_in):
579  """Return a copy of this D3PD object, possibly changing parameters."""
580  if default_prefix is None:
581  default_prefix = self._default_prefix
582  if default_object_name is None:
583  default_object_name = self._default_object_name
584  if default_name is None:
585  default_name = self._default_name
586  kw = self._hookArgs.copy()
587  kw.update (kw_in)
588 
589  c = D3PDObject (self._maker,
590  default_prefix,
591  default_object_name,
592  default_name,
593  **kw)
594 
595  #def defineBlock (self, lod, name, func, prefix = None, **kw):
596  for b in self._blocks:
597  func = b.func
598  if isinstance (func, D3PDObject):
599  func = func.copy()
600  c.defineBlock (b.lod, b.name, func, **b.kw)
601 
602  for h in self._hooks:
603  c.defineHook (h)
604 
605  return c
606 
607 

◆ defineBlock()

def python.D3PDObject.D3PDObject.defineBlock (   self,
  lod,
  name,
  func,
  prefix = None,
**  kw 
)
Define a new block of variables for this object type.

    Arguments:
      lod: Level of detail of this block.  See below.
      name: Name of this block.
      func:   Function to create the block Configurable.
      prefix: Variable name prefix for this block.
      kw: Arguments to pass to the creation function.

    The creation function will be called like this:

       b.func (name, BlockName = blockname, **b.kw)

    where name is the name for the tool.

    However, if b.func is a class deriving from D3PDObject, then the creation
    function will instead be called like this:

       b.func (level, name, parent_prefix, **b.kw)

    LOD is used to control whether this block should be included.

    In the simple case, this is an integer, and the block is included
    if the block's level of detail is less than or equal to the
    requested level of detail (unless the block was explicitly
    included or excluded).

    In the general case, LOD may be a function.  The first two arguments
    passed to the function will be the requested level of detail
    and the block filler
    arguments.  The requested level of detail will be an integer;
    it will be 999 if the block was explicitly included, and -999
    if the block was explicitly excluded.  The block filler arguments
    is a dictionary of keyword arguments.  The LOD function should
    return a boolean value saying whether or not the block should
    be included.  It may also alter the dictionary of arguments
    (this overrides all other argument settings).
    The LOD function may optionally take a third argument; if present,
    this is a dictionary of the arguments passed to the D3PDObject
    (the same arguments that are passed to hook functions).

Definition at line 178 of file D3PDObject.py.

178  def defineBlock (self, lod, name, func, prefix = None, **kw):
179  """Define a new block of variables for this object type.
180 
181  Arguments:
182  lod: Level of detail of this block. See below.
183  name: Name of this block.
184  func: Function to create the block Configurable.
185  prefix: Variable name prefix for this block.
186  kw: Arguments to pass to the creation function.
187 
188  The creation function will be called like this:
189 
190  b.func (name, BlockName = blockname, **b.kw)
191 
192  where name is the name for the tool.
193 
194  However, if b.func is a class deriving from D3PDObject, then the creation
195  function will instead be called like this:
196 
197  b.func (level, name, parent_prefix, **b.kw)
198 
199  LOD is used to control whether this block should be included.
200 
201  In the simple case, this is an integer, and the block is included
202  if the block's level of detail is less than or equal to the
203  requested level of detail (unless the block was explicitly
204  included or excluded).
205 
206  In the general case, LOD may be a function. The first two arguments
207  passed to the function will be the requested level of detail
208  and the block filler
209  arguments. The requested level of detail will be an integer;
210  it will be 999 if the block was explicitly included, and -999
211  if the block was explicitly excluded. The block filler arguments
212  is a dictionary of keyword arguments. The LOD function should
213  return a boolean value saying whether or not the block should
214  be included. It may also alter the dictionary of arguments
215  (this overrides all other argument settings).
216  The LOD function may optionally take a third argument; if present,
217  this is a dictionary of the arguments passed to the D3PDObject
218  (the same arguments that are passed to hook functions).
219 """
220  if prefix is not None:
221  kw = kw.copy()
222  kw['Prefix'] = prefix
223 
224  # Record this block name.
225  # Also recursively record any blocks that it contains.
226  # This will check that the names are unique.
227  self._add_blockname (name)
228  if isinstance (func, D3PDObject):
229  for n in func.allBlocknames():
230  self._add_blockname (n)
231  func._parent = self
232  func._allow_args = self._allow_args
233 
234  self._blocks.append (Block (name, lod, func, kw))
235  return self._blocks[-1]
236 
237 

◆ defineHook()

def python.D3PDObject.D3PDObject.defineHook (   self,
  hook 
)
Define a new hook function for this D3PD object.

HOOK is a function that will be called for each instance
of this D3PD object after all block filler tools have been
added.

The arguments to the hook function are the object filler tool,
followed by the arguments that were passed to __call__.

Definition at line 263 of file D3PDObject.py.

263  def defineHook (self, hook):
264  """Define a new hook function for this D3PD object.
265 
266  HOOK is a function that will be called for each instance
267  of this D3PD object after all block filler tools have been
268  added.
269 
270  The arguments to the hook function are the object filler tool,
271  followed by the arguments that were passed to __call__.
272 """
273  self._hooks.append (hook)
274 
275 

◆ removeBlock()

def python.D3PDObject.D3PDObject.removeBlock (   self,
  name,
  allowMissing = False 
)
Remove the block NAME from this object.

Definition at line 238 of file D3PDObject.py.

238  def removeBlock (self, name, allowMissing = False):
239  """Remove the block NAME from this object."""
240  bb = None
241  for b in self._blocks:
242  if isinstance (b.func, D3PDObject):
243  if b.func.removeBlock (name, True):
244  return True
245  if b.name == name:
246  bb = b
247  break
248 
249  if not bb:
250  if allowMissing:
251  return False
252  raise ValueError ('Unknown block name: ', name)
253 
254  self._blocks.remove (bb)
255  self._remove_blockname (name)
256  if isinstance (bb.func, D3PDObject):
257  for n in bb.func.allBlocknames():
258  self._remove_blockname (n)
259 
260  return True
261 
262 

◆ runHooks()

def python.D3PDObject.D3PDObject.runHooks (   c,
  flags,
  acc 
)
static
Run creation hooks for configurable C.

Should be run by the D3PD maker algorithm; not for general use.

Definition at line 446 of file D3PDObject.py.

446  def runHooks (c, flags, acc):
447  """Run creation hooks for configurable C.
448 
449 Should be run by the D3PD maker algorithm; not for general use.
450 """
451  info = D3PDObject._hookArgsStore.get (c.getName())
452  if info:
453  (hooks, args, hookargs) = info
454  for h in hooks:
455  h (c,
456  flags,
457  acc,
458  *args,
459  **dict(hookargs)
460  )
461  return
462 
463 

Member Data Documentation

◆ _all_blocknames

python.D3PDObject.D3PDObject._all_blocknames
private

Definition at line 168 of file D3PDObject.py.

◆ _allow_args

python.D3PDObject.D3PDObject._allow_args
private

Definition at line 173 of file D3PDObject.py.

◆ _blocks

python.D3PDObject.D3PDObject._blocks
private

Definition at line 166 of file D3PDObject.py.

◆ _default_name

python.D3PDObject.D3PDObject._default_name
private

Definition at line 170 of file D3PDObject.py.

◆ _default_object_name

python.D3PDObject.D3PDObject._default_object_name
private

Definition at line 165 of file D3PDObject.py.

◆ _default_prefix

python.D3PDObject.D3PDObject._default_prefix
private

Definition at line 169 of file D3PDObject.py.

◆ _hookArgs

python.D3PDObject.D3PDObject._hookArgs
private

Definition at line 171 of file D3PDObject.py.

◆ _hookArgsStore

dictionary python.D3PDObject.D3PDObject._hookArgsStore = {}
staticprivate

Definition at line 138 of file D3PDObject.py.

◆ _hooks

python.D3PDObject.D3PDObject._hooks
private

Definition at line 167 of file D3PDObject.py.

◆ _maker

python.D3PDObject.D3PDObject._maker
private

Definition at line 164 of file D3PDObject.py.

◆ _parent

python.D3PDObject.D3PDObject._parent
private

Definition at line 172 of file D3PDObject.py.


The documentation for this class was generated from the following file:
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
python.PyAthena.v
v
Definition: PyAthena.py:154
calibdata.copy
bool copy
Definition: calibdata.py:27