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

Constructor & Destructor Documentation

◆ __init__()

def MenuComponents.EmptyMenuSequence.__init__ (   self,
  the_name 
)

Definition at line 262 of file MenuComponents.py.

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

◆ __del__()

def MenuComponents.EmptyMenuSequence.__del__ (   self)

Definition at line 280 of file MenuComponents.py.

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

Member Function Documentation

◆ __repr__()

def MenuComponents.EmptyMenuSequence.__repr__ (   self)

Definition at line 316 of file MenuComponents.py.

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

◆ buildDFDot()

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

Definition at line 309 of file MenuComponents.py.

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

◆ connectToFilter()

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

Definition at line 302 of file MenuComponents.py.

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

◆ getHypoToolConf()

def MenuComponents.EmptyMenuSequence.getHypoToolConf (   self)

Definition at line 306 of file MenuComponents.py.

306  def getHypoToolConf(self):
307  return None
308 

◆ getOutputList()

def MenuComponents.EmptyMenuSequence.getOutputList (   self)

Definition at line 299 of file MenuComponents.py.

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

◆ maker()

def MenuComponents.EmptyMenuSequence.maker (   self)

Definition at line 288 of file MenuComponents.py.

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

◆ name()

def MenuComponents.EmptyMenuSequence.name (   self)

Definition at line 296 of file MenuComponents.py.

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

◆ sequence()

def MenuComponents.EmptyMenuSequence.sequence (   self)

Definition at line 284 of file MenuComponents.py.

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

Member Data Documentation

◆ _maker

MenuComponents.EmptyMenuSequence._maker
private

Definition at line 273 of file MenuComponents.py.

◆ _name

MenuComponents.EmptyMenuSequence._name
private

Definition at line 264 of file MenuComponents.py.

◆ _sequence

MenuComponents.EmptyMenuSequence._sequence
private

Definition at line 274 of file MenuComponents.py.

◆ ca

MenuComponents.EmptyMenuSequence.ca

Definition at line 276 of file MenuComponents.py.


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