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

Constructor & Destructor Documentation

◆ __init__()

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__()

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__()

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()

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()

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()

MenuComponents.EmptyMenuSequence.getHypoToolConf ( self)

Definition at line 306 of file MenuComponents.py.

306 def getHypoToolConf(self):
307 return None
308

◆ getOutputList()

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()

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()

MenuComponents.EmptyMenuSequence.name ( self)

Definition at line 296 of file MenuComponents.py.

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

◆ sequence()

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 = InputMakerNode( Alg = makerAlg )
protected

Definition at line 273 of file MenuComponents.py.

◆ _name

MenuComponents.EmptyMenuSequence._name = the_name
protected

Definition at line 264 of file MenuComponents.py.

◆ _sequence

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

Definition at line 274 of file MenuComponents.py.

◆ ca

MenuComponents.EmptyMenuSequence.ca = ComponentAccumulator()

Definition at line 276 of file MenuComponents.py.

◆ maker

MenuComponents.EmptyMenuSequence.maker

Definition at line 310 of file MenuComponents.py.

◆ name

MenuComponents.EmptyMenuSequence.name

Definition at line 318 of file MenuComponents.py.

◆ sequence

MenuComponents.EmptyMenuSequence.sequence

Definition at line 311 of file MenuComponents.py.


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