Skip to content

Commit 0d27fb9

Browse files
authored
MUON: add remote workflows for fwd matched tracks (#638)
* [MUON] added remote workflow for fwd matched tracks This adds a new switch to enable/disable the QC node workflows for forward matched racks, similar to what is already done for ITS-TPC. Three alternative workflows are selected depending on the list of detectors (MFT/MCH/MID) included in the data taking. * [GLO] removed fairmq-shmmonitor from qc-remote-workflow-glo and qc-remote-workflow-fwd roles
1 parent 866106f commit 0d27fb9

4 files changed

Lines changed: 44 additions & 8 deletions

File tree

jit/glo-mchmid-mtch-qcmn-remote

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
o2-qc --config consul-json://{{ consul_endpoint }}/o2/components/qc/ANY/any/glo-mchmid-mtch-qcmn-epn --remote -b

jit/glo-mftmch-mtch-qcmn-remote

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
o2-qc --config consul-json://{{ consul_endpoint }}/o2/components/qc/ANY/any/glo-mftmch-mtch-qcmn-epn --remote -b

jit/glo-mftmchmid-mtch-qcmn-remote

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
o2-qc --config consul-json://{{ consul_endpoint }}/o2/components/qc/ANY/any/glo-mftmchmid-mtch-qcmn-epn --remote -b

workflows/readout-dataflow.yaml

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -891,14 +891,23 @@ defaults:
891891
panel: "QC_Nodes_Workflows"
892892
index: 21
893893
visibleif: $$qc_remote_enabled === "true"
894+
glo_fwd_mtch_qc_enabled: !public
895+
value: "false"
896+
type: bool
897+
label: "GLO Forward Matching QC"
898+
description: "Enable/disable QC node workflow for forward Matching QC. Deployed only if MCH present!"
899+
widget: checkBox
900+
panel: "QC_Nodes_Workflows"
901+
index: 22
902+
visibleif: $$qc_remote_enabled === "true"
894903
glo_mean_vtx_calib_post_proc_qc_enabled: !public
895904
value: "false"
896905
type: bool
897906
label: "GLO Mean Vertex calib post-processing QC"
898907
description: "Enable/disable QC node workflow for processing the Mean Vertex calibration objects. Deployed only if ITS present!"
899908
widget: checkBox
900909
panel: "QC_Nodes_Workflows"
901-
index: 22
910+
index: 23
902911
visibleif: $$qc_remote_enabled === "true"
903912
glo_big_screen_qc_enabled: !public
904913
value: "false"
@@ -907,7 +916,7 @@ defaults:
907916
description: "Enable/disable QC Big Screen"
908917
widget: checkBox
909918
panel: "QC_Nodes_Workflows"
910-
index: 23
919+
index: 24
911920
visibleif: $$qc_remote_enabled === "true"
912921
###############################
913922
# TRG Panel
@@ -1774,13 +1783,37 @@ roles:
17741783
- name: glo-qc-big-screen
17751784
enabled: "{{ glo_big_screen_qc_enabled == 'true' && qc_remote_jit_enabled == 'true'}}"
17761785
include: "{{ qc_remote_jit_enabled == 'true' ? dpl.GenerateFromUri('glo-qc-big-screen') : '' }}"
1777-
- name: fairmq-shmmonitor
1778-
enabled: "{{ fmq_cleanup_enabled == 'true' && qc_remote_workflow != 'none' }}"
1779-
task:
1780-
load: "fairmq-shmmonitor"
1781-
trigger: DESTROY
1782-
timeout: 10s
1786+
# When qc_remote_enabled is true, it will try to deploy a qc_remote_workflow for every detector in the list.
1787+
# However if the {{detector}}_qc_remote_workflow is none, we deploy a ghost role that does nothing to preserve
1788+
# control tree state management.
1789+
- name: dpl-noop-subwf
1790+
enabled: "{{ qc_remote_workflow == 'none' }}"
1791+
call:
1792+
func: testplugin.Noop()
1793+
trigger: CONFIGURE
1794+
timeout: 1s
17831795
critical: false
1796+
- name: qc-remote-workflow-fwd # GLO is not a detector so we won't iterate on it with 'detectors' and we need special enable logic
1797+
enabled: "{{ 'MCH' in json.Unmarshal(detectors) }}"
1798+
vars:
1799+
qc_remote_workflow: "{{ util.PrefixedOverride( 'qc_remote_workflow', 'glo' ) }}"
1800+
qc_dpl_command: "{{ util.PrefixedOverride( 'qc_dpl_command', 'glo' ) }}"
1801+
qc_remote_machine: "{{ util.PrefixedOverride( 'qc_remote_machine', 'glo' ) }}"
1802+
shm_segment_size: "{{ util.PrefixedOverride( 'qc_shm_segment_size', 'glo' ) }}"
1803+
detector: GLO
1804+
constraints:
1805+
- attribute: machine_id
1806+
value: "{{ qc_remote_machine }}"
1807+
roles:
1808+
- name: glo-fwd-mchmid
1809+
enabled: "{{ glo_fwd_mtch_qc_enabled == 'true' && qc_remote_jit_enabled == 'true' && 'MFT' in json.Unmarshal(detectors) && !('MID' in json.Unmarshal(detectors)) }}"
1810+
include: "{{ qc_remote_jit_enabled == 'true' ? dpl.GenerateFromUri('glo-mftmch-mtch-qcmn-remote') : '' }}"
1811+
- name: glo-fwd-mftmch
1812+
enabled: "{{ glo_fwd_mtch_qc_enabled == 'true' && qc_remote_jit_enabled == 'true' && 'MID' in json.Unmarshal(detectors) && !('MFT' in json.Unmarshal(detectors)) }}"
1813+
include: "{{ qc_remote_jit_enabled == 'true' ? dpl.GenerateFromUri('glo-mchmid-mtch-qcmn-remote') : '' }}"
1814+
- name: glo-fwd-mftmchmid
1815+
enabled: "{{ glo_fwd_mtch_qc_enabled == 'true' && qc_remote_jit_enabled == 'true' && 'MFT' in json.Unmarshal(detectors) && 'MID' in json.Unmarshal(detectors) }}"
1816+
include: "{{ qc_remote_jit_enabled == 'true' ? dpl.GenerateFromUri('glo-mftmchmid-mtch-qcmn-remote') : '' }}"
17841817
# When qc_remote_enabled is true, it will try to deploy a qc_remote_workflow for every detector in the list.
17851818
# However if the {{detector}}_qc_remote_workflow is none, we deploy a ghost role that does nothing to preserve
17861819
# control tree state management.

0 commit comments

Comments
 (0)