CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
Config.ModifierChain Class Reference
Inheritance diagram for Config.ModifierChain:

Public Member Functions

def __init__ (self, chainedModifiers)
 
def copyAndExclude (self, toExclude)
 

Private Member Functions

def __copyIfExclude (self, toExclude)
 
def _applyNewProcessModifiers (self, process)
 
def _isChosen (self)
 
def _isOrContains (self, other)
 
def _setChosen (self)
 

Private Attributes

 __chain
 
 __chosen
 

Detailed Description

A Modifier made up of a list of Modifiers

Definition at line 1870 of file Config.py.

Constructor & Destructor Documentation

◆ __init__()

def Config.ModifierChain.__init__ (   self,
  chainedModifiers 
)

Definition at line 1873 of file Config.py.

1873  def __init__(self, *chainedModifiers):
1874  self.__chosen = False
1875  self.__chain = chainedModifiers
def __init__(self, dataset, job_number, job_id, job_name, isDA, isMC, applyBOWS, applyEXTRACOND, extraconditions, runboundary, lumilist, intlumi, maxevents, gt, allFromGT, alignmentDB, alignmentTAG, apeDB, apeTAG, bowDB, bowTAG, vertextype, tracktype, refittertype, ttrhtype, applyruncontrol, ptcut, CMSSW_dir, the_dir)

Member Function Documentation

◆ __copyIfExclude()

def Config.ModifierChain.__copyIfExclude (   self,
  toExclude 
)
private

Definition at line 1902 of file Config.py.

References Config.Modifier._isOrContains(), Config.ModifierChain._isOrContains(), and Config.ModifierChain.copyAndExclude().

1902  def __copyIfExclude(self,toExclude):
1903  shouldCopy = False
1904  for m in toExclude:
1905  if self._isOrContains(m):
1906  shouldCopy = True
1907  break
1908  if shouldCopy:
1909  return self.copyAndExclude(toExclude)
1910  return self

◆ _applyNewProcessModifiers()

def Config.ModifierChain._applyNewProcessModifiers (   self,
  process 
)
private
Should only be called by cms.Process instances
applies list of accumulated changes to the process

Definition at line 1876 of file Config.py.

References Config.ModifierChain.__chain.

1876  def _applyNewProcessModifiers(self,process):
1877  """Should only be called by cms.Process instances
1878  applies list of accumulated changes to the process"""
1879  for m in self.__chain:
1880  m._applyNewProcessModifiers(process)

◆ _isChosen()

def Config.ModifierChain._isChosen (   self)
private

Definition at line 1886 of file Config.py.

References Config.Modifier.__chosen, and Config.ModifierChain.__chosen.

Referenced by Config._BoolModifierBase.toModify(), and Config._BoolModifierBase.toReplaceWith().

1886  def _isChosen(self):
1887  return self.__chosen

◆ _isOrContains()

def Config.ModifierChain._isOrContains (   self,
  other 
)
private

Definition at line 1911 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

1911  def _isOrContains(self, other):
1912  if self is other:
1913  return True
1914  for m in self.__chain:
1915  if m._isOrContains(other):
1916  return True
1917  return False
1918 

◆ _setChosen()

def Config.ModifierChain._setChosen (   self)
private
Should only be called by cms.Process instances

Definition at line 1881 of file Config.py.

References Config.ModifierChain.__chain, Config.Modifier.__chosen, and Config.ModifierChain.__chosen.

1881  def _setChosen(self):
1882  """Should only be called by cms.Process instances"""
1883  self.__chosen = True
1884  for m in self.__chain:
1885  m._setChosen()

◆ copyAndExclude()

def Config.ModifierChain.copyAndExclude (   self,
  toExclude 
)
Creates a new ModifierChain which is a copy of
  this ModifierChain but excludes any Modifier or
  ModifierChain in the list toExclude.
  The exclusion is done recursively down the chain.

Definition at line 1888 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

1888  def copyAndExclude(self, toExclude):
1889  """Creates a new ModifierChain which is a copy of
1890  this ModifierChain but excludes any Modifier or
1891  ModifierChain in the list toExclude.
1892  The exclusion is done recursively down the chain.
1893  """
1894  newMods = []
1895  for m in self.__chain:
1896  if m not in toExclude:
1897  s = m
1898  if isinstance(m,ModifierChain):
1899  s = m.__copyIfExclude(toExclude)
1900  newMods.append(s)
1901  return ModifierChain(*newMods)

Member Data Documentation

◆ __chain

Config.ModifierChain.__chain
private

◆ __chosen

Config.ModifierChain.__chosen
private

Definition at line 1874 of file Config.py.

Referenced by Config.ModifierChain._isChosen(), and Config.ModifierChain._setChosen().