381 def __init__(self, flags, selectionCA, HypoToolGen, globalRecoCA=None):
382 self.ca = selectionCA
383 self._globalCA = globalRecoCA
385 self.hypoAcc = selectionCA.hypoAcc
388 self._sequence = Node(Alg=sequence)
392 assert len(inputMaker) == 1, f
"{len(inputMaker)} input makers in the ComponentAccumulator"
393 inputMaker = inputMaker[0]
394 assert inputMaker.name.startswith(
"IM"), f
"Input maker {inputMaker.name} name needs to start with 'IM'"
395 self._maker = InputMakerNode( Alg = inputMaker )
396 input_maker_output = self.maker.readOutputList()[0]
400 hypoAlg = selectionCA.hypoAcc.getEventAlgos()
401 assert len(hypoAlg) == 1, f
"{len(hypoAlg)} hypo algs in the ComponentAccumulator"
403 hypoAlg.RuntimeValidation = flags.Trigger.doRuntimeNaviVal
405 self._name = CFNaming.menuSequenceName(hypoAlg.name)
406 self._hypo = HypoAlgNode( Alg = hypoAlg )
407 self._hypo.addOutput( CFNaming.hypoAlgOutName(hypoAlg.name) )
408 self._hypo.setPreviousDecision( input_maker_output )
409 self._hypoToolConf = HypoToolConf( HypoToolGen )
412 if ROBPrefetching.StepRoI
in flags.Trigger.ROBPrefetchingOptions:
413 for child
in sequence.Members:
414 if ( isinstance(child, CompFactory.ROBPrefetchingAlg)
and
415 input_maker_output
not in child.ROBPrefetchingInputDecisions ):
416 child.ROBPrefetchingInputDecisions.append(input_maker_output)
418 log.debug(
"connecting InputMaker and HypoAlg, adding: InputMaker::%s.output=%s",
419 self.maker.Alg.name, input_maker_output)
420 log.debug(
"HypoAlg::%s.HypoInputDecisions=%s, HypoAlg::%s.HypoOutputDecisions=%s",
421 self.hypo.Alg.name, self.hypo.readInputList()[0],
422 self.hypo.Alg.name, self.hypo.readOutputList()[0])