ATLAS Offline Software
Loading...
Searching...
No Matches
MenuComponents.EmptyMenuSequence Class Reference
Collaboration diagram for MenuComponents.EmptyMenuSequence:

Public Member Functions

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

Public Attributes

 ca = ComponentAccumulator()
 maker
 sequence
 name

Protected Attributes

 _name = the_name
 _maker = InputMakerNode( Alg = makerAlg )
 _sequence = Node( Alg = seqAND(the_name, [makerAlg]))

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

Constructor & Destructor Documentation

◆ __init__()

MenuComponents.EmptyMenuSequence.__init__ ( self,
the_name )

Definition at line 261 of file MenuComponents.py.

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

◆ __del__()

MenuComponents.EmptyMenuSequence.__del__ ( self)

Definition at line 279 of file MenuComponents.py.

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

Member Function Documentation

◆ __repr__()

MenuComponents.EmptyMenuSequence.__repr__ ( self)

Definition at line 315 of file MenuComponents.py.

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

◆ buildDFDot()

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

Definition at line 308 of file MenuComponents.py.

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

◆ connectToFilter()

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

Definition at line 301 of file MenuComponents.py.

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

◆ getHypoToolConf()

MenuComponents.EmptyMenuSequence.getHypoToolConf ( self)

Definition at line 305 of file MenuComponents.py.

305 def getHypoToolConf(self):
306 return None
307

◆ getOutputList()

MenuComponents.EmptyMenuSequence.getOutputList ( self)

Definition at line 298 of file MenuComponents.py.

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

◆ maker()

MenuComponents.EmptyMenuSequence.maker ( self)

Definition at line 287 of file MenuComponents.py.

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

◆ name()

MenuComponents.EmptyMenuSequence.name ( self)

Definition at line 295 of file MenuComponents.py.

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

◆ sequence()

MenuComponents.EmptyMenuSequence.sequence ( self)

Definition at line 283 of file MenuComponents.py.

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

Member Data Documentation

◆ _maker

MenuComponents.EmptyMenuSequence._maker = InputMakerNode( Alg = makerAlg )
protected

Definition at line 272 of file MenuComponents.py.

◆ _name

MenuComponents.EmptyMenuSequence._name = the_name
protected

Definition at line 263 of file MenuComponents.py.

◆ _sequence

MenuComponents.EmptyMenuSequence._sequence = Node( Alg = seqAND(the_name, [makerAlg]))
protected

Definition at line 273 of file MenuComponents.py.

◆ ca

MenuComponents.EmptyMenuSequence.ca = ComponentAccumulator()

Definition at line 275 of file MenuComponents.py.

◆ maker

MenuComponents.EmptyMenuSequence.maker

Definition at line 309 of file MenuComponents.py.

◆ name

MenuComponents.EmptyMenuSequence.name

Definition at line 317 of file MenuComponents.py.

◆ sequence

MenuComponents.EmptyMenuSequence.sequence

Definition at line 310 of file MenuComponents.py.


The documentation for this class was generated from the following file: