ATLAS Offline Software
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 304 of file MenuComponents.py.

Constructor & Destructor Documentation

◆ __init__()

def MenuComponents.EmptyMenuSequence.__init__ (   self,
  the_name 
)

Definition at line 308 of file MenuComponents.py.

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

◆ __del__()

def MenuComponents.EmptyMenuSequence.__del__ (   self)

Definition at line 326 of file MenuComponents.py.

326  def __del__(self):
327  self.ca.wasMerged()
328 

Member Function Documentation

◆ __repr__()

def MenuComponents.EmptyMenuSequence.__repr__ (   self)

Definition at line 362 of file MenuComponents.py.

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

◆ buildDFDot()

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

Definition at line 355 of file MenuComponents.py.

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

◆ connectToFilter()

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

Definition at line 348 of file MenuComponents.py.

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

◆ getHypoToolConf()

def MenuComponents.EmptyMenuSequence.getHypoToolConf (   self)

Definition at line 352 of file MenuComponents.py.

352  def getHypoToolConf(self):
353  return None
354 

◆ getOutputList()

def MenuComponents.EmptyMenuSequence.getOutputList (   self)

Definition at line 345 of file MenuComponents.py.

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

◆ maker()

def MenuComponents.EmptyMenuSequence.maker (   self)

Definition at line 334 of file MenuComponents.py.

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

◆ name()

def MenuComponents.EmptyMenuSequence.name (   self)

Definition at line 342 of file MenuComponents.py.

342  def name(self):
343  return self._name
344 

◆ sequence()

def MenuComponents.EmptyMenuSequence.sequence (   self)

Definition at line 330 of file MenuComponents.py.

330  def sequence(self):
331  return self._sequence
332 

Member Data Documentation

◆ _maker

MenuComponents.EmptyMenuSequence._maker
private

Definition at line 319 of file MenuComponents.py.

◆ _name

MenuComponents.EmptyMenuSequence._name
private

Definition at line 310 of file MenuComponents.py.

◆ _sequence

MenuComponents.EmptyMenuSequence._sequence
private

Definition at line 320 of file MenuComponents.py.

◆ ca

MenuComponents.EmptyMenuSequence.ca

Definition at line 322 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:228
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