Feature #24918

make "trigger_paths" a non-dense array

Added by Gianantonio Pezzullo 7 months ago. Updated 10 days ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
16.00 h
Spent time:
SSI Package:


In the recent release of art, we now can set the trigger bits of each given path, BUT the bits sequence has to be contiguous, in order to keep trigger_paths dense. The request is to allow trigger_paths to be non-dense. In this way, we can set arbitrarily the bits to the various paths.
This feature is especially useful for the Mu2e case because when we will be in data-taking mode, the Trigger Menu might change from Run to Run, thus having the possibility to keep the same trigger_bit to the same paths would immensely simplify the bookkeeping and the operations downstream needed to handle/process the data.

Related issues

Related to art - Bug #25588: trigger bit reassignment Resolved03/03/2021


#1 Updated by Kyle Knoepfel 7 months ago

  • Status changed from New to Under Discussion

#2 Updated by Kyle Knoepfel about 1 month ago

  • Related to Bug #25588: trigger bit reassignment added

#3 Updated by Kyle Knoepfel 17 days ago

  • Target version set to 3.09.00

#4 Updated by Kyle Knoepfel 10 days ago

  • Estimated time set to 16.00 h
  • % Done changed from 0 to 100
  • Status changed from Under Discussion to Resolved
  • Category set to Infrastructure
  • Project changed from cet-is to art

The feature is complete; I will be updating the documentation in the next few weeks. Changes necessary to implement this feature:

  • Terms like "trigger bit", "bit position", or "bit number" are now obsolete. The correct term is now "path ID." Each path now has a path ID assigned to it (perhaps implicitly).
  • The TriggerNamesService supports a PathID interface instead of one that uses just size_t values that (formerly) corresponded to trigger bits.
  • With each path having an identifier, the same path name cannot be repeated in the trigger_paths sequence. If repeating the path name in that sequence is desired, it must be prepended with the path ID:
    - trigger_paths: [tp, tp]
    + trigger_paths: ['0:tp', '0:tp']
     => N.B. Path ID must be the same for the same name

I am considering adjusting the TriggerNamesService interface so that feature #23801 can be supported. Whether that adjustment happens for 3.09.00 is unclear.

Also available in: Atom PDF