Changes included in Sep10_pdune_candidate branches

17-Sep-2018, KAB

Background on changes in the feature/Sep10_pdune_candidate branches

Here are lists of the git branches that were merged into the Sep10_pdune_candidate branches for the artdaq_core and artdaq repositories. In both cases, the starting point for the branch was the feature/pdune_ron_Aug01 branch.

  • feature/ContainerFragment_IndexAtEnd
    • (ContainerFragment will now support a variable number of Fragments)
  • feature/ErrorFragmentType
    • (addition of this fragment type [no change to Fragment header])
  • bugfix/CompleteBufferWhenReceiveError
    • (this merge picked up the use of ErrorFragmentType in DataReceiverManager to identify Broken Fragments)
  • feature/ArtTimeWithNanoSeconds
    • (moved seconds since the Epoch from Timestamp low word to high word; added nsec to low word)
  • feature/CFG_CircularDataBufferMode
    • (added support for a circular buffer mode to the CommandableFragmentGenerator data buffer)
  • feature/RoundRobin_UseAllTokens
    • (added ability to specify minimum number of EBs in round-robin routing assignment)
  • feature/RoutingMasterTraceTweaks
    • (changed the TRACE level for 'no tokens received in interval YY' from warning to debug)
  • feature/TCPSocketTransfer_sendFragment_OnlyWaitForkTimeout
    • (reconnect more quickly after a TCP socket disconnection [often caused by a partial fragment received])
  • feature/wketchum_DroppedFragCheck
    • (new art module to test for Missing or Broken Fragments)

There are two relevant tags in the artdaq_core repository: v3_04_01 and v3_04_01a. The former has all of the necessary changes for offline use of the new artdaq::ContainerFragment, and it has the definition of the ErrorFragmentType. The latter has the additional change of addition the ErrorFragmentType to the SystemTypeMap so that we'll get the correct ProductInstanceName string of "Error" when the art/ROOT events are first created. The code in the v3_04_01a tag is only really necessary in the online.

Lynn Garren created an official v3_04_01 release of artdaq_core based on that tag, and that code was merged into the master branch in that repo. Tom Junk and others based new releases of dune_raw_data, dunetpc, and lbne_raw_data that make use of this new artdaq_core.