Skip to content
Snippets Groups Projects

Further move bits from AnalysisConf to the DaVinci configurable

Merged Eduardo Rodrigues requested to merge erodrigu-analysisconf into master
@@ -357,14 +357,60 @@ class DaVinci(LHCbConfigurableUser) :
if ( (inputType != 'MDST' ) & (inputType != "MDF") & (inputType != "DIGI" )) :
physinit = PhysConf().initSequence() # PhysConf initSequence
# Analysis
AnalysisConf().RedoMCLinks = self.getProp("RedoMCLinks")
analysisinit = AnalysisConf().initSequence()
analysisinit = self.anaInitSequence()
initSeqs = [physinit,analysisinit]
return GaudiSequencer('DaVinciEventInitSeq',
Members = initSeqs,
IgnoreFilterPassed = True)
#
# configure reconstruction to be redone
#
def anaInitSequence(self):
"""
Analysis init Sequence.
"""
# only one initialisiation do far
from Configurables import GaudiSequencer
init = GaudiSequencer("AnalysisInitSeq")
self.redoMCLinks(init)
return init
#
# Set MC
#
def redoMCLinks(self, init):
"""
Redo MC links.
"""
if (self.getProp("Simulation")):
redo = self.getProp("RedoMCLinks")
if (redo):
from Configurables import (GaudiSequencer, TESCheck,
EventNodeKiller, TrackAssociator)
mcKillSeq = GaudiSequencer(
"KillMCLinks"
) # The sequence killing the node of it exists
tescheck = TESCheck(
"DaVinciEvtCheck") # Check for presence of node ...
tescheck.Inputs = ["Link/Rec/Track/Best"] #
tescheck.Stop = False # But don't stop
tescheck.OutputLevel = 5 # don't print warnings
evtnodekiller = EventNodeKiller(
"DaVinciEvtNodeKiller") # kill nodes
evtnodekiller.Nodes = ["Link/Rec/Track"] # Kill that
mcKillSeq.Members = [
tescheck, evtnodekiller,
TrackAssociator()
]
mcLinkSeq = GaudiSequencer(
"RedoMCLinks") # The sequence redoing the links
mcLinkSeq.IgnoreFilterPassed = True # Run it always
mcLinkSeq.Members = [mcKillSeq, TrackAssociator()]
init.Members += [mcLinkSeq]
# LoKi service
def loki(self):
"""
Loading