Support #24050

Documentation on art::TriggerResults_TriggerResults__<process name> Event branch

Added by Liang Li about 1 year ago. Updated 8 months ago.

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


Estimated time:
4.00 h
SSI Package:


Is there a way to find some detailed information on how the event level trigger products are defined?
specifically we would like to know how to do an event counting for each trigger products (filters) using the art files directly.

What we found so far is this one short albeit succinct paragraph at

Whenever a producer or filter is included on a trigger path, a TriggerResults product is automatically created and inserted by art, with its
corresponding BranchID added to the BranchID list for the current process. The product is written to the art ROOT output files so that the
TriggerResults information can be used further downstream. It may, therefore, come as a surprise that even though users do not explicitly
create any products with the producers or filters included in a trigger path for a given process, a TriggerResults product (and, therefore,
a art::TriggerResults_TriggerResults__<process name> Event branch) is written to the output file.

When opening an art file using ROOT (see screenshot), there are two sub-branches under art::TriggerResults_TriggerResults__<process name>.obj, namely "psetid" and "paths", what they are defined for? Assuming we go with the "paths" branch, what's the information stored in the "state", "index", "accept", "status_" leaves?

More importantly, how do we "map" the sequence of trigger paths into any of above mentioned leaves? This is what we have in the FHICL:

SelectEvents : [muonPath, inFillLaserPath, laserPath, pedestalPath, asyncPath, strawPath, muonPathWithDQC, inFillLaserPathWithDQC,
strawPathWithDQC, muonPathWithLaserDQC, inFillLaserPathWithLaserDQC, strawPathWithLaserDQC,muonPathWithT0DQC, inFillLaserPathWithT0DQC,
strawPathWithT0DQC, muonPathWithKickerDQC, inFillLaserPathWithKickerDQC, strawPathWithKickerDQC]

Let's say we would like to know how events passed "muonPathWithDQC", which variable we should check via ROOT?

The "size" leaf stores the same number (18 exactly!) of trigger paths defined in the FHICL (which is a good indication that we are looking at the right branch).

Art workbook has no mentioning of the (common) output file products and structures.

Any additional information is greatly appreciated!

art.PNG (236 KB) art.PNG art::trigger products Liang Li, 02/12/2020 03:03 PM


#1 Updated by Kyle Knoepfel about 1 year ago

  • Assignee set to Kyle Knoepfel
  • Status changed from New to Assigned

#2 Updated by Kyle Knoepfel 9 months ago

  • Estimated time set to 4.00 h
  • Target version set to 3.06.00
  • Category set to Documentation
  • Description updated (diff)

#3 Updated by Kyle Knoepfel 8 months ago

  • Target version deleted (3.06.00)

This TriggerResults product can certainly be better documented, and that's why this issue has been accepted. However, I have unassigned the target version as it is not tied to any particular release.

Also available in: Atom PDF