add encoding key to DecReport raw bank
follow changes in LHCb!3528 (merged) to add an explicit encoding key into the DecReports raw bank (and increase its version number).
NOTE: requires LHCb!3528 (merged) in order to have a decoder which can decode this version of the rawbank -- and LHCb!3528 (merged) also requires Moore!1529 (merged) which in turn uses functionality from this MR -- so this MR must be applied in conjunction with LHCb!3528 (merged) and Moore!1529 (merged)
Merge request reports
Activity
added RTA label
- Resolved by Gerhard Raven
I think a small event model object along the lines of
DecReports
would be the best solution. It could contain the various named constants, an appropriate constructor and some methods for setting and getting required data and the storage size as a function of the number of events and lines.You're more than welcome to add it.
Edited by Roel Aaij
- Resolved by Gerhard Raven
There's still a
2
indec_reporter::set_arguments_size
.
@raaij: can I count on the fact that
config = configure_input(options) ids = get_allen_hlt1_decision_ids()
will give consistent ids compared to the code in Allen's persistency.py, specifically:
@configurable def make_dec_reporter(lines, TCK=0 ): gather_selections = make_gather_selections(lines)
i.e. will
lines
obtained fromfrom RecoConf.hlt1_allen import get_allen_line_names lines = get_allen_line_names()
be the same as the
lines
which will be given as input tomake_dec_reporter
???Another question: for the SelReports, the decoder will go to the ANNSvc with keys "InfoID" and and "Hlt1SelectionID" -- the latter seem to be generated in
parse_bank_def.py
from some enums and written to a file (which makes it hard to figure where this information goes next). Is there a way (eg. using cppyy) to get those names and values in plain python, without invoking clang to walk all symbols? And I haven't been able to find any reference toInfoID
just yet -- so can I assume that an empty dictionary will be fine for those?- Resolved by Roel Aaij
Also, I'm a bit surprised that here it has:
ids = {'Hlt1%sDecision' % l: i for i, l in enumerate(lines)} annSvc = HltANNSvc("HltANNSvc", Hlt1SelectionID=ids, OutputLevel=2)
i.e. why is 'Decision' appended after the line name for a 'selection ID' -- in this case, the 'Hlt1SelectionID' is identical to the 'Hlt1DecisionID' -- which if that is the intention, why not when those are registered, register them as well as selectionID, at the same time -- that way you'll be sure they are consistent... and even if these should not have
Decision
appended, if there is a one-to-one correspondence, it would still be better to register them 'at the same time' instead of in two different places in the code...
added 1 commit
- fc0b66cb - add encoding key to DecReport raw bank and increment bank version
- Resolved by Gerhard Raven
- Resolved by Gerhard Raven
added 18 commits
-
fc0b66cb...ec331f38 - 15 commits from branch
master
- a346e87f - add encoding key to DecReport raw bank and increment bank version
- b052e68e - cleanup GaudiAllenReportsToRawEvent implementation
- a1e7d833 - amalgamate component headers in compilation units
Toggle commit list-
fc0b66cb...ec331f38 - 15 commits from branch
added 1 commit
- 57329e28 - enforce DecisionID vs SelectionID distinction