Skip to content

Services for keeping track of line persistence requests

Rosen Matev requested to merge rmatev-LBHLT-233 into master

This is inspired by the comments in LBHLT-233, but is extended to include the persistence of reconstructed objects in addition to raw banks. Instead of public tools, services are used as this is where Gaudi is going.

We have one interface ILinePersistenceSvc that defines two methods for the moment:

  • locationsToPersist(const HltDecReports&, const std::set<std::string>& lines) returns the union of locations that were requested by all lines from lines that fired in the given HltDecReports object.
  • rawBanksToPersist(const HltDecReports&, const std::set<std::string>& lines) returns the union of the requested raw banks for all lines from lines that fired in the given HltDecReports object.

There are two implementations HltLinePersistenceSvc and TCKLinePersistenceSvc, following loosely HltANNSvc and TCKANNSvc. The first takes care of the Moore use case and is configured by the TCK, and the second is meant to be used offline and uses the TCK in the HltDecReports to "configure itself".

The configuration of HltLinePersistenceSvc consists of:

  • Locations -- a map {DecisionName: list of locations}
  • RawBankTypes -- a map {DecisionName: list of raw bank type names}

TODOs:

  • Consider passing list of lines to the methods. As is now, one has to "filter" the HltDecReports before passing them to the service. It would probably be more efficient to pass the lines and let the service do the filtering. Interface changed accordingly
  • Consider changing the return type of locationsToPersist. The implementation of locationsToPersist will have to eliminate duplicates, which makes the current (vector of vectors) return type inappropriate. Interface changed accordingly
  • Think how to most efficiently construct desired result.
  • Write more documentation. Interface is documented.
  • Write a test for TCKLinePersistenceSvc. A test for HltLinePersistenceSvc exists.

Merge request reports

Loading