Project

General

Profile

Feature #16637

Allow users to specify startup order for BoardReader processes

Added by John Freeman over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
05/23/2017
Due date:
% Done:

0%

Estimated time:
Experiment:
-
Co-Assignees:
Duration:

Description

Currently in DAQInterface, transitions are sent to artdaq process types in a specific order. E.g., the "start" transition is sent first to the dispatchers, then to the data loggers, then to the eventbuilders, and then to the boardreaders. However, within the boardreader process type, it's not possible to order the transition. On some experiments (e.g., protoDUNE) it matters that some fragment generators receive transitions before other fragment generators. It should be possible to specify this in DAQInterface.

Associated revisions

Revision bf1e8afd (diff)
Added by John Freeman over 2 years ago

JCF: installed the concept of a process priority, which allows us to order transitions within a process type (see Issue #16637)

Revision dc343169 (diff)
Added by John Freeman over 2 years ago

JCF: this commit completes Issue #16637 - it's possible to use regexps to set the priority of different fragment generators in the .settings file

History

#1 Updated by John Freeman over 2 years ago

  • Status changed from New to Resolved

With commit 7aa999f3b14d9c6f1e28c2c81c6e1897f8cddf6d, it's now possible to add a line labeled "boardreader priorities" to the .settings file to specify the order in which transitions are sent to different fragment generator types. E.g.

boardreader priorities: component03|component04 component06 component05 

...can be parsed to mean "On the init or start transition, first send the command to the boardreaders running components 3 and 4. Then send it to component 6. Then send it to component 5. Then send it to any other components, if applicable. Do this in reverse for the stop transition.". In other words, you supply one or more regexps, and the regexp a component name matches determines its priority. If there's no match for a component name, that component gets lowest priority.



Also available in: Atom PDF