Skip to content
Snippets Groups Projects
Commit 41847f68 authored by Eduardo Rodrigues's avatar Eduardo Rodrigues
Browse files

Merge branch 'rmatev-strip-selreports' into 'master'

Selective saving of Hlt2SelReports in Tesla

Closes LBHLT-75

See merge request !67
parents 08e3c284 446e1d45
No related branches found
No related tags found
2 merge requests!85merge master to future,!67Selective saving of Hlt2SelReports in Tesla
......@@ -90,6 +90,7 @@ class Tesla(LHCbConfigurableUser):
, 'PersistRecoMC' : True # Match persistReco objects to MC
, 'ProtoTypesPR' : ["long","down"] # Which protoparticle types are in Turbo++
, 'KillInputHlt2Reps' : False # Kill input Hlt2 reps to save space
, 'InputHlt2RepsToKeep' : [] # List of selection names of reports to keep (if KillInputHlt2Reps is True)
, 'HDRFilter' : False # Filter on trigger lines or not
, 'Park' : False # If prescaled streams, make a parked version
# Remove maybe
......@@ -138,6 +139,7 @@ class Tesla(LHCbConfigurableUser):
, 'PersistRecoMC' : 'Match persistReco objects to MC'
, 'ProtoTypesPR' : 'Which protoparticle types are in Turbo++'
, 'KillInputHlt2Reps':'Kill input Hlt2 reps to save space'
, 'InputHlt2RepsToKeep': 'List of selection names of reports to keep (if KillInputHlt2Reps is True)'
, 'HDRFilter' : 'Filter on trigger lines or not'
, 'RemovePrescaleExcl': 'Remove DST data banks in exclusively prescaled lines'
, 'Park' : 'If prescaled streams, make a parked version'
......@@ -154,7 +156,7 @@ class Tesla(LHCbConfigurableUser):
, 'ILinePersistenceSvc' : "Implementation of the ILinePersistenceSvc to use (for >= 2017 data types)"
, 'CandidatesFromSelReports' : ("If True and DataType >= 2017, take Turbo candidates from Hlt2SelReports rather than "
"from the DstData raw bank (i.e. behave as if DataType =< 2016)")
}
writerName = "DstWriter"
......@@ -589,7 +591,7 @@ class Tesla(LHCbConfigurableUser):
fname = self.getProp("outputFile")
else:
fname = self.getProp("outputPrefix") + stream + self.getProp("outputSuffix")
# Building sequencer with stream
seq = GaudiSequencer('TeslaStreamSequence' + stream)
......@@ -964,13 +966,45 @@ class Tesla(LHCbConfigurableUser):
return stream_seq
def _configureHlt2SelReportsKill(self):
from Configurables import bankKiller, HltSelReportsStripper
inputHlt2RepsToKeep = self.getProp('InputHlt2RepsToKeep')
kill_seq = GaudiSequencer('Hlt2SelReportsKillerSeq')
killer = bankKiller("Hlt2SelReportsBankKiller")
killer.BankTypes = ["HltSelReports"]
killer.DefaultIsKill = False
killer.KillSourceID = 2 << 13
kill_seq.Members.append(killer)
# if the list of reports to keep is empty, do nothing more
if inputHlt2RepsToKeep:
assert all(name.endswith('Decision') for name in inputHlt2RepsToKeep)
# By the time the stripper runs Hlt2/SelReports should exist
stripper = HltSelReportsStripper('Hlt2SelReportsStripper')
stripper.OutputHltSelReportsLocation = 'Hlt2/SelReportsFiltered'
stripper.OutputHltObjectSummariesLocation = (
str(stripper.OutputHltSelReportsLocation) + '/Candidates')
stripper.SelectionNames = inputHlt2RepsToKeep
stripper.OutputLevel = self.getProp('OutputLevel')
kill_seq.Members.append(stripper)
writer = HltSelReportsWriter('Hlt2SelReportsFilteredWriter')
writer.SourceID = 2
writer.InputHltSelReportsLocation = str(stripper.OutputHltSelReportsLocation)
writer.OutputLevel = self.getProp('OutputLevel')
kill_seq.Members.append(writer)
return kill_seq
def __apply_configuration__(self):
############## Set other properties ###########
self._safeSet( LHCbApp(), ['EvtMax','SkipEvents','Simulation', 'DataType' , 'CondDBtag','DDDBtag'] )
self._safeSet( TrackSys(), ['DataType'] )
self._safeSet( TurboConf(), ['DataType'] )
# Make sure DQFlags are ignored for Tesla productions
if self.getProp('IgnoreDQFlags'):
if not LHCbApp().isPropertySet( "IgnoreDQFlags" ) :
......@@ -1011,7 +1045,7 @@ class Tesla(LHCbConfigurableUser):
ApplicationMgr().TopAlg.insert( 0, enk.getFullName() )
if self.getProp('KillInputHlt2Reps'):
bk = bankKiller("Hlt2RepKiller", BankTypes = ["HltSelReports"], DefaultIsKill = False, KillSourceID=(2<<13) )
self.teslaSeq.Members+=[bk]
kill_selreports = self._configureHlt2SelReportsKill()
self.teslaSeq.Members += [kill_selreports]
ApplicationMgr().TopAlg+=[self.teslaSeq]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment