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 1872 of file Config.py.

Constructor & Destructor Documentation

◆ __init__()

def Config.ModifierChain.__init__ (   self,
  chainedModifiers 
)

Definition at line 1875 of file Config.py.

1875  def __init__(self, *chainedModifiers):
1876  self.__chosen = False
1877  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 1904 of file Config.py.

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

1904  def __copyIfExclude(self,toExclude):
1905  shouldCopy = False
1906  for m in toExclude:
1907  if self._isOrContains(m):
1908  shouldCopy = True
1909  break
1910  if shouldCopy:
1911  return self.copyAndExclude(toExclude)
1912  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 1878 of file Config.py.

References Config.ModifierChain.__chain.

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

◆ _isChosen()

def Config.ModifierChain._isChosen (   self)
private

Definition at line 1888 of file Config.py.

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

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

1888  def _isChosen(self):
1889  return self.__chosen

◆ _isOrContains()

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

Definition at line 1913 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

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

◆ _setChosen()

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

Definition at line 1883 of file Config.py.

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

1883  def _setChosen(self):
1884  """Should only be called by cms.Process instances"""
1885  self.__chosen = True
1886  for m in self.__chain:
1887  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 1890 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

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

Member Data Documentation

◆ __chain

Config.ModifierChain.__chain
private

◆ __chosen

Config.ModifierChain.__chosen
private

Definition at line 1876 of file Config.py.

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