Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
MenuComponents.HypoAlgNode Class Reference
Inheritance diagram for MenuComponents.HypoAlgNode:
Collaboration diagram for MenuComponents.HypoAlgNode:

Public Member Functions

def __init__ (self, Alg)
 
def addOutput (self, name)
 
def addHypoTool (self, flags, hypoToolConf)
 
def setPreviousDecision (self, prev)
 
def __repr__ (self)
 
def addDefaultOutput (self)
 
def setPar (self, propname, value)
 
def resetPar (self, prop)
 
def getPar (self, prop)
 
def resetOutput (self)
 
def resetInput (self)
 
def readOutputList (self)
 
def addInput (self, name)
 
def readInputList (self)
 
def getOutputList (self)
 
def getInputList (self)
 

Public Attributes

 previous
 
 outputProp
 
 inputProp
 
 name
 
 Alg
 
 inputs
 
 outputs
 

Static Public Attributes

 initialOutput
 

Detailed Description

AlgNode for HypoAlgs

Definition at line 153 of file MenuComponents.py.

Constructor & Destructor Documentation

◆ __init__()

def MenuComponents.HypoAlgNode.__init__ (   self,
  Alg 
)

Reimplemented from MenuComponents.Node.

Definition at line 156 of file MenuComponents.py.

156  def __init__(self, Alg):
157  assert isHypoBase(Alg), "Error in creating HypoAlgNode from Alg " + Alg.name
158  AlgNode.__init__(self, Alg, 'HypoInputDecisions', 'HypoOutputDecisions')
159  self.previous=[]
160 

Member Function Documentation

◆ __repr__()

def MenuComponents.HypoAlgNode.__repr__ (   self)

Reimplemented from MenuComponents.AlgNode.

Definition at line 191 of file MenuComponents.py.

191  def __repr__(self):
192  return "HypoAlg::%s [%s] -> [%s], previous = [%s], HypoTools=[%s]" % \
193  (self.Alg.name,' '.join(map(str, self.getInputList())),
194  ' '.join(map(str, self.getOutputList())),
195  ' '.join(map(str, self.previous)),
196  ' '.join([t.getName() for t in self.Alg.HypoTools]))
197 
198 

◆ addDefaultOutput()

def MenuComponents.AlgNode.addDefaultOutput (   self)
inherited

Definition at line 62 of file MenuComponents.py.

62  def addDefaultOutput(self):
63  if self.outputProp != '':
64  self.addOutput(("%s_%s"%(self.Alg.getName(),self.outputProp)))
65 

◆ addHypoTool()

def MenuComponents.HypoAlgNode.addHypoTool (   self,
  flags,
  hypoToolConf 
)

Definition at line 171 of file MenuComponents.py.

171  def addHypoTool (self, flags, hypoToolConf):
172  log.debug("Adding HypoTool %s for chain %s to %s", hypoToolConf.name, hypoToolConf.chainDict['chainName'], self.Alg.getName())
173  try:
174  result = hypoToolConf.create(flags)
175  if isinstance(result, ComponentAccumulator):
176  tool = result.popPrivateTools()
177  assert not isinstance(tool, list), "Can not handle list of tools"
178  self.Alg.HypoTools.append(tool)
179  return result
180  else:
181  self.Alg.HypoTools = self.Alg.HypoTools + [result] # see ATEAM-773
182 
183  except NoHypoToolCreated as e:
184  log.debug("%s returned empty tool: %s", hypoToolConf.name, e)
185  return None
186 

◆ addInput()

def MenuComponents.AlgNode.addInput (   self,
  name 
)
inherited

Reimplemented from MenuComponents.Node.

Definition at line 106 of file MenuComponents.py.

106  def addInput(self, name):
107  inputs = self.readInputList()
108  if name in inputs:
109  log.debug("Input DH not added in %s: %s already set!", self.Alg.getName(), name)
110  else:
111  if self.inputProp != '':
112  self.setPar(self.inputProp, name)
113  else:
114  log.debug("no InputProp set for input of %s", self.Alg.getName())
115  Node.addInput(self, name)
116  return len(self.readInputList())
117 

◆ addOutput()

def MenuComponents.HypoAlgNode.addOutput (   self,
  name 
)

Reimplemented from MenuComponents.AlgNode.

Definition at line 161 of file MenuComponents.py.

161  def addOutput(self, name):
162  outputs = self.readOutputList()
163  if name in outputs:
164  log.debug("Output DH not added in %s: %s already set!", self.name, name)
165  elif self.initialOutput in outputs:
166  AlgNode.addOutput(self, name)
167  else:
168  log.error("Hypo %s has already %s as configured output: you may want to duplicate the Hypo!",
169  self.name, outputs[0])
170 

◆ getInputList()

def MenuComponents.Node.getInputList (   self)
inherited

Definition at line 47 of file MenuComponents.py.

47  def getInputList(self):
48  return self.inputs
49 

◆ getOutputList()

def MenuComponents.Node.getOutputList (   self)
inherited

Definition at line 44 of file MenuComponents.py.

44  def getOutputList(self):
45  return self.outputs
46 

◆ getPar()

def MenuComponents.AlgNode.getPar (   self,
  prop 
)
inherited

Definition at line 81 of file MenuComponents.py.

81  def getPar(self, prop):
82  return getattr(self.Alg, prop)
83 

◆ readInputList()

def MenuComponents.AlgNode.readInputList (   self)
inherited

Definition at line 118 of file MenuComponents.py.

118  def readInputList(self):
119  cval = self.getPar(self.inputProp)
120  return (cval if isinstance(cval, MutableSequence) else
121  ([str(cval)] if cval else []))
122 

◆ readOutputList()

def MenuComponents.AlgNode.readOutputList (   self)
inherited

Definition at line 101 of file MenuComponents.py.

101  def readOutputList(self):
102  cval = self.getPar(self.outputProp)
103  return (cval if isinstance(cval, MutableSequence) else
104  ([str(cval)] if cval else []))
105 

◆ resetInput()

def MenuComponents.AlgNode.resetInput (   self)
inherited

Definition at line 87 of file MenuComponents.py.

87  def resetInput(self):
88  self.resetPar(self.inputProp)
89 

◆ resetOutput()

def MenuComponents.AlgNode.resetOutput (   self)
inherited

Definition at line 84 of file MenuComponents.py.

84  def resetOutput(self):
85  self.resetPar(self.outputProp)
86 

◆ resetPar()

def MenuComponents.AlgNode.resetPar (   self,
  prop 
)
inherited

Definition at line 74 of file MenuComponents.py.

74  def resetPar(self, prop):
75  cval = getattr(self.Alg, prop)
76  if isinstance(cval, MutableSequence):
77  return setattr(self.Alg, prop, [])
78  else:
79  return setattr(self.Alg, prop, "")
80 

◆ setPar()

def MenuComponents.AlgNode.setPar (   self,
  propname,
  value 
)
inherited

Definition at line 66 of file MenuComponents.py.

66  def setPar(self, propname, value):
67  cval = getattr( self.Alg, propname)
68  if isinstance(cval, MutableSequence):
69  cval.append(value)
70  return setattr(self.Alg, propname, cval)
71  else:
72  return setattr(self.Alg, propname, value)
73 

◆ setPreviousDecision()

def MenuComponents.HypoAlgNode.setPreviousDecision (   self,
  prev 
)

Definition at line 187 of file MenuComponents.py.

187  def setPreviousDecision(self,prev):
188  self.previous.append(prev)
189  return self.addInput(prev)
190 

Member Data Documentation

◆ Alg

MenuComponents.Node.Alg
inherited

Definition at line 34 of file MenuComponents.py.

◆ initialOutput

MenuComponents.HypoAlgNode.initialOutput
static

Definition at line 155 of file MenuComponents.py.

◆ inputProp

MenuComponents.AlgNode.inputProp
inherited

Definition at line 60 of file MenuComponents.py.

◆ inputs

MenuComponents.Node.inputs
inherited

Definition at line 35 of file MenuComponents.py.

◆ name

MenuComponents.Node.name
inherited

Definition at line 33 of file MenuComponents.py.

◆ outputProp

MenuComponents.AlgNode.outputProp
inherited

Definition at line 59 of file MenuComponents.py.

◆ outputs

MenuComponents.Node.outputs
inherited

Definition at line 36 of file MenuComponents.py.

◆ previous

MenuComponents.HypoAlgNode.previous

Definition at line 159 of file MenuComponents.py.


The documentation for this class was generated from the following file:
detail::addInput
void addInput(T &c, const Primitive &input, A a=defaultAccessor< T >)
Definition: PrimitiveHelpers.h:50
dumpHVPathFromNtuple.append
bool append
Definition: dumpHVPathFromNtuple.py:91
dumpTruth.getName
getName
Definition: dumpTruth.py:34
HLTCFTools.isHypoBase
def isHypoBase(alg)
Definition: HLTCFTools.py:31
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
str
Definition: BTagTrackIpAccessor.cxx:11