Project

General

Profile

Feature #24082

Separate Fragment Type <-> Name facility from SharedMemoryReader

Added by Eric Flumerfelt 9 months ago. Updated 8 months ago.

Status:
Closed
Priority:
Normal
Category:
-
Target version:
Start date:
02/21/2020
Due date:
% Done:

0%

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

Description

While working on a new implementation for HDF5 Read/Write from art, I have encountered a need to access Fragment-type-to-string conversions. Currently, this is done completely within SharedMemoryReader by the FTT template parameter along with the getDefaultTypes template parameter. I propose moving this functionality into a service, ArtdaqFragmentNamingService, which will then enable access to the functionality from anywhere in the art executable, with behavior based on fhicl configuration.

A side effect of my initial implementation is that instead of defining a demo-specific input source, I had to define a demo-specific FragmentNamingService. This change will also require another configuration epoch.

History

#1 Updated by Eric Flumerfelt 9 months ago

Initial implementations in artdaq and artdaq-demo, feature/24082_ArtdaqFragmentNamingService.

#2 Updated by Ron Rechenmacher 9 months ago

  • Status changed from New to Resolved

I installed the demo, which used the tag 3_07_02 for artdaq. artdaq v3_07_02 got installed in the local
products dir. Also, the artdaq src ups/product_deps file had "parent artdaq v3_07_02". The combination of these, plus:

if [[ "x${ARTDAQ_MPICH_PLUGIN_DIR:-}" == "x" ]]; then
  for plugin_version in `ups list -aK+ artdaq_mpich_plugin -q e17:s85:eth:prof|awk '{print $2}'|sed 's/\"//g'`;do
    if [ `ups depend artdaq_mpich_plugin $plugin_version -q e17:s85:eth:prof 2>/dev/null|grep -c "artdaq $ARTDAQ_VERSION"` -gt 0 ]; then
      setup artdaq_mpich_plugin $plugin_version -q e17:s85:eth:prof
      break;
    fi
  done
fi

in the setupARTDAQDEMO file (which comes from artdaq_demo/tools/quick-mrb-start.sh) caused the artdaq from
$MRB_TOP/products/ to be setup before and in_addition_to the development artdaq.
To get just the development artdaq, we had to remove (or move out of the way) the artdaq installed in $MRB_TOP/products.
The following shows the value of CET_PLUGIN_PATH before and after:
CET_PLUGIN_PATH=\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_mpich_plugin/v1_00_12/slf7.x86_64.e17.eth.s85.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq/v3_07_02/slf7.x86_64.e17.s85.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/build_slf7.x86_64/artdaq_demo/lib:\
/home/ron/work/artdaqPrj/demo1-develop/build_slf7.x86_64/artdaq/lib:\
/home/ron/work/artdaqPrj/demo1-develop/build_slf7.x86_64/artdaq_core_demo/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_core/v3_05_10/slf7.x86_64.e17.s85.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_ganglia_plugin/v1_02_18/slf7.x86_64.e17.s85.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/art/v2_13_00/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/canvas_root_io/v1_01_11/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/canvas/v3_06_01/slf7.x86_64.e17.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_pcp_mmv_plugin/v1_00_03/slf7.x86_64.e17.s85.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_mfextensions/v1_04_00/slf7.x86_64.e17.s85.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_epics_plugin/v1_02_11/slf7.x86_64.e17.s85.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_utilities/v1_05_04/slf7.x86_64.e17.s85.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/messagefacility/v2_02_06/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/hep_concurrency/v1_00_04/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/fhiclcpp/v4_06_10/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/cetlib/v3_06_01/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/cetlib_except/v1_02_03/slf7.x86_64.e17.prof/lib

CET_PLUGIN_PATH=\
/home/ron/work/artdaqPrj/demo1-develop/build_slf7.x86_64/artdaq_demo/lib:\
/home/ron/work/artdaqPrj/demo1-develop/build_slf7.x86_64/artdaq/lib:\
/home/ron/work/artdaqPrj/demo1-develop/build_slf7.x86_64/artdaq_core_demo/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_core/v3_05_10/slf7.x86_64.e17.s85.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_ganglia_plugin/v1_02_18/slf7.x86_64.e17.s85.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/art/v2_13_00/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/canvas_root_io/v1_01_11/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/canvas/v3_06_01/slf7.x86_64.e17.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_pcp_mmv_plugin/v1_00_03/slf7.x86_64.e17.s85.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_mfextensions/v1_04_00/slf7.x86_64.e17.s85.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_epics_plugin/v1_02_11/slf7.x86_64.e17.s85.prof/lib:\
/home/ron/work/artdaqPrj/demo1-develop/products/artdaq_utilities/v1_05_04/slf7.x86_64.e17.s85.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/messagefacility/v2_02_06/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/hep_concurrency/v1_00_04/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/fhiclcpp/v4_06_10/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/cetlib/v3_06_01/slf7.x86_64.e17.prof/lib:\
/cvmfs/fermilab.opensciencegrid.org/products/artdaq/cetlib_except/v1_02_03/slf7.x86_64.e17.prof/lib

#3 Updated by Ron Rechenmacher 9 months ago

  • Status changed from Resolved to Reviewed

tested with quick-mrb-start.sh --develop

#4 Updated by Eric Flumerfelt 8 months ago

  • Target version set to artdaq v3_08_00
  • Status changed from Reviewed to Closed

Also available in: Atom PDF