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 | Private Attributes | List of all members
MenuComponents.EmptyMenuSequence Class Reference
Collaboration diagram for MenuComponents.EmptyMenuSequence:

Public Member Functions

def __init__ (self, the_name)
 
def __del__ (self)
 
def sequence (self)
 
def maker (self)
 
def name (self)
 
def getOutputList (self)
 
def connectToFilter (self, outfilter)
 
def getHypoToolConf (self)
 
def buildDFDot (self, cfseq_algs, all_hypos, last_step_hypo_nodes, file)
 
def __repr__ (self)
 

Public Attributes

 ca
 

Private Attributes

 _name
 
 _maker
 
 _sequence
 

Detailed Description

Class to emulate reco sequences with no Hypo
It contains an InputMaker and and empty seqAND used for merging
It contains empty function to follow the same MenuSequence behaviour

Definition at line 306 of file MenuComponents.py.

Constructor & Destructor Documentation

◆ __init__()

def MenuComponents.EmptyMenuSequence.__init__ (   self,
  the_name 
)

Definition at line 310 of file MenuComponents.py.

310  def __init__(self, the_name):
311  log.debug("Made EmptySequence %s", the_name)
312  self._name = the_name
313 
314  # isEmptyStep causes the IM to try at runtime to merge by feature by default
315  # (i.e for empty steps appended after a leg has finised). But if this failes then it will
316  # merge by initial ROI instead (i.e. for empy steps prepended before a leg has started)
317  makerAlg = CompFactory.InputMakerForRoI(f"IM{the_name}",
318  isEmptyStep = True,
319  RoIsLink = 'initialRoI')
320 
321  self._maker = InputMakerNode( Alg = makerAlg )
322  self._sequence = Node( Alg = seqAND(the_name, [makerAlg]))
323 
324  self.ca = ComponentAccumulator()
325  self.ca.addSequence(seqAND(the_name))
326  self.ca.addEventAlgo(makerAlg, sequenceName=the_name)
327 

◆ __del__()

def MenuComponents.EmptyMenuSequence.__del__ (   self)

Definition at line 328 of file MenuComponents.py.

328  def __del__(self):
329  self.ca.wasMerged()
330 

Member Function Documentation

◆ __repr__()

def MenuComponents.EmptyMenuSequence.__repr__ (   self)

Definition at line 364 of file MenuComponents.py.

364  def __repr__(self):
365  return "MenuSequence::%s \n Hypo::%s \n Maker::%s \n Sequence::%s \n HypoTool::%s\n"\
366  %(self.name, "Empty", self.maker.Alg.getName(), self.sequence.Alg.getName(), "None")
367 

◆ buildDFDot()

def MenuComponents.EmptyMenuSequence.buildDFDot (   self,
  cfseq_algs,
  all_hypos,
  last_step_hypo_nodes,
  file 
)

Definition at line 357 of file MenuComponents.py.

357  def buildDFDot(self, cfseq_algs, all_hypos, last_step_hypo_nodes, file):
358  cfseq_algs.append(self.maker)
359  cfseq_algs.append(self.sequence )
360  file.write(" %s[fillcolor=%s]\n"%(self.maker.Alg.getName(), algColor(self.maker.Alg)))
361  file.write(" %s[fillcolor=%s]\n"%(self.sequence.Alg.getName(), algColor(self.sequence.Alg)))
362  return cfseq_algs, all_hypos, last_step_hypo_nodes
363 

◆ connectToFilter()

def MenuComponents.EmptyMenuSequence.connectToFilter (   self,
  outfilter 
)
Connect filter to the InputMaker

Definition at line 350 of file MenuComponents.py.

350  def connectToFilter(self, outfilter):
351  """Connect filter to the InputMaker"""
352  self.maker.addInput(outfilter)
353 

◆ getHypoToolConf()

def MenuComponents.EmptyMenuSequence.getHypoToolConf (   self)

Definition at line 354 of file MenuComponents.py.

354  def getHypoToolConf(self):
355  return None
356 

◆ getOutputList()

def MenuComponents.EmptyMenuSequence.getOutputList (   self)

Definition at line 347 of file MenuComponents.py.

347  def getOutputList(self):
348  return self.maker.readOutputList() # Only one since it's merged
349 

◆ maker()

def MenuComponents.EmptyMenuSequence.maker (   self)

Definition at line 336 of file MenuComponents.py.

336  def maker(self):
337  # Input makers are added during DataFlow building (connectToFilter) when a chain
338  # uses this sequence in another step. So we need to make sure to update the
339  # algorithm when accessed.
340  self._maker.Alg = self.ca.getEventAlgo(self._maker.Alg.name)
341  return self._maker
342 

◆ name()

def MenuComponents.EmptyMenuSequence.name (   self)

Definition at line 344 of file MenuComponents.py.

344  def name(self):
345  return self._name
346 

◆ sequence()

def MenuComponents.EmptyMenuSequence.sequence (   self)

Definition at line 332 of file MenuComponents.py.

332  def sequence(self):
333  return self._sequence
334 

Member Data Documentation

◆ _maker

MenuComponents.EmptyMenuSequence._maker
private

Definition at line 321 of file MenuComponents.py.

◆ _name

MenuComponents.EmptyMenuSequence._name
private

Definition at line 312 of file MenuComponents.py.

◆ _sequence

MenuComponents.EmptyMenuSequence._sequence
private

Definition at line 322 of file MenuComponents.py.

◆ ca

MenuComponents.EmptyMenuSequence.ca

Definition at line 324 of file MenuComponents.py.


The documentation for this class was generated from the following file:
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
detail::addInput
void addInput(T &c, const Primitive &input, A a=defaultAccessor< T >)
Definition: PrimitiveHelpers.h:50
python.CFElements.seqAND
def seqAND(name, subs=[])
Definition: CFElements.py:25
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
python.AthDsoLogger.__del__
def __del__(self)
Definition: AthDsoLogger.py:82
HLTCFTools.algColor
def algColor(alg)
Definition: HLTCFTools.py:15