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 259 of file MenuComponents.py.

Constructor & Destructor Documentation

◆ __init__()

def MenuComponents.EmptyMenuSequence.__init__ (   self,
  the_name 
)

Definition at line 263 of file MenuComponents.py.

263  def __init__(self, the_name):
264  log.debug("Made EmptySequence %s", the_name)
265  self._name = the_name
266 
267  # isEmptyStep causes the IM to try at runtime to merge by feature by default
268  # (i.e for empty steps appended after a leg has finised). But if this failes then it will
269  # merge by initial ROI instead (i.e. for empy steps prepended before a leg has started)
270  makerAlg = CompFactory.InputMakerForRoI(f"IM{the_name}",
271  isEmptyStep = True,
272  RoIsLink = 'initialRoI')
273 
274  self._maker = InputMakerNode( Alg = makerAlg )
275  self._sequence = Node( Alg = seqAND(the_name, [makerAlg]))
276 
277  self.ca = ComponentAccumulator()
278  self.ca.addSequence(seqAND(the_name))
279  self.ca.addEventAlgo(makerAlg, sequenceName=the_name)
280 

◆ __del__()

def MenuComponents.EmptyMenuSequence.__del__ (   self)

Definition at line 281 of file MenuComponents.py.

281  def __del__(self):
282  self.ca.wasMerged()
283 

Member Function Documentation

◆ __repr__()

def MenuComponents.EmptyMenuSequence.__repr__ (   self)

Definition at line 317 of file MenuComponents.py.

317  def __repr__(self):
318  return "MenuSequence::%s \n Hypo::%s \n Maker::%s \n Sequence::%s \n HypoTool::%s\n"\
319  %(self.name, "Empty", self.maker.Alg.getName(), self.sequence.Alg.getName(), "None")
320 

◆ buildDFDot()

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

Definition at line 310 of file MenuComponents.py.

310  def buildDFDot(self, cfseq_algs, all_hypos, last_step_hypo_nodes, file):
311  cfseq_algs.append(self.maker)
312  cfseq_algs.append(self.sequence )
313  file.write(" %s[fillcolor=%s]\n"%(self.maker.Alg.getName(), algColor(self.maker.Alg)))
314  file.write(" %s[fillcolor=%s]\n"%(self.sequence.Alg.getName(), algColor(self.sequence.Alg)))
315  return cfseq_algs, all_hypos, last_step_hypo_nodes
316 

◆ connectToFilter()

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

Definition at line 303 of file MenuComponents.py.

303  def connectToFilter(self, outfilter):
304  """Connect filter to the InputMaker"""
305  self.maker.addInput(outfilter)
306 

◆ getHypoToolConf()

def MenuComponents.EmptyMenuSequence.getHypoToolConf (   self)

Definition at line 307 of file MenuComponents.py.

307  def getHypoToolConf(self):
308  return None
309 

◆ getOutputList()

def MenuComponents.EmptyMenuSequence.getOutputList (   self)

Definition at line 300 of file MenuComponents.py.

300  def getOutputList(self):
301  return self.maker.readOutputList() # Only one since it's merged
302 

◆ maker()

def MenuComponents.EmptyMenuSequence.maker (   self)

Definition at line 289 of file MenuComponents.py.

289  def maker(self):
290  # Input makers are added during DataFlow building (connectToFilter) when a chain
291  # uses this sequence in another step. So we need to make sure to update the
292  # algorithm when accessed.
293  self._maker.Alg = self.ca.getEventAlgo(self._maker.Alg.name)
294  return self._maker
295 

◆ name()

def MenuComponents.EmptyMenuSequence.name (   self)

Definition at line 297 of file MenuComponents.py.

297  def name(self):
298  return self._name
299 

◆ sequence()

def MenuComponents.EmptyMenuSequence.sequence (   self)

Definition at line 285 of file MenuComponents.py.

285  def sequence(self):
286  return self._sequence
287 

Member Data Documentation

◆ _maker

MenuComponents.EmptyMenuSequence._maker
private

Definition at line 274 of file MenuComponents.py.

◆ _name

MenuComponents.EmptyMenuSequence._name
private

Definition at line 265 of file MenuComponents.py.

◆ _sequence

MenuComponents.EmptyMenuSequence._sequence
private

Definition at line 275 of file MenuComponents.py.

◆ ca

MenuComponents.EmptyMenuSequence.ca

Definition at line 277 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:81
HLTCFTools.algColor
def algColor(alg)
Definition: HLTCFTools.py:15