Skip to content
Snippets Groups Projects
Commit e550e8ec authored by Alex Pearce's avatar Alex Pearce
Browse files

Configure per-stream RecSummary decoder.

This places Rec/Summary in stream-dependent location, which is useful
for TurCal productions where the Brunel summary already exists at
/Event/Rec/Summary, so the Moore summary must go somewhere else.
parent ee02442c
No related branches found
No related tags found
2 merge requests!85merge master to future,!79Place Moore RecSummary in a stream-dependent location
...@@ -779,16 +779,6 @@ class Tesla(LHCbConfigurableUser): ...@@ -779,16 +779,6 @@ class Tesla(LHCbConfigurableUser):
packed_data_decoder = HltPackedDataDecoder('Hlt2PackedDataDecoder') packed_data_decoder = HltPackedDataDecoder('Hlt2PackedDataDecoder')
decoders_seq.Members.append(packed_data_decoder) decoders_seq.Members.append(packed_data_decoder)
# Decode the RecSummary from the SelReports to /Event/Rec/Summary
recsummary_decoder = RecSummaryFromSelReports()
recsummary_decoder.InputHltSelReportsLocation = 'Hlt2/SelReports'
decoders_seq.Members.append(GaudiSequencer(
'RecSummarySeq', Members=[
self._selReportsCheck(),
recsummary_decoder,
]
))
prpacking = PersistRecoConf.PersistRecoPacking(datatype) prpacking = PersistRecoConf.PersistRecoPacking(datatype)
prunpackers = prpacking.unpackers() prunpackers = prpacking.unpackers()
...@@ -888,6 +878,23 @@ class Tesla(LHCbConfigurableUser): ...@@ -888,6 +878,23 @@ class Tesla(LHCbConfigurableUser):
if output_prefix or self.getProp('HDRFilter'): if output_prefix or self.getProp('HDRFilter'):
stream_seq.Members.append(filter) stream_seq.Members.append(filter)
tes_root = '/Event'
# /Event/<stream name>
stream_base = os.path.join(tes_root, output_prefix).rstrip('/')
# /Event/<stream name>/Turbo
turbo_base = os.path.join(stream_base, 'Turbo')
# Decode the RecSummary from the SelReports
recsummary_decoder = RecSummaryFromSelReports(namer('RecSummaryFromSelReports'))
recsummary_decoder.InputHltSelReportsLocation = 'Hlt2/SelReports'
recsummary_decoder.OutputRecSummaryLocation = os.path.join(turbo_base, 'Rec/Summary')
stream_seq.Members.append(GaudiSequencer(
namer('RecSummarySeq'), Members=[
self._selReportsCheck(),
recsummary_decoder
]
))
# No need to clone if the output prefix is empty (everything stays # No need to clone if the output prefix is empty (everything stays
# under /Event/Turbo) # under /Event/Turbo)
if output_prefix: if output_prefix:
...@@ -919,13 +926,8 @@ class Tesla(LHCbConfigurableUser): ...@@ -919,13 +926,8 @@ class Tesla(LHCbConfigurableUser):
) )
stream_seq.Members.append(copy_line_outputs_seq) stream_seq.Members.append(copy_line_outputs_seq)
tes_root = '/Event'
# /Event/<stream name>
stream_base = os.path.join(tes_root, output_prefix).rstrip('/')
# /Event/<stream name>/Turbo
turbo_base = os.path.join(stream_base, 'Turbo')
required_output_locations = [ required_output_locations = [
os.path.join(tes_root, 'Rec/Summary#1') str(recsummary_decoder.OutputRecSummaryLocation) + '#1'
] ]
optional_output_locations = [] optional_output_locations = []
if pack: if pack:
......
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