ATLAS Offline Software
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 setPar (self, propname, value)
 
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 125 of file MenuComponents.py.

Constructor & Destructor Documentation

◆ __init__()

def MenuComponents.HypoAlgNode.__init__ (   self,
  Alg 
)

Reimplemented from MenuComponents.Node.

Definition at line 128 of file MenuComponents.py.

128  def __init__(self, Alg):
129  assert isHypoBase(Alg), "Error in creating HypoAlgNode from Alg " + Alg.name
130  AlgNode.__init__(self, Alg, 'HypoInputDecisions', 'HypoOutputDecisions')
131  self.previous=[]
132 

Member Function Documentation

◆ __repr__()

def MenuComponents.HypoAlgNode.__repr__ (   self)

Reimplemented from MenuComponents.AlgNode.

Definition at line 163 of file MenuComponents.py.

163  def __repr__(self):
164  return "HypoAlg::%s [%s] -> [%s], previous = [%s], HypoTools=[%s]" % \
165  (self.Alg.name,' '.join(map(str, self.getInputList())),
166  ' '.join(map(str, self.getOutputList())),
167  ' '.join(map(str, self.previous)),
168  ' '.join([t.getName() for t in self.Alg.HypoTools]))
169 
170 

◆ addHypoTool()

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

Definition at line 143 of file MenuComponents.py.

143  def addHypoTool (self, flags, hypoToolConf):
144  log.debug("Adding HypoTool %s for chain %s to %s", hypoToolConf.name, hypoToolConf.chainDict['chainName'], self.Alg.getName())
145  try:
146  result = hypoToolConf.create(flags)
147  if isinstance(result, ComponentAccumulator):
148  tool = result.popPrivateTools()
149  assert not isinstance(tool, list), "Can not handle list of tools"
150  self.Alg.HypoTools.append(tool)
151  return result
152  else:
153  self.Alg.HypoTools = self.Alg.HypoTools + [result] # see ATEAM-773
154 
155  except NoHypoToolCreated as e:
156  log.debug("%s returned empty tool: %s", hypoToolConf.name, e)
157  return None
158 

◆ addInput()

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

Reimplemented from MenuComponents.Node.

Definition at line 83 of file MenuComponents.py.

83  def addInput(self, name):
84  inputs = self.readInputList()
85  if name in inputs:
86  log.debug("Input DH not added in %s: %s already set!", self.Alg.getName(), name)
87  else:
88  if self.inputProp != '':
89  self.setPar(self.inputProp, name)
90  else:
91  log.debug("no InputProp set for input of %s", self.Alg.getName())
92  Node.addInput(self, name)
93  return len(self.readInputList())
94 

◆ addOutput()

def MenuComponents.HypoAlgNode.addOutput (   self,
  name 
)

Reimplemented from MenuComponents.AlgNode.

Definition at line 133 of file MenuComponents.py.

133  def addOutput(self, name):
134  outputs = self.readOutputList()
135  if name in outputs:
136  log.debug("Output DH not added in %s: %s already set!", self.name, name)
137  elif self.initialOutput in outputs:
138  AlgNode.addOutput(self, name)
139  else:
140  log.error("Hypo %s has already %s as configured output: you may want to duplicate the Hypo!",
141  self.name, outputs[0])
142 

◆ getInputList()

def MenuComponents.Node.getInputList (   self)
inherited

Definition at line 44 of file MenuComponents.py.

44  def getInputList(self):
45  return self.inputs
46 

◆ getOutputList()

def MenuComponents.Node.getOutputList (   self)
inherited

Definition at line 41 of file MenuComponents.py.

41  def getOutputList(self):
42  return self.outputs
43 

◆ readInputList()

def MenuComponents.AlgNode.readInputList (   self)
inherited

Definition at line 95 of file MenuComponents.py.

95  def readInputList(self):
96  cval = getattr(self.Alg, self.inputProp)
97  return (cval if isinstance(cval, MutableSequence) else
98  ([str(cval)] if cval else []))
99 

◆ readOutputList()

def MenuComponents.AlgNode.readOutputList (   self)
inherited

Definition at line 78 of file MenuComponents.py.

78  def readOutputList(self):
79  cval = getattr(self.Alg, self.outputProp)
80  return (cval if isinstance(cval, MutableSequence) else
81  ([str(cval)] if cval else []))
82 

◆ setPar()

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

Definition at line 59 of file MenuComponents.py.

59  def setPar(self, propname, value):
60  cval = getattr( self.Alg, propname)
61  if isinstance(cval, MutableSequence):
62  cval.append(value)
63  return setattr(self.Alg, propname, cval)
64  else:
65  return setattr(self.Alg, propname, value)
66 

◆ setPreviousDecision()

def MenuComponents.HypoAlgNode.setPreviousDecision (   self,
  prev 
)

Definition at line 159 of file MenuComponents.py.

159  def setPreviousDecision(self,prev):
160  self.previous.append(prev)
161  return self.addInput(prev)
162 

Member Data Documentation

◆ Alg

MenuComponents.Node.Alg
inherited

Definition at line 31 of file MenuComponents.py.

◆ initialOutput

MenuComponents.HypoAlgNode.initialOutput
static

Definition at line 127 of file MenuComponents.py.

◆ inputProp

MenuComponents.AlgNode.inputProp
inherited

Definition at line 57 of file MenuComponents.py.

◆ inputs

MenuComponents.Node.inputs
inherited

Definition at line 32 of file MenuComponents.py.

◆ name

MenuComponents.Node.name
inherited

Definition at line 30 of file MenuComponents.py.

◆ outputProp

MenuComponents.AlgNode.outputProp
inherited

Definition at line 56 of file MenuComponents.py.

◆ outputs

MenuComponents.Node.outputs
inherited

Definition at line 33 of file MenuComponents.py.

◆ previous

MenuComponents.HypoAlgNode.previous

Definition at line 131 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