WIB ArtDAQ Operation and FHiCL Configuration

See ArtdaqBasicOp for how to run DAQInterface and how to edit the FHiCL configuration documents.

The WIB board reader development directory is /nfs/sw/work_dirs/dune-artdaq-wib-dev/ source the setupDUNEARTDAQ script in there to be able to build and test things. The file /nfs/sw/work_dirs/dune-artdaq-wib-dev/boot_6702.txt can be used to boot the WIB dev directory with DAQInterface running on port 6702.

FHiCL Parameters

I base the configurations off of this file (modified for each configuration):

https://cdcvs.fnal.gov/redmine/projects/dune-artdaq/repository/revisions/develop/entry/dune-artdaq/Generators/wib/wib_standard.fcl

You really just modify the values in femb_config_default and those are applied to all WIBs in the VST, cold box, and cryostat. Similar in wib_config for WIB fake data and timing parameters, etc.

I do some funky things to wib902_standard and wib905_standard to make them use WIB fake data for the not-hooked-up FEMBs, overriding what is set in wib_config. That technique could be used to not power on specific FEMBs, for example.

ADC Sync Phases

Shanshan says the sync values should be 0xFFFF at cryo temperature and 0xFDFF at room temperature.

Some other values that have been useful before are 0xEFEF and 0xBFBF, both in the cold.

Linking artDAQ to WIB Software

artDAQ uses a UPS package to have access to the WIB class, BUTool, etc. This makes sure artDAQ is using the appropriate version of the WIB class compiled by the appropriate compiler. The name of the package is protodune_wibsoft.

The packages live in /nfs/sw/artdaq/products/protodune_wibsoft

To make a package you first go into: /nfs/sw/wib/wibsoft_for_ups

Now you have to setup your environment with the correct compiler and boost libraries. You also have to set the QUALIFIER env var to whatever it should be for that version of the compiler and boost (ask an artDAQ expert what those should be). The QUALIFIER env var is what causes a UPS package to be built. These commands will set everything up for this gcc, boost, QUALIFIER, and WIB soft:

source /nfs/sw/artdaq/products/setup
setup gcc v6_4_0
setup boost v1_66_0 -q e15:prof
export QUALIFIER="e15:s64"
source env.sh

Now to build the package, run

make clean
make -j16

That will build the WIB software and copy the relevant files into the UPS package. The make clean is critical, as that makes sure you aren't copying files from a different version or compiler into the wrong package. The package now lives in ups_package/protodune_wibsoft/. You can look in there and see the version of the software you built, and subdirectories corresponding to the qualifier.

You can build an updated version of the package by just running svn update and then running make clean; make -j16 again. That won't delete the older package build you just made, they will all be in the ups_package/protodune_wibsoft dir.

Now, as the np04daq user, copy your new version(s) of the package into the main package directory:

cp -r <path to your wibsoft>/ups_package/protodune_wibsoft/* /nfs/sw/artdaq/products/protodune_wibsoft/.

Finally, for an artDAQ directory to use your new package, you have to update all of the relevant setupDUNEARTDAQ files (setupDUNEARTDAQ_forRunning and setupDUNEARTDAQ_forBuilding should do it). You just need to change the line:

setup protodune_wibsoft v337 -q e15:s64

to use the version number and qualifier of the package you just added to the package directory. You'll also need to change the protodune_wibsoft line in srcs/dune_artdaq/ups/product_deps to match your version number, e.g. protodune_wibsoft v337. Then you recompile artDAQ (you probably need to ask if that will mess anybody up on Slack before doing that).

Developing the WIB Board Reader

The key files are the board reader:

srcs/dune_artdaq/dune-artdaq/Generators/WIBReader_generator.cc

its header:

srcs/dune_artdaq/dune-artdaq/Generators/WIBReader.hh

this is the base fcl config that goes in the configuration database for use with DAQInterface and the run control:

srcs/dune_artdaq/dune-artdaq/Generators/wib/wib_standard.fcl

This can be used as artdaqDriver -c driver_WIB.fcl to do a test run of configuring the WIB with artDAQ:

srcs/dune_artdaq/dune-artdaq/Generators/wib/driver_WIB.fcl

-- JustinHugon1 - 2018-08-09

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2018-09-03 - JustinHugon1
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CENF All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback