Skip to content

A situation in which the TriggerCandidate fragment in the TriggerRecord is empty #270

@bieryAtFnal

Description

@bieryAtFnal

I don't know if the trigger repo is the best place for this Issue, nor do I know if what I've seen is a feature or a problem, but I wanted to share what I've seen.

In a somewhat contrived situation that I stumbled upon accidentally, I see TRs that have empty TC fragments. I saw this when using the most recent RandomTriggerCandidateMaker code and when using the MLT readout window map. The accidental choice that I made was to set the readout window in the MLT readout map to be smaller than what the RTCM uses naturally.

Here are the steps to demonstrate what I've seen:

source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh
setup_dbt latest
dbt-create -n NAFD24-02-09 09FebFDDevEmptyTCDemo
cd 09FebFDDevEmptyTCDemo/sourcecode
git clone https://github.com/DUNE-DAQ/daqsystemtest.git -b develop
git clone https://github.com/DUNE-DAQ/hdf5libs.git -b kbiery/empty_tcfrag_fix
cd ..

dbt-workarea-env
dbt-build -j 20
dbt-workarea-env

mkdir rundir
cd rundir

cat <<EOF1 > daqconf.json
{
  "boot": {
    "use_connectivity_service": true,
    "start_connectivity_service": true,
    "connectivity_service_host": "localhost",
    "connectivity_service_port": 15432
  }, 
  "daq_common": {
    "data_rate_slowdown_factor": 1
  },
  "detector": {
    "clock_speed_hz": 62500000
  },
  "readout": {
    "use_fake_cards": true,
    "default_data_file": "asset://?label=WIBEth&subsystem=readout"
  },
  "trigger": {
    "use_random_maker": true,
    "rtcm_timestamp_method": "kTimeSync",
    "rtcm_time_distribution": "kUniform",
    "rtcm_trigger_interval_ticks": 62500000,
    "mlt_use_readout_map": true,
    "mlt_td_readout_map": [
      {
          "candidate_type": 4,
          "time_before": 100,
          "time_after": 200
      }
    ]
  },
  "hsi": {
    "use_fake_hsi": false,    
    "use_timing_hsi": false,    
    "random_trigger_rate_hz": 1.0
  }
}
EOF1

cat <<EOF2 > dro_map.json
[
    {
        "src_id": 100,
        "geo_id": {
            "det_id": 3,
            "crate_id": 1,
            "slot_id": 0,
            "stream_id": 0
        },
        "kind": "eth",
        "parameters": {
            "protocol": "udp",
            "mode": "fix_rate",
            "rx_iface": 0,
            "rx_host": "localhost",
            "rx_pcie_dev": "0000:00:00.0",
            "rx_mac": "00:00:00:00:00:00",
            "rx_ip": "0.0.0.0",
            "tx_host": "localhost",
            "tx_mac": "00:00:00:00:00:00",
            "tx_ip": "0.0.0.0"
        }
    },
    {
        "src_id": 101,
        "geo_id": {
            "det_id": 3,
            "crate_id": 1,
            "slot_id": 0,
            "stream_id": 1
        },
        "kind": "eth",
        "parameters": {
            "protocol": "udp",
            "mode": "fix_rate",
            "rx_iface": 0,
            "rx_host": "localhost",
            "rx_pcie_dev": "0000:00:00.0",
            "rx_mac": "00:00:00:00:00:00",
            "rx_ip": "0.0.0.0",
            "tx_host": "localhost",
            "tx_mac": "00:00:00:00:00:00",
            "tx_ip": "0.0.0.0"
        }
    }
]
EOF2

fddaqconf_gen -c ./daqconf.json --detector-readout-map-file ./dro_map.json mdapp_wibeth_rtcm_mltrw

nanorc --partition-number 2 mdapp_wibeth_rtcm_mltrw ${USER}-test boot conf start_run 101 wait 20 stop_run scrap terminate

HDF5LIBS_TestDumpRecord swtest_run000101_0000_*.hdf5

When you run the last step (the TRDump), you'll see that the TC fragments are empty.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions