Project

General

Profile

Bug #14348

Conflict between DUNE and MicroBooNE code

Added by Gianluca Petrillo almost 3 years ago. Updated almost 3 years ago.

Status:
Resolved
Priority:
High
Category:
Simulation
Target version:
-
Start date:
11/01/2016
Due date:
% Done:

0%

Estimated time:
Occurs In:
Experiment:
DUNE, LArSoft, MicroBooNE
Co-Assignees:
Duration:

Description

DUNE is trying to adapt MicroBooNE code for data overlay.
Currently dunetpc presents in dune/DataOverlay in develop branch a more or less exact copy of uboone/DataOverlay.
That includes a data product. ROOT will not allow running with dictionaries from two classes with the same name.

A sharing plan must be developed.

History

#1 Updated by Tingjun Yang almost 3 years ago

Matt,

I notice in the dune/DataOverlay/DataOverlay/CMakeLists.txt there are a lot of library names that have ub in them, e.g.
LIBRARY_NAME ub_RawDigitAdderAna

Can you rename them to dune35_RawDigitAdderAna etc.? Also please make sure all the LIBRARY_NAMEs are different from the ones in uboonecode.

Tingjun

#2 Updated by Matthew Thiesse almost 3 years ago

Hi all,

I've just pushed changes to dunetpc where the library names should all be different from the original ones in uboonecode. Could someone please test and make sure the cross-compilation issues don't still exist?

Matt

#3 Updated by Lynn Garren almost 3 years ago

In preparation for this weeks' release, I have made the standard multiexperiment build. The build appears to be fine, but 76 of 202 tests fail!

#4 Updated by Lynn Garren almost 3 years ago

[garren@woof geometry.d]$ lar -c ./test_geometry.fcl 
%MSG-i MF_INIT_OK:  lar 02-Nov-2016 11:48:52 CDT JobSetup
Messagelogger initialization complete.
%MSG
terminate called after throwing an instance of 'cet::coded_exception<art::errors::ErrorCodes, &art::ExceptionDetail::translate>'
  what():  ---- FatalRootError BEGIN
  Fatal Root Error: @SUB=TInterpreter::ReadRootmapFile
  class  art::Wrapper<std::vector<mix::EventMixingSummary> > found in libdune_DataOverlay_DataOverlayProducts_dict.so  is already in libuboone_DataOverlay_DataOverlayProducts_dict.so 
---- FatalRootError END

Aborted

#5 Updated by Matthew Thiesse almost 3 years ago

Will a new namespace / product name solve the problem? (temporarily, of course, until someone makes a general LArSoft implementation of DataOverlay (again, not me))

#6 Updated by Lynn Garren almost 3 years ago

All names need to be unique, so hopefully that would solve the problem.

#7 Updated by Matthew Thiesse almost 3 years ago

Try pulling dunetpc and testing again.

I renamed the data product from "mix::EventMixingSummary" to "dunemix::EventMixingSummary". If that's not enough, I can rename EventMixingSummary to something else.

#8 Updated by Lynn Garren almost 3 years ago

Thank you. That seems to have done the trick. All unit tests now pass.

I think Wes may be the original author of this code.

#9 Updated by Lynn Garren almost 3 years ago

  • Status changed from New to Resolved
  • Assignee set to Matthew Thiesse

The immediate problem is resolved. A new ticket will be opened to track the longer term objective of moving shared code into larsoft.



Also available in: Atom PDF