Skip to content
Snippets Groups Projects

add encoding key to DecReport raw bank

Merged Gerhard Raven requested to merge add-encoding-key into master

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)

Edited by Gerhard Raven

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Gerhard Raven marked this merge request as draft

    marked this merge request as draft

  • added RTA label

  • Gerhard Raven changed the description

    changed the description

  • Author Developer

    @raaij: please check that I've changed all the relevant hardwired '2' into '3'... they way things are (un)structured, it is hard to guarantee that I got all of them... (even just having a single constexpr named constant instead of lots of literal 2 would have helped)

    • 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
  • Gerhard Raven added 1 commit

    added 1 commit

    • 555cea52 - add encoding key to DecReport raw bank

    Compare with previous version

  • Gerhard Raven added 1 commit

    added 1 commit

    • 2f9b9fe5 - add encoding key to DecReport raw bank

    Compare with previous version

  • Author Developer

    @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 from

    from 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 to make_dec_reporter???

  • Yes. The @configurable of make_dec_reporter should probably be removed. How to configure the TCK may require a bit of thought, perhaps options?

  • Author Developer

    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 to InfoID just yet -- so can I assume that an empty dictionary will be fine for those?

    • Author Developer
      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...

  • Gerhard Raven added 1 commit

    added 1 commit

    • fc0b66cb - add encoding key to DecReport raw bank and increment bank version

    Compare with previous version

  • Gerhard Raven changed the description

    changed the description

  • run_allen_in_gaudi.py is not used anymore and should be removed.

  • Gerhard Raven added 18 commits

    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

    Compare with previous version

  • Gerhard Raven added 1 commit

    added 1 commit

    • 57329e28 - enforce DecisionID vs SelectionID distinction

    Compare with previous version

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading